copysignf tests: Fix.
[gnulib.git] / ChangeLog
1 2011-11-20  Bruno Haible  <bruno@clisp.org>
2
3         copysignf tests: Fix.
4         * tests/test-copysignf.c: Fix signature check.
5
6 2011-11-20  Bruno Haible  <bruno@clisp.org>
7
8         fma: Remove unused code.
9         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10         unused macros.
11
12 2011-11-20  Bruno Haible  <bruno@clisp.org>
13
14         sethostname: Fix doc about AIX.
15         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
16         sethostname; it has it.
17
18         sethostname: Mention more portability problems.
19         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
20         problem.
21         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
22
23 2011-11-19  Bruno Haible  <bruno@clisp.org>
24
25         Depend on module fcntl-h when AT_FDCWD is used.
26         * modules/utimens (Depends-on): Add fcntl-h.
27         * modules/areadlinkat (Depends-on): Likewise.
28         * modules/areadlinkat-with-size (Depends-on): Likewise.
29         * modules/faccessat (Depends-on): Likewise.
30         * modules/fchmodat (Depends-on): Likewise.
31         * modules/fchownat (Depends-on): Likewise.
32         * modules/getcwd (Depends-on): Likewise.
33         * modules/mkdirat (Depends-on): Likewise.
34         * modules/mkfifoat (Depends-on): Likewise.
35         * modules/readlinkat (Depends-on): Likewise.
36         * modules/symlinkat (Depends-on): Likewise.
37         * modules/dup2-tests (Depends-on): Likewise.
38         * modules/fdutimensat-tests (Depends-on): Likewise.
39         * modules/futimens-tests (Depends-on): Likewise.
40
41 2011-11-19  Bruno Haible  <bruno@clisp.org>
42
43         euidaccess: Update a comment.
44         * lib/euidaccess.c: Update comment about platforms with faccessat.
45
46 2011-11-19  Bruno Haible  <bruno@clisp.org>
47
48         openat: Fix file list.
49         * modules/openat (Files): Remove lib/at-func.c.
50
51 2011-11-19  Bruno Haible  <bruno@clisp.org>
52
53         fstatat: Simplify.
54         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
55         gnulib should define rpl_fstatat, there is a
56         "#define fstatat rpl_fstatat" in <sys/stat.h>.
57
58 2011-11-19  Bruno Haible  <bruno@clisp.org>
59
60         Ensure 'inline' can be used in tests/test-utimens-common.h.
61         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
62         * modules/futimens-tests (configure.ac): Likewise.
63         * modules/utimens-tests (configure.ac): Likewise.
64         * modules/utimensat-tests (configure.ac): Likewise.
65
66 2011-11-19  Simon Josefsson  <simon@josefsson.org>
67
68         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
69         not hash_insert0.
70         (hash_insert_if_absent): Doc fix.
71
72 2011-11-19  Simon Josefsson  <simon@josefsson.org>
73
74         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
75
76 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
77
78         test-getcwd: disambiguate exit status
79         * tests/test-getcwd.c (test_long_name): Return 0..7.
80         (main): Exit with an unambiguous exit status.  The old
81         code yielded a mysterious mixture of two failure codes.
82
83         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
84         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
85         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
86         rpl_fstatat or fstatat.  This should fix the other problem
87         reported by Kai Habel in
88         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
89         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
90         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
91         and I reproduced it on a Solaris 8 host we still have in production.
92
93 2011-11-18  Jim Meyering  <meyering@redhat.com>
94
95         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
96         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
97         Add a sentence to the comment.
98         (hash_insert0): New function that simply calls hash_insert_if_absent.
99         * lib/hash.h (hash_insert_if_absent): Declare it.
100         (hash_insert0): Add deprecation attribute.
101         (_GL_ATTRIBUTE_DEPRECATED): Define.
102         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
103         not hash_insert0.
104         * NEWS: Mention it, even though it's not really an incompatible change.
105
106 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
107
108         openat: avoid compilation failure due to lack of <errno.h> inclusion
109         * lib/openat.c: Include <errno.h>.
110
111 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
112
113         * modules/getcwd (Depends-on): Add fdopendir.
114         This fixes one of the two problems reported by Kai Habel in
115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
116
117         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
118         stdalign problem reported by Ian Beckwith in
119         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
120         * modules/crypto/gc-arcfour (Depends-on):
121         Depend conditionally on crypto/arcfour.
122         * modules/crypto/gc-arctwo (Depends-on):
123         Depend conditionally on crypto/arctwo.
124         * modules/crypto/gc-des (Depends-on):
125         Depend conditionally on crypto/des.
126         * modules/crypto/gc-hmac-md5 (Depends-on):
127         Depend conditionally on crypto/hmac-md5.
128         * modules/crypto/gc-hmac-sha1 (Depends-on):
129         Depend conditionally on crypto/hmac-sha1.
130         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
131         * modules/crypto/gc-md4 (Depends-on):
132         Depend conditionally on crypto/md4.
133         * modules/crypto/gc-md5 (Depends-on):
134         Depend conditionally on crypto/md5.
135         * modules/crypto/gc-rijndael (Depends-on):
136         Depend conditionally on crypto/rijndael.
137         * modules/crypto/gc-sha1 (Depends-on):
138         Depend conditionally on crypto/sha1.
139         * modules/crypto/gc-arcfour:
140         * modules/crypto/gc-arctwo:
141         * modules/crypto/gc-des:
142         * modules/crypto/gc-hmac-md5:
143         * modules/crypto/gc-hmac-sha1:
144         * modules/crypto/gc-md2:
145         * modules/crypto/gc-md4:
146         * modules/crypto/gc-md5:
147         * modules/crypto/gc-rijndael:
148         * modules/crypto/gc-sha1:
149         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
150         now that the conditional dependencies do the work for us.
151
152 2011-11-17  Jim Meyering  <meyering@redhat.com>
153
154         tests: factor st_ctime-comparison out of two headers
155         * tests/test-utimens-common.h (ctime_compare): Define.
156         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
157         * tests/test-lutimens.h (test_lutimens): Likewise.
158         * tests/test-utimens.h (test_utimens): Likewise.
159
160         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
161         Invoke the test program via an init.sh-using wrapper.
162         * tests/test-getcwd.sh: New file.
163         * modules/getcwd-tests (Files): Add it.
164         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
165
166 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
167
168         gitlog-to-changelog: support multi-author commits.
169         The FSF cares about keeping track of all authors of patches to its
170         projects, but Git doesn't provide obvious support for multi-author
171         changesets. Consensus seems to be forming around the use of extra
172         Signed-off-by inspired lines in the log message formatted as
173         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
174         multi-author commits between version control systems.
175         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
176         log message and output in standard ChangeLog multi-author format.
177         Reported by Peter Rosin <peda@lysator.liu.se>
178
179 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
180             Bruno Haible  <bruno@clisp.org>
181
182         Fix some modules' file list.
183         * modules/fstatat (Files): Add m4/lstat.m4.
184         * modules/openat (Files): Likewise.
185         * modules/unlinkat (Files): Likewise.
186
187 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
188
189         maint.mk: fix tight-scope.mk generation in VPATH builds.
190         * top/maint.mk (tight-scope.mk): Make sure to prefix file
191         reference with $(srcdir) so that the file is found correctly even
192         when running `make syntax-check' in a VPATH build.
193
194 2011-11-13  Bruno Haible  <bruno@clisp.org>
195             Jim Meyering  <meyering@redhat.com>
196
197         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
198         * tests/init.sh (compare): Remove "No differences encountered" or
199         synonymous output from the 'diff' program.
200
201 2011-11-13  Bruno Haible  <bruno@clisp.org>
202
203         Makefile: Tweak indentation.
204         * Makefile: Use tab as first character in every line that contains rule
205         commands.
206
207 2011-11-13  Bruno Haible  <bruno@clisp.org>
208
209         Syntax check for copyright statements.
210         * check-copyright: New file.
211         * Makefile (sc_check_copyright): New rule.
212
213 2011-11-13  Simon Josefsson  <simon@josefsson.org>
214
215         * build-aux/git-version-gen: Add --prefix to configure the tag
216         match string.
217
218 2011-11-13  Simon Josefsson  <simon@josefsson.org>
219
220         * build-aux/git-version-gen: Add --help and --version.
221
222 2011-11-12  Jim Meyering  <meyering@redhat.com>
223
224         revamp the other test-exclude?.sh scripts to use init.sh, too
225         * tests/test-exclude1.sh: Use init.sh.
226         * tests/test-exclude2.sh: Likewise.
227         * tests/test-exclude3.sh: Likewise.
228         * tests/test-exclude4.sh: Likewise.
229         * tests/test-exclude5.sh: Likewise.
230         * tests/test-exclude6.sh: Likewise.
231         * tests/test-exclude7.sh: Likewise.
232         * tests/test-exclude8.sh: Likewise.
233         * modules/exclude-tests (Files): List init.sh.
234
235         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
236         These shell scripts ignored failure of the binary test-exclude,
237         so making the latter return 77 didn't cause them to be skipped.
238         * tests/test-exclude5.sh: Exit with test-exclude's error status
239         when that program fails.  Revamp to use init.sh.
240         * tests/test-exclude2.sh: Likewise.
241
242         test-exclude: fix a typo
243         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
244
245 2011-11-11  Bruno Haible  <bruno@clisp.org>
246
247         obstack: Fix compilation error on MSVC 9.
248         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
249
250 2011-11-11  Jim Meyering  <meyering@redhat.com>
251
252         test-exclude: skip tests rather than failing on deficient systems
253         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
254         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
255         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
256         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
257
258 2011-11-10  Bruno Haible  <bruno@clisp.org>
259
260         ptsname_r test: Avoid gcc warning on glibc systems.
261         * tests/test-ptsname_r.c (null_ptr): New function.
262         (test_errors): Use it.
263
264 2011-11-10  Bruno Haible  <bruno@clisp.org>
265
266         ptsname_r: Avoid compilation error on OSF/1 5.1.
267         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
268         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
269         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
270         function is not declared or incompatibly declared.
271         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
272         * modules/ptsname_r (Depends-on, configure.ac): Update.
273         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
274
275 2011-11-10  Bruno Haible  <bruno@clisp.org>
276
277         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
278         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
279         When cross-compiling, guess yes on all platforms except AIX.
280         Reported by Ludovic Courtès <ludo@gnu.org>.
281
282 2011-11-09  Bruno Haible  <bruno@clisp.org>
283
284         ptsname_r tests: Fix bugs.
285         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
286         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
287
288 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
289
290         fstatat: work with cross-compilation
291         Problem reported by Ludovic Courtès in
292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
293         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
294         "cross-compiling" and assume the bug is present.  Replace
295         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
296         an inverted sense, to be more conservative about our assumptions.
297         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
298
299 2011-11-09  Bruno Haible  <bruno@clisp.org>
300
301         Improve MODULES.html output.
302         * modules/mkfifoat (Description): Use the word "function".
303         * modules/readlinkat (Description): Likewise.
304         * modules/symlinkat (Description): Likewise.
305
306 2011-11-09  Eric Blake  <eblake@redhat.com>
307
308         ptsname_r-tests: new test module
309         * modules/ptsname_r-tests: New module.
310         * tests/test-ptsname_r.c: New file.
311
312         ptsname_r: new module
313         * modules/ptsname_r: New module.
314         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
315         * lib/ptsname.c (__ptsname_r): Split...
316         * lib/ptsname_r.c: ...into new file.
317         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
318         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
319         * modules/stdlib (Makefile.am): Substitute witnesses.
320         * lib/stdlib.in.h (ptsname_r): Declare it.
321         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
322         * MODULES.html.sh (Misc): Likewise.
323         * modules/ptsname (Depends-on): Alter dependency.
324         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
325
326 2011-11-09  Jim Meyering  <meyering@redhat.com>
327
328         announce-gen: be more concise when there's only one URL+tarball
329         * build-aux/announce-gen (get_tool_versions): When you distribute
330         only one type of tarball, combine the first two "Here are..."
331         sections and make the key-checking grammar independent of
332         how many tarballs there are.
333
334 2011-11-09  Eric Blake  <eblake@redhat.com>
335
336         openpty: provide a stub on mingw
337         * lib/pty.in.h (includes): Provide forward declarations.
338         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
339
340         raise: fix mingw handling of SIGPIPE
341         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
342
343 2011-11-08  Bruno Haible  <bruno@clisp.org>
344
345         More conditional dependencies.
346         * modules/faccessat (Depends-on): Add conditions.
347         * modules/fchmodat (Depends-on): Likewise.
348         * modules/fchownat (Depends-on): Likewise.
349         * modules/fstatat (Depends-on): Likewise.
350         * modules/mkfifoat (Depends-on): Likewise.
351         * modules/readlinkat (Depends-on): Likewise.
352         * modules/symlinkat (Depends-on): Likewise.
353         * modules/unlinkat (Depends-on): Likewise.
354         * modules/utimensat (Depends-on): Likewise.
355         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
356         * modules/linkat (Depends-on): Refine the conditions.
357         * modules/renameat (Depends-on): Likewise.
358
359 2011-11-08  Bruno Haible  <bruno@clisp.org>
360
361         faccessat: Move AC_LIBOBJ invocation to module description.
362         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
363         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
364         invocation from here...
365         * modules/faccessat (configure.ac): ... to here. Invoke
366         gl_PREREQ_FACCESSAT.
367
368 2011-11-08  Bruno Haible  <bruno@clisp.org>
369
370         faccessat: Simplify autoconf macro.
371         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
372         gl_FUNC_EUIDACCESS.
373
374 2011-11-08  Bruno Haible  <bruno@clisp.org>
375
376         renameat: Fix dependencies.
377         * modules/renameat (Depends-on): Add stdbool.
378
379 2011-11-08  Bruno Haible  <bruno@clisp.org>
380
381         mkfifoat: Fix module description.
382         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
383         not gl_UNISTD_MODULE_INDICATOR.
384
385 2011-11-08  Bruno Haible  <bruno@clisp.org>
386
387         fstatat: Remove unused dependency.
388         * modules/fstatat (Depends-on): Remove fstat.
389
390 2011-11-08  Simon Josefsson  <simon@josefsson.org>
391
392         GNUmakefile: behave when Makefile is missing.
393         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
394
395 2011-11-08  Bruno Haible  <bruno@clisp.org>
396
397         openat: Conditionalize dependencies.
398         * lib/openat.c: Reduce the scope of some #includes.
399         * modules/openat (Depends-on): Add conditions.
400
401 2011-11-07  Jim Meyering  <meyering@redhat.com>
402
403         maint.mk: extract GPG key ID without using a temporary file
404         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
405         without using a temporary file.  Based on a suggestion from Werner Koch
406         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
407
408 2011-11-07  Eric Blake  <eblake@redhat.com>
409
410         grantpt: fix typo
411         * lib/stdlib.in.h (grantpt): Check correct function.
412
413         maint.mk: silence new syntax check
414         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
415
416 2011-11-06  Bruno Haible  <bruno@clisp.org>
417
418         Doc about floating-point and math API.
419         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
420         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
421
422 2011-11-06  Bruno Haible  <bruno@clisp.org>
423
424         stdalign tests: Skip the test when compiled by Sun C.
425         * tests/test-stdalign.c (main): Skip the test on Sun C.
426
427 2011-11-06  Bruno Haible  <bruno@clisp.org>
428
429         ansi-c++-opt: Complete the 2011-06-05 change.
430         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
431         does not support namespaces, set the variable to "no", not to ":".
432
433 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
434
435         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
436
437 2011-11-06  Bruno Haible  <bruno@clisp.org>
438
439         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
440         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
441         (minus_zerol) [HP-UX]: New macro.
442         (unary_minus) [HP-UX]: New function.
443         (copysignl) [HP-UX]: Use unary_minus function.
444
445 2011-11-06  Bruno Haible  <bruno@clisp.org>
446
447         ldexp, ldexpf, ldexpl: Enhance tests.
448         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
449         and tests/test-ldexpl.c.
450         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
451         LDEXP, MIN_EXP, MAX_EXP): New macros.
452         Include test-ldexp.h.
453         (main): Just call test_function.
454         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
455         infinity.h, nan.h.
456         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
457         MAX_EXP): New macros.
458         Include test-ldexp.h.
459         (x, y): Remove variables.
460         (main): Just call test_function.
461         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
462         infinity.h, nan.h.
463         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
464         MAX_EXP): New macros.
465         Include test-ldexp.h.
466         (x, y): Remove variables.
467         (main): Just call test_function.
468         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
469         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
470         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
471         (Depends-on): Add isnand-nolibm, signbit, float.
472         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
473         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
474         (Depends-on): Add isnanf-nolibm, signbit, float.
475
476 2011-11-06  Bruno Haible  <bruno@clisp.org>
477
478         math tests: Cosmetics.
479         * tests/test-math-c++.cc: Reorder declarations.
480
481 2011-11-05  Bruno Haible  <bruno@clisp.org>
482
483         fma*: Simplify test.
484         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
485         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
486
487         Tests for module 'fmal'.
488         * modules/fmal-tests: New file.
489         * tests/test-fmal1.c: New file.
490         * tests/test-fmal2.c: New file.
491
492         New module 'fmal'.
493         * lib/math.in.h (fmal): New declaration.
494         * lib/fmal.c: New file.
495         * m4/fmal.m4: New file.
496         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
498         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
499         REPLACE_FMAL.
500         * modules/fmal: New file.
501         * doc/posix-functions/fmal.texi: Mention the new module and the various
502         bugs.
503
504         Tests for module 'fmaf'.
505         * modules/fmaf-tests: New file.
506         * tests/test-fmaf1.c: New file.
507         * tests/test-fmaf2.c: New file.
508
509         New module 'fmaf'.
510         * lib/math.in.h (fmaf): New declaration.
511         * lib/fmaf.c: New file.
512         * m4/fmaf.m4: New file.
513         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
515         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
516         REPLACE_FMAF.
517         * modules/fmaf: New file.
518         * doc/posix-functions/fmaf.texi: Mention the new module and the various
519         bugs.
520
521         Tests for module 'fma'.
522         * modules/fma-tests: New file.
523         * tests/test-fma1.c: New file.
524         * tests/test-fma1.h: New file.
525         * tests/test-fma2.c: New file.
526         * tests/test-fma2.h: New file.
527
528         New module 'fma'.
529         * lib/math.in.h (fma): New declaration.
530         * lib/fma.c: New file.
531         * m4/fma.m4: New file.
532         * m4/fegetround.m4: New file.
533         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
534         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
535         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
536         REPLACE_FMA.
537         * modules/fma: New file.
538         * doc/posix-functions/fma.texi: Mention the new module and the various
539         bugs.
540
541         Extend gl_MATHFUNC.
542         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
543         Support 'void' as argument type.
544         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
545
546 2011-11-05  Jim Meyering  <meyering@redhat.com>
547
548         maint.mk: also prohibit inclusion of dirent.h without use
549         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
550
551 2011-11-05  Bruno Haible  <bruno@clisp.org>
552
553         ldexpl tests: Avoid test failure on MSVC 9.
554         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
555         value. Needed in order to enforce the conversion from a value greater
556         than LDBL_MAX to Infinity.
557
558 2011-11-05  Bruno Haible  <bruno@clisp.org>
559
560         New modules 'at-internal', 'openat-h', split off from module 'openat'.
561         * modules/at-internal: New file, extracted from modules/openat.
562         * modules/openat-h: New file.
563         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
564         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
565         * modules/openat (Description): Add reference to POSIX function.
566         (Files): Remove lib/openat.h, lib/openat-proc.c.
567         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
568         intprops, unistd.
569         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
570         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
571         gl_FCNTL_MODULE_INDICATOR.
572         (Include): Remove unistd.h, openat.h.
573         * modules/areadlinkat (Files): Add lib/at-func.c.
574         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
575         openat-die, openat-h, save-cwd.
576         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
577         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
578         openat-die, openat-h, save-cwd, unistd.
579         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
580         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
581         openat-h, save-cwd. Remove fcntl-h, openat.
582         * modules/fchmodat (Files): Remove lib/openat.h.
583         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
584         openat, stdbool, unistd.
585         * modules/fchownat (Files): Remove lib/openat.h.
586         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
587         openat, stdbool, sys_stat.
588         * modules/fdopendir (Files): Remove lib/openat-priv.h,
589         lib/openat-proc.c.
590         (Depends-on): Add at-internal.
591         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
592         * modules/fstatat (Files): Remove lib/openat.h.
593         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
594         stdbool, unistd.
595         * modules/fts (Depends-on): Add openat-h.
596         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
597         openat.
598         * modules/mkdirat (Files): Remove lib/openat.h.
599         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
600         openat, stdbool, sys_stat.
601         * modules/mkfifoat (Files): Add lib/at-func.c.
602         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
603         openat-h, save-cwd. Remove fcntl-h, openat.
604         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
605         * modules/readlinkat (Files): Add lib/at-func.c.
606         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
607         openat-h, save-cwd. Remove fcntl-h, openat.
608         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
609         openat.
610         * modules/selinux-at (Files): Add lib/at-func.c.
611         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
612         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
613         * modules/symlinkat (Files): Add lib/at-func.c.
614         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
615         openat-h, save-cwd. Remove fcntl-h, openat.
616         * modules/unlinkat (Files): Remove lib/openat.h.
617         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
618         stdbool.
619         * modules/utimensat (Files): Add lib/at-func.c.
620         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
621         openat-die, openat-h, save-cwd.
622         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
623         * modules/fdutimensat-tests (Depends-on): Add openat.
624         * modules/fstatat-tests (Depends-on): Add openat-h.
625         * modules/readlinkat-tests (Depends-on): Add openat.
626         * modules/symlinkat-tests (Depends-on): Add openat.
627
628 2011-11-05  Bruno Haible  <bruno@clisp.org>
629
630         openat: Include <stdbool.h>.
631         * lib/openat.c: Include <stdbool.h>.
632
633 2011-11-04  Bruno Haible  <bruno@clisp.org>
634
635         fchownat, renameat, unlinkat: Fix dependencies.
636         * modules/fchownat (Depends-on): Add fstatat.
637         * modules/renameat (Depends-on): Likewise.
638         * modules/unlinkat (Depends-on): Likewise.
639
640 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
641
642         openat: remove direct dependency on dirent
643         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
644         and hasn't been needed ever since fdopendir was split into its own
645         module on 2009-08-31.
646         * modules/openat (Depends-on): Remove dirent.
647
648 2011-11-04  Bruno Haible  <bruno@clisp.org>
649
650         renameat: Optimize code size.
651         * modules/renameat (configure.ac): Don't compile at-func2.c if
652         REPLACE_RENAMEAT is 1.
653
654 2011-11-04  Bruno Haible  <bruno@clisp.org>
655
656         openat tests: Fix file list.
657         * modules/openat-tests (Files): Add tests/test-open.h.
658
659 2011-11-04  Bruno Haible  <bruno@clisp.org>
660
661         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
662         * modules/fchmodat (Depends-on): Add openat-die.
663         * modules/fchownat (Depends-on): Likewise.
664         * modules/linkat (Depends-on): Likewise.
665         * modules/renameat (Depends-on): Likewise.
666         * modules/openat (Depends-on): Add dirent.
667
668 2011-11-04  Jim Meyering  <meyering@redhat.com>
669
670         at-func*.c: fix comments
671         * lib/at-func2.c: Correct/improve first-line comment.
672         * lib/at-func.c: Correct grammar in first-line comment.
673
674 2011-11-04  Bruno Haible  <bruno@clisp.org>
675
676         New module 'mkdirat', split off from module 'openat'.
677         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
678         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
679         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
680         * modules/mkdirat: New file, extracted from modules/openat.
681         * modules/openat (Files): Remove lib/mkdirat.c.
682         (Depends-on): Remove mkdir.
683         (configure.ac): Remove AC_LIBOBJ of mkdirat.
684         (Include): Remove <sys/stat.h>.
685         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
686         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
687         tests/test-mkdir.h.
688         (Depends-on): Remove ignore-value.
689         (Makefile.am): Remove rules for test-mkdirat.
690         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
691         of module 'openat'.
692         * NEWS: Mention the change.
693
694 2011-11-04  Bruno Haible  <bruno@clisp.org>
695
696         closedir: Avoid warning on mingw.
697         * lib/closedir.c: Include <unistd.h>.
698
699 2011-11-04  Bruno Haible  <bruno@clisp.org>
700
701         New module 'fstatat', split off from module 'openat'.
702         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
703         defined.
704         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
705         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
706         gl_FUNC_FSTATAT.
707         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
708         * modules/fstatat: New file, extracted from modules/openat.
709         * modules/openat (Files): Remove lib/fstatat.c.
710         (Depends-on): Remove lstat.
711         (configure.ac): Remove AC_LIBOBJ of fstatat.
712         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
713         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
714         tests/test-lstat.h, tests/test-stat.h.
715         (Depends-on): Remove getcwd-lgpl.
716         (Makefile.am): Remove rules for test-fstatat.
717         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
718         of module 'openat'.
719         * NEWS: Mention the change.
720         * modules/getcwd (Depends-on): Add fstatat.
721         * modules/linkat (Depends-on): Likewise.
722         * modules/mkfifoat-tests (Depends-on): Likewise.
723         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
724
725 2011-11-03  Bruno Haible  <bruno@clisp.org>
726
727         New module 'unlinkat', split off from module 'openat'.
728         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
729         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
730         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
731         * modules/unlinkat: New file, extracted from modules/openat. Correct
732         the dependency conditions.
733         * modules/openat (Files): Remove lib/unlinkat.c.
734         (Depends-on): Remove rmdir, unlink.
735         (configure.ac): Remove AC_LIBOBJ of unlinkat.
736         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
737         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
738         tests/test-rmdir.h, tests/test-unlink.h.
739         (Depends-on): Remove unlinkdir.
740         (Makefile.am): Remove rules for test-unlinkat.
741         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
742         of module 'openat'.
743         * NEWS: Mention the change.
744         * modules/linkat-tests (Depends-on): Add unlinkat.
745         * modules/mkfifoat-tests (Depends-on): Likewise.
746         * modules/readlinkat-tests (Depends-on): Likewise.
747
748 2011-11-02  Bruno Haible  <bruno@clisp.org>
749
750         New module 'fchmodat', split off from module 'openat'.
751         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
752         defined.
753         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
754         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
755         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
756         * modules/fchmodat: New file, extracted from modules/openat.
757         * modules/openat (Files): Remove lib/fchmodat.c.
758         (configure.ac): Remove AC_LIBOBJ of fchmodat.
759         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
760         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
761         (Makefile.am): Remove rules for test-fchmodat.
762         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
763         of module 'openat'.
764         * NEWS: Mention the change.
765
766 2011-11-02  Jim Meyering  <meyering@redhat.com>
767
768         putenv: indent #definition of "environ" to placate cppi
769         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
770
771         gitlog-to-changelog: provide a ChangeLog-repair mechanism
772         Git logs are often treated as immutable, because editing them
773         changes the SHA1 checksums of all descendants.  Thus, errors in
774         git logs tend to stay there forever.  However, when we generate
775         a ChangeLog file -- typically for distribution -- from that git log,
776         we can actually make corrections in the generated file.  The key
777         lies in recording in machine-readable/applicable form the desired
778         corrections.  See --help for description and an example.
779         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
780         (usage): Describe it; alphabetize option descriptions.
781         (main): Honor the new option, carefully.
782
783 2011-11-01  Jim Meyering  <meyering@redhat.com>
784
785         gitlog-to-changelog: avoid an infloop
786         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
787         that ends up being empty.
788
789 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
790
791         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
792         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
793         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
794         contains (possibly-quoted) backslashes.  This should avoid
795         all-too-common shell bugs if COMPLICATED contains backslashes in
796         the "wrong" places.  Reported by David Evans in
797         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
798         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
799         because we want ASCII ranges.  Is there some reason we don't use
800         the C locale everywhere in this script?
801         (func_module, top level): Avoid unwanted pathname expansion when
802         $repo_url_prefix or $repo_url_suffix_repl contain shell
803         metacharacters like '?' and '*'.
804
805 2011-11-01  Bruno Haible  <bruno@clisp.org>
806
807         fchownat: Improve description.
808         * modules/fchownat (Description): Add link to function.
809
810 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
811
812         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
813         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
814         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
815         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
816
817 2011-11-01  Bruno Haible  <bruno@clisp.org>
818
819         alignof: Avoid collision with stdalign module.
820         * lib/alignof.h (alignof): Remove macro.
821         * NEWS: Mention the change.
822         Reported by Paul Eggert.
823
824 2011-11-01  Bruno Haible  <bruno@clisp.org>
825
826         New module 'fchownat', split off from module 'openat'.
827         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
828         defined.
829         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
830         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
831         invoke gl_FUNC_FCHOWNAT.
832         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
833         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
834         * modules/fchownat: New file, extracted from modules/openat.
835         * modules/openat (Files): Remove lib/fchownat.c.
836         (Depends-on): Remove lchown.
837         (configure.ac): Remove AC_LIBOBJ of fchownat.
838         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
839         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
840         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
841         (Depends-on): Remove mgetgroups, usleep, stat-time.
842         (configure.ac): Remove test for getegid.
843         (Makefile.am): Remove rules for test-fchownat.
844         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
845         of module 'openat'.
846         * NEWS: Mention the change.
847
848 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
849
850         stdalign: port better to MSVC and to Sun C 5.11
851         This fixes some of the problems reported by Bruno Haible in
852         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
853         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
854         shortcomings of MSVC and of Sun C 5.11.
855         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
856         around __declspec arg.
857         * modules/stdalign-tests (Files): Add tests/macros.h.
858         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
859         Include macros.h, for ASSERT.
860         (DECLARE_ALIGNED): Remove.
861         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
862         to catch bug), and to 1 if not (simplifies the rest of the code).
863         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
864         (CHECK_AUTO): Remove.
865         (CHECK_ALIGNED): Check only the alignment of the static vars,
866         since auto var alignment isn't supported by Sun C 5.11.
867         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
868         ASSERT failures are easier to diagnose.
869
870 2011-10-31  Bruno Haible  <bruno@clisp.org>
871
872         doc about some IRIX 5.3 problems.
873         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
874         on IRIX 5.3.
875         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
876         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
877         5.3.
878         * doc/posix-functions/grantpt.texi: Likewise.
879         * doc/posix-functions/unlockpt.texi: Likewise.
880         * doc/posix-functions/lgamma.texi: Likewise.
881         * doc/posix-functions/nextafter.texi: Likewise.
882         * doc/posix-functions/remainder.texi: Likewise.
883         * doc/posix-functions/select.texi: Mention misplaced declaration on
884         IRIX 5.3.
885         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
886
887 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
888
889         gitlog-to-changelog: fix git-log invocation.
890         git-log mishandles date strings before 1970-01-01 UTC, and there is
891         no use to specify --since=1970-01-01 by default anyway.
892         * build-aux/gitlog-to-changelog: By default, when no --since option
893         was given, do not specify explicit --since option to git-log.
894
895 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
896
897         gitlog-to-changelog: new option --append-dot.
898         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
899         first non-blank line of each commit message terminated with a dot.
900
901 2011-10-30  Bruno Haible  <bruno@clisp.org>
902
903         ffsl, ffsll: Avoid compilation error due to 'restrict'.
904         * lib/ffsl.h: Include <config.h>.
905         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
906
907 2011-10-30  Jim Meyering  <meyering@redhat.com>
908
909         GNUmakefile: reenable "make syntax-check" for most projects
910         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
911         build-aux variable", "syntax-check" would do nothing but succeed with
912         the "No version control files detected..." diagnostic (unless you
913         happened to override _build-aux via cfg.mk).
914         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
915         to precede inclusion of maint.mk.  Otherwise, these variables would
916         be used undefined in any project that does not override the default.
917
918 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
919
920         gitlog-to-changelog: treat a message with only blank lines as empty.
921         * build-aux/gitlog-to-changelog: Move the code that removes leading and
922         trailing blank lines before the code that issues a warning about an
923         empty commit message.
924
925 2011-10-30  Jim Meyering  <meyering@redhat.com>
926
927         test-parse-datetime.c: avoid new DST-related false positive test failure
928         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
929         based on the time/date we'll convert, not the current time.
930         Otherwise, the moment we cross a DST boundary like today's in
931         Europe, (CEST to CET), that offset ends up being one hour off.
932
933 2011-10-27  Bruno Haible  <bruno@clisp.org>
934
935         fstat: Tweak documentation.
936         * modules/fstat (Description): More precise description.
937
938 2011-10-27  Bruno Haible  <bruno@clisp.org>
939
940         Update documentation regarding 'largefile' module.
941         * doc/posix-functions/fstat.texi: Tweak wording.
942         * doc/posix-functions/opendir.texi: Mention that the module fixes the
943         problems with huge directories and/or small ino_t types.
944         * doc/posix-functions/readdir.texi: Likewise.
945         * doc/posix-functions/rewinddir.texi: Likewise.
946
947 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
948
949         maint.mk: don't maintain a second build-aux variable.
950         * maint.mk (build_aux): Removed.  The maintainer-makefile module
951         depends on GNUmakefile, which already maintains a cfg.mk
952         overridable $(_build-aux) for projects with a non-standard
953         build-aux directory location, although without the $(srcdir)
954         prefix.  Use that variable consistently instead of introducing a
955         second one.  Adjust all call sites.
956
957 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
958
959         Add stdalign module and use it in other modules.
960         This is based on a previous proposal by Bruno Haible
961         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
962
963         stdalign: new module
964         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
965         * modules/stdalign: New files.
966         * MODULES.html.sh (c1x_core_properties): Add stdalign.
967         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
968
969         stdalign-tests: new module
970         * modules/stdalign-tests, tests/test-stdalign.c: New files.
971
972         argp: use stdalign
973         * lib/argp-parse.c: Include <stdalign.h>.
974         (alignof): Remove.
975         * modules/argp (Depends-on): Add stdalign.
976
977         crypto libraries: use stdalign
978         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
979         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
980         Do not include <stdlib.h> twice, in md4.c.
981         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
982         because we are accessing a pointer's bit-pattern, not a size.
983         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
984         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
985         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
986         * modules/crypto/sha512: Likewise.
987
988         sys_socket: use stdalign, not alignof
989         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
990         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
991
992 2011-10-27  Bruno Haible  <bruno@clisp.org>
993
994         raise test: Avoid a test failure on Linux/MIPS.
995         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
996         because 99 is a valid signal on Linux/MIPS.
997
998 2011-10-27  Bruno Haible  <bruno@clisp.org>
999
1000         nonblocking tests: Fix test failure on Linux/MIPS.
1001         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
1002         Set to 270000.
1003
1004 2011-10-27  Bruno Haible  <bruno@clisp.org>
1005
1006         utimensat: Work around problem on Linux/hppa.
1007         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
1008         values.
1009         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
1010
1011 2011-10-25  Jim Meyering  <meyering@redhat.com>
1012
1013         maint.mk: fix a bug in sc_prohibit_stddef_without_use
1014         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
1015         after symbols like NULL, size_t, etc.
1016         Reported by Alfred M. Szmidt.
1017
1018         maint.mk: exempt ENODATA from a syntax-check rule
1019         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
1020         from the sc_prohibit_always-defined_macros syntax-check rule.
1021         Add a comment.  See this for more details:
1022         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
1023
1024 2011-10-23  Jim Meyering  <meyering@redhat.com>
1025
1026         fts: close parent dir FD before returning from post-traversal fts_read
1027         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
1028         unlink A, even though an FD open on A remained.  This is suboptimal
1029         (holding a file descriptor open longer than needed), but otherwise not
1030         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
1031         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
1032         that represents a real problem: it causes the removal of A to fail
1033         with e.g., "rm: cannot remove `A': Device or resource busy"
1034
1035         fts visits each directory twice and keeps a cache (fts_fd_ring) of
1036         directory file descriptors.  After completing the final, FTS_DP,
1037         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
1038         cache, but then proceeded to add a new FD to it via the subsequent
1039         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
1040         final file descriptor would be closed only via fts_close's call to
1041         fd_ring_clear.  Now, it is usually closed earlier, via the final
1042         FTS_DP-returning fts_read call.
1043         * lib/fts.c (restore_initial_cwd): New function, converted from
1044         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
1045         Update callers.
1046         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
1047         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
1048
1049 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
1050             Bruno Haible  <bruno@clisp.org>
1051             Jim Meyering  <jim@meyering.net>
1052
1053         readme-release: improve safety of release prep instructions.
1054         * README-release: Don't git pull all branches when only master
1055         is needed for the release process.
1056         Run make maintainer-clean before changing trees and merging.
1057         Don't try to run ./configure right after git pull in case files
1058         that influence the bootstrap process have changed, move the
1059         ./configure step to after running ./bootstrap.
1060         Don't bootstrap "one last time"... it's the first time!
1061
1062 2011-10-22  Bruno Haible  <bruno@clisp.org>
1063
1064         errno, strerror-override: Support for MSVC 10.
1065         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
1066         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
1067         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
1068         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
1069         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
1070         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
1071         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
1072         Assign values compatible with MSVC 10.
1073         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
1074         New macros.
1075         (GNULIB_defined_EWINSOCK): New macro.
1076         * lib/strerror-override.c (strerror_override): Update accordingly.
1077         * lib/strerror-override.h: Likewise.
1078         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
1079         longer equal to the corresponding errno value.
1080         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1081
1082 2011-10-22  Bruno Haible  <bruno@clisp.org>
1083
1084         perror: Recognize when test program crashes.
1085         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
1086         strerror, set gl_cv_func_perror_works to no.
1087         Reported by Daniel Richard G. <skunk@iskunk.org>.
1088
1089         perror: Fix indentation.
1090         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
1091
1092 2011-10-22  Bruno Haible  <bruno@clisp.org>
1093
1094         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
1095         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
1096         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
1097         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
1098         functions, not as a macro.
1099         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
1100         macros.
1101         (isfinite, isinf, isnan, signbit): Check overloaded functions and
1102         absence of macro.
1103         Suggested by Eric Blake.
1104         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1105
1106 2011-10-21  Bruno Haible  <bruno@clisp.org>
1107
1108         relocatable-prog-wrapper: Don't leave object files behind.
1109         * build-aux/install-reloc: Re-synchronize list of .o files to be
1110         removed with list of compilation units.
1111
1112 2011-10-20  Bruno Haible  <bruno@clisp.org>
1113
1114         openpty, posix_openpt: Remove code duplication.
1115         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
1116         * lib/openpty.c: Include <stdlib.h>.
1117         (openpty): Use posix_openpt on all platforms except IRIX.
1118         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
1119
1120 2011-10-20  Bruno Haible  <bruno@clisp.org>
1121
1122         unlockpt: Detect invalid argument.
1123         * lib/unlockpt.c: Include <fcntl.h>.
1124         (unlockpt): Check whether fd is valid, using fcntl().
1125         * modules/unlockpt (Depends-on): Add fcntl-h.
1126
1127 2011-10-20  Bruno Haible  <bruno@clisp.org>
1128
1129         openpty: Avoid compilation error on AIX 6.1.
1130         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
1131
1132 2011-10-20  Bruno Haible  <bruno@clisp.org>
1133
1134         posix_openpt: Support for OpenBSD.
1135         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
1136         (posix_openpt) [OpenBSD]: New code.
1137         * lib/grantpt.c: Include <fcntl.h>.
1138         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
1139         * modules/grantpt (Depends-on): Add fcntl-h.
1140
1141 2011-10-20  Bruno Haible  <bruno@clisp.org>
1142
1143         posix_openpt test: Coding style.
1144         * tests/test-posix_openpt.c: Use GNU coding style.
1145
1146 2011-10-20  Bruno Haible  <bruno@clisp.org>
1147
1148         grantpt: Support --avoid=pt_chown.
1149         * modules/grantpt (Files): Add lib/pty-private.h.
1150
1151 2011-10-20  Bruno Haible  <bruno@clisp.org>
1152
1153         posix_openpt: Fix autoconf macro.
1154         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
1155         unneeded check for _getpty.
1156
1157 2011-10-20  Bruno Haible  <bruno@clisp.org>
1158
1159         openpty: Update comments.
1160         * lib/openpty.c: Add comments about Minix.
1161
1162 2011-10-19  Eric Blake  <eblake@redhat.com>
1163
1164         openpty: relax license
1165         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
1166
1167         pt_chown: use configmake to simplify build
1168         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
1169
1170         ptsname and others: relax license
1171         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
1172         * modules/unlockpt (License): Likewise.
1173         * modules/pt_chown (License): Likewise.
1174         * modules/ptsname (License): Likewise.
1175         * modules/ttyname_r (License): Likewise.
1176
1177 2011-10-19  Jim Meyering  <meyering@redhat.com>
1178
1179         posix_openpt: remove spurious #endif
1180         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
1181
1182 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
1183
1184         maint.mk: Respect $(build_aux) in web-manual rule.
1185         * top/maint.mk (web-manual): Find gen-announce script in user's
1186         $(build_aux) directory instead of hard-coding 'build-aux'.
1187
1188 2011-10-19  Bruno Haible  <bruno@clisp.org>
1189
1190         posix_openpt: Fix compilation error.
1191         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
1192         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
1193         Mention the openpty module as an alternative.
1194
1195 2011-10-19  Bruno Haible  <bruno@clisp.org>
1196
1197         Support for old NeXTstep 3.3 frexp().
1198         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
1199         execution time of the test to 5 seconds.
1200         Reported by Daniel Richard G. <skunk@iskunk.org>.
1201
1202 2011-10-19  Bruno Haible  <bruno@clisp.org>
1203
1204         Support for old NeXTstep 3.3 sed.
1205         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
1206         part, use /.../, not \|...|. Escape periods in the header file name.
1207         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
1208         Reported by Daniel Richard G. <skunk@iskunk.org>.
1209
1210 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1211
1212         Support for old NeXTstep 3.3 gcc.
1213         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
1214         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
1215         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
1216         * lib/spawn.in.h (_Restrict_arr_): Likewise.
1217         * lib/regex.h (_Restrict_arr_): Likewise.
1218         * lib/regex_internal.h (re_token_t): Likewise.
1219         * lib/regexec.c (check_node_accept_bytes): Likewise.
1220         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
1221
1222 2011-10-18  Eric Blake  <eblake@redhat.com>
1223
1224         posix_openpt: new module
1225         * modules/posix_openpt: New module.
1226         * m4/posix_openpt.m4: New file.
1227         * lib/posix_openpt.c: Likewise.
1228         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
1229         (gl_STDLIB_H_DEFAULTS): Set defaults.
1230         * modules/stdlib (Makefile.am): Substitute macros.
1231         * lib/stdlib.in.h (posix_openpt): Declare.
1232         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
1233         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
1234         * modules/posix_openpt-tests: New test module.
1235         * tests/test-posix_openpt.c: New test.
1236
1237 2011-10-15  Bruno Haible  <bruno@clisp.org>
1238
1239         xstrtoll: Fix compilation failure.
1240         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
1241         from lib/strtol.c.
1242         * doc/posix-headers/limits.texi: Mention missing numerical limits on
1243         some platforms.
1244         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1245
1246 2011-10-15  Bruno Haible  <bruno@clisp.org>
1247
1248         vasnprintf: Optimize bit search operation.
1249         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
1250         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
1251         gl_DOUBLE_EXPONENT_LOCATION.
1252         * modules/vasnprintf (Files): Add m4/exponentd.m4.
1253         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1254         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1255         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1256         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1257         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1258         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1259         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1260         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
1261
1262 2011-10-15  Bruno Haible  <bruno@clisp.org>
1263
1264         vasnprintf: Fix comments.
1265         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
1266
1267 2011-10-14  Bruno Haible  <bruno@clisp.org>
1268
1269         Tests for module 'integer_length_ll'.
1270         * modules/integer_length_ll-tests: New file.
1271         * tests/test-integer_length_ll.c: New file.
1272
1273         New module 'integer_length_ll'.
1274         * lib/integer_length_ll.c: New file.
1275         * modules/integer_length_ll: New file.
1276
1277 2011-10-14  Bruno Haible  <bruno@clisp.org>
1278
1279         Tests for module 'integer_length_l'.
1280         * modules/integer_length_l-tests: New file.
1281         * tests/test-integer_length_l.c: New file.
1282
1283         New module 'integer_length_l'.
1284         * lib/integer_length_l.c: New file.
1285         * modules/integer_length_l: New file.
1286
1287 2011-10-14  Bruno Haible  <bruno@clisp.org>
1288
1289         Tests for module 'integer_length'.
1290         * modules/integer_length-tests: New file.
1291         * tests/test-integer_length.c: New file.
1292
1293         New module 'integer_length'.
1294         * lib/integer_length.h: New file.
1295         * lib/integer_length.c: New file.
1296         * modules/integer_length: New file.
1297
1298 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1299
1300         popen: Fix dependency conditions.
1301         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
1302
1303 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1304
1305         perror: Fix autoconf test.
1306         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
1307         <stdlib.h> and <string.h>.
1308
1309 2011-10-14  Bruno Haible  <bruno@clisp.org>
1310
1311         ffsl: Optimize on 64-bit platforms.
1312         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
1313         unrolling.
1314
1315 2011-10-13  Bruno Haible  <bruno@clisp.org>
1316
1317         ffsl: Optimize on 32-bit platforms.
1318         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
1319         use ffs() without a loop.
1320
1321         ffsl, ffsll: Optimize for GCC.
1322         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
1323         * lib/ffsl.c (GCC_BUILTIN): New macro.
1324         * lib/ffsll.c (GCC_BUILTIN): Likewise.
1325
1326 2011-10-13  Bruno Haible  <bruno@clisp.org>
1327
1328         ffs, bcopy, memset: Support symbol renaming via config.h.
1329         * lib/ffs.c: Include <config.h>.
1330         * lib/bcopy.c: Likewise.
1331         * lib/memset.c: Likewise.
1332
1333 2011-10-10  Bruno Haible  <bruno@clisp.org>
1334
1335         atanl: Simplify for platforms where 'long double' == 'double'.
1336         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1337         alternative implementation.
1338         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1339         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1340         * modules/atanl (Depends-on): Add atan. Update conditions.
1341
1342 2011-10-10  Bruno Haible  <bruno@clisp.org>
1343
1344         acosl: Simplify for platforms where 'long double' == 'double'.
1345         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1346         alternative implementation.
1347         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1348         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1349         * modules/acosl (Depends-on): Add acos. Update conditions.
1350
1351 2011-10-10  Bruno Haible  <bruno@clisp.org>
1352
1353         asinl: Simplify for platforms where 'long double' == 'double'.
1354         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1355         alternative implementation.
1356         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1357         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1358         * modules/asinl (Depends-on): Add asin. Update conditions.
1359
1360 2011-10-10  Bruno Haible  <bruno@clisp.org>
1361
1362         tanl: Simplify for platforms where 'long double' == 'double'.
1363         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1364         implementation.
1365         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1366         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1367         * modules/tanl (Depends-on): Add tan. Update conditions.
1368         (configure.ac): Don't compile trigl.c if
1369         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1370
1371 2011-10-10  Bruno Haible  <bruno@clisp.org>
1372
1373         cosl: Simplify for platforms where 'long double' == 'double'.
1374         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1375         implementation.
1376         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1377         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1378         * modules/cosl (Depends-on): Add cos. Update conditions.
1379         (configure.ac): Don't compile sincosl.c and trigl.c if
1380         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1381
1382 2011-10-10  Bruno Haible  <bruno@clisp.org>
1383
1384         sinl: Simplify for platforms where 'long double' == 'double'.
1385         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1386         implementation.
1387         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1388         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1389         * modules/sinl (Depends-on): Add sin. Update conditions.
1390         (configure.ac): Don't compile sincosl.c and trigl.c if
1391         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1392
1393 2011-10-10  Bruno Haible  <bruno@clisp.org>
1394
1395         logl: Simplify for platforms where 'long double' == 'double'.
1396         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1397         implementation.
1398         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1399         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1400         * modules/logl (Depends-on): Add log. Update conditions.
1401
1402 2011-10-10  Bruno Haible  <bruno@clisp.org>
1403
1404         expl: Simplify for platforms where 'long double' == 'double'.
1405         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1406         implementation.
1407         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1408         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1409         * modules/expl (Depends-on): Add exp. Update conditions.
1410
1411 2011-10-10  Bruno Haible  <bruno@clisp.org>
1412
1413         sqrtl: Simplify for platforms where 'long double' == 'double'.
1414         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1415         alternative implementation.
1416         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1417         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1418         * modules/sqrtl (Depends-on): Update conditions.
1419
1420 2011-10-10  Bruno Haible  <bruno@clisp.org>
1421
1422         ldexpl: Simplify for platforms where 'long double' == 'double'.
1423         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1424         alternative implementation.
1425         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1426         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1427         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1428
1429 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1430
1431         ffsll: set correct witness
1432         * modules/ffsll (configure.ac): Fix typo.
1433
1434 2011-10-10  Bruno Haible  <bruno@clisp.org>
1435
1436         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1437         * lib/printf-frexpl.c: Include <config.h>.
1438         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1439         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1440         second time.
1441         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1442         gl_LONG_DOUBLE_VS_DOUBLE.
1443         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1444         conditions.
1445
1446 2011-10-10  Bruno Haible  <bruno@clisp.org>
1447
1448         frexpl: Simplify for platforms where 'long double' == 'double'.
1449         * lib/frexpl.c: Include <config.h>.
1450         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1451         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1452         time.
1453         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1454         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1455         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1456         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1457         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1458         conditions.
1459
1460 2011-10-10  Jim Meyering  <meyering@redhat.com>
1461
1462         test-renameat: don't leave behind a temporary file
1463         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1464           ERROR: files left in build directory after distclean:
1465           ./gltests/test-renameat.too
1466           make[1]: *** [distcleancheck] Error 1
1467         Reported by Tom G. Christensen.
1468
1469 2011-10-09  Bruno Haible  <bruno@clisp.org>
1470
1471         rint: Determine RINT_LIBM correctly on AIX 7.
1472         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1473         directly, not only through a function pointer. Also accept an optional
1474         4th argument with extra code.
1475         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1476         rintf() call by gcc when optimizing.
1477
1478         mathfunc.m4: Refactor.
1479         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1480         m4 variable.
1481
1482 2011-10-09  Bruno Haible  <bruno@clisp.org>
1483
1484         rintl: Simplify for platforms where 'long double' == 'double'.
1485         * lib/rintl.c: Include <config.h>.
1486         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1487         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1488         time.
1489         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1490         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1491         * modules/rintl (Depends-on): Add rint. Update conditions.
1492
1493 2011-10-09  Bruno Haible  <bruno@clisp.org>
1494
1495         roundl: Simplify for platforms where 'long double' == 'double'.
1496         * lib/roundl.c: Include <config.h>.
1497         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1498         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1499         time.
1500         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1501         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1502         * modules/roundl (Depends-on): Add round. Update conditions.
1503
1504 2011-10-09  Bruno Haible  <bruno@clisp.org>
1505
1506         truncl: Simplify for platforms where 'long double' == 'double'.
1507         * lib/truncl.c: Include <config.h>.
1508         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1509         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1510         time.
1511         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1512         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1513         * modules/truncl (Depends-on): Add trunc. Update conditions.
1514
1515 2011-10-09  Bruno Haible  <bruno@clisp.org>
1516
1517         ceill: Simplify for platforms where 'long double' == 'double'.
1518         * lib/ceill.c: Include <config.h>.
1519         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1520         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1521         time.
1522         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1523         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1524         * modules/ceill (Depends-on): Add ceil. Update conditions.
1525
1526 2011-10-09  Bruno Haible  <bruno@clisp.org>
1527
1528         floorl: Simplify for platforms where 'long double' == 'double'.
1529         * lib/floorl.c: Include <config.h>.
1530         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1531         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1532         time.
1533         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1534         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1535         * modules/floorl (Depends-on): Add floor. Update conditions.
1536
1537 2011-10-09  Bruno Haible  <bruno@clisp.org>
1538
1539         rint: Fix ordering constraints.
1540         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1541         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1542         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1543
1544 2011-10-09  Bruno Haible  <bruno@clisp.org>
1545
1546         copysignl: Simplify for platforms where 'long double' == 'double'.
1547         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1548         alternative.
1549         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1550         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1551         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1552
1553 2011-10-09  Bruno Haible  <bruno@clisp.org>
1554
1555         Tests for module 'rintl'.
1556         * modules/rintl-tests: New file.
1557         * tests/test-rintl.c: New file.
1558
1559         New module 'rintl'.
1560         * lib/math.in.h (rintl): New declaration.
1561         * lib/rintl.c: New file.
1562         * m4/rintl.m4: New file.
1563         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1564         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1565         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1566         * modules/rintl: New file.
1567         * tests/test-math-c++.cc: Check the declaration of rintl.
1568         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1569         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1570         * doc/posix-functions/rintl.texi: Mention the new module.
1571
1572 2011-10-09  Bruno Haible  <bruno@clisp.org>
1573
1574         Tests for module 'rintf'.
1575         * modules/rintf-tests: New file.
1576         * tests/test-rintf.c: New file.
1577
1578         New module 'rintf'.
1579         * lib/math.in.h (rintf): New declaration.
1580         * lib/rintf.c: New file.
1581         * m4/rintf.m4: New file.
1582         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1583         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1584         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1585         * modules/rintf: New file.
1586         * tests/test-math-c++.cc: Check the declaration of rintf.
1587         * doc/posix-functions/rintf.texi: Mention the new module.
1588
1589 2011-10-09  Bruno Haible  <bruno@clisp.org>
1590
1591         rint: Support for MSVC.
1592         * lib/math.in.h (rint): New declaration.
1593         * lib/rint.c: New file.
1594         * m4/rint.m4: New file.
1595         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1596         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1597         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1598         * modules/rint (Description): Fix.
1599         (Files): Add lib/rint.c, m4/rint.m4.
1600         (Depends-on): Add math.
1601         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1602         gl_MATH_MODULE_INDICATOR.
1603         * tests/test-math-c++.cc: Check the declaration of rint.
1604         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1605         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1606         * doc/posix-functions/rint.texi: Mention the replacement provided by
1607         the module.
1608
1609         rint tests: More tests.
1610         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1611         minus-zero.h, infinity.h, nan.h.
1612         (main): Skip the test if the current rounding mode is not standard. Add
1613         tests for negative numbers, minus zero, infinity, NaN.
1614         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1615         tests/nan.h.
1616         (Depends-on): Add isnand-nolibm.
1617
1618 2011-10-09  Bruno Haible  <bruno@clisp.org>
1619
1620         Tests for module 'copysignl'.
1621         * modules/copysignl-tests: New file.
1622         * tests/test-copysignl.c: New file.
1623
1624         New module 'copysignl'.
1625         * lib/math.in.h (copysignl): New declaration.
1626         * lib/copysignl.c: New file.
1627         * m4/copysignl.m4: New file.
1628         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1629         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1630         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1631         HAVE_COPYSIGNL.
1632         * modules/copysignl: New file.
1633         * tests/test-math-c++.cc: Check the declaration of copysignl.
1634         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1635         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1636         * doc/posix-functions/copysignl.texi: Mention the new module.
1637
1638 2011-10-09  Bruno Haible  <bruno@clisp.org>
1639
1640         Tests for module 'copysignf'.
1641         * modules/copysignf-tests: New file.
1642         * tests/test-copysignf.c: New file.
1643
1644         New module 'copysignf'.
1645         * lib/math.in.h (copysignf): New declaration.
1646         * lib/copysignf.c: New file.
1647         * m4/copysignf.m4: New file.
1648         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1650         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1651         HAVE_COPYSIGNF.
1652         * modules/copysignf: New file.
1653         * tests/test-math-c++.cc: Check the declaration of copysignf.
1654         * doc/posix-functions/copysignf.texi: Mention the new module.
1655
1656 2011-10-09  Bruno Haible  <bruno@clisp.org>
1657
1658         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1659         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1660         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1661         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1662         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1663         gl_SIGNAL_H_DEFAULTS.
1664
1665 2011-10-09  Bruno Haible  <bruno@clisp.org>
1666
1667         poll: Make macro safer.
1668         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1669         ac_cv_header_poll_h is not set.
1670
1671 2011-10-09  Bruno Haible  <bruno@clisp.org>
1672
1673         copysign: Provide replacement.
1674         * lib/math.in.h (copysign): New declaration.
1675         * lib/copysign.c: New file.
1676         * m4/copysign.m4: New file.
1677         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1678         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1679         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1680         HAVE_COPYSIGN.
1681         * modules/copysign (Description): Clarify.
1682         (Files): Add lib/copysign.c, m4/copysign.m4.
1683         (Depends-on): Add math, signbit.
1684         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1685         gl_MATH_MODULE_INDICATOR.
1686         * tests/test-math-c++.cc: Check the declaration of copysign.
1687         * doc/posix-functions/copysign.texi: Mention the effects of the module
1688         on Minix and MSVC.
1689
1690 2011-10-09  Bruno Haible  <bruno@clisp.org>
1691
1692         isinf: Ensure macro on AIX 5.1.
1693         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1694         macro.
1695         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1696
1697 2011-10-09  Bruno Haible  <bruno@clisp.org>
1698
1699         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1700         * modules/snprintf-posix-tests (configure.ac): Require
1701         gl_LONG_DOUBLE_VS_DOUBLE.
1702         * modules/sprintf-posix-tests (configure.ac): Likewise.
1703         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1704         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1705         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1706         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1707         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1708         tests on platforms where 'long double' is the same as 'double'.
1709         * tests/test-sprintf-posix.h (test_function): Likewise.
1710         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1711         * tests/test-vasprintf-posix.c (test_function): Likewise.
1712
1713         *printf: Fix for platforms where 'long double' == 'double'.
1714         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1715         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1716         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1717         * modules/fprintf-posix (Files): Likewise.
1718         * modules/obstack-printf-posix (Files): Likewise.
1719         * modules/snprintf-posix (Files): Likewise.
1720         * modules/sprintf-posix (Files): Likewise.
1721         * modules/vasnprintf (Files): Likewise.
1722         * modules/vasnprintf-posix (Files): Likewise.
1723         * modules/vasprintf-posix (Files): Likewise.
1724         * modules/vdprintf-posix (Files): Likewise.
1725         * modules/vfprintf-posix (Files): Likewise.
1726         * modules/vsnprintf-posix (Files): Likewise.
1727         * modules/vsprintf-posix (Files): Likewise.
1728         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1729         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1730         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1731         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1732         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1733         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1734         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1735
1736         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1737         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1738         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1739         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1740         'long double'.
1741         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1742
1743         isinf: Fix for platforms where 'long double' == 'double'.
1744         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1745         Don't blindly assume 80-bit 'long double'.
1746
1747         isfinite: Fix for platforms where 'long double' == 'double'.
1748         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1749         Don't blindly assume 80-bit 'long double'.
1750
1751         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1752         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1753         * modules/isfinite-tests (configure.ac): Require
1754         gl_LONG_DOUBLE_VS_DOUBLE.
1755         * modules/isinf-tests (configure.ac): Likewise.
1756         * modules/isnan-tests (configure.ac): Likewise.
1757         * modules/isnanl-tests (configure.ac): Likewise.
1758         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1759         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1760         tests on platforms where 'long double' is the same as 'double'.
1761         * tests/test-isinf.c (test_isinfl): Likewise.
1762         * tests/test-isnan.c (test_long_double): Likewise.
1763         * tests/test-isnanl.h (main): Likewise.
1764
1765 2011-10-08  Bruno Haible  <bruno@clisp.org>
1766
1767         Tests for module 'tanhf'.
1768         * modules/tanhf-tests: New file.
1769         * tests/test-tanhf.c: New file.
1770
1771         New module 'tanhf'.
1772         * lib/math.in.h (tanhf): New declaration.
1773         * lib/tanhf.c: New file.
1774         * m4/tanhf.m4: New file.
1775         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1777         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1778         * modules/tanhf: New file.
1779         * tests/test-math-c++.cc: Check the declaration of tanhf.
1780         * doc/posix-functions/tanhf.texi: Mention the new module.
1781
1782         tanh: Use a .m4 file.
1783         * m4/tanh.m4: New file.
1784         * modules/tanh (Files): Add it.
1785         (configure.ac): Just invoke gl_FUNC_TANH.
1786
1787 2011-10-08  Bruno Haible  <bruno@clisp.org>
1788
1789         Tests for module 'coshf'.
1790         * modules/coshf-tests: New file.
1791         * tests/test-coshf.c: New file.
1792
1793         New module 'coshf'.
1794         * lib/math.in.h (coshf): New declaration.
1795         * lib/coshf.c: New file.
1796         * m4/coshf.m4: New file.
1797         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1798         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1799         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1800         * modules/coshf: New file.
1801         * tests/test-math-c++.cc: Check the declaration of coshf.
1802         * doc/posix-functions/coshf.texi: Mention the new module.
1803
1804         cosh: Use a .m4 file.
1805         * m4/cosh.m4: New file.
1806         * modules/cosh (Files): Add it.
1807         (configure.ac): Just invoke gl_FUNC_COSH.
1808
1809 2011-10-08  Bruno Haible  <bruno@clisp.org>
1810
1811         Tests for module 'sinhf'.
1812         * modules/sinhf-tests: New file.
1813         * tests/test-sinhf.c: New file.
1814
1815         New module 'sinhf'.
1816         * lib/math.in.h (sinhf): New declaration.
1817         * lib/sinhf.c: New file.
1818         * m4/sinhf.m4: New file.
1819         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1821         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1822         * modules/sinhf: New file.
1823         * tests/test-math-c++.cc: Check the declaration of sinhf.
1824         * doc/posix-functions/sinhf.texi: Mention the new module.
1825
1826         sinh: Use a .m4 file.
1827         * m4/sinh.m4: New file.
1828         * modules/sinh (Files): Add it.
1829         (configure.ac): Just invoke gl_FUNC_SINH.
1830
1831 2011-10-08  Bruno Haible  <bruno@clisp.org>
1832
1833         Tests for module 'atan2f'.
1834         * modules/atan2f-tests: New file.
1835         * tests/test-atan2f.c: New file.
1836
1837         New module 'atan2f'.
1838         * lib/math.in.h (atan2f): New declaration.
1839         * lib/atan2f.c: New file.
1840         * m4/atan2f.m4: New file.
1841         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1842         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1843         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1844         * modules/atan2f: New file.
1845         * tests/test-math-c++.cc: Check the declaration of atan2f.
1846         * doc/posix-functions/atan2f.texi: Mention the new module.
1847
1848         atan2: Use a .m4 file.
1849         * m4/atan2.m4: New file.
1850         * modules/atan2 (Files): Add it.
1851         (configure.ac): Just invoke gl_FUNC_ATAN2.
1852
1853 2011-10-08  Bruno Haible  <bruno@clisp.org>
1854
1855         Tests for module 'atanf'.
1856         * modules/atanf-tests: New file.
1857         * tests/test-atanf.c: New file.
1858
1859         New module 'atanf'.
1860         * lib/math.in.h (atanf): New declaration.
1861         * lib/atanf.c: New file.
1862         * m4/atanf.m4: New file.
1863         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1864         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1865         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1866         * modules/atanf: New file.
1867         * tests/test-math-c++.cc: Check the declaration of atanf.
1868         * doc/posix-functions/atanf.texi: Mention the new module.
1869
1870         atan: Use a .m4 file.
1871         * m4/atan.m4: New file.
1872         * modules/atan (Files): Add it.
1873         (configure.ac): Just invoke gl_FUNC_ATAN.
1874
1875 2011-10-08  Bruno Haible  <bruno@clisp.org>
1876
1877         Tests for module 'acosf'.
1878         * modules/acosf-tests: New file.
1879         * tests/test-acosf.c: New file.
1880
1881         New module 'acosf'.
1882         * lib/math.in.h (acosf): New declaration.
1883         * lib/acosf.c: New file.
1884         * m4/acosf.m4: New file.
1885         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1887         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1888         * modules/acosf: New file.
1889         * tests/test-math-c++.cc: Check the declaration of acosf.
1890         * doc/posix-functions/acosf.texi: Mention the new module.
1891
1892         acos: Use a .m4 file.
1893         * m4/acos.m4: New file.
1894         * modules/acos (Files): Add it.
1895         (configure.ac): Just invoke gl_FUNC_ACOS.
1896
1897 2011-10-08  Bruno Haible  <bruno@clisp.org>
1898
1899         Tests for module 'asinf'.
1900         * modules/asinf-tests: New file.
1901         * tests/test-asinf.c: New file.
1902
1903         New module 'asinf'.
1904         * lib/math.in.h (asinf): New declaration.
1905         * lib/asinf.c: New file.
1906         * m4/asinf.m4: New file.
1907         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1908         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1909         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1910         * modules/asinf: New file.
1911         * tests/test-math-c++.cc: Check the declaration of asinf.
1912         * doc/posix-functions/asinf.texi: Mention the new module.
1913
1914         asin: Use a .m4 file.
1915         * m4/asin.m4: New file.
1916         * modules/asin (Files): Add it.
1917         (configure.ac): Just invoke gl_FUNC_ASIN.
1918
1919 2011-10-08  Bruno Haible  <bruno@clisp.org>
1920
1921         Tests for module 'tanf'.
1922         * modules/tanf-tests: New file.
1923         * tests/test-tanf.c: New file.
1924
1925         New module 'tanf'.
1926         * lib/math.in.h (tanf): New declaration.
1927         * lib/tanf.c: New file.
1928         * m4/tanf.m4: New file.
1929         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1930         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1931         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1932         * modules/tanf: New file.
1933         * tests/test-math-c++.cc: Check the declaration of tanf.
1934         * doc/posix-functions/tanf.texi: Mention the new module.
1935
1936         tan: Use a .m4 file.
1937         * m4/tan.m4: New file.
1938         * modules/tan (Files): Add it.
1939         (configure.ac): Just invoke gl_FUNC_TAN.
1940
1941 2011-10-08  Bruno Haible  <bruno@clisp.org>
1942
1943         Tests for module 'cosf'.
1944         * modules/cosf-tests: New file.
1945         * tests/test-cosf.c: New file.
1946
1947         New module 'cosf'.
1948         * lib/math.in.h (cosf): New declaration.
1949         * lib/cosf.c: New file.
1950         * m4/cosf.m4: New file.
1951         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1952         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1953         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1954         * modules/cosf: New file.
1955         * tests/test-math-c++.cc: Check the declaration of cosf.
1956         * doc/posix-functions/cosf.texi: Mention the new module.
1957
1958         cos: Use a .m4 file.
1959         * m4/cos.m4: New file.
1960         * modules/cos (Files): Add it.
1961         (configure.ac): Just invoke gl_FUNC_COS.
1962
1963 2011-10-08  Bruno Haible  <bruno@clisp.org>
1964
1965         Tests for module 'sinf'.
1966         * modules/sinf-tests: New file.
1967         * tests/test-sinf.c: New file.
1968
1969         New module 'sinf'.
1970         * lib/math.in.h (sinf): New declaration.
1971         * lib/sinf.c: New file.
1972         * m4/sinf.m4: New file.
1973         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1974         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1975         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1976         * modules/sinf: New file.
1977         * tests/test-math-c++.cc: Check the declaration of sinf.
1978         * doc/posix-functions/sinf.texi: Mention the new module.
1979
1980         sin: Use a .m4 file.
1981         * m4/sin.m4: New file.
1982         * modules/sin (Files): Add it.
1983         (configure.ac): Just invoke gl_FUNC_SIN.
1984
1985 2011-10-08  Bruno Haible  <bruno@clisp.org>
1986
1987         Tests for module 'powf'.
1988         * modules/powf-tests: New file.
1989         * tests/test-powf.c: New file.
1990
1991         New module 'powf'.
1992         * lib/math.in.h (powf): New declaration.
1993         * lib/powf.c: New file.
1994         * m4/powf.m4: New file.
1995         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1996         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1997         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1998         * modules/powf: New file.
1999         * tests/test-math-c++.cc: Check the declaration of powf.
2000         * doc/posix-functions/powf.texi: Mention the new module.
2001
2002         pow: Use a .m4 file.
2003         * m4/pow.m4: New file.
2004         * modules/pow (Files): Add it.
2005         (configure.ac): Just invoke gl_FUNC_POW.
2006
2007 2011-10-08  Bruno Haible  <bruno@clisp.org>
2008
2009         Tests for module 'log10f'.
2010         * modules/log10f-tests: New file.
2011         * tests/test-log10f.c: New file.
2012
2013         New module 'log10f'.
2014         * lib/math.in.h (log10f): New declaration.
2015         * lib/log10f.c: New file.
2016         * m4/log10f.m4: New file.
2017         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
2018         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
2019         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
2020         * modules/log10f: New file.
2021         * tests/test-math-c++.cc: Check the declaration of log10f.
2022         * doc/posix-functions/log10f.texi: Mention the new module.
2023
2024         log10: Use a .m4 file.
2025         * m4/log10.m4: New file.
2026         * modules/log10 (Files): Add it.
2027         (configure.ac): Just invoke gl_FUNC_LOG10.
2028
2029 2011-10-08  Bruno Haible  <bruno@clisp.org>
2030
2031         Tests for module 'logf'.
2032         * modules/logf-tests: New file.
2033         * tests/test-logf.c: New file.
2034
2035         New module 'logf'.
2036         * lib/math.in.h (logf): New declaration.
2037         * lib/logf.c: New file.
2038         * m4/logf.m4: New file.
2039         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
2040         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
2041         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
2042         * modules/logf: New file.
2043         * tests/test-math-c++.cc: Check the declaration of logf.
2044         * doc/posix-functions/logf.texi: Mention the new module.
2045
2046         log: Use a .m4 file.
2047         * m4/log.m4: New file.
2048         * modules/log (Files): Add it.
2049         (configure.ac): Just invoke gl_FUNC_LOG.
2050
2051 2011-10-08  Bruno Haible  <bruno@clisp.org>
2052
2053         Tests for module 'expf'.
2054         * modules/expf-tests: New file.
2055         * tests/test-expf.c: New file.
2056
2057         New module 'expf'.
2058         * lib/math.in.h (expf): New declaration.
2059         * lib/expf.c: New file.
2060         * m4/expf.m4: New file.
2061         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
2062         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
2063         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
2064         * modules/expf: New file.
2065         * tests/test-math-c++.cc: Check the declaration of expf.
2066         * doc/posix-functions/expf.texi: Mention the new module.
2067
2068         exp: Use a .m4 file.
2069         * m4/exp.m4: New file.
2070         * modules/exp (Files): Add it.
2071         (configure.ac): Just invoke gl_FUNC_EXP.
2072
2073 2011-10-08  Bruno Haible  <bruno@clisp.org>
2074
2075         Tests for module 'sqrtf'.
2076         * modules/sqrtf-tests: New file.
2077         * tests/test-sqrtf.c: New file.
2078
2079         New module 'sqrtf'.
2080         * lib/math.in.h (sqrtf): New declaration.
2081         * lib/sqrtf.c: New file.
2082         * m4/sqrtf.m4: New file.
2083         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
2084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
2085         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
2086         * modules/sqrtf: New file.
2087         * tests/test-math-c++.cc: Check the declaration of sqrtf.
2088         * doc/posix-functions/sqrtf.texi: Mention the new module.
2089
2090 2011-10-08  Bruno Haible  <bruno@clisp.org>
2091
2092         Tests: Avoid link failures w.r.t. libintl.
2093         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
2094         $(LIBINTL).
2095         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
2096         $(LIBINTL).
2097         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
2098         against $(LIBINTL).
2099         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
2100         $(LIBINTL).
2101         * modules/openat-tests (Makefile.am): Link test-fchmodat against
2102         $(LIBINTL).
2103         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
2104
2105 2011-10-08  Bruno Haible  <bruno@clisp.org>
2106
2107         pow tests: Defeat compiler optimizations.
2108         * tests/test-pow.c (main): Assign arguments to x and y before use.
2109
2110 2011-10-08  Bruno Haible  <bruno@clisp.org>
2111
2112         gnulib-tool: Improve last commit.
2113         * gnulib-tool (func_modules_transitive_closure): Simplify code.
2114         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
2115         ignore dependencies that are not among the modules list.
2116
2117 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
2118
2119         gnulib-tool: don't follow dependencies to avoided modules
2120         This fixes a bug that is related to the previous one.
2121         * gnulib-tool (func_modules_transitive_closure)
2122         (func_emit_autoconf_snippets):
2123         Check whether a dependency is acceptable before using it.
2124         (--extract-dependencies): Report an error if --avoid is also used,
2125         since this combination of options is not yet supported.
2126
2127         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
2128         Problem reported by Peter Dyballa in
2129         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
2130         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
2131         when echoing "$condition".
2132
2133 2011-10-07  Bruno Haible  <bruno@clisp.org>
2134
2135         Fix documentation about math functions on MacOS X.
2136         * doc/posix-functions/exp2.texi: Don't say the function is missing on
2137         MacOS X 10.5.
2138         * doc/posix-functions/fdim.texi: Likewise.
2139         * doc/posix-functions/feclearexcept.texi: Likewise.
2140         * doc/posix-functions/fegetenv.texi: Likewise.
2141         * doc/posix-functions/fegetround.texi: Likewise.
2142         * doc/posix-functions/feholdexcept.texi: Likewise.
2143         * doc/posix-functions/feraiseexcept.texi: Likewise.
2144         * doc/posix-functions/fesetenv.texi: Likewise.
2145         * doc/posix-functions/fesetround.texi: Likewise.
2146         * doc/posix-functions/fetestexcept.texi: Likewise.
2147         * doc/posix-functions/feupdateenv.texi: Likewise.
2148         * doc/posix-functions/fmax.texi: Likewise.
2149         * doc/posix-functions/fmin.texi: Likewise.
2150         * doc/posix-functions/log2.texi: Likewise.
2151         * doc/posix-functions/modff.texi: Likewise.
2152         * doc/posix-functions/nan.texi: Likewise.
2153         * doc/posix-functions/nanf.texi: Likewise.
2154         * doc/posix-functions/nextafterf.texi: Likewise.
2155         * doc/posix-functions/remquo.texi: Likewise.
2156
2157 2011-10-07  Bruno Haible  <bruno@clisp.org>
2158
2159         modff: Drop assumption about library that defines modff.
2160         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
2161         AC_CHECK_FUNCS.
2162         * modules/modff (Files): Add m4/mathfunc.m4.
2163
2164 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
2165
2166         raise tests: Avoid a GCC warning.
2167         * tests/test-raise.c (handler): Use _Noreturn.
2168
2169 2011-10-07  Bruno Haible  <bruno@clisp.org>
2170
2171         Tests for module 'ldexpf'.
2172         * modules/ldexpf-tests: New file.
2173         * tests/test-ldexpf.c: New file.
2174
2175         New module 'ldexpf'.
2176         * lib/math.in.h (ldexpf): New declaration.
2177         * lib/ldexpf.c: New file.
2178         * m4/ldexpf.m4: New file.
2179         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
2180         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
2181         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
2182         * modules/ldexpf: New file.
2183         * tests/test-math-c++.cc: Check the declaration of ldexpf.
2184         * doc/posix-functions/ldexpf.texi: Mention the new module.
2185
2186 2011-10-06  Bruno Haible  <bruno@clisp.org>
2187
2188         frexpf: Work around problems on IRIX and mingw.
2189         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
2190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
2191         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
2192         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
2193         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
2194         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
2195         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
2196
2197 2011-10-06  Bruno Haible  <bruno@clisp.org>
2198
2199         fabsf: Drop assumption about library that defines fabsf.
2200         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
2201         AC_CHECK_FUNCS.
2202         * modules/fabsf (Files): Add m4/mathfunc.m4.
2203
2204 2011-10-06  Bruno Haible  <bruno@clisp.org>
2205
2206         frexpf: Drop assumption about library that defines frexpf.
2207         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
2208         'int *', 'float *', 'long double *', 'float', 'long double'.
2209         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
2210         AC_CHECK_FUNCS.
2211         * modules/frexpf (Files): Add m4/mathfunc.m4.
2212
2213         Tests for module 'frexpf'.
2214         * modules/frexpf-tests: New file.
2215         * tests/test-frexpf.c: New file.
2216
2217         New module 'frexpf'.
2218         * lib/math.in.h (frexpf): New declaration.
2219         * lib/frexpf.c: New file.
2220         * m4/frexpf.m4: New file.
2221         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
2222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
2223         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
2224         * modules/frexpf: New file.
2225         * tests/test-math-c++.cc: Check the declaration of frexpf.
2226         * doc/posix-functions/frexpf.texi: Mention the new module.
2227
2228 2011-10-06  Bruno Haible  <bruno@clisp.org>
2229
2230         math: Sort function declarations of math.in.h.
2231         * lib/math.in.h (frexp, logb): Move declarations.
2232
2233 2011-10-05  Bruno Haible  <bruno@clisp.org>
2234
2235         Tests for module 'modff'.
2236         * modules/modff-tests: New file.
2237         * tests/test-modff.c: New file.
2238
2239         New module 'modff'.
2240         * lib/math.in.h (modff): New declaration.
2241         * lib/modff.c: New file.
2242         * m4/modff.m4: New file.
2243         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
2244         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
2245         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
2246         * modules/modff: New file.
2247         * tests/test-math-c++.cc: Check the declaration of modff.
2248         * doc/posix-functions/modff.texi: Mention the new module.
2249
2250         modf tests: Make test sharper.
2251         * tests/test-modf.c (main): Strengthen upper bound.
2252
2253         modf: Use a .m4 file.
2254         * m4/modf.m4: New file.
2255         * modules/modf (Files): Add it.
2256         (configure.ac): Just invoke gl_FUNC_MODF.
2257
2258 2011-10-05  Bruno Haible  <bruno@clisp.org>
2259
2260         Tests for module 'fmodf'.
2261         * modules/fmodf-tests: New file.
2262         * tests/test-fmodf.c: New file.
2263
2264         New module 'fmodf'.
2265         * lib/math.in.h (fmodf): New declaration.
2266         * lib/fmodf.c: New file.
2267         * m4/fmodf.m4: New file.
2268         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
2269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
2270         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
2271         * modules/fmodf: New file.
2272         * tests/test-math-c++.cc: Check the declaration of fmodf.
2273         * doc/posix-functions/fmodf.texi: Mention the new module.
2274
2275         fmod: Use a .m4 file.
2276         * m4/fmod.m4: New file.
2277         * modules/fmod (Files): Add it.
2278         (configure.ac): Just invoke gl_FUNC_FMOD.
2279
2280 2011-10-05  Bruno Haible  <bruno@clisp.org>
2281
2282         Tests for module 'fabsf'.
2283         * modules/fabsf-tests: New file.
2284         * tests/test-fabsf.c: New file.
2285
2286         New module 'fabsf'.
2287         * lib/math.in.h (fabsf): New declaration.
2288         * lib/fabsf.c: New file.
2289         * m4/fabsf.m4: New file.
2290         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
2291         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
2292         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
2293         * modules/fabsf: New file.
2294         * tests/test-math-c++.cc: Check the declaration of fabsf.
2295         * doc/posix-functions/fabsf.texi: Mention the new module.
2296
2297         fabs: Use a .m4 file.
2298         * m4/fabs.m4: New file.
2299         * modules/fabs (Files): Add it.
2300         (configure.ac): Just invoke gl_FUNC_FABS.
2301
2302 2011-10-05  Jim Meyering  <meyering@redhat.com>
2303
2304         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
2305         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
2306         ls -lL regression introduced in coreutils-8.12, it does so at the
2307         cost of an additional stat call in the common case.  Besides, now
2308         that the kernel change that prompted commit 95f7c57f has been reverted
2309         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
2310         we have no use for commit 95f7c57f, "file-has-acl: use
2311         acl_extended_file_nofollow if available".
2312
2313 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
2314
2315         file-has-acl: revert unintended change in behavior of ls -L
2316         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
2317         derived from...
2318         (file_has_acl): ...code here.  Call it.
2319         This problem was introduced with 2011-07-22 commit 95f7c57f,
2320         "file-has-acl: use acl_extended_file_nofollow if available".
2321         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
2322
2323 2011-10-03  Bruno Haible  <bruno@clisp.org>
2324
2325         poll: Avoid link errors on MSVC.
2326         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
2327         * modules/poll (Depends-on): Add sockets.
2328         (Link): New section.
2329         * NEWS: Mention the change.
2330         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
2331         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
2332         $(LIB_POLL) instead of $(LIBSOCKET).
2333
2334 2011-10-03  Bruno Haible  <bruno@clisp.org>
2335
2336         sys_select tests: Fix link error on MSVC 9.
2337         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
2338         with $(LIB_SELECT) instead of $(LIBSOCKET).
2339
2340 2011-10-03  Bruno Haible  <bruno@clisp.org>
2341
2342         sys_select: Fix compilation error on mingw.
2343         * lib/sys_select.in.h: On native Windows, include <io.h>.
2344
2345 2011-10-03  Bruno Haible  <bruno@clisp.org>
2346
2347         wmemset: Support for MSVC.
2348         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
2349         whether wmemset() exists.
2350
2351 2011-10-03  Bruno Haible  <bruno@clisp.org>
2352
2353         wmemmove: Support for MSVC.
2354         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
2355         whether wmemmove() exists.
2356
2357 2011-10-03  Bruno Haible  <bruno@clisp.org>
2358
2359         wmemcpy: Support for MSVC.
2360         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
2361         whether wmemcpy() exists.
2362
2363 2011-10-03  Bruno Haible  <bruno@clisp.org>
2364
2365         wmemcmp: Support for MSVC.
2366         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
2367         whether wmemcmp() exists.
2368
2369 2011-10-03  Bruno Haible  <bruno@clisp.org>
2370
2371         wmemchr: Support for MSVC.
2372         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
2373         whether wmemchr() exists.
2374
2375 2011-10-03  Bruno Haible  <bruno@clisp.org>
2376
2377         glthread/*, strsignal: Support for MSVC.
2378         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
2379         including <winsock.h> on MSVC 9.
2380         * lib/glthread/lock.h: Likewise.
2381         * lib/glthread/thread.h: Likewise.
2382         * lib/glthread/tls.h: Likewise.
2383         * lib/glthread/yield.h: Likewise.
2384         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
2385         if HAVE_UNISTD_H is false.
2386         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
2387
2388 2011-10-03  Bruno Haible  <bruno@clisp.org>
2389
2390         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
2391         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
2392         Set to 100000.
2393
2394 2011-10-03  Bruno Haible  <bruno@clisp.org>
2395
2396         acl: Fix specification.
2397         * lib/file-has-acl.c (file_has_acl): Fix specification.
2398
2399 2011-10-03  Bruno Haible  <bruno@clisp.org>
2400
2401         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
2402         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
2403         (compute_curr_prefix, shared_library_fullname,
2404         find_shared_library_fullname, get_shared_library_fullname, relocate):
2405         Use it together with PIC && INSTALLDIR.
2406         Reported by <jojelino@gmail.com>
2407         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2408
2409 2011-10-01  Jim Meyering  <meyering@redhat.com>
2410
2411         maint.mk: adjust a release-related rule not to require use of gzip
2412         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2413         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2414         projects that build only .tar.xz files.  Also fix an erroneous test.
2415
2416         test-linkat: don't leave behind a temporary file
2417         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2418         Otherwise, coreutils' "make distcheck" would fail with this:
2419           Only in /c/cu/tests/torture/coreutils/test/\
2420             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2421           make[2]: *** [my-distcheck] Error 1
2422
2423         float, math: add omitted file
2424         * lib/itold.c: Add file, required for yesterday's float change.
2425
2426 2011-10-01  Bruno Haible  <bruno@clisp.org>
2427
2428         isinf: Fix for OpenBSD/x86.
2429         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2430         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2431         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2432
2433 2011-10-01  Bruno Haible  <bruno@clisp.org>
2434
2435         isfinite: Fix syntax error in configure test.
2436         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2437
2438         isfinite: Fix typo.
2439         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2440         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2441
2442 2011-10-01  Bruno Haible  <bruno@clisp.org>
2443
2444         nonblocking tests: Fix test failure on Linux/IA-64.
2445         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2446         Set to 270000.
2447
2448 2011-10-01  Bruno Haible  <bruno@clisp.org>
2449
2450         mkfifoat tests: Fix a test failure on mingw.
2451         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2452         with error ENOSYS.
2453
2454 2011-09-30  Bruno Haible  <bruno@clisp.org>
2455
2456         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2457         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2458         'long double'. Set REPLACE_ITOLD.
2459         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2460         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2461         * lib/itold.c: New file.
2462         * modules/float (Files): Add lib/itold.c.
2463         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2464         (Makefile.am): Substitute REPLACE_ITOLD.
2465         * modules/math (Depends-on): Add float.
2466         (Makefile.am): Substitute REPLACE_ITOLD.
2467         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2468         * doc/posix-headers/math.texi: Likewise.
2469         * doc/posix-functions/logl.texi: Likewise.
2470
2471 2011-09-30  Bruno Haible  <bruno@clisp.org>
2472
2473         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2474         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2475         Set to 140000.
2476
2477 2011-09-30  Bruno Haible  <bruno@clisp.org>
2478
2479         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2480         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2481         invocation, say "right after AC_PROG_CC_STDC", not "right after
2482         AC_PROG_CC".
2483         Reported by Gary V. Vaughan <gary@gnu.org>.
2484
2485 2011-09-30  Bruno Haible  <bruno@clisp.org>
2486
2487         Centralize C99 requirement.
2488         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2489         * modules/stdarg (configure.ac-early): Invoke it instead of
2490         AC_PROG_CC_STDC.
2491         Reported by Gary V. Vaughan and Paul Eggert.
2492
2493 2011-09-29  Bruno Haible  <bruno@clisp.org>
2494
2495         float: Fix LDBL_MAX value on Linux/PowerPC.
2496         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2497         on Linux/PowerPC.
2498         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2499         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2500         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2501         platform.
2502         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2503
2504 2011-09-29  Bruno Haible  <bruno@clisp.org>
2505
2506         doc: Improve doc about gl_EARLY.
2507         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2508         AC_PROG_CC_STDC invocation.
2509         Reported by Gary V. Vaughan <gary@gnu.org>.
2510
2511 2011-09-28  Bruno Haible  <bruno@clisp.org>
2512
2513         fgetc, fputc, fread, fwrite tests: Fix link error.
2514         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2515         on non-MSVC platforms.
2516         * tests/test-fputc.c (main): Likewise.
2517         * tests/test-fread.c (main): Likewise.
2518         * tests/test-fwrite.c (main): Likewise.
2519         Reported by Jim Meyering.
2520
2521 2011-09-27  Bruno Haible  <bruno@clisp.org>
2522
2523         fputc, fwrite tests: Avoid test failure on MSVC.
2524         * tests/test-fgetc.c: Include msvc-inval.h.
2525         (main): Invoke gl_msvc_inval_ensure_handler.
2526         * tests/test-fputc.c: Include msvc-inval.h.
2527         (main): Invoke gl_msvc_inval_ensure_handler.
2528         * tests/test-fread.c: Include msvc-inval.h.
2529         (main): Invoke gl_msvc_inval_ensure_handler.
2530         * tests/test-fwrite.c: Include msvc-inval.h.
2531         (main): Invoke gl_msvc_inval_ensure_handler.
2532         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2533         * modules/fputc-tests (Depends-on): Likewise.
2534         * modules/fread-tests (Depends-on): Likewise.
2535         * modules/fwrite-tests (Depends-on): Likewise.
2536
2537 2011-09-27  Bruno Haible  <bruno@clisp.org>
2538
2539         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2540         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2541         (raise): Remove older, duplicated declaration.
2542         (_gl_raise_SIGPIPE): New declaration.
2543         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2544         (rpl_raise): Remove function.
2545         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2546         a gnulib-defined SIGPIPE here.
2547         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2548         'sigprocmask' has detected missing signal-blocking and the module
2549         'sigpipe' is enabled.
2550         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2551
2552 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2553
2554         base64-tests: avoid memory leak
2555         * tests/test-base64.c (main): Plug memory leak.
2556
2557         base32: new module
2558         * modules/base32: New module.
2559         * lib/base32.c: New file.
2560         * lib/base32.h: Likewise.
2561         * m4/base32.m4: Likewise.
2562         * modules/base32-tests: New test.
2563         * tests/test-base32.c: Likewise.
2564         * MODULES.html.sh (Misc): Mention it.
2565
2566 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2567
2568         gnulib: use more-standard license notice wording
2569         * gnulib-tool (func_emit_copyright_notice): When emitting a
2570         license notice into a file, use the standard wording as suggested
2571         by the current information for GNU maintainers, except say "file"
2572         rather than "program".  The new wording gives a license version
2573         number, which addresses an issue raised by Glenn Morris in
2574         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2575         * m4/onceonly.m4: Use that same wording here, too.
2576
2577         dup2: minor simplification
2578         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2579         as lib/dup2.c no longer uses 'inline'.
2580
2581 2011-09-25  Bruno Haible  <bruno@clisp.org>
2582
2583         strings: Fix compilation error on MSVC.
2584         * lib/strings.in.h: Include <stddef.h> for size_t.
2585
2586 2011-09-25  Bruno Haible  <bruno@clisp.org>
2587
2588         fflush et al.: Document limitation on MSVC.
2589         * doc/posix-functions/fflush.texi: Document possible crash in handling
2590         mode other than DEFAULT_HANDLING.
2591         * doc/posix-functions/fgetc.texi: Likewise.
2592         * doc/posix-functions/fputc.texi: Likewise.
2593         * doc/posix-functions/fread.texi: Likewise.
2594         * doc/posix-functions/fwrite.texi: Likewise.
2595
2596 2011-09-25  Bruno Haible  <bruno@clisp.org>
2597
2598         msvc-inval: Allow three invalid parameter handling modes.
2599         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2600         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2601         macros.
2602         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2603         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2604         SANE_LIBRARY_HANDLING as a no-op.
2605         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2606         <stdlib.h>.
2607         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2608
2609 2011-09-25  Bruno Haible  <bruno@clisp.org>
2610
2611         msvc-inval: Make handler multithread-safe.
2612         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2613         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2614         declarations.
2615         (gl_msvc_inval_current): New declaration.
2616         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2617         Operate on the structure returned by gl_msvc_inval_current().
2618         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2619         Remove varaiables.
2620         (tls_index, tls_initialized): New variables.
2621         (not_per_thread): New variable.
2622         (gl_msvc_inval_current): New function.
2623         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2624         returned by gl_msvc_inval_current().
2625
2626 2011-09-25  Bruno Haible  <bruno@clisp.org>
2627
2628         msvc-inval: Install handler globally.
2629         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2630         !_MSC_VER.
2631         (gl_msvc_invalid_parameter_handler): Remove declaration.
2632         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2633         declarations.
2634         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2635         Install the handler globally, don't uninstall it.
2636         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2637         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2638         currently valid, call RaiseException instead.
2639         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2640         for !_MSC_VER.
2641
2642 2011-09-25  Bruno Haible  <bruno@clisp.org>
2643
2644         strerror_r-posix: Fix for MSVC 9.
2645         * lib/strerror_r.c (local_snprintf): New function.
2646         (snprintf): Define to local_snprintf, not to _snprintf.
2647
2648 2011-09-25  Bruno Haible  <bruno@clisp.org>
2649
2650         ftruncate: Support for MSVC 9.
2651         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2652         (chsize_nothrow): New function.
2653         (chsize): Redefine as a macro.
2654         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2655         * modules/ftruncate (Depends-on): Add msvc-inval.
2656
2657 2011-09-25  Bruno Haible  <bruno@clisp.org>
2658
2659         New module 'fstat'.
2660         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2661         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2662         * lib/fchdir.c (rpl_fstat): Remove function.
2663         * m4/fstat.m4: New file.
2664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2665         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2666         declared.
2667         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2668         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2669         * modules/fstat: New file.
2670         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2671         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2672         is set.
2673         * doc/posix-functions/fstat.texi: Mention the new module and the
2674         problem on MSVC.
2675         * NEWS: Mention the change.
2676         * modules/acl (Depends-on): Add fstat.
2677         * modules/chdir-safer (Depends-on): Likewise.
2678         * modules/chown (Depends-on): Likewise.
2679         * modules/copy-file (Depends-on): Likewise.
2680         * modules/fchdir (Depends-on): Likewise.
2681         * modules/fdopendir (Depends-on): Likewise.
2682         * modules/fopen (Depends-on): Likewise.
2683         * modules/fts (Depends-on): Likewise.
2684         * modules/getcwd (Depends-on): Likewise.
2685         * modules/isapipe (Depends-on): Likewise.
2686         * modules/linkat (Depends-on): Likewise.
2687         * modules/lseek (Depends-on): Likewise.
2688         * modules/mkdir-p (Depends-on): Likewise.
2689         * modules/open (Depends-on): Likewise.
2690         * modules/openat (Depends-on): Likewise.
2691         * modules/read-file (Depends-on): Likewise.
2692         * modules/renameat (Depends-on): Likewise.
2693         * modules/utimens (Depends-on): Likewise.
2694
2695 2011-09-25  Bruno Haible  <bruno@clisp.org>
2696
2697         linkat: Fix compilation on MSVC 9.
2698         * lib/linkat.c: Don't include <stdint.h>.
2699
2700 2011-09-25  Bruno Haible  <bruno@clisp.org>
2701
2702         fclose: Support for MSVC 9.
2703         * lib/fclose.c: Include msvc-inval.h.
2704         (fclose_nothrow): New function.
2705         (rpl_fclose): Use it.
2706         * modules/fclose (Depends-on): Add msvc-inval.
2707         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2708
2709 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2710
2711         dup2: minor simplifications
2712         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2713         that it's a performance win.
2714         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2715         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2716
2717 2011-09-24  Jim Meyering  <meyering@redhat.com>
2718
2719         test-futimens: avoid a warning from gcc -Wshadow
2720         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2721         to avoid a shadowing warning.
2722
2723 2011-09-24  Bruno Haible  <bruno@clisp.org>
2724
2725         fdopen: Support for MSVC 9.
2726         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2727         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2728         * lib/fdopen.c: Include msvc-inval.h.
2729         (fdopen_nothrow): New function.
2730         (rpl_fdopen): Use it.
2731         * modules/fdopen (Depends-on): Add msvc-inval.
2732         * modules/fclose-tests (Depends-on): Add fdopen.
2733         * modules/fflush-tests (Depends-on): Likewise.
2734         * modules/fgetc-tests (Depends-on): Likewise.
2735         * modules/fputc-tests (Depends-on): Likewise.
2736         * modules/fread-tests (Depends-on): Likewise.
2737         * modules/freopen-tests (Depends-on): Likewise.
2738         * modules/fseeko-tests (Depends-on): Likewise.
2739         * modules/ftello-tests (Depends-on): Likewise.
2740         * modules/fwrite-tests  (Depends-on): Likewise.
2741         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2742
2743 2011-09-24  Bruno Haible  <bruno@clisp.org>
2744
2745         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2746         * modules/fgetc-tests (Depends-on): Add unistd.
2747         * modules/fputc-tests (Depends-on): Likewise.
2748         * modules/fread-tests (Depends-on): Likewise.
2749         * modules/fwrite-tests (Depends-on): Likewise.
2750
2751 2011-09-24  Bruno Haible  <bruno@clisp.org>
2752
2753         dup: Simplify autoconf test.
2754         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2755         on gl_MSVC_INVAL's result.
2756
2757 2011-09-24  Bruno Haible  <bruno@clisp.org>
2758
2759         Tests for function fwrite().
2760         * modules/fwrite-tests: New file.
2761         * tests/test-fwrite.c: New file.
2762         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2763
2764         Tests for function fread().
2765         * modules/fread-tests: New file.
2766         * tests/test-fread.c: New file.
2767         * modules/stdio-tests (Depends-on): Add fread-tests.
2768
2769         Activate fputc tests.
2770         * modules/stdio-tests (Depends-on): Add fputc-tests.
2771
2772         Enhance fgetc, fputc tests.
2773         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2774         * tests/test-fputc.c (main): Likewise.
2775
2776 2011-09-24  Bruno Haible  <bruno@clisp.org>
2777
2778         write: Support for MSVC 9.
2779         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2780         is not 1.
2781         * lib/write.c (write_nothrow): New function.
2782         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2783         not 1. Use write_nothrow.
2784         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2785         invalid parameter handler.
2786         (gl_PREREQ_WRITE): New macro.
2787         * modules/write (Depends-on): Add msvc-inval.
2788         (configure.ac): Invoke gl_PREREQ_WRITE.
2789         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2790
2791 2011-09-24  Bruno Haible  <bruno@clisp.org>
2792
2793         read: Fix last commit.
2794         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2795
2796 2011-09-24  Bruno Haible  <bruno@clisp.org>
2797
2798         dup2: Fix last commit.
2799         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2800         (rpl_dup2): Disable fcntl workaround on native Windows.
2801
2802         sigprocmask: Make code safer.
2803         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2804         section that changes macro definitions for this compilation unit.
2805
2806 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2807
2808         dup2: clarify by coalescing Windows-specific material
2809         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2810         "msvc-nothrow.h"' to the Windows-specific section, so that the
2811         Emacs source need not contain these include files.
2812         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2813         Windows-specific fixes into this function rather than just the
2814         nothrow fix, as this shortens and clarifies the code.  Always
2815         define as a function, as that's a bit cleaner than having it be
2816         sometimes a function and sometimes a macro.
2817         (rpl_dup2): Move the Windows-specific stuff out of here and into
2818         ms_windows_dup2.  Don't protect the Haiku-related fix with
2819         "#if !defined __linux__", as the same code also works around
2820         a Linux kernel bug, and it doesn't add any system calls on any
2821         platform.  Add comment about FreeBSD 6.1.
2822
2823         sigprocmask: move #include directive
2824         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2825         Windows-specific section, so that the Emacs source need not
2826         contain msvc-inval.h.
2827
2828 2011-09-23  Bruno Haible  <bruno@clisp.org>
2829
2830         read: Support for MSVC 9.
2831         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2832         is not 1.
2833         * lib/read.c (read_nothrow): New function.
2834         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2835         read_nothrow.
2836         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2837         invalid parameter handler.
2838         (gl_PREREQ_READ): New macro.
2839         * modules/read (Depends-on): Add msvc-inval.
2840         (configure.ac): Invoke gl_PREREQ_READ.
2841         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2842
2843 2011-09-23  Bruno Haible  <bruno@clisp.org>
2844
2845         close: Support for MSVC 9.
2846         * lib/close.c: Include <errno.h>, msvc-inval.h.
2847         (close_nothrow): New function.
2848         (rpl_close): Use it.
2849         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2850         invalid parameter handler.
2851         * modules/close (Depends-on): Add msvc-inval.
2852         * modules/dup2-tests (Depends-on): Add close.
2853         * modules/dup3-tests (Depends-on): Likewise.
2854         * modules/fcntl-tests (Depends-on): Likewise.
2855         * modules/spawn-pipe-tests (Depends-on): Likewise.
2856         * modules/unistd-safer-tests (Depends-on): Likewise.
2857         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2858
2859 2011-09-23  Bruno Haible  <bruno@clisp.org>
2860
2861         New module 'dup'.
2862         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2863         Allow replacement.
2864         * lib/dup.c: New file.
2865         * lib/fchdir.c (rpl_dup): Remove function.
2866         * m4/dup.m4: New file.
2867         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2868         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2869         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2870         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2871         * modules/dup: New file.
2872         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2873         'dup' module is in use.
2874         * modules/fdopendir (Depends-on): Add dup.
2875         * modules/fdutimensat-tests (Depends-on): Likewise.
2876         * modules/fts (Depends-on): Likewise.
2877         * modules/futimens-tests (Depends-on): Likewise.
2878         * modules/posix_spawnp-tests (Depends-on): Likewise.
2879         * modules/unistd-safer-tests (Depends-on): Likewise.
2880         * modules/utimens-tests (Depends-on): Likewise.
2881         * doc/posix-functions/dup.texi: Mention the new module and the problem
2882         on MSVC.
2883
2884 2011-09-23  Bruno Haible  <bruno@clisp.org>
2885
2886         getdtablesize: Support for MSVC 9.
2887         * lib/getdtablesize.c: Include msvc-inval.h.
2888         (_setmaxstdio_nothrow): New function.
2889         (_setmaxstdio): Redefine it.
2890         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2891         * modules/getdtablesize (Depends-on): Add msvc-inval.
2892         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2893
2894 2011-09-23  Bruno Haible  <bruno@clisp.org>
2895
2896         signal-h: Rename from signal.
2897         * modules/signal-h: Renamed from modules/signal.
2898         * modules/pthread_sigmask (Depends-on): Update.
2899         * modules/raise (Depends-on): Likewise.
2900         * modules/sigaction (Depends-on): Likewise.
2901         * modules/sigpipe (Depends-on): Likewise.
2902         * modules/sigprocmask (Depends-on): Likewise.
2903         * modules/sys_select (Depends-on): Likewise.
2904         * modules/signal-h-tests: Renamed from modules/signal-tests.
2905         (Files, Depends-on, Makefile.am): Update.
2906         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2907         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2908         (Files, Makefile.am): Update.
2909         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2910         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2911         * modules/signal: New placeholder file.
2912         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2913         * doc/posix-headers/signal.texi: Update.
2914         * NEWS: Mention the change.
2915
2916 2011-09-23  Bruno Haible  <bruno@clisp.org>
2917
2918         sigprocmask: Avoid crashes through signal() on MSVC 9.
2919         * lib/sigprocmask.c: Include msvc-inval.h.
2920         (signal_nothrow): New function.
2921         (signal): Redefine it.
2922         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2923         * modules/sigprocmask (Depends-on): Add msvc-inval.
2924         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2925
2926 2011-09-23  Bruno Haible  <bruno@clisp.org>
2927
2928         Tests for module 'raise'.
2929         * modules/raise-tests: New file.
2930         * tests/test-raise.c: New file.
2931
2932         raise: Support for MSVC.
2933         * lib/signal.in.h (raise): New declaration.
2934         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2935         for native Windows platforms.
2936         * m4/raise.m4: New file.
2937         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2938         HAVE_RAISE, REPLACE_RAISE.
2939         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2940         REPLACE_RAISE.
2941         * modules/raise (Status, Notice): Remove fields.
2942         (Files): Add m4/raise.m4.
2943         (Depends-on): Add signal, msvc-inval.
2944         (configure.ac): Use the common idioms.
2945         (Maintainer): Add me.
2946         * tests/test-signal-c++.cc: Check the signature of raise.
2947         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2948
2949 2011-09-23  Bruno Haible  <bruno@clisp.org>
2950
2951         pipe2: Fix compilation on pre-C99 compilers.
2952         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2953
2954 2011-09-23  Bruno Haible  <bruno@clisp.org>
2955
2956         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2957         * lib/msvc-nothrow.h: New file.
2958         * lib/msvc-nothrow.c: New file.
2959         * m4/msvc-nothrow.m4: New file.
2960         * modules/msvc-nothrow: New file.
2961         * lib/dup2.c: Include msvc-nothrow.h.
2962         (rpl_dup2): No need to protect _get_osfhandle call here.
2963         * lib/accept4.c: Include msvc-nothrow.h.
2964         * lib/error.c: Likewise.
2965         * lib/fcntl.c: Likewise.
2966         * lib/lseek.c: Likewise.
2967         * lib/nonblocking.c: Likewise.
2968         * lib/poll.c: Likewise.
2969         * lib/read.c: Likewise.
2970         * lib/select.c: Likewise.
2971         * lib/sockets.h: Likewise.
2972         * lib/sockets.c: Likewise.
2973         * lib/stdio-read.c: Likewise.
2974         * lib/stdio-write.c: Likewise.
2975         * lib/write.c: Likewise.
2976         * lib/w32sock.h: Likewise.
2977         * lib/w32spawn.h: Likewise.
2978         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2979         * lib/fsync.c: Likewise.
2980         * lib/isapipe.c: Likewise.
2981         * modules/dup2 (Depends-on): Add msvc-nothrow.
2982         * modules/accept4 (Depends-on): Likewise.
2983         * modules/error (Depends-on): Likewise.
2984         * modules/fcntl (Depends-on): Likewise.
2985         * modules/lseek (Depends-on): Likewise.
2986         * modules/nonblocking (Depends-on): Likewise.
2987         * modules/poll (Depends-on): Likewise.
2988         * modules/read (Depends-on): Likewise.
2989         * modules/select (Depends-on): Likewise.
2990         * modules/sockets (Depends-on): Likewise.
2991         * modules/sigpipe (Depends-on): Likewise.
2992         * modules/write (Depends-on): Likewise.
2993         * modules/accept (Depends-on): Likewise.
2994         * modules/bind (Depends-on): Likewise.
2995         * modules/connect (Depends-on): Likewise.
2996         * modules/gethostname (Depends-on): Likewise.
2997         * modules/getpeername (Depends-on): Likewise.
2998         * modules/getsockname (Depends-on): Likewise.
2999         * modules/getsockopt (Depends-on): Likewise.
3000         * modules/ioctl (Depends-on): Likewise.
3001         * modules/listen (Depends-on): Likewise.
3002         * modules/recv (Depends-on): Likewise.
3003         * modules/recvfrom (Depends-on): Likewise.
3004         * modules/send (Depends-on): Likewise.
3005         * modules/sendto (Depends-on): Likewise.
3006         * modules/setsockopt (Depends-on): Likewise.
3007         * modules/shutdown (Depends-on): Likewise.
3008         * modules/socket (Depends-on): Likewise.
3009         * modules/execute (Depends-on): Likewise.
3010         * modules/spawn-pipe (Depends-on): Likewise.
3011         * modules/flock (Depends-on): Likewise.
3012         * modules/fsync (Depends-on): Likewise.
3013         * modules/isapipe (Depends-on): Likewise.
3014         * tests/test-cloexec.c: Include msvc-nothrow.h.
3015         * tests/test-dup-safer.c: Likewise.
3016         * tests/test-dup2.c: Likewise.
3017         * tests/test-dup3.c: Likewise.
3018         * tests/test-fcntl.c: Likewise.
3019         * tests/test-pipe.c: Likewise.
3020         * tests/test-pipe2.c: Likewise.
3021         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
3022         * modules/unistd-safer-tests (Depends-on): Likewise.
3023         * modules/dup2-tests (Depends-on): Likewise.
3024         * modules/dup3-tests (Depends-on): Likewise.
3025         * modules/fcntl-tests (Depends-on): Likewise.
3026         * modules/pipe-posix-tests (Depends-on): Likewise.
3027         * modules/pipe2-tests (Depends-on): Likewise.
3028
3029 2011-09-23  Bruno Haible  <bruno@clisp.org>
3030
3031         dup2: Make code more maintainable.
3032         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
3033         (rpl_dup2): Use it.
3034         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
3035         * modules/dup2 (configure.ac): Invoke it.
3036         Reported by Paul Eggert.
3037
3038 2011-09-23  Bruno Haible  <bruno@clisp.org>
3039
3040         msvc-inval: Fix compilation error.
3041         * lib/msvc-inval.h: Include <excpt.h>.
3042
3043 2011-09-23  Bruno Haible  <bruno@clisp.org>
3044
3045         mkdir: Tweak for MSVC 9.
3046         * lib/sys_stat.in.h: Update comments.
3047         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
3048
3049         Tests for module 'chdir'.
3050         * modules/chdir-tests: New file.
3051         * tests/test-chdir.c: New file.
3052
3053         New module 'chdir'.
3054         * modules/chdir: New file.
3055         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
3056         (chdir): New declaration.
3057         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
3058         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
3059         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
3060         * tests/test-unistd-c++.cc: Check signature of chdir.
3061         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
3062         * modules/chdir-long (Depends-on): Add chdir.
3063         * modules/fchdir (Depends-on): Likewise.
3064         * modules/rename (Depends-on): Likewise.
3065         * modules/savewd (Depends-on): Likewise.
3066
3067         rmdir: Support for mingw, MSVC 9.
3068         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
3069         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
3070
3071         getcwd: Tweak for MSVC 9.
3072         * lib/unistd.in.h: Update comments.
3073         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
3074
3075 2011-09-22  Bruno Haible  <bruno@clisp.org>
3076
3077         strerror_r-posix: Avoid a link error on MSVC.
3078         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
3079         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
3080
3081 2011-09-22  Bruno Haible  <bruno@clisp.org>
3082
3083         select: Avoid link errors on MSVC.
3084         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
3085         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
3086         * modules/pselect (Link): Likewise.
3087         * NEWS: Mention the change.
3088         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
3089         test-select-stdin against $(LIB_SELECT).
3090         * modules/pselect-tests (Makefile.am): Link test-pselect against
3091         $(LIB_SELECT).
3092
3093 2011-09-22  Bruno Haible  <bruno@clisp.org>
3094
3095         select: Avoid compilation error on MSVC.
3096         * lib/select.c: Don't include <stdbool.h>.
3097
3098 2011-09-21  Bruno Haible  <bruno@clisp.org>
3099
3100         Consolidate all uses of PATH_MAX in *.m4 files.
3101         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
3102         macros.
3103         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
3104         and gl_PATHMAX_SNIPPET.
3105         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3106         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3107         * modules/chdir-long (Files): Add m4/pathmax.m4.
3108         * modules/getcwd (Files): Likewise.
3109
3110 2011-09-21  Bruno Haible  <bruno@clisp.org>
3111
3112         ftruncate: Un-deprecate, concentrate on Win32 support.
3113         * modules/ftruncate (Status, Notice): Remove sections.
3114         (Depends-on): Add largefile.
3115         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
3116         non-mingw platforms.
3117         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
3118         include <io.h>.
3119         * modules/perror-tests (Depends-on): Add ftruncate.
3120         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
3121         'ftruncate' module.
3122
3123 2011-09-21  Bruno Haible  <bruno@clisp.org>
3124
3125         Add dependencies to new dirent related modules.
3126         * modules/opendir (Depends-on): Add closedir.
3127         * modules/getcwd (Depends-on): Add opendir, closedir.
3128         * modules/dirent-safer-tests (Depends-on): Likewise.
3129         * modules/fdopendir-tests (Depends-on): Likewise.
3130         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
3131         * modules/renameat-tests (Depends-on): Likewise.
3132
3133 2011-09-21  Bruno Haible  <bruno@clisp.org>
3134
3135         opendir: Avoid compilation error on mingw.
3136         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
3137         * modules/opendir (Depends-on): Add unistd.
3138
3139 2011-09-21  Bruno Haible  <bruno@clisp.org>
3140
3141         ftruncate tests: Avoid a test failure on mingw.
3142         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
3143
3144 2011-09-21  Bruno Haible  <bruno@clisp.org>
3145
3146         select tests: Avoid test failures on OSF/1 5.1 and mingw.
3147         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
3148         native Windows.
3149
3150 2011-09-21  Bruno Haible  <bruno@clisp.org>
3151
3152         New module 'fdopen'.
3153         * lib/stdio.in.h (fdopen): New declaration.
3154         * lib/fdopen.c: New file.
3155         * m4/fdopen.m4: New file.
3156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
3157         REPLACE_FDOPEN.
3158         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
3159         REPLACE_FDOPEN.
3160         * modules/fdopen: New file.
3161         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
3162         * tests/test-stdio-c++.cc: Check signature of fdopen.
3163         * doc/posix-functions/fdopen.texi: Mention the new module.
3164
3165 2011-09-21  Bruno Haible  <bruno@clisp.org>
3166
3167         unlockpt tests: Avoid test failure on NetBSD 5.1.
3168         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
3169         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
3170
3171 2011-09-21  Bruno Haible  <bruno@clisp.org>
3172
3173         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
3174         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
3175         * tests/test-getlogin_r.c (main): Likewise.
3176
3177 2011-09-20  Bruno Haible  <bruno@clisp.org>
3178
3179         time tests: Don't require pid_t.
3180         * doc/posix-headers/time.texi: Revert last change.
3181         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
3182         * tests/test-time.c: Comment out the check for pid_t.
3183
3184 2011-09-20  Bruno Haible  <bruno@clisp.org>
3185
3186         fsync tests: Avoid a test failure on mingw.
3187         * tests/test-fsync.c (main): Allow a failure with EIO.
3188
3189 2011-09-20  Bruno Haible  <bruno@clisp.org>
3190
3191         euidaccess: Update comments.
3192         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
3193
3194 2011-09-20  Bruno Haible  <bruno@clisp.org>
3195
3196         Ensure EBADF returns for socket functions on mingw.
3197         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
3198         descriptor is invalid.
3199         * lib/bind.c (rpl_bind): Likewise.
3200         * lib/connect.c (rpl_connect): Likewise.
3201         * lib/getpeername.c (rpl_getpeername): Likewise.
3202         * lib/getsockname.c (rpl_getsockname): Likewise.
3203         * lib/getsockopt.c (rpl_getsockopt): Likewise.
3204         * lib/listen.c (rpl_listen): Likewise.
3205         * lib/recv.c (rpl_recv): Likewise.
3206         * lib/recvfrom.c (rpl_recvfrom): Likewise.
3207         * lib/send.c (rpl_send): Likewise.
3208         * lib/sendto.c (rpl_sendto): Likewise.
3209         * lib/setsockopt.c (rpl_setsockopt): Likewise.
3210         * lib/shutdown.c (rpl_shutdown): Likewise.
3211
3212 2011-09-20  Bruno Haible  <bruno@clisp.org>
3213
3214         select tests: EBADF tests.
3215         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
3216         test_bad_fd): New functions.
3217         (test_function): Invoke also test_bad_fd.
3218
3219 2011-09-20  Bruno Haible  <bruno@clisp.org>
3220
3221         Tests for module 'posix_spawn_file_actions_addopen.
3222         * modules/posix_spawn_file_actions_addopen-tests: New file.
3223         * tests/test-posix_spawn_file_actions_addopen.c: New file.
3224
3225         Tests for module 'posix_spawn_file_actions_adddup2'.
3226         * modules/posix_spawn_file_actions_adddup2-tests: New file.
3227         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
3228
3229         Tests for module 'posix_spawn_file_actions_addclose'.
3230         * modules/posix_spawn_file_actions_addclose-tests: New file.
3231         * tests/test-posix_spawn_file_actions_addclose.c: New file.
3232
3233 2011-09-20  Bruno Haible  <bruno@clisp.org>
3234
3235         Tests for module 'unlockpt'.
3236         * modules/unlockpt-tests: New file.
3237         * tests/test-unlockpt.c: New file.
3238         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
3239
3240         Tests for module 'grantpt'.
3241         * modules/grantpt-tests: New file.
3242         * tests/test-grantpt.c: New file.
3243         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
3244
3245 2011-09-20  Bruno Haible  <bruno@clisp.org>
3246
3247         freopen tests: EBADF tests.
3248         * tests/test-freopen.c: Include errno.h, unistd.h.
3249         (main): Add tests for EBADF, commented out for the moment.
3250
3251         fclose tests: EBADF tests.
3252         * tests/test-fclose.c (main): Add tests for EBADF.
3253
3254         fflush tests: EBADF tests.
3255         * tests/test-fflush.c: Include errno.h, macros.h.
3256         (main): Add tests for EBADF.
3257
3258         ftello tests: EBADF tests.
3259         * tests/test-ftello4.sh: New file.
3260         * tests/test-ftello4.c: New file.
3261         * modules/ftello-tests (Files): Add them.
3262         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
3263
3264         fseeko tests: EBADF tests.
3265         * tests/test-fseeko4.sh: New file.
3266         * tests/test-fseeko4.c: New file.
3267         * modules/fseeko-tests (Files): Add them.
3268         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
3269
3270         Tests for function fputc().
3271         * modules/fputc-tests: New file.
3272         * tests/test-fputc.c: New file.
3273         * modules/stdio-tests (Depends-on): Add fputc-tests.
3274
3275         Tests for function fgetc().
3276         * modules/fgetc-tests: New file.
3277         * tests/test-fgetc.c: New file.
3278         * modules/stdio-tests (Depends-on): Add fgetc-tests.
3279
3280         Tests for function fdopen().
3281         * modules/fdopen-tests: New file.
3282         * tests/test-fdopen.c: New file.
3283         * modules/stdio-tests (Depends-on): Add fdopen-tests.
3284
3285         Tests for module 'vdprintf'.
3286         * modules/vdprintf-tests: New file.
3287         * tests/test-vdprintf.c: New file.
3288
3289         Tests for module 'dprintf'.
3290         * modules/dprintf-tests: New file.
3291         * tests/test-dprintf.c: New file.
3292
3293 2011-09-20  Bruno Haible  <bruno@clisp.org>
3294
3295         Tests for module 'ioctl'.
3296         * modules/ioctl-tests: New file.
3297         * tests/test-ioctl.c: New file.
3298
3299 2011-09-20  Bruno Haible  <bruno@clisp.org>
3300
3301         fcntl tests: EBADF tests.
3302         * tests/test-fcntl.c (main): Add more tests for EBADF.
3303
3304 2011-09-20  Bruno Haible  <bruno@clisp.org>
3305
3306         utimensat tests: EBADF tests.
3307         * tests/test-utimensat.c (main): Add tests for EBADF.
3308
3309         renameat tests: EBADF tests.
3310         * tests/test-renameat.c (main): Add tests for EBADF.
3311
3312         mkfifoat tests: EBADF tests.
3313         * tests/test-mkfifoat.c (main): Add tests for EBADF.
3314
3315         readlinkat tests: EBADF tests.
3316         * tests/test-readlinkat.c (main): Add tests for EBADF.
3317
3318         symlinkat tests: EBADF tests.
3319         * tests/test-symlinkat.c (main): Add tests for EBADF.
3320
3321         linkat tests: EBADF tests.
3322         * tests/test-linkat.c (main): Add tests for EBADF.
3323
3324         Tests for module 'faccessat'.
3325         * modules/faccessat-tests: New file.
3326         * tests/test-faccessat.c: New file.
3327
3328         fdopendir tests: EBADF tests.
3329         * tests/test-fdopendir.c (main): Add more tests for EBADF.
3330
3331         openat tests: EBADF tests.
3332         * tests/test-fchownat.c (main): Add tests for EBADF.
3333         * tests/test-fstatat.c (main): Likewise.
3334         * tests/test-mkdirat.c (main): Likewise.
3335         * tests/test-openat.c (main): Likewise.
3336         * tests/test-unlinkat.c (main): Likewise.
3337         * tests/test-fchmodat.c: New file.
3338         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
3339         (Makefile.am): Also run 'test-fchmodat'.
3340
3341 2011-09-20  Bruno Haible  <bruno@clisp.org>
3342
3343         utimens, futimens, fdutimensat tests: EBADF tests.
3344         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
3345
3346         Tests for function fstat().
3347         * modules/fstat-tests: New file.
3348         * tests/test-fstat.c: New file.
3349         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
3350
3351 2011-09-20  Bruno Haible  <bruno@clisp.org>
3352
3353         test-ttyname_r tests: EBADF tests.
3354         * tests/test-ttyname_r.c (main): Add tests for EBADF.
3355
3356         Tests for module 'isatty'.
3357         * modules/isatty-tests: New file.
3358         * tests/test-isatty.c: New file.
3359
3360         Tests for module 'write'.
3361         * modules/write-tests: New file.
3362         * tests/test-write.c: New file.
3363
3364         Tests for module 'read'.
3365         * modules/read-tests: New file.
3366         * tests/test-read.c: New file.
3367
3368         pwrite tests: EBADF tests.
3369         * tests/test-pwrite.c (main): Add tests for EBADF.
3370
3371         pread tests: EBADF tests.
3372         * tests/test-pread.c (main): Add tests for EBADF.
3373
3374         lseek tests: EBADF tests.
3375         * tests/test-lseek.c (main): Add more tests for EBADF.
3376
3377         Tests for module 'ftruncate'.
3378         * modules/ftruncate-tests: New file.
3379         * tests/test-ftruncate.sh: New file.
3380         * tests/test-ftruncate.c: New file.
3381
3382         fsync tests: EBADF tests.
3383         * tests/test-fsync.c (main): Add more tests for EBADF.
3384
3385         fdatasync tests: EBADF tests.
3386         * tests/test-fdatasync.c (main): Add more tests for EBADF.
3387
3388         Tests for module 'fchown'.
3389         * modules/fchown-tests: New file.
3390         * tests/test-fchown.c: New file.
3391
3392         Tests for module 'fchmod'.
3393         * modules/fchmod-tests: New file.
3394         * tests/test-fchmod.c: New file.
3395
3396         fchdir tests: EBADF tests.
3397         * tests/test-fchdir.c (main): Add more tests for EBADF.
3398
3399         dup2 tests: EBADF tests.
3400         * tests/test-dup2.c (main): Add more tests for EBADF.
3401
3402         Tests for module 'dup'.
3403         * modules/dup-tests: New file.
3404         * tests/test-dup.c: New file.
3405
3406         Tests for module 'close'.
3407         * modules/close-tests: New file.
3408         * tests/test-close.c: New file.
3409
3410 2011-09-20  Bruno Haible  <bruno@clisp.org>
3411
3412         Tests for module 'shutdown'.
3413         * modules/shutdown-tests: New file.
3414         * tests/test-shutdown.c: New file.
3415
3416         Tests for module 'setsockopt'.
3417         * modules/setsockopt-tests: New file.
3418         * tests/test-setsockopt.c: New file.
3419
3420         Tests for module 'sendto'.
3421         * modules/sendto-tests: New file.
3422         * tests/test-sendto.c: New file.
3423
3424         Tests for module 'send'.
3425         * modules/send-tests: New file.
3426         * tests/test-send.c: New file.
3427
3428         Tests for module 'recvfrom'.
3429         * modules/recvfrom-tests: New file.
3430         * tests/test-recvfrom.c: New file.
3431
3432         Tests for module 'recv'.
3433         * modules/recv-tests: New file.
3434         * tests/test-recv.c: New file.
3435
3436         Tests for module 'listen'.
3437         * modules/listen-tests: New file.
3438         * tests/test-listen.c: New file.
3439
3440         Tests for module 'getsockopt'.
3441         * modules/getsockopt-tests: New file.
3442         * tests/test-getsockopt.c: New file.
3443
3444         Tests for module 'getsockname'.
3445         * modules/getsockname-tests: New file.
3446         * tests/test-getsockname.c: New file.
3447
3448         Tests for module 'getpeername'.
3449         * modules/getpeername-tests: New file.
3450         * tests/test-getpeername.c: New file.
3451
3452         Tests for module 'connect'.
3453         * modules/connect-tests: New file.
3454         * tests/test-connect.c: New file.
3455
3456         Tests for module 'bind'.
3457         * modules/bind-tests: New file.
3458         * tests/test-bind.c: New file.
3459
3460         accept4 tests: Fix for native Windows.
3461         * tests/test-accept4.c: Include sockets.h.
3462         (main): Invoke gl_sockets_startup.
3463         * modules/accept4-tests (Depends-on): Add sockets.
3464
3465         accept tests: Fix for native Windows.
3466         * tests/test-accept.c: Include sockets.h.
3467         (main): Invoke gl_sockets_startup.
3468         * modules/accept-tests (Depends-on): Add sockets.
3469
3470 2011-09-19  Bruno Haible  <bruno@clisp.org>
3471
3472         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3473         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3474         do...while(0).
3475         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3476         Suggested by Paul Eggert.
3477
3478 2011-09-19  Bruno Haible  <bruno@clisp.org>
3479
3480         sched: Ensure pid_t is defined.
3481         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3482         not define pid_t.
3483         * lib/sched.in.h: Include <sys/types.h>.
3484         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3486
3487 2011-09-19  Bruno Haible  <bruno@clisp.org>
3488
3489         msvc-inval: Ensure the entire expansion is a single statement.
3490         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3491         of braces.
3492
3493 2011-09-19  Jim Meyering  <meyering@redhat.com>
3494
3495         tests: use printf, not echo in init.sh's warn_ function
3496         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3497         misbehave when given strings containing a backslash or starting
3498         with e.g., -n.  James Youngman suggested setting IFS.
3499
3500 2011-09-19  Eric Blake  <eblake@redhat.com>
3501
3502         futimens: enhance test
3503         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3504         closed non-negative fd.
3505
3506         date: accept 'hence' as opposite of 'ago'
3507         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3508         * tests/test-parse-datetime.c (main): Enhance test.
3509         Suggested by Jesse Wilson.
3510
3511 2011-09-19  Jim Meyering  <meyering@redhat.com>
3512
3513         getcwd: don't fail in a deep directory on a system without openat
3514         Before this change, getcwd would fail when called from a directory
3515         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3516         the non-openat implementation used "..", "../..", "../../..", etc.
3517         to access ancestor directories.  With too many, that string would
3518         be longer than PATH_MAX.
3519         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3520         using gnulib's openat replacement.
3521         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3522         we're using the replacement function.
3523
3524 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3525
3526         maint.mk: avoid warnings from perl about missing files
3527         * top/maint.mk (def_sym_regex): Ignore files listed in
3528         $(gl_other_headers_) that do not exist, say because a project
3529         does not use a corresponding module.
3530
3531 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3532
3533         stat: use pathmax.h only if needed
3534         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3535         This is better for Emacs, which does not have a mingw port and
3536         therefore can avoid the pathmax module.
3537
3538         utimens: remove dependency on dup2
3539         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3540         to work around the Linux kernel bug.
3541         * modules/utimens (Depends-on): Remove dup2.
3542
3543 2011-09-18  Bruno Haible  <bruno@clisp.org>
3544
3545         inet_ntop, inet_pton: Look for it also in libresolv.
3546         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3547         libnsl, search for it in libresolv.
3548         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3549         Needed on Solaris 7.
3550
3551 2011-09-18  Bruno Haible  <bruno@clisp.org>
3552
3553         accept, accept4 tests: Avoid link error on Solaris.
3554         * modules/accept-tests (Makefile.am): Link test-accept against
3555         $(LIBSOCKET).
3556         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3557         $(LIBSOCKET).
3558
3559         accept4: Avoid link error on Solaris.
3560         * modules/accept4 (Link): New section.
3561
3562         socket functions: Avoid link errors on Solaris.
3563         * modules/accept (Depends-on): Add socketlib.
3564         (Link): New section.
3565         * modules/bind (Depends-on): Add socketlib.
3566         (Link): New section.
3567         * modules/connect (Depends-on): Add socketlib.
3568         (Link): New section.
3569         * modules/getpeername (Depends-on): Add socketlib.
3570         (Link): New section.
3571         * modules/getsockname (Depends-on): Add socketlib.
3572         (Link): New section.
3573         * modules/getsockopt (Depends-on): Add socketlib.
3574         (Link): New section.
3575         * modules/listen (Depends-on): Add socketlib.
3576         (Link): New section.
3577         * modules/recv (Depends-on): Add socketlib.
3578         (Link): New section.
3579         * modules/recvfrom (Depends-on): Add socketlib.
3580         (Link): New section.
3581         * modules/send (Depends-on): Add socketlib.
3582         (Link): New section.
3583         * modules/sendto (Depends-on): Add socketlib.
3584         (Link): New section.
3585         * modules/setsockopt (Depends-on): Add socketlib.
3586         (Link): New section.
3587         * modules/shutdown (Depends-on): Add socketlib.
3588         (Link): New section.
3589         * modules/socket (Depends-on): Add socketlib.
3590         (Link): New section.
3591
3592 2011-09-18  Bruno Haible  <bruno@clisp.org>
3593
3594         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3595         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3596         than 5 seconds.
3597         * modules/ptsname-tests (configure.ac): Test for alarm.
3598
3599 2011-09-18  Bruno Haible  <bruno@clisp.org>
3600
3601         posix_spawn_file_actions_add*: Fix module dependencies.
3602         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3603         posix_spawn_file_actions_init.
3604         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3605         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3606
3607 2011-09-18  Bruno Haible  <bruno@clisp.org>
3608
3609         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3610         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3611         * tests/test-renameat.c (main): Likewise.
3612
3613 2011-09-18  Bruno Haible  <bruno@clisp.org>
3614
3615         Tests for module 'accept4'.
3616         * modules/accept4-tests: New file.
3617         * tests/test-accept4.c: New file.
3618
3619 2011-09-18  Bruno Haible  <bruno@clisp.org>
3620
3621         Tests for module 'accept'.
3622         * modules/accept-tests: New file.
3623         * tests/test-accept.c: New file.
3624
3625 2011-09-18  Bruno Haible  <bruno@clisp.org>
3626
3627         dup2: Support for MSVC.
3628         * lib/dup2.c: Include msvc-inval.h.
3629         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3630         _get_osfhandle calls.
3631         * modules/dup2 (Depends-on): Add msvc-inval.
3632         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3633
3634         New module 'msvc-inval'.
3635         * lib/msvc-inval.h: New file.
3636         * lib/msvc-inval.c: New file.
3637         * m4/msvc-inval.m4: New file.
3638         * modules/msvc-inval: New file.
3639
3640 2011-09-17  Bruno Haible  <bruno@clisp.org>
3641
3642         Tests for module 'pclose'.
3643         * modules/pclose-tests: New file.
3644
3645         New module 'pclose'.
3646         * lib/stdio.in.h (pclose): New declaration.
3647         * lib/pclose.c: New file.
3648         * m4/pclose.m4: New file.
3649         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3650         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3651         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3652         * modules/pclose: New file.
3653         * modules/popen-tests (Depends-on): Add pclose.
3654         * modules/popen-safer-tests (Depends-on): Likewise.
3655         * doc/posix-functions/pclose.texi: Mention the new module.
3656
3657 2011-09-17  Bruno Haible  <bruno@clisp.org>
3658
3659         popen: Support for MSVC.
3660         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3661         * lib/popen.c (popen): Provide alternate definition for native Windows.
3662         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3664         * modules/popen (Depends-on, configure.ac): Update condition.
3665         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3666         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3667         fixed.
3668
3669 2011-09-17  Bruno Haible  <bruno@clisp.org>
3670
3671         isnanl, isnand, isnanf: Work around MSVC bug.
3672         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3673
3674 2011-09-17  Bruno Haible  <bruno@clisp.org>
3675
3676         sys_socket tests: Fix recent mistake.
3677         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3678
3679 2011-09-17  Bruno Haible  <bruno@clisp.org>
3680
3681         putenv: Support for MSVC.
3682         * modules/putenv (Depends-on): Add environ.
3683         * lib/putenv.c (environ): Disable declaration.
3684         * lib/unistd.in.h: Update comment.
3685
3686 2011-09-17  Bruno Haible  <bruno@clisp.org>
3687
3688         math: Avoid macro redefinition warnings on MSVC.
3689         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3690         Undefine before redefining.
3691
3692 2011-09-17  Bruno Haible  <bruno@clisp.org>
3693
3694         doc: Mention functions which are declared as macros.
3695         * doc/posix-functions/*[fl].texi: Mention that some functions are
3696         defined as macros with arguments only.
3697
3698 2011-09-17  Bruno Haible  <bruno@clisp.org>
3699
3700         Add dependencies to new dirent related modules.
3701         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3702         * modules/fts (Depends-on): Likewise.
3703         * modules/glob (Depends-on): Likewise.
3704         * modules/savedir (Depends-on): Likewise.
3705         * modules/scandir (Depends-on): Likewise.
3706         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3707         * modules/fdopendir (Depends-on): Add opendir.
3708
3709 2011-09-17  Bruno Haible  <bruno@clisp.org>
3710
3711         inet_pton: Support for MSVC on Windows Vista or newer.
3712         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3713         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3714         HAVE_DECL_INET_PTON is defined.
3715         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3716         On platforms with <winsock2.h>, test whether inet_pton is declared in
3717         <ws2tcpip.h>. If so, arrange to replace it.
3718         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3719         REPLACE_INET_PTON.
3720         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3721         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3722         (Depends-on, configure.ac): Update condition.
3723         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3724
3725 2011-09-17  Bruno Haible  <bruno@clisp.org>
3726
3727         inet_ntop: Support for MSVC on Windows Vista or newer.
3728         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3729         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3730         HAVE_DECL_INET_NTOP is defined.
3731         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3732         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3733         <ws2tcpip.h>. If so, arrange to replace it.
3734         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3735         REPLACE_INET_NTOP.
3736         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3737         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3738         (Depends-on, configure.ac): Update condition.
3739         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3740
3741 2011-09-16  Eric Blake  <eblake@redhat.com>
3742
3743         test-fsync: yet another enhancement
3744         * tests/test-fsync.c (main): Also test behavior on read-only text
3745         file.
3746
3747 2011-09-16  Bruno Haible  <bruno@clisp.org>
3748
3749         Enhance fsync, fdatasync tests.
3750         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3751         * tests/test-fdatasync.c (main): Likewise.
3752
3753 2011-09-16  Bruno Haible  <bruno@clisp.org>
3754
3755         Support for MSVC compiler: Ensure mode_t gets defined.
3756         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3757         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3758         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3759         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3760         * tests/test-fcntl-h.c: Check that mode_t is defined.
3761         * tests/test-sys_stat.c: Likewise.
3762         * tests/test-sys_types.c: Likewise.
3763         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3764         * doc/posix-headers/sys_stat.texi: Likewise.
3765         * doc/posix-headers/sys_types.texi: Likewise.
3766
3767 2011-09-16  Bruno Haible  <bruno@clisp.org>
3768
3769         sys_stat: Support for MSVC.
3770         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3771         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3772         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3773         MSVC.
3774
3775 2011-09-16  Bruno Haible  <bruno@clisp.org>
3776
3777         Support for MSVC compiler: Ensure off_t gets defined.
3778         * lib/unistd.in.h: Include <sys/types.h>.
3779         * tests/test-fcntl-h.c: Check that off_t is defined.
3780         * tests/test-sys_stat.c: Likewise.
3781         * tests/test-sys_types.c: Likewise.
3782
3783 2011-09-16  Eric Blake  <eblake@redhat.com>
3784
3785         fdatasync: port to Solaris
3786         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3787         * modules/fdatasync (Link): Document it.
3788         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3789
3790         fdatasync: port to MacOS X 10.7
3791         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3792         declared.
3793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3794         * modules/unistd (Makefile.am): Substitute it.
3795         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3796         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3797
3798         fdatasync: minor improvements
3799         * modules/fdatasync (Depends-on): Add condition for fsync.
3800         * lib/fdatasync.c (fdatasync): Add comment.
3801         * tests/test-unistd-c++.cc: Test fdatasync.
3802
3803         unistd: update refs to newer POSIX
3804         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3805         Suggested by Bruno Haible.
3806
3807         fdatasync: new module
3808         * modules/fsync (Description): Document difference to fdatasync.
3809         * modules/fdatasync: New module.
3810         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3811         * lib/fdatasync.c (fdatasync): Likewise.
3812         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3813         defaults.
3814         * modules/unistd (Makefile.am): Set witnesses.
3815         * lib/unistd.in.h (fdatasync): Declare.
3816         * MODULES.html.sh: Document it.
3817         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3818         * modules/fdatasync-tests: New test.
3819         * tests/test-fdatasync.c: Likewise.
3820
3821 2011-09-16  Eric Blake  <eblake@redhat.com>
3822
3823         test-fsync: enhance tests
3824         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3825         * tests/test-fsync.c (main): Enhance test.
3826
3827 2011-09-15  Bruno Haible  <bruno@clisp.org>
3828
3829         Support for MSVC compiler: Ensure ssize_t gets defined.
3830         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3831         * doc/posix-headers/stdio.texi: Likewise.
3832         * modules/stdio (Depends-on): Add ssize_t.
3833         * modules/sys_socket (Depends-on): Likewise.
3834         * modules/sys_types (Depends-on): Likewise.
3835         * modules/sys_uio (Depends-on): Likewise.
3836         * modules/unistd (Depends-on): Likewise.
3837         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3838         * tests/test-sys_types.c: Check that ssize_t is defined.
3839
3840 2011-09-14  Bruno Haible  <bruno@clisp.org>
3841
3842         Avoid using #, the m4 comment starter character, near brackets.
3843         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3844         delimiter character in sed expressions.
3845         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3846         Suggested by Eric Blake.
3847
3848         Properly quote AC_CHECK_DECLS' 4th argument.
3849         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3850         argument.
3851         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3852         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3853         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3854         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3855         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3856         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3857         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3858         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3859         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3860         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3861         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3862         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3863         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3864         * m4/isinf.m4 (gl_ISINF): Likewise.
3865         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3866         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3867         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3868         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3869         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3870         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3871         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3872         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3873         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3874         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3875         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3876         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3877         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3878         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3880         Reported by Eric Blake.
3881
3882         Properly quote AC_CHECK_DECL's 4th argument.
3883         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3884         argument.
3885         * m4/argp.m4 (gl_ARGP): Likewise.
3886         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3887         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3888         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3889         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3890         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3891         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3892         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3893         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3894         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3895         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3896         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3897         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3898         Reported by Eric Blake.
3899
3900 2011-09-14  Eric Blake  <eblake@redhat.com>
3901
3902         opendir: avoid compile warning
3903         * lib/opendir.c (includes): Always include errno.h.
3904         Reported by Tatsuro MATSUOKA.
3905
3906 2011-09-14  Jim Meyering  <meyering@redhat.com>
3907
3908         maint.mk: sc_tight_scope: propagate failure from sub-make
3909         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3910         Reported by Martin von Gagern.
3911
3912 2011-09-13  Bruno Haible  <bruno@clisp.org>
3913
3914         tempname: Support for MSVC.
3915         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3916         MSVC.
3917         * modules/tempname (Depends-on): Add fcntl-h.
3918
3919 2011-09-13  Bruno Haible  <bruno@clisp.org>
3920
3921         sys_time: Support for MSVC.
3922         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3923         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3924         include <winsock2.h>.
3925         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3926         function declarations that collide with POSIX.
3927         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3928         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3929
3930 2011-09-13  Bruno Haible  <bruno@clisp.org>
3931
3932         stat: Support for MSVC.
3933         * lib/stat.c: Include pathmax.h.
3934         * modules/stat (Depends-on): Add pathmax.
3935
3936         pathmax: Support for native Windows.
3937         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3938
3939 2011-09-12  Bruno Haible  <bruno@clisp.org>
3940
3941         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3942         * lib/dirent.in.h (struct dirent): New type.
3943         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3944         DT_WHT): New macros.
3945         (DIR): New type.
3946         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3947         (readdir, rewinddir): New declarations.
3948         * lib/dirent-private.h: New file.
3949         * lib/opendir.c: New file.
3950         * lib/readdir.c: New file.
3951         * lib/rewinddir.c: New file.
3952         * lib/closedir.c: New file.
3953         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3954         * m4/opendir.m4: New file.
3955         * m4/readdir.m4: New file.
3956         * m4/rewinddir.m4: New file.
3957         * m4/closedir.m4: New file.
3958         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3959         REPLACE_CLOSEDIR here.
3960         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3961         readdir, rewinddir are declared.
3962         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3963         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3964         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3965         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3966         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3967         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3968         * modules/opendir: New file.
3969         * modules/readdir: New file.
3970         * modules/rewinddir: New file.
3971         * modules/closedir: New file.
3972         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3973         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3974         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3975         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3976         * NEWS: Mention the 'fchdir' change.
3977
3978 2011-09-11  Bruno Haible  <bruno@clisp.org>
3979
3980         asm-underscore.m4: Support for MSVC.
3981         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3982         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3983
3984 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3985
3986         Doc about crypt functions.
3987         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3988         needing for _GNU_SOURCE to get crypt.
3989         * doc/posix-functions/encrypt.texi: Likewise.
3990         * doc/posix-functions/setkey.texi: Likewise.
3991
3992 2011-09-11  Bruno Haible  <bruno@clisp.org>
3993
3994         doc: Update regarding MSVC 9.
3995         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3996         tested".
3997         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3998         * doc/posix-headers/*.texi: Likewise.
3999         * doc/pastposix-functions/*.texi: Likewise.
4000         * doc/glibc-functions/*.texi: Likewise.
4001         * doc/glibc-headers/*.texi: Likewise.
4002
4003 2011-09-11  Bruno Haible  <bruno@clisp.org>
4004
4005         unistd et al.: Don't assume <unistd.h> exists.
4006         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
4007         does not exist.
4008         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
4009         exist. But include <stdlib.h>.
4010         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
4011         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
4012         symlink() does not exist.
4013         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
4014         include <io.h> instead.
4015         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
4016         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
4017         include <direct.h> instead.
4018         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4019         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4020         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
4021         <io.h> instead.
4022         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
4023         correctly if the system does not have hard links.
4024         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
4025         <direct.h> instead.
4026         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
4027         it when looking for function declarations.
4028         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
4029         <direct.h> and <io.h> instead.
4030         * doc/posix-headers/unistd.texi: More details about MSVC problem.
4031
4032 2011-09-11  Bruno Haible  <bruno@clisp.org>
4033
4034         strcase: Support for MSVC.
4035         * modules/strcase (Status, Notice): Remove obsoletion mark.
4036         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
4037         * doc/posix-functions/strncasecmp.texi: Likewise.
4038
4039         strings: Don't assume <strings.h> exists.
4040         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
4041         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
4042         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
4043         * doc/posix-headers/strings.texi: Mention the MSVC problem.
4044
4045 2011-09-11  Bruno Haible  <bruno@clisp.org>
4046
4047         dirent: Don't assume <dirent.h> exists.
4048         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
4049         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
4050         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
4051         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
4052
4053 2011-09-11  Bruno Haible  <bruno@clisp.org>
4054
4055         Fix wint_t on MSVC.
4056         * lib/wchar.in.h (wint_t): On MSVC, override it.
4057         * lib/wctype.in.h (wint_t): Likewise.
4058         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
4059         MSVC.
4060         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
4061         * doc/posix-headers/wctype.texi: Likewise.
4062
4063 2011-09-11  Bruno Haible  <bruno@clisp.org>
4064
4065         sys_types: Fix typo.
4066         * lib/sys_types.in.h: Fix typo in comment.
4067         Reported by Paul Eggert.
4068
4069         Support for MSVC compiler: Ensure size_t gets defined.
4070         * modules/strings (Depends-on): Add 'sys_types'.
4071         * modules/sys_uio (Depends-on): Likewise.
4072         * lib/sys_uio.in.h: Update comment.
4073
4074         C++ tests for module 'sys_types'.
4075         * modules/sys_types-c++-tests: New file.
4076         * tests/test-sys_types-c++.cc: New file.
4077
4078         Tests for module 'sys_types'.
4079         * modules/sys_types-tests: New file.
4080         * tests/test-sys_types.c: New file.
4081
4082         New module 'sys_types'.
4083         * lib/sys_types.in.h: New file.
4084         * m4/sys_types_h.m4: New file.
4085         * modules/sys_types: New file.
4086         * doc/posix-headers/sys_types.texi: Mention the new module and the
4087         size_t problem on MSVC 9.
4088
4089 2011-09-11  Bruno Haible  <bruno@clisp.org>
4090
4091         Support for MSVC compiler: Avoid division by a literal 0.
4092         * lib/math.in.h (NAN): Define through a function call also on MSVC.
4093         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
4094         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
4095         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
4096         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
4097         * tests/infinity.h: New file.
4098         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
4099         on MSVC.
4100         * tests/test-ceilf1.c: Include infinity.h.
4101         (main): Use Infinityf.
4102         * tests/test-ceil1.c: Include infinity.h.
4103         (main): Use Infinityd.
4104         * tests/test-ceill.c: Include infinity.h.
4105         (main): Use Infinityl.
4106         * tests/test-dprintf-posix.c: Include infinity.h.
4107         (test_function): Use Infinityd.
4108         * tests/test-floorf1.c: Include infinity.h.
4109         (main): Use Infinityf.
4110         * tests/test-floor1.c: Include infinity.h.
4111         (main): Use Infinityd.
4112         * tests/test-floorl.c: Include infinity.h.
4113         (main): Use Infinityl.
4114         * tests/test-fprintf-posix.c: Include infinity.h.
4115         (test_function): Use Infinityd.
4116         * tests/test-frexp.c: Include infinity.h.
4117         (main): Use Infinityd.
4118         * tests/test-frexpl.c: Include infinity.h.
4119         (main): Use Infinityl.
4120         * tests/test-isfinite.c: Include infinity.h.
4121         (test_isfinitef): Use Infinityf.
4122         (test_isfinited): Use Infinityd.
4123         (test_isfinitel): Use Infinityl.
4124         * tests/test-isinf.c: Include infinity.h.
4125         (test_isinff): Use Infinityf.
4126         (test_isinfd): Use Infinityd.
4127         (test_isinfl): Use Infinityl.
4128         * tests/test-isnan.c: Include infinity.h.
4129         (test_float): Use Infinityf.
4130         (test_double): Use Infinityd.
4131         (test_long_double): Use Infinityl.
4132         * tests/test-isnanf.h: Include infinity.h.
4133         (main): Use Infinityf.
4134         * tests/test-isnand.h: Include infinity.h.
4135         (main): Use Infinityd.
4136         * tests/test-isnanl.h: Include infinity.h.
4137         (main): Use Infinityl.
4138         * tests/test-ldexpl.c: Include infinity.h.
4139         (main): Use Infinityl.
4140         * tests/test-printf-posix.h: Include infinity.h.
4141         (test_function): Use Infinityd.
4142         * tests/test-roundf1.c: Include infinity.h.
4143         (main): Use Infinityf.
4144         * tests/test-round1.c: Include infinity.h.
4145         (main): Use Infinityd.
4146         * tests/test-roundl.c: Include infinity.h.
4147         (main): Use Infinityl.
4148         * tests/test-signbit.c: Include infinity.h.
4149         (test_signbitf): Use Infinityf.
4150         (test_signbitd): Use Infinityd.
4151         (test_signbitl): Use Infinityl.
4152         * tests/test-snprintf-posix.h: Include infinity.h.
4153         (test_function): Use Infinityd, Infinityl.
4154         * tests/test-sprintf-posix.h: Include infinity.h.
4155         (test_function): Use Infinityd, Infinityl.
4156         * tests/test-truncf1.c: Include infinity.h.
4157         (main): Use Infinityf.
4158         * tests/test-trunc1.c: Include infinity.h.
4159         (main): Use Infinityd.
4160         * tests/test-truncl.c: Include infinity.h.
4161         (main): Use Infinityl.
4162         * tests/test-vasnprintf-posix.c: Include infinity.h.
4163         (test_function): Use Infinityd, Infinityl.
4164         * tests/test-vasprintf-posix.c: Include infinity.h.
4165         (test_function): Use Infinityd, Infinityl.
4166         * modules/ceilf-tests (Files): Add tests/infinity.h.
4167         * modules/ceil-tests (Files): Likewise.
4168         * modules/ceill-tests (Files): Likewise.
4169         * modules/dprintf-posix-tests (Files): Likewise.
4170         * modules/floorf-tests (Files): Likewise.
4171         * modules/floor-tests (Files): Likewise.
4172         * modules/floorl-tests (Files): Likewise.
4173         * modules/fprintf-posix-tests (Files): Likewise.
4174         * modules/frexp-tests (Files): Likewise.
4175         * modules/frexp-nolibm-tests (Files): Likewise.
4176         * modules/frexpl-tests (Files): Likewise.
4177         * modules/frexpl-nolibm-tests (Files): Likewise.
4178         * modules/isfinite-tests (Files): Likewise.
4179         * modules/isinf-tests (Files): Likewise.
4180         * modules/isnan-tests (Files): Likewise.
4181         * modules/isnanf-tests (Files): Likewise.
4182         * modules/isnanf-nolibm-tests (Files): Likewise.
4183         * modules/isnand-tests (Files): Likewise.
4184         * modules/isnand-nolibm-tests (Files): Likewise.
4185         * modules/isnanl-tests (Files): Likewise.
4186         * modules/isnanl-nolibm-tests (Files): Likewise.
4187         * modules/ldexpl-tests (Files): Likewise.
4188         * modules/printf-posix-tests (Files): Likewise.
4189         * modules/roundf-tests (Files): Likewise.
4190         * modules/round-tests (Files): Likewise.
4191         * modules/roundl-tests (Files): Likewise.
4192         * modules/signbit-tests (Files): Likewise.
4193         * modules/snprintf-posix-tests (Files): Likewise.
4194         * modules/sprintf-posix-tests (Files): Likewise.
4195         * modules/truncf-tests (Files): Likewise.
4196         * modules/trunc-tests (Files): Likewise.
4197         * modules/truncl-tests (Files): Likewise.
4198         * modules/vasnprintf-posix-tests (Files): Likewise.
4199         * modules/vasprintf-posix-tests (Files): Likewise.
4200         * modules/vdprintf-posix-tests (Files): Likewise.
4201         * modules/vfprintf-posix-tests (Files): Likewise.
4202         * modules/vprintf-posix-tests (Files): Likewise.
4203         * modules/vsnprintf-posix-tests (Files): Likewise.
4204         * modules/vsprintf-posix-tests (Files): Likewise.
4205         * modules/xprintf-posix-tests (Files): Likewise.
4206
4207 2011-09-11  Bruno Haible  <bruno@clisp.org>
4208
4209         Ensure pid_t gets defined.
4210         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
4211         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4212         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4213         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4214         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4215         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4216         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
4217         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4218         * tests/test-fcntl-h.c: Check that pid_t is defined.
4219         * tests/test-sched.c: Likewise.
4220         * tests/test-termios.c: Likewise.
4221         * tests/test-time.c: Likewise.
4222         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
4223         * doc/posix-headers/signal.texi: Likewise.
4224         * doc/posix-headers/sys_types.texi: Likewise.
4225         * doc/posix-headers/time.texi: Likewise.
4226
4227 2011-09-11  Bruno Haible  <bruno@clisp.org>
4228
4229         acl: Fix compilation on Solaris 10 (older version).
4230         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
4231         of ACE_EVERYONE.
4232         * lib/set-mode-acl.c (qset_acl): Likewise.
4233         Reported by Christian Jullien <eligis@orange.fr>.
4234
4235 2011-09-10  Bruno Haible  <bruno@clisp.org>
4236
4237         iconv, unsetenv: Add support for MSVC compiler.
4238         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
4239         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
4240
4241 2011-09-10  Bruno Haible  <bruno@clisp.org>
4242
4243         *printf: Add support for MSVC compiler.
4244         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
4245         handles the exception caused by the %n directive. When cross-compiling,
4246         guess no on native Windows.
4247         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
4248         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
4249         emulate it through vsnprintf.
4250         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
4251         * doc/posix-functions/dprintf.texi: Update documentation regarding
4252         MSVC 9.
4253         * doc/posix-functions/fprintf.texi: Likewise.
4254         * doc/posix-functions/printf.texi: Likewise.
4255         * doc/posix-functions/snprintf.texi: Likewise.
4256         * doc/posix-functions/sprintf.texi: Likewise.
4257         * doc/posix-functions/swprintf.texi: Likewise.
4258         * doc/posix-functions/vdprintf.texi: Likewise.
4259         * doc/posix-functions/vfprintf.texi: Likewise.
4260         * doc/posix-functions/vprintf.texi: Likewise.
4261         * doc/posix-functions/vsnprintf.texi: Likewise.
4262         * doc/posix-functions/vsprintf.texi: Likewise.
4263         * doc/glibc-functions/asprintf.texi: Likewise.
4264         * doc/glibc-functions/obstack_printf.texi: Likewise.
4265         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4266         * doc/glibc-functions/vasprintf.texi: Likewise.
4267
4268 2011-09-10  Bruno Haible  <bruno@clisp.org>
4269
4270         nocrash: Add support for native Windows.
4271         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
4272
4273 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
4274             Bruno Haible  <bruno@clisp.org>
4275
4276         absolute-header, include-next: Add support for MSVC compiler.
4277         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
4278         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
4279         directory separator in #line directives.
4280         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
4281         recognize also backslash as directory separator in #line directives.
4282
4283 2011-09-08  Jim Meyering  <meyering@redhat.com>
4284
4285         maint.mk: mark the post-release commit log with "maint: " prefix
4286         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
4287         one-line commit-log summary.
4288
4289 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
4290             Bruno Haible  <bruno@clisp.org>
4291
4292         Doc about crypt functions.
4293         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
4294         systems.
4295         * doc/posix-functions/encrypt.texi: Likewise.
4296         * doc/posix-functions/setkey.texi: Likewise.
4297
4298 2011-09-08  Simon Josefsson  <simon@josefsson.org>
4299
4300         * lib/gc.h: Fix copyright header.
4301
4302 2011-09-07  Bruno Haible  <bruno@clisp.org>
4303
4304         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
4305         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
4306         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
4307
4308 2011-09-07  Bruno Haible  <bruno@clisp.org>
4309
4310         openat: Work around compilation error with OSF/1 5.1 DTK cc.
4311         * lib/fopen.c: Use different syntax for include of <stdio.h>.
4312         * lib/freopen.c: Likewise.
4313         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
4314         * lib/lstat.c: Likewise.
4315         * lib/stat.c: Likewise.
4316         * lib/open.c: Use different syntax for include of <fcntl.h>.
4317         * lib/openat.c: Include fcntl.h again, explicitly.
4318
4319 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
4320
4321         parse-datetime: document the newly accepted format
4322         * doc/parse-datetime.texi (Combined date and time of day items):
4323         New section.
4324
4325 2011-09-06  Bruno Haible  <bruno@clisp.org>
4326
4327         acl: Fix a test failure on newer Solaris 10 with ZFS.
4328         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
4329         ENOSYS as no ACL.
4330         Reported by Jim Meyering.
4331
4332 2011-09-06  Bruno Haible  <bruno@clisp.org>
4333
4334         acl: Update for AIX >= 5.3 with NFS.
4335         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
4336         ENOSYS as no ACL.
4337
4338         acl: Fix a test failure on AIX >= 5.3 with NFS.
4339         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
4340         as no ACL.
4341
4342 2011-09-06  Bruno Haible  <bruno@clisp.org>
4343
4344         acl: Fix a test failure on IRIX 6.5 with NFS.
4345         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
4346         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
4347         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
4348         * lib/copy-acl.c (qcopy_acl): Likewise.
4349
4350 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4351
4352         openat: port to AIX 7.1 with large files
4353         AIX 7.1 does a "#define openat open64at" if large files are in use,
4354         so we can't simply #undef openat.  Use the orig_openat trick (similar
4355         to orig_open in lib/open.c) to work around the problem.  Problem
4356         reported by Kevin Brott for GNU tar, in the thread containing
4357         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
4358         * lib/openat.c (__need_system_fcntl_h): Define first.
4359         Include <fcntl.h> and <sys/types.h> before undefining.
4360         (orig_openat) [HAVE_OPENAT]: New inline function.
4361         (openat) [HAVE_OPENAT]: Do not undef.
4362         (rpl_openat): Use orig_openat, not openat.
4363
4364 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4365             Bruno Haible  <bruno@clisp.org>
4366
4367         acl: Avoid errors on NonStop Kernel.
4368         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
4369         ENOTSUP errors.
4370
4371 2011-09-05  Bruno Haible  <bruno@clisp.org>
4372
4373         acl: Clean up Solaris code.
4374         * lib/acl-internal.h: Remove no-op #if.
4375         * lib/file-has-acl.c: Likewise.
4376         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
4377         * lib/copy-acl.c (qcopy_acl): Likewise.
4378
4379 2011-09-05  Bruno Haible  <bruno@clisp.org>
4380
4381         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
4382         binaries built on the original Solaris 10.
4383         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
4384         trivial.
4385
4386 2011-09-05  Bruno Haible  <bruno@clisp.org>
4387
4388         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4389         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
4390         10.
4391         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
4392         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
4393         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
4394         instead of acl_get, facl_get, acl_set, facl_set.
4395
4396 2011-09-05  Bruno Haible  <bruno@clisp.org>
4397
4398         copy-file: Try unit tests on more file systems.
4399         * tests/test-copy-file-1.sh: New file.
4400         * tests/test-copy-file-2.sh: New file.
4401         * modules/copy-file-tests (Files): Add them.
4402         (Makefile.am): Add them to TESTS.
4403
4404         acl: Try unit tests on more file systems.
4405         * tests/test-file-has-acl-1.sh: New file.
4406         * tests/test-file-has-acl-2.sh: New file.
4407         * tests/test-set-mode-acl-1.sh: New file.
4408         * tests/test-set-mode-acl-2.sh: New file.
4409         * tests/test-copy-acl-1.sh: New file.
4410         * tests/test-copy-acl-2.sh: New file.
4411         * modules/acl-tests (Files): Add them.
4412         (Makefile.am): Add them to TESTS.
4413
4414 2011-09-04  Bruno Haible  <bruno@clisp.org>
4415
4416         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4417         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4418         10.
4419         (OLD_ALLOW, OLD_DENY): New macros.
4420         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4421         ACE_ACCESS_ALLOWED_ACE_TYPE.
4422         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4423         ACE_ACCESS_DENIED_ACE_TYPE.
4424         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4425         (NEW_ACE_EXECUTE): Fix value.
4426         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4427         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4428         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4429         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4430         NEW_ACE_SYNCHRONIZE): New macros.
4431         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4432         instead of acl_fromtext, acl_set, facl_set.
4433         Fixes a coreutils/tests/cp/perm failure.
4434
4435 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4436
4437         openat: test for fstatat (..., 0) bug
4438         Further testing with tar suggests that fstatat (..., 0)
4439         does not work in general, on AIX 7.1; see
4440         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4441         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4442         replacement fstatat (which is what older AIX releases were using
4443         anyway).
4444         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4445         use is now changed to orig_fstatat.  This was probably the right
4446         thing to do anyway.
4447         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4448         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4449         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4450         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4451         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4452         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4453         if the bug is found.
4454
4455         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4456         This tests for another fstatat bug on AIX 7.1:
4457         fstatat (AT_FDCWD, ..., 0) does not work.  See
4458         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4459         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4460         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4461         (rpl_fstatat): Adjust so that it works around either (or both)
4462         bugs if present.
4463         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4464
4465 2011-09-03  Karl Berry  <karl@gnu.org>
4466
4467         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4468         in index entries.
4469
4470 2011-09-02  Bruno Haible  <bruno@clisp.org>
4471
4472         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4473         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4474         values of AR, ARFLAGS, RANLIB.
4475         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4476
4477 2011-09-02  Bruno Haible  <bruno@clisp.org>
4478
4479         Find 'ar' program that fits with --host argument.
4480         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4481
4482 2011-09-02  Bruno Haible  <bruno@clisp.org>
4483
4484         tests: init.sh: Support any non-GNU diff.
4485         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4486         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4487         Solaris 8.
4488
4489 2011-09-02  Bruno Haible  <bruno@clisp.org>
4490
4491         tests: init.sh: work also with any non-GNU diff that supports -u
4492         * tests/init.sh: Relax check for diff -u support.
4493         Rather than checking for GNU diff via --version, simply check
4494         for support for -u itself.  Useful at least on OpenBSD 4.9,
4495         AIX 7.1, IRIX 6.5, and Solaris 10.
4496
4497 2011-09-01  Bruno Haible  <bruno@clisp.org>
4498
4499         strtoimax, strtoumax: Document problem on HP-UX 11.
4500         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4501         * doc/posix-functions/strtoumax.texi: Likewise.
4502
4503 2011-09-01  Bruno Haible  <bruno@clisp.org>
4504
4505         strtoumax: Avoid link error on OSF/1 with DTK cc.
4506         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4507         defined as a function.
4508         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4509         strtoumax is defined, not whether it is declared.
4510
4511 2011-09-01  Bruno Haible  <bruno@clisp.org>
4512
4513         strtoimax: Avoid link error on OSF/1 with DTK cc.
4514         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4515         defined as a function.
4516         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4517         strtoimax is defined, not whether it is declared.
4518
4519 2011-09-01  Bruno Haible  <bruno@clisp.org>
4520
4521         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4522         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4523         as a function.
4524         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4525         whether it is declared.
4526
4527 2011-09-01  Bruno Haible  <bruno@clisp.org>
4528
4529         imaxabs: Avoid link error on OSF/1 with DTK cc.
4530         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4531         as a function.
4532         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4533         whether it is declared.
4534
4535 2011-09-01  Bruno Haible  <bruno@clisp.org>
4536
4537         Tests for module 'strtoumax'.
4538         * modules/strtoumax-tests: New file.
4539         * tests/test-strtoumax.c: New file.
4540
4541         Tests for module 'strtoimax'.
4542         * modules/strtoimax-tests: New file.
4543         * tests/test-strtoimax.c: New file.
4544
4545         Tests for module 'imaxdiv'.
4546         * modules/imaxdiv-tests: New file.
4547         * tests/test-imaxdiv.c: New file.
4548
4549         Tests for module 'imaxabs'.
4550         * modules/imaxabs-tests: New file.
4551         * tests/test-imaxabs.c: New file.
4552
4553 2011-09-01  Bruno Haible  <bruno@clisp.org>
4554
4555         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4556         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4557         pthread_create.
4558
4559 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4560
4561         openat: work around AIX 7.1 fstatat issue
4562         This should fix the problem that was not properly fixed
4563         in the previous change, dated 2011-08-30.
4564         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4565         __need_system_stat_h defined.
4566         (orig_fstatat) [HAVE_FSTATAT]: New function.
4567         (rpl_fstatat): Go back to the old way of doing things,
4568         except call orig_fstatat instead of fstatat.
4569         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4570         Remove unnecessary check whether fstatat fills in st_size etc.
4571
4572 2011-09-01  Bruno Haible  <bruno@clisp.org>
4573
4574         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4575         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4576         just include the system's header.
4577
4578 2011-08-31  Jim Meyering  <meyering@redhat.com>
4579
4580         tests: avoid spurious assertion failure in test-float.c on ppc64
4581         * tests/test-float.c (test_long_double): Comment out an assertion,
4582         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4583         with gcc-4.4.4.
4584
4585         maint: indent with spaces, not TABs
4586         I need to get in the habit of running gnulib's "make check".
4587         Both of these would have been caught.
4588         * m4/largefile.m4: Indent with spaces, not TABs.
4589         * lib/parse-datetime.y (iso_8601_time): Likewise.
4590         Spotted by Pádraig Brady.
4591
4592         test-parse-datetime.c: accommodate a relatively strict gcc warning
4593         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4594         to avoid a warning from gcc's -Werror=missing-declarations.
4595         Insert a few spaces-before-funcall-parenthesis.
4596
4597 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4598
4599         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4600         The parser now accepts ISO 8601 date-time strings with "T" as the
4601         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4602         with a space between the date and time strings.  Now it also parses
4603         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4604         variants like "2004-02-29T16:21:42.333-07:00"
4605         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4606         of day representation using the 'T' separator character.
4607         * doc/parse-datetime.texi (General date syntax): replace use of
4608         deprecated --iso-8601 option with --rfc-3339 in example of date
4609         command output formats that can be parsed.
4610         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4611         lib/parse-datetime.y.
4612         (gmt_offset): New function.
4613         (main): Add additional test cases to validate ISO8601 extended
4614         date and time of day parsing.
4615
4616 2011-08-31  Bruno Haible  <bruno@clisp.org>
4617
4618         freopen: Documentation.
4619         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4620         name.
4621         Reported by Claudio Bley <claudio.bley@gmail.com>.
4622
4623 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4624
4625         freopen: Don't crash if the filename argument is NULL.
4626         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4627         NULL.
4628
4629 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4630
4631         openat: work around AIX 7.1 fstatat bug
4632         Problem reported by Kevin Brott for GNU tar, in the thread containing
4633         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4634         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4635         FSTATAT_ST_SIZE_ETC_BROKEN.
4636         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4637         rpl_fstatat.
4638         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4639         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4640         AC_CHECK_FUNCS_ONCE for fstatat.
4641         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4642         fchmodat, mkdirat, openat and unlinkat.
4643
4644 2011-08-30  Bruno Haible  <bruno@clisp.org>
4645
4646         Avoid endless recursions if config.h includes some header files.
4647         * lib/fopen.c (__need_FILE): Define already before including config.h.
4648         * lib/freopen.c (__need_FILE): Likewise.
4649         * lib/open.c (__need_system_fcntl_h): Likewise.
4650         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4651         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4652         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4653
4654 2011-08-25  Karl Berry  <karl@gnu.org>
4655
4656         * config/srclist.txt (ylwrap): new try.
4657         * build-aux/ylwrap: new file.
4658
4659 2011-08-23  Bruno Haible  <bruno@clisp.org>
4660
4661         tmpdir: Use a good default directory on native Windows.
4662         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4663         (P_tmpdir): Default to _P_tmpdir on native Windows.
4664         (path_search): On native Windows, try the value returned by GetTempPath
4665         before trying P_tmpdir.
4666         * modules/tmpdir (Depends-on): Add pathmax.
4667         Suggested by John Darrington <john@darrington.wattle.id.au>.
4668
4669 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4670
4671         doc: fix typo in README-release
4672         * top/README-release: Capitalize first word of a sentence.
4673
4674 2011-08-19  Jim Meyering  <meyering@redhat.com>
4675
4676         fts: do not exhaust memory when processing million-entry directories
4677         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4678         directory would require about 256*N bytes of memory.  Thus, it was
4679         easy to construct a directory too large to be processed by any of
4680         those tools.  With this change, fts' maximum memory utilization is
4681         now limited to around 30MB.
4682         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4683         (fts_read): When we've processed the final entry (i.e., when
4684         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4685         using the parent entry to read any remaining entries.  Dispatch
4686         depending on what fts_build returns:
4687         - NULL+stop, aka failure: stop
4688         - NULL otherwise: move up in the dir hierarchy
4689         - non-NULL: handle this new entry
4690         (fts_build): Declare and use new local, continue_readdir.
4691         Prepare to be called from fts_read, when the entries
4692         from a partially-read directory have just been exhausted.
4693         In that case, we'll skip the opendir and instead use the parent's
4694         fts_dirp and derive dir_fd from that.
4695         Finally, in the readdir loop, if we read max_entries entries,
4696         exit the loop ensuring *not* to call closedir.  This is required
4697         so that fts_dirp can be reused on a subsequent call.
4698         Prompted by Ben England's report of memory exhaustion in find
4699         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4700
4701         maint: fts: move decl of `dp' down into while loop; split a long line
4702         * lib/fts.c (fts_build): No semantic change.
4703
4704         fts: add/use new struct member, fts_dirp
4705         We are about to use this to manage any directory with
4706         too many entries to read all of them into memory at once.
4707         To do that, we'll need to save the DIR* pointer in each
4708         affected FTSENT struct.
4709         * lib/fts_.h: Include <dirent.h>.
4710         (struct FTSENT) [fts_dirp]: New member.
4711         * lib/fts.c (closedir_and_clear): Define.
4712         Use it in place of closedir so that we are sure to
4713         clear the new fts_dirp member when done with it.
4714         (fts_alloc): Initialize the new member.
4715         (fts_lfree): Free, if needed.
4716
4717         maint: fts: give __opendir2 a new parameter and rename
4718         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4719         than surreptitiously using sole caller's "dir_fd".
4720         (fts_opendir): Rename from __opendir2.
4721
4722         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4723         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4724
4725         maint: fts.c: correct off-by-one indentation
4726         * lib/fts.c (fts_build): Correct indentation, change style
4727         of a couple of block comments, and bracing style.
4728
4729         maint: fts.c: move __opendir2 #define "up" out of function body
4730         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4731
4732         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4733         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4734         out for a long time and besides was useful only on BSD systems.
4735
4736 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4737
4738         regex: port to Stratus OpenVOS
4739         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4740         define to empty, rather than attempting nonportable optimizations.
4741         Problem reported by Paul Green in:
4742         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4743         and fix suggested by Eric Blake in:
4744         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4745
4746 2011-08-17  Eric Blake  <eblake@redhat.com>
4747
4748         getcwd: fix test failures on mingw
4749         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4750         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4751         test if long directory cannot be created, and allow mingw errno.
4752
4753         getcwd-lgpl: fix m4 to match relaxed test for BSD
4754         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4755         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4756         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4757         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4758         signature problem.
4759
4760         getcwd: fix compilation on mingw64
4761         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4762         getcwd.
4763         Reported by Marc-André Lureau.
4764
4765         pipe2: silence compiler warning
4766         * lib/pipe2.c (pipe2): Hide label if it is not used.
4767
4768 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4769
4770         relocatable-prog: fix link error
4771         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4772         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4773         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4774         into modules/relocatable-lib without noticing that
4775         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4776         also needs to build relocatable.c.
4777
4778 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4779
4780         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4781         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4782         shell code: it contained a 'break' that was not in a loop.
4783         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4784         via a shell-language loop; this may have been true in old Autoconf
4785         versions, but it's not true in Autoconf 2.68.  I found this bug
4786         when testing coreutils git on Solaris 8, whose shell complains
4787         about the syntax error.
4788
4789 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4790
4791         * lib/base64.c: Fix comment to reference RFC 4648.
4792         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4793         <gvtulder@gmail.com>.
4794
4795 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4796
4797         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4798
4799         po/Makefile.in.in: fix make -q problem
4800         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4801         rule, since there's no file named 'check-macro-version' and its
4802         use as a file breaks make -q.
4803         (all): Don't depend on check-macro-version.
4804         (CHECK_MACRO_VERSION): New macro.
4805         (stamp-po): Use it.
4806
4807         configmake: fix make -q problem
4808         * modules/configmake (configmake.h): Update configmake.h's time stamp
4809         even if the file does not change.  Otherwise, 'make -q' fails.
4810         Problem reported by Simon Josefsson in
4811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4812
4813 2011-08-11  Jim Meyering  <meyering@redhat.com>
4814
4815         git-version-gen: correct the advice in a comment
4816         * build-aux/git-version-gen: Correct comment.
4817         Don't recommend to list .tarball-version in .gitignore.
4818
4819 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4820
4821         base64: fix off-by-one buffer size bug
4822         Problem and (trivial) fix reported by Gijs van Tulder in
4823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4824         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4825         * tests/test-base64.c (main): Catch the bug.
4826
4827 2011-08-10  Eric Blake  <eblake@redhat.com>
4828
4829         closein: correct comments
4830         * lib/closein.c (close_stdin): Improve comments.
4831
4832 2011-08-09  Bruno Haible  <bruno@clisp.org>
4833
4834         More tests for 'fseeko'.
4835         * tests/test-fseeko3.c: New file, from Eric Blake.
4836         * tests/test-fseeko3.sh: New file.
4837         * modules/fseeko-tests (Files): Add them.
4838         (TESTS): Add test-fseeko3.sh.
4839         (check_PROGRAMS): Add test-fseeko3.
4840
4841 2011-08-09  Eric Blake  <eblake@redhat.com>
4842
4843         fseeko: remove unneeded hack
4844         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4845
4846         fseeko: fix bug on glibc
4847         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4848         Reported by John W. Eaton.
4849
4850 2011-08-08  Bruno Haible  <bruno@clisp.org>
4851
4852         unictype/base: Fix interoperability with preinstalled libunistring.
4853         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4854         Reported by Simon Josefsson.
4855
4856 2011-08-08  Bruno Haible  <bruno@clisp.org>
4857
4858         iswblank: Detect declaration correctly.
4859         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4860         AC_CHECK_DECLS invocation.
4861
4862 2011-08-08  Bruno Haible  <bruno@clisp.org>
4863
4864         tcgetsid: Detect declaration correctly.
4865         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4866         AC_CHECK_DECLS invocation.
4867         Reported by Simon Josefsson.
4868
4869 2011-08-08  Eric Blake  <eblake@redhat.com>
4870
4871         largefile: fix typo that regressed large file support
4872         * modules/largefile (configure.ac-early): Fix section name.
4873
4874 2011-08-06  Karl Berry  <karl@gnu.org>
4875
4876         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4877         a separate module.
4878
4879 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4880
4881         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4882         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4883         get prototype for free.
4884
4885 2011-08-04  Bruno Haible  <bruno@clisp.org>
4886
4887         Tests for module 'pathmax'.
4888         * modules/pathmax-tests: New file.
4889         * tests/test-pathmax.c: New file.
4890
4891         canonicalize-lgpl: Support larger filenames on the Hurd.
4892         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4893         Reported by Paul Eggert.
4894
4895         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4896         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4897         * lib/chdir-long.h: Include pathmax.h.
4898         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4899         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4900         (PATH_MAX): Remove code that is done by pathmax.h.
4901         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4902         * lib/tmpfile.c: Add a comment.
4903         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4904         * modules/chdir-long (Depends-on): Add pathmax.
4905         * modules/getcwd (Depends-on): Add pathmax.
4906         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4907         is not defined.
4908         * doc/posix-headers/limits.texi: Mention the pathmax module.
4909         * NEWS: Mention the change.
4910
4911 2011-08-02  Bruno Haible  <bruno@clisp.org>
4912
4913         pthread_sigmask: Actually use results of gl_THREADLIB.
4914         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4915         gl_THREADLIB, not gl_[]THREADLIB.
4916         Reported by Eric Blake.
4917
4918 2011-08-02  Jim Meyering  <meyering@redhat.com>
4919
4920         maint.mk: relax the default _gl_TS_function_match regexp
4921         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4922         space between function name and "(" in an "extern" declaration.
4923         That would fail to match a decl with no space there: extern void foo();
4924
4925 2011-07-31  Iain Nicol  <iain@thenicols.net>
4926
4927         git-version-gen: document that EXTRA_DIST must include .version
4928         * build-aux/git-version-gen: In the how-to-use comment, document
4929         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4930         will fail when run from an unpacked distribution tarball.
4931
4932 2011-08-01  Bruno Haible  <bruno@clisp.org>
4933
4934         wctype-h: Fix last change.
4935         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4936         REPLACE_TOWLOWER to 0.
4937         Reported by Sam Steingold <sds@gnu.org>.
4938
4939 2011-07-31  Bruno Haible  <bruno@clisp.org>
4940
4941         frexpl: Update autoconf test.
4942         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4943         according to changes of 2011-06-20.
4944
4945 2011-07-31  Bruno Haible  <bruno@clisp.org>
4946
4947         sys_utsname: Add support for Minix.
4948         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4949         <sys/utsname.h>.
4950         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4951         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4952
4953 2011-07-31  Bruno Haible  <bruno@clisp.org>
4954
4955         strings: Add support for Minix.
4956         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4957         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4958         * doc/posix-headers/strings.texi: Document the Minix problem.
4959
4960 2011-07-31  Bruno Haible  <bruno@clisp.org>
4961
4962         wctype-h: Add support for Minix.
4963         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4964         REPLACE_TOWLOWER.
4965         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4966         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4967         REPLACE_ISWCNTRL.
4968
4969 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4970
4971         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4972         This is a performance improvement for 64-bit hosts: it causes the
4973         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4974
4975 2011-07-31  Bruno Haible  <bruno@clisp.org>
4976
4977         stdioext: Add support for Minix.
4978         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4979         * lib/fpurge.c (fpurge): Likewise.
4980         * lib/freadahead.c (freadahead): Likewise.
4981         * lib/freadable.c (freadable): Likewise.
4982         * lib/freading.c (freading): Likewise.
4983         * lib/freadptr.c (freadptr): Likewise.
4984         * lib/freadseek.c (freadptrinc): Likewise.
4985         * lib/fseeko.c (rpl_fseeko): Likewise.
4986         * lib/fseterr.c (fseterr): Likewise.
4987         * lib/fwritable.c (fwritable): Likewise.
4988         * lib/fwriting.c (fwriting): Likewise.
4989         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4990         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4991
4992 2011-07-31  Bruno Haible  <bruno@clisp.org>
4993
4994         errno: Port to Minix.
4995         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4996         ECONNABORTED are defined.
4997         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4998         GNULIB_defined_ECONNABORTED): New macros.
4999         * lib/strerror-override.h (strerror_override): Test also
5000         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
5001         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
5002         ECONNABORTED.
5003         * doc/posix-headers/errno.texi: Mention the Minix problem.
5004
5005 2011-07-31  Bruno Haible  <bruno@clisp.org>
5006
5007         Work around declaration collisions on Minix.
5008         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
5009         defined, set REPLACE_MBSINIT.
5010         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
5011         defined, set REPLACE_MBRTOWC.
5012         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
5013         set REPLACE_MBRLEN.
5014         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
5015         defined, set REPLACE_MBSRTOWCS.
5016         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
5017         defined, set REPLACE_WCRTOMB.
5018         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
5019         defined, set REPLACE_WCSRTOMBS.
5020
5021 2011-07-31  Bruno Haible  <bruno@clisp.org>
5022
5023         Add support for Minix with ACK compiler.
5024         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
5025         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
5026         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
5027
5028 2011-07-31  Bruno Haible  <bruno@clisp.org>
5029
5030         Documentation about Minix.
5031         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
5032         * doc/glibc-headers/*.texi: Likewise.
5033         * doc/posix-functions/*.texi: Likewise.
5034         * doc/glibc-functions/*.texi: Likewise.
5035
5036 2011-07-31  Bruno Haible  <bruno@clisp.org>
5037
5038         snippet/warn-on-use: Fix indentation.
5039         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
5040
5041 2011-07-25  Jim Meyering  <meyering@redhat.com>
5042
5043         tests: test-update-copyright.sh: remove unnecessary "rm" commands
5044         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
5045         commands.
5046
5047 2011-07-27  Jim Meyering  <meyering@redhat.com>
5048
5049         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
5050         * top/maint.mk (gl_extract_significant_defines_): Now that
5051         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
5052         gnulib/lib/signal.in.h, and now that we recommend to
5053         define-if-undefined those two symbols in application code,
5054         we must filter them out of the "significant" list.
5055         This avoids a "make syntax-check" failure in coreutils.
5056
5057 2011-07-26  Eric Blake  <eblake@redhat.com>
5058
5059         warnings: add comments about previous patch
5060         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
5061         * m4/include_next.m4: Likewise.
5062         * m4/warn-on-use.m4: Likewise.
5063         * m4/warnings.m4: Likewise, and simplify use.
5064         Suggested by Stefano Lattarini.
5065
5066         include-next, warnings: support older autoconf
5067         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
5068         AS_VAR_PUSHDEF in a way that works with older autoconf.
5069         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
5070         Reported by Daniel P. Berrange.
5071
5072 2011-07-25  Bruno Haible  <bruno@clisp.org>
5073
5074         fseek, ftell: Fix doc.
5075         * doc/posix-functions/fseek.texi: Reword statement about
5076         AC_SYS_LARGEFILE.
5077         * doc/posix-functions/ftell.texi: Likewise.
5078
5079 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
5080             Bruno Haible  <bruno@clisp.org>
5081
5082         Add dependencies to the 'largefile' module.
5083         * modules/fopen (Depends-on): Add 'largefile'.
5084         * modules/freopen (Depends-on): Likewise.
5085         * modules/fseeko (Depends-on): Likewise.
5086         * modules/ftello (Depends-on): Likewise.
5087         * modules/glob (Depends-on): Likewise.
5088         * modules/lseek (Depends-on): Likewise.
5089         * modules/lstat (Depends-on): Likewise.
5090         * modules/mkostemp (Depends-on): Likewise.
5091         * modules/mkostemps (Depends-on): Likewise.
5092         * modules/mkstemp (Depends-on): Likewise.
5093         * modules/mkstemps (Depends-on): Likewise.
5094         * modules/open (Depends-on): Likewise.
5095         * modules/openat (Depends-on): Likewise.
5096         * modules/pread (Depends-on): Likewise.
5097         * modules/pwrite (Depends-on): Likewise.
5098         * modules/scandir (Depends-on): Likewise.
5099         * modules/stat (Depends-on): Likewise.
5100         * modules/tmpfile (Depends-on): Likewise.
5101         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
5102         since the containing module now depends on the largefile module.
5103         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
5104         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
5105         off_t is fixed by gnulib.
5106         * doc/posix-functions/freopen.texi: Likewise.
5107         * doc/posix-functions/fseeko.texi: Likewise.
5108         * doc/posix-functions/fstatat.texi: Likewise.
5109         * doc/posix-functions/ftello.texi: Likewise.
5110         * doc/posix-functions/glob.texi: Likewise.
5111         * doc/posix-functions/lseek.texi: Likewise.
5112         * doc/posix-functions/lstat.texi: Likewise.
5113         * doc/posix-functions/mkstemp.texi: Likewise.
5114         * doc/posix-functions/open.texi: Likewise.
5115         * doc/posix-functions/openat.texi: Likewise.
5116         * doc/posix-functions/pread.texi: Likewise.
5117         * doc/posix-functions/pwrite.texi: Likewise.
5118         * doc/posix-functions/scandir.texi: Likewise.
5119         * doc/posix-functions/stat.texi: Likewise.
5120         * doc/posix-functions/tmpfile.texi: Likewise.
5121         * doc/glibc-functions/mkostemp.texi: Likewise.
5122         * doc/glibc-functions/mkostemps.texi: Likewise.
5123         * doc/glibc-functions/mkstemps.texi: Likewise.
5124
5125 2011-07-25  Bruno Haible  <bruno@clisp.org>
5126
5127         fcntl: Move AC_LIBOBJ invocation to module description.
5128         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
5129         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
5130
5131         fcntl: Remove call-in from fchdir.m4.
5132         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
5133         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
5134
5135         dup3: Remove potential call-in from fchdir.m4.
5136         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
5137         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
5138
5139         dup2: Move AC_LIBOBJ invocation to module description.
5140         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
5141         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
5142         Don't invoke AC_LIBOBJ.
5143         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
5144
5145         dup2: Remove call-in from fchdir.m4.
5146         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
5147         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
5148
5149         fclose: Move AC_LIBOBJ invocation to module description.
5150         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
5151         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
5152         to 1.
5153         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
5154
5155         fclose: Remove call-in from close.m4.
5156         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
5157         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
5158
5159         close: Move AC_LIBOBJ invocation to module description.
5160         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
5161         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
5162         1.
5163         * modules/close (configure.ac): Invoke AC_LIBOBJ.
5164
5165         close: Remove call-in from fchdir.m4.
5166         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
5167         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
5168
5169         open: Move AC_LIBOBJ invocation to module description.
5170         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
5171         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
5172         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
5173
5174         open: Remove call-in from fchdir.m4.
5175         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
5176         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
5177
5178         fchdir: Start to remove gl_REPLACE_* idiom.
5179         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
5180         (gl_FUNC_FCHDIR): Invoke it.
5181
5182 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
5183
5184         * lib/ftell.c (ftell): Comment out cast.
5185
5186         close: use gl_REPLACE_FCLOSE only if defined
5187         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
5188         is defined.  The close module doesn't depend on the fclose module
5189         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
5190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
5191         I reproduced the problem with "./gnulib-tool --test close sys_socket".
5192
5193 2011-07-24  Jim Meyering  <meyering@redhat.com>
5194
5195         test-select.h: avoid warning when using gcc's -Wmissing-declarations
5196         * tests/test-select.h (test_function): Declare as "static".
5197
5198 2011-07-24  Bruno Haible  <bruno@clisp.org>
5199
5200         doc: Mention the effects of AC_SYS_LARGEFILE.
5201         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
5202         on this function.
5203         * doc/posix-functions/aio_error.texi: Likewise.
5204         * doc/posix-functions/aio_fsync.texi: Likewise.
5205         * doc/posix-functions/aio_read.texi: Likewise.
5206         * doc/posix-functions/aio_return.texi: Likewise.
5207         * doc/posix-functions/aio_suspend.texi: Likewise.
5208         * doc/posix-functions/aio_write.texi: Likewise.
5209         * doc/posix-functions/fgetpos.texi: Likewise.
5210         * doc/posix-functions/fopen.texi: Likewise.
5211         * doc/posix-functions/freopen.texi: Likewise.
5212         * doc/posix-functions/fsetpos.texi: Likewise.
5213         * doc/posix-functions/fstatvfs.texi: Likewise.
5214         * doc/posix-functions/ftruncate.texi: Likewise.
5215         * doc/posix-functions/ftw.texi: Likewise.
5216         * doc/posix-functions/getrlimit.texi: Likewise.
5217         * doc/posix-functions/glob.texi: Likewise.
5218         * doc/posix-functions/lio_listio.texi: Likewise.
5219         * doc/posix-functions/lockf.texi: Likewise.
5220         * doc/posix-functions/mkstemp.texi: Likewise.
5221         * doc/posix-functions/mmap.texi: Likewise.
5222         * doc/posix-functions/nftw.texi: Likewise.
5223         * doc/posix-functions/openat.texi: Likewise.
5224         * doc/posix-functions/opendir.texi: Likewise.
5225         * doc/posix-functions/posix_fadvise.texi: Likewise.
5226         * doc/posix-functions/posix_fallocate.texi: Likewise.
5227         * doc/posix-functions/pread.texi: Likewise.
5228         * doc/posix-functions/pwrite.texi: Likewise.
5229         * doc/posix-functions/readdir.texi: Likewise.
5230         * doc/posix-functions/readdir_r.texi: Likewise.
5231         * doc/posix-functions/rewinddir.texi: Likewise.
5232         * doc/posix-functions/scandir.texi: Likewise.
5233         * doc/posix-functions/seekdir.texi: Likewise.
5234         * doc/posix-functions/setrlimit.texi: Likewise.
5235         * doc/posix-functions/statvfs.texi: Likewise.
5236         * doc/posix-functions/telldir.texi: Likewise.
5237         * doc/posix-functions/tmpfile.texi: Likewise.
5238         * doc/posix-functions/truncate.texi: Likewise.
5239         * doc/glibc-functions/fallocate.texi: Likewise.
5240         * doc/glibc-functions/fstatfs.texi: Likewise.
5241         * doc/glibc-functions/fts_children.texi: Likewise.
5242         * doc/glibc-functions/fts_read.texi: Likewise.
5243         * doc/glibc-functions/getdirentries.texi: Likewise.
5244         * doc/glibc-functions/mkostemp.texi: Likewise.
5245         * doc/glibc-functions/mkostemps.texi: Likewise.
5246         * doc/glibc-functions/mkstemps.texi: Likewise.
5247         * doc/glibc-functions/preadv.texi: Likewise.
5248         * doc/glibc-functions/pwritev.texi: Likewise.
5249         * doc/glibc-functions/sendfile.texi: Likewise.
5250         * doc/glibc-functions/statfs.texi: Likewise.
5251
5252 2011-07-24  Bruno Haible  <bruno@clisp.org>
5253
5254         doc: Fix typo.
5255         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
5256
5257 2011-07-24  Bruno Haible  <bruno@clisp.org>
5258
5259         doc: Mention fsusage.
5260         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
5261
5262 2011-07-24  Bruno Haible  <bruno@clisp.org>
5263
5264         doc: Mention new glibc headers and functions.
5265         * doc/glibc-headers/gshadow.texi: New file.
5266         * doc/glibc-functions/endsgent.texi: New file.
5267         * doc/glibc-functions/fgetsgent.texi: New file.
5268         * doc/glibc-functions/fgetsgent_r.texi: New file.
5269         * doc/glibc-functions/getsgent.texi: New file.
5270         * doc/glibc-functions/getsgent_r.texi: New file.
5271         * doc/glibc-functions/getsgnam.texi: New file.
5272         * doc/glibc-functions/getsgnam_r.texi: New file.
5273         * doc/glibc-functions/putsgent.texi: New file.
5274         * doc/glibc-functions/setsgent.texi: New file.
5275         * doc/glibc-functions/sgetsgent.texi: New file.
5276         * doc/glibc-functions/sgetsgent_r.texi: New file.
5277         * doc/glibc-functions/malloc_info.texi: New file.
5278         * doc/glibc-functions/preadv.texi: New file.
5279         * doc/glibc-functions/pwritev.texi: New file.
5280         * doc/glibc-functions/register_printf_modifier.texi: New file.
5281         * doc/glibc-functions/register_printf_specifier.texi: New file.
5282         * doc/glibc-functions/register_printf_type.texi: New file.
5283         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
5284         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
5285         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
5286         * doc/glibc-functions/pthread_getname_np.texi: New file.
5287         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
5288         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
5289         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
5290         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
5291         * doc/glibc-functions/pthread_setname_np.texi: New file.
5292         * doc/glibc-functions/pthread_sigqueue.texi: New file.
5293         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
5294         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
5295         * doc/glibc-functions/qsort_r.texi: New file.
5296         * doc/glibc-functions/quick_exit.texi: New file.
5297         * doc/glibc-functions/syncfs.texi: New file.
5298         * doc/gnulib.texi: Include them.
5299         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
5300         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
5301         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
5302         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
5303         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
5304         * doc/glibc-functions/execvpe.texi: Likewise.
5305
5306 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5307
5308         ftell: don't include <unistd.h>
5309         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
5310         guaranteed to define off_t, and the ftell module depends on the
5311         stdio module.
5312
5313         ftell: do not assume wraparound signed arithmetic
5314         * lib/ftell.c: Include <limits.h>.
5315         (ftell): Don't assume wraparound signed arithmetic.
5316
5317 2011-07-24  Bruno Haible  <bruno@clisp.org>
5318
5319         close: No longer depend on module 'fclose'.
5320         * modules/close (Depends-on): Remove fclose.
5321         * NEWS: Mention the change.
5322         Suggested by Sam Steingold <sds@gnu.org>.
5323
5324 2011-07-24  Bruno Haible  <bruno@clisp.org>
5325
5326         fsusage: Enable large volume support on AIX >= 5.2.
5327         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
5328         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
5329         instead of STAT_STATVFS.
5330         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
5331
5332         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
5333         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
5334         f_blocks field only on MacOS X.
5335
5336         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
5337         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
5338         * modules/fsusage (Depends-on): Add largefile.
5339
5340 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5341
5342         * README: Modernize discussion of signed integers.
5343         Assuming overflow wraparound is no longer safe.
5344         Mention ones' complement and signed magnitude.
5345
5346 2011-07-22  Bruno Haible  <bruno@clisp.org>
5347
5348         select tests, pselect tests: Refactor.
5349         * tests/test-select.h: New file, extracted from tests/test-select.c.
5350         (select_fn): New type.
5351         (test, do_select, do_select_nowait, do_select_wait, test_tty,
5352         test_connect_first, test_accept_first, test_pair, test_socket_pair,
5353         test_pipe): Add my_select argument.
5354         (test_function): Renamed from main. Add my_select argument.
5355         * tests/test-select.c: Move most code to tests/test-select.h. Include
5356         test-select.h.
5357         * modules/select-tests (Files): Add tests/test-select.h.
5358         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
5359         (my_select, main): New functions.
5360         * modules/pselect-tests (Files): Add tests/test-select.h,
5361         tests/macros.h, tests/signature.h.
5362         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
5363         (configure.ac): Check for <sys/wait.h>.
5364
5365 2011-07-22  Bruno Haible  <bruno@clisp.org>
5366
5367         sys_select tests: Check the signature of FD_*.
5368         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
5369         signature tests from here...
5370         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
5371         here.
5372         * modules/sys_select-tests (Files): Add tests/signature.h.
5373
5374 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5375
5376         largefile: new module, replacing large-inode
5377         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
5378         * MODULES.html.sh: Add largefile, remove large-inode.
5379         * modules/largefile, m4/largefile.m4: New files.
5380         * modules/large-inode, m4/large-inode.m4: Remove.
5381
5382         fsusage: port to MacOS X 10.7 with 4 TiB file systems
5383         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
5384         implementations that use only 32 bits to count blocks.
5385         On typical hosts with 1024-byte blocks, this fails with file
5386         systems as small as 4 TiB.  Problem reported by Herb Wartens
5387         <http://debbugs.gnu.org/9140> and this should also fix a similar
5388         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
5389
5390         large-inode: New module
5391         * MODULES.html.sh: Add it.
5392         * modules/large-inode, m4/large-inode.m4: New files.
5393
5394         extensions: Enable extensions on MacOS X 10.5 and later.
5395         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
5396
5397 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
5398
5399         file-has-acl: use acl_extended_file_nofollow if available
5400         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
5401         (acl_extended_file): New macro.
5402         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
5403         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
5404
5405 2011-07-21  Bruno Haible  <bruno@clisp.org>
5406
5407         Declare system functions in a way that works with C++.
5408         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5409         declare fdopendir as extern "C".
5410         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5411         declare frexpl as extern "C".
5412         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5413         declare gai_strerror as extern "C".
5414         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5415         programs, declare gai_strerror as extern "C".
5416         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5417         declare getlogin_r as extern "C".
5418         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5419         as extern "C".
5420         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5421         declare ldexpl as extern "C".
5422         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5423         as extern "C".
5424         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5425         program, declare getmntinfo as extern "C".
5426         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5427         stpncpy as extern "C".
5428         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5429         program, declare __xpg_strerror_r as extern "C".
5430         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5431         strndup as extern "C".
5432         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5433         declare memset and bzero as extern "C".
5434         Reported by Sam Steingold <sds@gnu.org>.
5435
5436 2011-07-12  Jim Meyering  <meyering@redhat.com>
5437
5438         maint.mk: prohibit inclusion of "verify.h" without use
5439         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5440
5441 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5442
5443         timer-time: A new module to check for timer_settime()
5444         * m4/timer_time.m4: Check for the posix function.
5445         * modules/timer-time: Add the new module.
5446         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5447         Mention it.
5448
5449 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5450             Bruno Haible  <bruno@clisp.org>
5451
5452         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5453         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5454         not defined, assume POSIX threads and look for pthread_sigmask in
5455         $LIBS, without changing $CPPFLAGS.
5456
5457 2011-07-19  Bruno Haible  <bruno@clisp.org>
5458
5459         strstr: Update cross-compilation guess.
5460         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5461         CPUs, guess no, in view of glibc
5462         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5463         Suggested by Eric Blake. Reported by Reuben Thomas.
5464
5465 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5466
5467         getopt-gnu: suppress core dumps from detection code
5468         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5469         to suppress core dumps that may well occur on glibc systems.
5470         * modules/getopt-gnu: Depend on nocrash.
5471
5472 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5473
5474         pthread_sigmask: ensure usleep is declared
5475         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5476         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5477
5478 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5479
5480         doc: Document NonStop portability issues.
5481         * doc/posix-functions/sigaction.texi (sigaction):
5482         * doc/posix-headers/signal.texi (signal.h):
5483         Document NonStop.  See Joachim Schmitz in
5484         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5485
5486 2011-07-15  Bruno Haible  <bruno@clisp.org>
5487
5488         ffsl, ffsll: Avoid unportable behaviour.
5489         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5490
5491 2011-07-15  Bruno Haible  <bruno@clisp.org>
5492
5493         ffs: More tests.
5494         * tests/test-ffs.c (NBITS): New macro.
5495         (main): Add more tests.
5496         * tests/test-ffsl.c (NBITS): New macro.
5497         (main): Add more tests.
5498         * tests/test-ffsll.c (NBITS): New macro.
5499         (main): Add more tests.
5500
5501 2011-07-15  Eric Blake  <eblake@redhat.com>
5502
5503         ffsl, ffsll: new modules
5504         * modules/ffsl: New file.
5505         * modules/ffsll: Likewise.
5506         * m4/ffsl.m4: Likewise.
5507         * m4/ffsll.m4: Likewise.
5508         * lib/ffsl.c: Likewise.
5509         * lib/ffsl.h: Likewise.
5510         * lib/ffsll.c: Likewise.
5511         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5512         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5513         * modules/string (Makefile.am): Substitute witnesses.
5514         * lib/strings.in.h (ffsl, ffsll): Declare.
5515         * modules/ffsl-tests: New test file.
5516         * modules/ffsll-tests: Likewise.
5517         * tests/test-ffsl.c: Likewise.
5518         * tests/test-ffsll.c: Likewise.
5519         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5520         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5521         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5522
5523         ffs: fix m4 prerequisite
5524         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5525
5526         ffs: avoid undefined behavior
5527         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5528         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5529         Reported by Bruno Haible.
5530
5531 2011-07-12  Bruno Haible  <bruno@clisp.org>
5532
5533         pthread_sigmask: Rely on module 'threadlib'.
5534         * modules/pthread_sigmask (Depends-on): Add threadlib.
5535         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5536         is defined.
5537
5538 2011-07-12  Bruno Haible  <bruno@clisp.org>
5539
5540         regex: Depend on module 'strcase'.
5541         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5542
5543 2011-07-12  Jim Meyering  <meyering@redhat.com>
5544
5545         warn-on-use: fix typo in file name
5546         * modules/snippet/warn-on-use (Files): Correct file name:
5547         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5548
5549 2011-07-12  Bruno Haible  <bruno@clisp.org>
5550
5551         strings: Document module.
5552         * doc/posix-headers/strings.texi: Mention module 'strings'.
5553
5554 2011-07-12  Bruno Haible  <bruno@clisp.org>
5555
5556         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5557         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5558         (Files, Makefile.am): Update.
5559         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5560         * modules/stdlib (Depends-on): Update.
5561
5562 2011-07-12  Bruno Haible  <bruno@clisp.org>
5563
5564         * NEWS: Mention the changes.
5565
5566         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5567         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5568         (Files, Makefile.am): Update.
5569         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5570         * modules/arpa_inet (Depends-on): Update.
5571         * modules/ctype (Depends-on): Update.
5572         * modules/dirent (Depends-on): Update.
5573         * modules/fcntl-h (Depends-on): Update.
5574         * modules/glob (Depends-on): Update.
5575         * modules/iconv-h (Depends-on): Update.
5576         * modules/inttypes-incomplete (Depends-on): Update.
5577         * modules/langinfo (Depends-on): Update.
5578         * modules/locale (Depends-on): Update.
5579         * modules/math (Depends-on): Update.
5580         * modules/netdb (Depends-on): Update.
5581         * modules/poll-h (Depends-on): Update.
5582         * modules/pty (Depends-on): Update.
5583         * modules/search (Depends-on): Update.
5584         * modules/signal (Depends-on): Update.
5585         * modules/spawn (Depends-on): Update.
5586         * modules/stdio (Depends-on): Update.
5587         * modules/stdlib (Depends-on): Update.
5588         * modules/string (Depends-on): Update.
5589         * modules/strings (Depends-on): Update.
5590         * modules/sys_file (Depends-on): Update.
5591         * modules/sys_ioctl (Depends-on): Update.
5592         * modules/sys_select (Depends-on): Update.
5593         * modules/sys_socket (Depends-on): Update.
5594         * modules/sys_stat (Depends-on): Update.
5595         * modules/sys_time (Depends-on): Update.
5596         * modules/sys_times (Depends-on): Update.
5597         * modules/sys_utsname (Depends-on): Update.
5598         * modules/sys_wait (Depends-on): Update.
5599         * modules/termios (Depends-on): Update.
5600         * modules/time (Depends-on): Update.
5601         * modules/unistd (Depends-on): Update.
5602         * modules/wchar (Depends-on): Update.
5603         * modules/wctype-h (Depends-on): Update.
5604         * MODULES.html.sh (Support for building libraries and executables):
5605         Update.
5606
5607         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5608         * modules/snippet/unused-parameter: Renamed from
5609         modules/unused-parameter.
5610         (Files, Makefile.am): Update.
5611         * build-aux/snippet/unused-parameter.h: Renamed from
5612         build-aux/unused-parameter.h.
5613         * modules/selinux-h (Depends-on): Update.
5614         * modules/unistr/base (Depends-on): Update.
5615         * MODULES.html.sh (Core language properties): Update.
5616
5617         Rename module 'link-warning' to 'snippet/link-warning'.
5618         * modules/snippet/link-warning: Renamed from modules/link-warning.
5619         (Files, Makefile.am): Update.
5620         * build-aux/snippet/link-warning.h: Renamed from
5621         build-aux/link-warning.h.
5622         * MODULES.html.sh (Support for building libraries and executables):
5623         Update.
5624
5625         Rename module 'c++defs' to 'snippet/c++defs'.
5626         * modules/snippet/c++defs: Renamed from modules/c++defs.
5627         (Files, Makefile.am): Update.
5628         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5629         * modules/arpa_inet (Depends-on): Update.
5630         * modules/ctype (Depends-on): Update.
5631         * modules/dirent (Depends-on): Update.
5632         * modules/fcntl-h (Depends-on): Update.
5633         * modules/glob (Depends-on): Update.
5634         * modules/iconv-h (Depends-on): Update.
5635         * modules/langinfo (Depends-on): Update.
5636         * modules/locale (Depends-on): Update.
5637         * modules/math (Depends-on): Update.
5638         * modules/netdb (Depends-on): Update.
5639         * modules/poll-h (Depends-on): Update.
5640         * modules/pty (Depends-on): Update.
5641         * modules/search (Depends-on): Update.
5642         * modules/signal (Depends-on): Update.
5643         * modules/spawn (Depends-on): Update.
5644         * modules/stdio (Depends-on): Update.
5645         * modules/stdlib (Depends-on): Update.
5646         * modules/string (Depends-on): Update.
5647         * modules/strings (Depends-on): Update.
5648         * modules/sys_ioctl (Depends-on): Update.
5649         * modules/sys_select (Depends-on): Update.
5650         * modules/sys_socket (Depends-on): Update.
5651         * modules/sys_stat (Depends-on): Update.
5652         * modules/sys_time (Depends-on): Update.
5653         * modules/sys_wait (Depends-on): Update.
5654         * modules/termios (Depends-on): Update.
5655         * modules/time (Depends-on): Update.
5656         * modules/unistd (Depends-on): Update.
5657         * modules/wchar (Depends-on): Update.
5658         * modules/wctype-h (Depends-on): Update.
5659
5660         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5661         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5662         (Files, Makefile.am): Update.
5663         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5664         * modules/argv-iter (Depends-on): Update.
5665         * modules/arpa_inet (Depends-on): Update.
5666         * modules/dirent (Depends-on): Update.
5667         * modules/fcntl-h (Depends-on): Update.
5668         * modules/fnmatch (Depends-on): Update.
5669         * modules/getopt-posix (Depends-on): Update.
5670         * modules/glob (Depends-on): Update.
5671         * modules/iconv-h (Depends-on): Update.
5672         * modules/inttypes-incomplete (Depends-on): Update.
5673         * modules/locale (Depends-on): Update.
5674         * modules/math (Depends-on): Update.
5675         * modules/netdb (Depends-on): Update.
5676         * modules/search (Depends-on): Update.
5677         * modules/signal (Depends-on): Update.
5678         * modules/spawn (Depends-on): Update.
5679         * modules/stdio (Depends-on): Update.
5680         * modules/stdlib (Depends-on): Update.
5681         * modules/string (Depends-on): Update.
5682         * modules/strings (Depends-on): Update.
5683         * modules/sys_socket (Depends-on): Update.
5684         * modules/sys_stat (Depends-on): Update.
5685         * modules/sys_time (Depends-on): Update.
5686         * modules/sys_times (Depends-on): Update.
5687         * modules/sys_utsname (Depends-on): Update.
5688         * modules/time (Depends-on): Update.
5689         * modules/unistd (Depends-on): Update.
5690         * modules/wchar (Depends-on): Update.
5691         * MODULES.html.sh (Support for building libraries and executables):
5692         Update.
5693
5694 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5695
5696         Improvements on _Noreturn and related modules.
5697
5698         modules/_Exit-tests: test _Noreturn too
5699         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5700         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5701         (main): Use them.
5702
5703         stdnoreturn, stdnoreturn-tests: remove modules
5704         They're not needed here and a bit premature for use elsewhere.  See
5705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5706         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5707         * tests/test-stdnoreturn.c: Remove files.
5708         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5709         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5710         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5711         and using noreturn.
5712         * modules/openat, modules/sigpipe-die, modules/xalloc:
5713         * modules/xmemdup0, modules/xstrtol:
5714         Remove dependency on stdnoreturn.
5715
5716         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5717         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5718         Reparenthesize to avoid GCC warning.
5719         Support Microsoft's syntax.
5720         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5721
5722         _Noreturn-tests: remove module
5723         * modules/_Noreturn-tests: Remove.
5724         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5725         * tests/test-_Noreturn.c: Remove.
5726         * tests/test-stdnoreturn.c: Merge from the old
5727         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5728
5729 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5730
5731         _Noreturn, stdnoreturn, and related modules.
5732
5733         * top/maint.mk: Adjust to new noreturn support.
5734         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5735         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5736
5737         xalloc: use stdnoreturn.h
5738         * lib/xalloc.h: Include <stdnoreturn.h>.
5739         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5740         * modules/xalloc (Depends-on): Add stdnoreturn.
5741
5742         xstrtol: use stdnoreturn.h
5743         * lib/xstrtol.h: Include <stdnoreturn.h>.
5744         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5745         * modules/xstrtol (Depends-on): Add stdnoreturn.
5746
5747         xmemdup0: use stdnoreturn.h
5748         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5749         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5750         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5751
5752         sigpipe-die: use stdnoreturn.h
5753         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5754         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5755         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5756
5757         openat: use stdnoreturn.h
5758         * lib/openat.h: Include <stdnoreturn.h>.
5759         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5760         * modules/openat (Depends-on): Add stdnoreturn.
5761
5762         * lib/openat-die.c (openat_save_fail): Modernize comment.
5763
5764         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5765
5766         * lib/glthread/thread.h: Modernize comment.
5767
5768         obstack: use _Noreturn
5769         * lib/obstack.c (__attribute__): Remove macro.
5770         (print_and_abort): Use _Noreturn.
5771
5772         c-stack: use _Noreturn
5773         * lib/c-stack.c (die, overflow_handler, segv_handler):
5774         Use _Noreturn rather than __attribute__((noreturn)).
5775
5776         argmatch-tests, exclude_tests: use _Noreturn
5777         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5778         Remove.
5779         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5780
5781         stdlib: use _Noreturn
5782         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5783         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5784         * modules/stdlib (Depends-on): Add _Noreturn.
5785         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5786
5787         stdnoreturn-tests: new module
5788         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5789
5790         stdnoreturn: new module
5791         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5792         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5793
5794         _Noreturn-tests: new module
5795         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5796
5797         _Noreturn: new module
5798         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5799         New section, mentioning it.
5800         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5801
5802         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5803
5804 2011-07-11  Eric Blake  <eblake@redhat.com>
5805
5806         ffs: new module
5807         * modules/ffs: New file.
5808         * m4/ffs.m4: Likewise.
5809         * lib/ffs.c: Likewise.
5810         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5811         * modules/strings (Makefile.am): Substitute witness.
5812         (Depends-on): Add c++defs.
5813         * lib/strings.in.h (ffs): Declare.
5814         * modules/ffs-tests: New test file.
5815         * tests/test-ffs.c: Test new module.
5816         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5817         * doc/posix-functions/ffs.texi (ffs): Likewise.
5818
5819         regex: avoid compiler warning
5820         * lib/regex.c (includes): Include <strings.h>, for use of
5821         strcasecmp in regcomp.c.
5822         Reported by Joachim Schmitz.
5823
5824 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5825
5826         stdint: respect system's intmax_t if INTMAX_MAX
5827         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5828         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5829         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5830         long but int64_t is long long, and where we will clash with the
5831         system intmax_t if we override it.  See
5832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5833         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5834         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5835         similarly for UINTMAX_C.
5836
5837 2011-07-08  Bruno Haible  <bruno@clisp.org>
5838
5839         pthread_sigmask tests: Avoid a compiler warning.
5840         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5841         non-zero.
5842
5843         sigprocmask tests: A better way to avoid a compiler warning.
5844         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5845         (main): Complain if system() returns non-zero.
5846         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5847
5848 2011-07-08  Bruno Haible  <bruno@clisp.org>
5849
5850         pthread_sigmask: Work around IRIX bug.
5851         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5852         bug.
5853         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5854         there may be unblocked pending signals.
5855         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5856
5857 2011-07-08  Bruno Haible  <bruno@clisp.org>
5858
5859         pthread_sigmask: Work around Cygwin bug.
5860         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5861         bug.
5862         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5863         the system's pthread_sigmask function.
5864         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5865
5866 2011-07-08  Bruno Haible  <bruno@clisp.org>
5867
5868         pthread_sigmask: Work around bug in single-threaded implementation.
5869         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5870         FreeBSD, HP-UX, Solaris bug.
5871         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5872         * lib/pthread_sigmask.c: Include <stddef.h>.
5873         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5874         the system's pthread_sigmask function.
5875         * modules/pthread_sigmask (configure.ac): Invoke
5876         gl_PREREQ_PTHREAD_SIGMASK.
5877         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5878         HP-UX, Solaris.
5879
5880 2011-07-08  Eric Blake  <eblake@redhat.com>
5881
5882         test-sigprocmask: avoid compiler warning
5883         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5884         * tests/test-sigprocmask.c (main): Use it to silence warning.
5885         Reported by Jim Meyering.
5886
5887         test-snprintf: avoid compiler warning
5888         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5889         * tests/test-vsnprintf.c (main): Likewise.
5890         Reported by Jim Meyering.
5891
5892 2011-07-08  Bruno Haible  <bruno@clisp.org>
5893
5894         Tests for module 'pthread_sigmask'.
5895         * modules/pthread_sigmask-tests: New file.
5896         * tests/test-pthread_sigmask1.c: New file, based on
5897         tests/test-sigprocmask.c.
5898         * tests/test-pthread_sigmask2.c: New file.
5899
5900 2011-07-08  Jim Meyering  <meyering@redhat.com>
5901
5902         test-getopt.h: avoid warning about an unused variable
5903         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5904
5905 2011-07-07  Jim Meyering  <meyering@redhat.com>
5906
5907         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5908         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5909         now that it no longer contains leading TABs.
5910         Remove unused "url=FIXME" statement.
5911
5912 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5913
5914         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5915         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5916         When gl_THREADLIB is not in use, assume that the POSIX sematics
5917         are desired.  This is better for Emacs, which uses POSIX semantics
5918         on GNUish and/or POSIXish platforms, and does not use threads at
5919         all otherwise.
5920
5921         pthread_sigmask: fix typo when testing for libraries
5922         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5923         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5924
5925 2011-07-08  Eric Blake  <eblake@redhat.com>
5926
5927         fts: introduce FTS_NOATIME
5928         * lib/fts_.h (FTS_NOATIME): New bit flag.
5929         (FTS_OPTIONMASK): Adjust.
5930         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5931         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5932
5933 2011-07-08  Bruno Haible  <bruno@clisp.org>
5934
5935         Tests for module 'thread'.
5936         * modules/thread-tests: New file.
5937         * tests/test-thread_self.c: New file.
5938         * tests/test-thread_create.cc: New file.
5939
5940 2011-07-08  Bruno Haible  <bruno@clisp.org>
5941
5942         thread: Avoid gcc warnings when using gl_thread_self().
5943         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5944         'void *'.
5945         (gl_thread_self_pointer): Update.
5946
5947 2011-07-07  Bruno Haible  <bruno@clisp.org>
5948
5949         signal-c++-tests: Check declaration of pthread_sigmask.
5950         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5951         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5952         $(LIB_PTHREAD_SIGMASK).
5953
5954 2011-07-07  Bruno Haible  <bruno@clisp.org>
5955
5956         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5957         * lib/signal.in.h (pthread_sigmask): Override if
5958         REPLACE_PTHREAD_SIGMASK is 1.
5959         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5960         REPLACE_PTHREAD_SIGMASK.
5961         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5962         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5963         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5964         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5965         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5966
5967 2011-07-07  Bruno Haible  <bruno@clisp.org>
5968
5969         pthread_sigmask: Ensure declaration in <signal.h>.
5970         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5971         include <pthread.h>.
5972         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5973         problem.
5974
5975 2011-07-07  Bruno Haible  <bruno@clisp.org>
5976
5977         pthread_sigmask: Document the module.
5978         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5979
5980 2011-07-07  Bruno Haible  <bruno@clisp.org>
5981
5982         pthread_sigmask: Follow gnulib conventions.
5983         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5984         gl_PTHREAD_SIGMASK.
5985         * modules/pthread_sigmask (configure.ac): Update.
5986
5987 2011-07-07  Bruno Haible  <bruno@clisp.org>
5988
5989         pthread_sigmask: Make declaration C++ safe.
5990         * lib/signal.in.h: In two special conditions, just do an #include_next.
5991         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5992         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5993         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5994         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5995         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5996         not REPLACE_PTHREAD_MASK.
5997         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5998         not REPLACE_PTHREAD_MASK.
5999         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
6000
6001 2011-07-07  Bruno Haible  <bruno@clisp.org>
6002
6003         pthread_sigmask: Fix return value.
6004         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
6005         * lib/pthread_sigmask.c: New file.
6006         * modules/pthread_sigmask (Files): Add it.
6007         (configure.ac): Invoke AC_LIBOBJ.
6008
6009 2011-07-07  Eric Blake  <eblake@redhat.com>
6010
6011         getopt: more portable argv creation
6012         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
6013         const, use char arrays rather than strings.
6014         Suggested by Paul Eggert.
6015
6016 2011-07-07  Bruno Haible  <bruno@clisp.org>
6017
6018         Tests for module 'sigprocmask'.
6019         * modules/sigprocmask-tests: New file.
6020         * tests/test-sigprocmask.c: New file.
6021
6022 2011-07-07  Bruno Haible  <bruno@clisp.org>
6023
6024         float tests: Tweak.
6025         * tests/test-float.c (main): Tweak skip message.
6026
6027 2011-07-07  Eric Blake  <eblake@redhat.com>
6028
6029         getopt: avoid compiler warning during configure
6030         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
6031         assigning string literals to non-const pointer.
6032
6033         getopt-gnu: avoid crash in glibc getopt
6034         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
6035         * tests/test-getopt.h (test_getopt): Enhance test.
6036         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6037         * doc/posix-functions/getopt.texi (getopt): Document it.
6038         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
6039         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
6040         Likewise.
6041
6042 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
6043
6044         getopt: handle W; without long options in getopt [BZ #12922]
6045         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
6046         but no long options are defined, just return 'W'.
6047
6048 2011-07-07  Bruno Haible  <bruno@clisp.org>
6049
6050         Avoid literal tabs.
6051         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
6052         variable containing a tab instead of a literal tab.
6053         Reported by Jim Meyering.
6054
6055 2011-07-07  Bruno Haible  <bruno@clisp.org>
6056
6057         Comments.
6058         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
6059
6060 2011-07-06  Bruno Haible  <bruno@clisp.org>
6061
6062         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
6063         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
6064         <winsock2.h>.
6065         (rpl_fd_isset, FD_ISSET): New definitions, copied from
6066         lib/sys_socket.in.h.
6067         (close, gethostname): Hide declarations from <winsock2.h>.
6068         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
6069         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
6070         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
6071         (select): Don't override if gnulib's <sys/select.h> was already
6072         included.
6073         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
6074         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
6075         setsockopt, shutdown, select): Tweak indentation.
6076
6077 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6078
6079         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
6080         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
6081         in an application that does not use the sys_select module.
6082
6083 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
6084
6085         poll: do not return 0 on timeout=-1
6086         * lib/poll.c: Loop with yield if no events occured
6087
6088 2011-07-06  Eric Blake  <eblake@redhat.com>
6089
6090         pthread_sigmask: always replace when not using pthread
6091         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
6092         replacement when using some threading other than pthread.  Fix
6093         logic bug.
6094
6095 2011-07-06  Bruno Haible  <bruno@clisp.org>
6096
6097         Comments.
6098         * m4/printf.m4: Update comments about mingw.
6099
6100 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6101
6102         sys_select: define sigset_t more portably
6103         * lib/sys_select.in.h: Always include <sys/types.h>, since
6104         we now need sigset_t and mingw defines it there.
6105         Include <signal.h> before split inclusion guard, to avoid
6106         mishaps on Solaris, whose <signal.h> eventually includes us.
6107         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
6108         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
6109         which come from ...
6110         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
6111         gl_CHECK_TYPE_SIGSET_T.
6112         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
6113         does the real work.
6114         * modules/sys_select (Depends-on): Add 'signal'.
6115
6116         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
6117         Suggested by Bruno Haible.
6118
6119         pselect: Use pthread_sigmask, not sigprocmask.
6120         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
6121         multithreaded apps better than sigprocmask does.
6122         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
6123         sigprocmask directly.
6124
6125 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6126
6127         * lib/pselect.c (pselect): Use plain name, without "rpl_".
6128         Don't #undef,  since we don't need any underlying pselect.
6129         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
6130         (Depends-on): Add select.
6131         (Link): Add $(LIBSOCKET).
6132         These changes suggested by Bruno Haible.
6133
6134         pselect: document better
6135         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
6136         * doc/posix-functions/pselect.texi (pselect): Document new module.
6137
6138         pthread_sigmask: new module
6139         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
6140         * doc/posix-functions/pthread_sigmask.texi: Document new module.
6141         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
6142         This is done only as a macro; I don't know how well that'll
6143         work for C++.  Move <sys/types.h> include before the include_next,
6144         to avoid mishap on Solaris.
6145         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
6146         * modules/signal (Makefile.am): Substitute the check's results.
6147         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
6148
6149         test-pselect: new module
6150         * modules/pselect-tests, tests/test-pselect.c: New files.
6151         * tests/test-select.c, tests/test-sys_select-c++.cc:
6152         If TEST_PSELECT is defined, test pselect instead of testing select.
6153
6154         * tests/test-sys_select.c (sigset_t): Test for it, too.
6155         Suggested by Bruno Haible.
6156
6157 2011-07-05  Eric Blake  <eblake@redhat.com>
6158
6159         snprintf: guarantee %1$d, for libintl
6160         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
6161         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
6162         * doc/posix-functions/snprintf.texi (snprintf): Update.
6163         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6164         * tests/test-snprintf.c (main): Enhance test.
6165         * tests/test-vsnprintf.c (main): Likewise.
6166
6167 2011-07-05  Jim Meyering  <meyering@redhat.com>
6168
6169         maint: exempt stdio-read.c and stdio-write.c from the cppi check
6170         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
6171         per Bruno's request, to accommodate this idiom (no space after "#")
6172         even when the function is inside an #if block:
6173         char *
6174         gets (char *s)
6175         #undef gets
6176         {
6177           ...
6178         }
6179
6180 2011-07-04  Jim Meyering  <meyering@redhat.com>
6181
6182         maint: indent with spaces, not TABs, and add a rule to check this
6183         * tests/test-userspec.c: Indent with spaces, not TABs.
6184         * tests/test-argp.c: Likewise.
6185         * tests/test-c-stack2.sh: Likewise.
6186         * tests/test-parse-duration.sh: Likewise
6187         * m4/strtod.m4: Likewise.
6188         * m4/alloca.m4: Likewise.
6189         * m4/pselect.m4: Likewise.
6190         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
6191
6192 2011-07-03  Jim Meyering  <meyering@redhat.com>
6193
6194         maint.mk: correct omissions in prohibit_argmatch_without_use check
6195         This rule would mistakenly report that argmatch.h is included without
6196         use even when both the argmatch and invalid_arg macro were used.
6197         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
6198         of argmatch and invalid_arg.
6199
6200 2011-07-03  Bruno Haible  <bruno@clisp.org>
6201
6202         Comments about EINTR.
6203         * lib/safe-read.h: Explain the purpose of this module.
6204         * lib/safe-write.h: Likewise.
6205         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
6206         module.
6207         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
6208         module.
6209         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6210
6211 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6212
6213         xnanosleep: Rewrite to use new dtotimespec module.
6214         It has the conversion code that used to be in xnanosleep.
6215         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
6216         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
6217         (TIME_T_MAX): Remove.
6218         (xnanosleep): Rewrite in terms of dtotimespec.
6219         * modules/xnanosleep (Depends-on): Add dtotimespec.
6220         Remove intprops, stdbool.
6221
6222         timespec-add, timespec-sub: new modules
6223         * lib/timespec.h (timespec_add, timespec_sub): New decls.
6224         * lib/timespec-add.c, lib/timespec-sub.c:
6225         * modules/timespec-add, modules/timespec-sub: New files.
6226
6227         dtotimespec: new module
6228         * lib/timespec.h (dtotimespec): New decl.
6229         * lib/dtotimespec.c, modules/dtotimespec: New files.
6230
6231         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
6232
6233         pselect: new module
6234         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
6235         (pselect): New decls.
6236         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
6237         since the standard pselect decl uses 'restrict'.
6238         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
6239         HAVE_PSELECT, REPLACE_PSELECT.
6240         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
6241         HAVE_PSELECT, REPLACE_PSELECT.
6242         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
6243
6244         sys_select: don't depend on sys_socket
6245         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
6246         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
6247         This fix works on GNU and GNU-like platforms, but has not been tested
6248         on native Windows.
6249         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
6250         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
6251         gl_HEADER_SYS_SOCKET.
6252         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
6253         gl_PREREQ_SYS_H_WINSOCK2.
6254
6255 2011-06-29  Eric Blake  <eblake@redhat.com>
6256
6257         pipe2: fix C89 compile problem
6258         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
6259         Reported by Bruno Haible.
6260
6261         pipe, pipe2: don't corrupt fd on error
6262         * lib/pipe.c (pipe): Leave fd unchanged on error.
6263         * lib/pipe2.c (pipe2): Likewise.
6264         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
6265         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
6266
6267 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
6268
6269         mmap-anon: do not use regular expressions inadvertently
6270         * m4/mmap-anon.m4: Remove trailing period from strings sought
6271         in the output.
6272
6273 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6274
6275         nanosleep: fix integer overflow problem
6276         * lib/nanosleep.c (my_usleep): Don't assume signed integer
6277         arithmetic wraps around on overflow.
6278
6279         nanosleep: simplify carrying
6280         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
6281         first call to the underyling nanosleep, not for the last one.
6282         This doesn't fix any bugs, but it simplifies the computation of
6283         the remaining delay.  Found while auditing integer overflow issues.
6284
6285         dup2: remove test for existence of fcntl
6286         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
6287         "#if HAVE_FCNTL", in the configure-time test program.
6288         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
6289         and therefore speeds up "configure" a bit.  Found while
6290         adding the dup2 module to Emacs.
6291
6292 2011-06-24  Eric Blake  <eblake@redhat.com>
6293
6294         maint.mk: enhance useless header checks
6295         * top/maint.mk (_sc_header_without_use): Check both include
6296         styles.
6297         (sc_prohibit_assert_without_use)
6298         (sc_prohibit_close_stream_without_use)
6299         (sc_prohibit_getopt_without_use)
6300         (sc_prohibit_quotearg_without_use)
6301         (sc_prohibit_quote_without_use)
6302         (sc_prohibit_long_options_without_use)
6303         (sc_prohibit_inttostr_without_use)
6304         (sc_prohibit_ignore_value_without_use)
6305         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
6306         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
6307         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
6308         (sc_prohibit_hash_pjw_without_use)
6309         (sc_prohibit_safe_read_without_use)
6310         (sc_prohibit_argmatch_without_use)
6311         (sc_prohibit_canonicalize_without_use)
6312         (sc_prohibit_root_dev_ino_without_use)
6313         (sc_prohibit_openat_without_use)
6314         (sc_prohibit_c_ctype_without_use)
6315         (sc_prohibit_signal_without_use)
6316         (sc_prohibit_stdio--_without_use)
6317         (sc_prohibit_stdio-safer_without_use)
6318         (sc_prohibit_strings_without_use)
6319         (sc_prohibit_intprops_without_use)
6320         (sc_prohibit_stddef_without_use)
6321         (sc_prohibit_xfreopen_without_use): Update clients.
6322
6323 2011-06-24  Jim Meyering  <meyering@redhat.com>
6324
6325         syntax-check: keep one maint.mk rule in sync with its header
6326         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
6327         of the bug Eric has just fixed, with today's commit 25e4c2ec.
6328         I prefer to avoid temporary files here, so use <(...), but that
6329         is not supported by /bin/sh, so...
6330         (SHELL): Define to /bin/bash.
6331
6332 2011-06-24  Eric Blake  <eblake@redhat.com>
6333
6334         maint.mk: update sc_prohibit_intprops_without_use
6335         * top/maint.mk (_intprops_names): Match recent changes.
6336
6337 2011-06-24  Bruno Haible  <bruno@clisp.org>
6338
6339         strerror-override: No-op tweak.
6340         * lib/strerror-override.h (strerror_override): Reorder conditions,
6341         for consistency with lib/strerror-override.c.
6342
6343 2011-06-23  Eric Blake  <eblake@redhat.com>
6344
6345         maint.mk: test further PATH_MAX issues
6346         * top/maint.mk (sc_prohibit_path_max_array): Rename...
6347         (sc_prohibit_path_max_allocation): ...and also test alloca.
6348         Suggested by Jim Meyering.
6349
6350 2011-06-22  Eric Blake  <eblake@redhat.com>
6351
6352         maint.mk: add syntax-check to avoid char[PATH_MAX]
6353         * top/maint.mk (sc_prohibit_path_max_array): New rule.
6354
6355         stat: be robust to PATH_MAX definition
6356         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
6357         * modules/stat (Depends-on): Add verify.
6358
6359         link: work around IRIX bug
6360         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
6361         * lib/link.c (rpl_link): Work around it.
6362         * tests/test-link.h (test_link): Enhance test.
6363         * doc/posix-functions/link.texi (link): Document the bug.
6364
6365         getopt: silence clang warning
6366         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
6367         dereference.
6368         Reported by Gustavo Martin Domato.
6369
6370 2011-06-22  Jim Meyering  <meyering@redhat.com>
6371
6372         bootstrap: do not insert a blank line into each .gitignore file
6373         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
6374
6375 2011-06-21  Eric Blake  <eblake@redhat.com>
6376
6377         perror: test for output mismatch
6378         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
6379         perror on IRIX.
6380
6381         strerror_r: fix OpenBSD behavior on out-of-range
6382         * lib/strerror_r.c (strerror_r): Always use maximal string.
6383         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6384
6385         strerror_r: fix OpenBSD behavior on 0
6386         * lib/strerror-override.c (strerror_override): Also override 0
6387         when needed.
6388         * lib/strerror-override.h (strerror_override): Likewise.
6389         * lib/strerror.c (strerror): Simplify, now that 0 override is done
6390         earlier.
6391         * lib/strerror_r.c (strerror_r): Likewise.
6392         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
6393         behavior...
6394         (gl_FUNC_STRERROR_0): ...into new macro.
6395         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
6396         is overridden.
6397         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
6398         * modules/strerror-override (Files): Add strerror.m4.
6399         (configure.ac): Also provide override for 0 when needed.
6400         * doc/posix-functions/strerror.texi (strerror): Document this.
6401         * doc/posix-functions/perror.texi (perror): Likewise.
6402
6403         perror: adjust array size
6404         * modules/perror (Depends-on): Add strerror-override.
6405         * lib/perror.c (perror): Use it to avoid magic number.
6406
6407         strerror-override: reduce size
6408         * lib/strerror-override.c (strerror_override): Use fewer lines.
6409
6410 2011-06-20  Bruno Haible  <bruno@clisp.org>
6411
6412         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6413         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6414
6415 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6416
6417         alloca: port to compilers that can optimize like GCC 4.6.0
6418         * lib/alloca.c (find_stack_direction): New signature, taken from
6419         Autoconf git.  This works with GCC 4.6.0.  This code should never
6420         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6421         be used with other compilers that optimize as well as GCC 4.6.0 does.
6422         (alloca): Adjust to new signature.
6423         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6424         New macro, which patches Autoconf in a similar way.
6425
6426         c-stack: stop worrying about stack direction
6427         * lib/c-stack.c (find_stack_direction): Remove.
6428         (segv_handler): Don't worry about stack direction growth, as it's
6429         too much of a pain to configure this correctly, given how compilers
6430         are optimizing-away our stack-growth detection code.  Instead, assume
6431         that any access to just before or just after the stack is OK.
6432         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6433         Don't require AC_FUNC_ALLOCA; no longer needed.
6434
6435 2011-06-20  Eric Blake  <eblake@redhat.com>
6436
6437         test-stat: don't allocate PATH_MAX bytes
6438         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6439         PATH_MAX-sized buffer.
6440         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6441         * modules/stat-tests (Depends-on): Likewise.
6442         * tests/test-fstatat.c (includes): Drop pathmax.h.
6443         * tests/test-stat.c (includes): Likewise.
6444         Reported by Bruno Haible.
6445
6446 2011-06-20  Bruno Haible  <bruno@clisp.org>
6447
6448         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6449         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6450         * lib/float.c: New file.
6451         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6452         REPLACE_FLOAT_LDBL.
6453         * modules/float (Files): Add lib/float.c.
6454         (configure.ac): Invoke AC_LIBOBJ.
6455         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6456
6457 2011-06-20  Bruno Haible  <bruno@clisp.org>
6458
6459         Tests for module 'float'.
6460         * modules/float-tests: New file.
6461         * tests/test-float.c: New file.
6462
6463 2011-06-19  Bruno Haible  <bruno@clisp.org>
6464
6465         isinf: Coding style.
6466         * lib/isinf.c: Use GNU coding style.
6467
6468 2011-06-19  Bruno Haible  <bruno@clisp.org>
6469
6470         linkat test: Avoid test failure on AIX 7.1.
6471         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6472         * tests/test-link.h (test_link): Likewise.
6473
6474 2011-06-19  Bruno Haible  <bruno@clisp.org>
6475
6476         pread test: Avoid test failure on OpenBSD 4.9.
6477         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6478
6479 2011-06-19  Bruno Haible  <bruno@clisp.org>
6480
6481         sprintf-posix: Fix test failure on AIX 7.1.
6482         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6483         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6484         on AIX.
6485         * doc/posix-functions/fprintf.texi: Likewise.
6486         * doc/posix-functions/printf.texi: Likewise.
6487         * doc/posix-functions/snprintf.texi: Likewise.
6488         * doc/posix-functions/sprintf.texi: Likewise.
6489         * doc/posix-functions/vdprintf.texi: Likewise.
6490         * doc/posix-functions/vfprintf.texi: Likewise.
6491         * doc/posix-functions/vprintf.texi: Likewise.
6492         * doc/posix-functions/vsnprintf.texi: Likewise.
6493         * doc/posix-functions/vsprintf.texi: Likewise.
6494
6495 2011-06-19  Bruno Haible  <bruno@clisp.org>
6496
6497         roundl-ieee: Fix test failure on AIX 7.1.
6498         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6499         * doc/posix-functions/roundl.texi: Mention problem with negative
6500         arguments.
6501
6502 2011-06-19  Bruno Haible  <bruno@clisp.org>
6503
6504         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6505         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6506         * doc/posix-functions/round.texi: Mention problem with negative
6507         arguments.
6508         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6509
6510 2011-06-19  Bruno Haible  <bruno@clisp.org>
6511
6512         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6513         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6514         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6515         * doc/posix-functions/roundf.texi: Mention problem with negative
6516         arguments.
6517         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6518
6519 2011-06-19  Bruno Haible  <bruno@clisp.org>
6520
6521         ceilf-ieee: Work around bug on MacOS X 10.5.
6522         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6523
6524         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6525         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6526         IEEE compliant, avoid compiler optimizations.
6527         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6528         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6529         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6530         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6531         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6532         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6533         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6534         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6535         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6536         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6537
6538 2011-06-19  Bruno Haible  <bruno@clisp.org>
6539
6540         ceilf-ieee: Work around bug on AIX 7.1.
6541         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6542         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6543
6544 2011-06-19  Bruno Haible  <bruno@clisp.org>
6545
6546         ceil-ieee: Work around bug on AIX 7.1.
6547         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6548         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6549
6550 2011-06-18  Bruno Haible  <bruno@clisp.org>
6551
6552         fsync test: Avoid test failure on MacOS X and AIX.
6553         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6554         EINVAL.
6555
6556 2011-06-18  Bruno Haible  <bruno@clisp.org>
6557
6558         openat, fdopendir tests: Fix link errors.
6559         * modules/openat-tests (Depends-on): Add progname.
6560         * modules/fdopendir-tests (Depends-on): Likewise.
6561         * tests/test-fchownat.c: Include progname.h.
6562         (main): Call set_program_name.
6563         * tests/test-fstatat.c: Include progname.h.
6564         (main): Call set_program_name.
6565         * tests/test-mkdirat.c: Include progname.h.
6566         (main): Call set_program_name.
6567         * tests/test-openat.c: Include progname.h.
6568         (main): Call set_program_name.
6569         * tests/test-unlinkat.c: Include progname.h.
6570         (main): Call set_program_name.
6571         * tests/test-fdopendir.c: Include progname.h.
6572         (main): Call set_program_name.
6573
6574 2011-06-18  Bruno Haible  <bruno@clisp.org>
6575
6576         Doc update.
6577         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6578         HP-UX.
6579         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6580
6581 2011-06-18  Bruno Haible  <bruno@clisp.org>
6582
6583         getcwd tests: Avoid compilation error on HP-UX 11.31.
6584         * modules/getcwd-tests (Depends-on): Add pathmax.
6585         * tests/test-getcwd.c: Include pathmax.h.
6586
6587 2011-06-18  Bruno Haible  <bruno@clisp.org>
6588
6589         isfinite, isinf: Fix link error on AIX 6 and 7.
6590         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6591         needed, also test the macro with a 'float' argument.
6592         * m4/isinf.m4 (gl_ISINF): Likewise.
6593
6594 2011-06-18  Bruno Haible  <bruno@clisp.org>
6595
6596         getloadavg: Don't clobber LIBS. Regression from previous commit.
6597         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6598         AC_CHECK_LIB from here...
6599         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6600         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6601         gl_func_getloadavg_done.
6602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6603
6604 2011-06-18  Bruno Haible  <bruno@clisp.org>
6605
6606         clean-temp: Improve documentation.
6607         * lib/clean-temp.h: Explain better how to use this module.
6608         Reported by John Darrington <john@darrington.wattle.id.au>.
6609
6610 2011-06-17  Bruno Haible  <bruno@clisp.org>
6611
6612         pread, pwrite: Avoid cc warning on AIX.
6613         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6614         (pwrite): Likewise.
6615
6616 2011-06-17  Bruno Haible  <bruno@clisp.org>
6617
6618         spawn-pipe tests: Fix link error.
6619         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6621
6622 2011-06-17  Bruno Haible  <bruno@clisp.org>
6623
6624         Tests: Remove unnecessary dependency.
6625         * modules/canonicalize-tests (Depends-on): Remove progname.
6626         * modules/chown-tests (Depends-on): Likewise.
6627         * modules/dirname-tests (Depends-on): Likewise.
6628         * modules/fdopendir-tests (Depends-on): Likewise.
6629         * modules/fdutimensat-tests (Depends-on): Likewise.
6630         * modules/hash-tests (Depends-on): Likewise.
6631         * modules/lchown-tests (Depends-on): Likewise.
6632         * modules/linkat-tests (Depends-on): Likewise.
6633         * modules/renameat-tests (Depends-on): Likewise.
6634         * modules/spawn-pipe-tests (Depends-on): Likewise.
6635         * modules/utimensat-tests (Depends-on): Likewise.
6636
6637 2011-06-17  Bruno Haible  <bruno@clisp.org>
6638
6639         spawn-pipe tests: Fix link error.
6640         * tests/test-spawn-pipe-child.c: Undefine fflush.
6641
6642 2011-06-17  Bruno Haible  <bruno@clisp.org>
6643
6644         Fix tests link errors.
6645         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6646         * modules/chown-tests (Makefile.am): Don't link test-chown with
6647         LIBINTL.
6648         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6649         LIBINTL.
6650         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6651         LIBINTL.
6652         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6653         LIBINTL.
6654
6655 2011-06-16  Bruno Haible  <bruno@clisp.org>
6656
6657         crypto/gc-sha1: Fix recent regression.
6658         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6659         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6660
6661         crypto/gc-md5: Fix recent regression.
6662         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6663
6664         crypto/gc-md4: Fix recent regression.
6665         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6666         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6667
6668         crypto/gc-arctwo: Fix recent regression.
6669         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6670         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6671
6672         crypto/gc-rijndael: Fix recent regression.
6673         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6674         (configure.ac): Invoke AC_LIBOBJ here.
6675         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6676         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6677
6678         crypto/gc-hmac-sha1: Fix recent regression.
6679         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6680         (configure.ac): Invoke AC_LIBOBJ here.
6681         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6682         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6683
6684         crypto/gc-hmac-md5: Fix recent regression.
6685         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6686         (configure.ac): Invoke AC_LIBOBJ here.
6687         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6688         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6689
6690         crypto/gc-des: Fix recent regression.
6691         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6692         (configure.ac): Invoke AC_LIBOBJ here.
6693         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6694         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6695
6696         crypto/gc-arcfour: Fix recent regression.
6697         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6698         (configure.ac): Invoke AC_LIBOBJ here.
6699         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6700         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6701
6702 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6703
6704         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6705         After the 2011-05-21 change, this macro requires
6706         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6707         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6708
6709 2011-06-16  Bruno Haible  <bruno@clisp.org>
6710
6711         fprintftime: Move AC_LIBOBJ invocations to module description.
6712         * m4/fprintftime.m4: Remove file.
6713         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6714         (configure.ac): Remove gl_FPRINTFTIME call.
6715         (Makefile.am): Augment lib_SOURCES.
6716         Reported by Jim Meyering.
6717
6718 2011-06-16  Bruno Haible  <bruno@clisp.org>
6719
6720         tmpfile-safer: Finish 2011-05-23 commit.
6721         * m4/stdio-safer.m4: Really remove file.
6722         Reported by Jim Meyering.
6723
6724 2011-06-16  Bruno Haible  <bruno@clisp.org>
6725
6726         syntax-check: Fix typo.
6727         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6728         printf-posix.m4.
6729         Reported by Jim Meyering.
6730
6731 2011-06-13  Jim Meyering  <meyering@redhat.com>
6732
6733         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6734         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6735
6736 2011-05-23  Bruno Haible  <bruno@clisp.org>
6737
6738         yesno: Move AC_LIBOBJ invocations to module description.
6739         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6740         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6741
6742 2011-05-23  Bruno Haible  <bruno@clisp.org>
6743
6744         xstrtol: Move AC_LIBOBJ invocations to module description.
6745         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6746         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6747
6748 2011-05-23  Bruno Haible  <bruno@clisp.org>
6749
6750         xstrtold: Move AC_LIBOBJ invocations to module description.
6751         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6752         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6753
6754 2011-05-23  Bruno Haible  <bruno@clisp.org>
6755
6756         xstrtod: Move AC_LIBOBJ invocations to module description.
6757         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6758         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6759
6760 2011-05-23  Bruno Haible  <bruno@clisp.org>
6761
6762         xnanosleep: Move AC_LIBOBJ invocations to module description.
6763         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6764         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6765
6766 2011-05-23  Bruno Haible  <bruno@clisp.org>
6767
6768         xgetcwd: Move AC_LIBOBJ invocations to module description.
6769         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6770         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6771
6772 2011-05-23  Bruno Haible  <bruno@clisp.org>
6773
6774         xalloc: Move AC_LIBOBJ invocations to module description.
6775         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6776         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6777
6778 2011-05-23  Bruno Haible  <bruno@clisp.org>
6779
6780         write-any-file: Move AC_LIBOBJ invocations to module description.
6781         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6782         invocation.
6783         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6784
6785 2011-05-23  Bruno Haible  <bruno@clisp.org>
6786
6787         utimens: Move AC_LIBOBJ invocations to module description.
6788         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6789         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6790
6791 2011-05-23  Bruno Haible  <bruno@clisp.org>
6792
6793         utimecmp: Move AC_LIBOBJ invocations to module description.
6794         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6795         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6796
6797 2011-05-23  Bruno Haible  <bruno@clisp.org>
6798
6799         userspec: Move AC_LIBOBJ invocations to module description.
6800         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6801         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6802
6803 2011-05-23  Bruno Haible  <bruno@clisp.org>
6804
6805         unlinkdir: Move AC_LIBOBJ invocations to module description.
6806         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6807         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6808
6809 2011-05-23  Bruno Haible  <bruno@clisp.org>
6810
6811         unistd-safer: Move AC_LIBOBJ invocations to module description.
6812         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6813         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6814
6815 2011-05-23  Bruno Haible  <bruno@clisp.org>
6816
6817         tempname: Move AC_LIBOBJ invocations to module description.
6818         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6819         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6820
6821 2011-05-23  Bruno Haible  <bruno@clisp.org>
6822
6823         strftime: Move AC_LIBOBJ invocations to module description.
6824         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6825         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6826
6827 2011-05-23  Bruno Haible  <bruno@clisp.org>
6828
6829         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6830         * m4/stdlib-safer.m4: Remove file.
6831         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6832         (configure.ac): Remove gl_STDLIB_SAFER call.
6833         (Makefile.am): Augment lib_SOURCES.
6834
6835 2011-05-23  Bruno Haible  <bruno@clisp.org>
6836
6837         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6838         * m4/stdio-safer.m4: Remove file.
6839         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6840         (configure.ac): Remove gl_TMPFILE_SAFER call.
6841         (Makefile.am): Augment lib_SOURCES.
6842
6843 2011-05-23  Bruno Haible  <bruno@clisp.org>
6844
6845         popen-safer: Move AC_LIBOBJ invocations to module description.
6846         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6847         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6848         (configure.ac): Remove gl_POPEN_SAFER call.
6849         (Makefile.am): Augment lib_SOURCES.
6850
6851 2011-05-23  Bruno Haible  <bruno@clisp.org>
6852
6853         freopen-safer: Move AC_LIBOBJ invocations to module description.
6854         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6855         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6856         (configure.ac): Remove gl_FREOPEN_SAFER call.
6857         (Makefile.am): Augment lib_SOURCES.
6858
6859 2011-05-23  Bruno Haible  <bruno@clisp.org>
6860
6861         fopen-safer: Move AC_LIBOBJ invocations to module description.
6862         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6863         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6864         (configure.ac): Remove gl_FOPEN_SAFER call.
6865         (Makefile.am): Augment lib_SOURCES.
6866
6867 2011-05-23  Bruno Haible  <bruno@clisp.org>
6868
6869         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6870         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6871         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6872
6873 2011-05-23  Bruno Haible  <bruno@clisp.org>
6874
6875         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6876         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6877         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6878
6879 2011-05-23  Bruno Haible  <bruno@clisp.org>
6880
6881         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6882         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6883         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6884
6885 2011-05-23  Bruno Haible  <bruno@clisp.org>
6886
6887         settime: Move AC_LIBOBJ invocations to module description.
6888         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6889         * modules/settime (Makefile.am): Augment lib_SOURCES.
6890
6891 2011-05-23  Bruno Haible  <bruno@clisp.org>
6892
6893         savedir: Move AC_LIBOBJ invocations to module description.
6894         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6895         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6896
6897 2011-05-23  Bruno Haible  <bruno@clisp.org>
6898
6899         save-cwd: Move AC_LIBOBJ invocations to module description.
6900         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6901         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6902
6903 2011-05-23  Bruno Haible  <bruno@clisp.org>
6904
6905         same: Move AC_LIBOBJ invocations to module description.
6906         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6907         * modules/same (Makefile.am): Augment lib_SOURCES.
6908
6909 2011-05-23  Bruno Haible  <bruno@clisp.org>
6910
6911         safe-write: Move AC_LIBOBJ invocations to module description.
6912         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6913         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6914         instead of gl_SAFE_WRITE.
6915         (Makefile.am): Augment lib_SOURCES.
6916
6917 2011-05-23  Bruno Haible  <bruno@clisp.org>
6918
6919         safe-read: Move AC_LIBOBJ invocations to module description.
6920         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6921         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6922         of gl_SAFE_READ.
6923         (Makefile.am): Augment lib_SOURCES.
6924
6925 2011-05-23  Bruno Haible  <bruno@clisp.org>
6926
6927         safe-alloc: Move AC_LIBOBJ invocations to module description.
6928         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6929         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6930
6931 2011-05-23  Bruno Haible  <bruno@clisp.org>
6932
6933         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6934         * m4/rijndael.m4: Remove file.
6935         * modules/crypto/rijndael (Files): Remove it.
6936         (configure.ac): Remove gl_RIJNDAEL call.
6937         (Makefile.am): Augment lib_SOURCES.
6938
6939 2011-05-23  Bruno Haible  <bruno@clisp.org>
6940
6941         readtokens: Move AC_LIBOBJ invocations to module description.
6942         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6943         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6944
6945 2011-05-23  Bruno Haible  <bruno@clisp.org>
6946
6947         read-file: Move AC_LIBOBJ invocations to module description.
6948         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6949         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6950         of gl_FUNC_READ_FILE.
6951         (Makefile.am): Augment lib_SOURCES.
6952
6953 2011-05-23  Bruno Haible  <bruno@clisp.org>
6954
6955         quotearg: Move AC_LIBOBJ invocations to module description.
6956         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6957         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6958
6959 2011-05-23  Bruno Haible  <bruno@clisp.org>
6960
6961         quote: Move AC_LIBOBJ invocations to module description.
6962         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6963         * modules/quote (Makefile.am): Augment lib_SOURCES.
6964
6965 2011-05-23  Bruno Haible  <bruno@clisp.org>
6966
6967         posixver: Move AC_LIBOBJ invocations to module description.
6968         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6969         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6970
6971 2011-05-23  Bruno Haible  <bruno@clisp.org>
6972
6973         posixtm: Move AC_LIBOBJ invocations to module description.
6974         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6975         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6976
6977 2011-05-23  Bruno Haible  <bruno@clisp.org>
6978
6979         physmem: Move AC_LIBOBJ invocations to module description.
6980         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6981         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6982
6983 2011-05-23  Bruno Haible  <bruno@clisp.org>
6984
6985         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6986         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6987         invocation.
6988         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6989
6990 2011-05-23  Bruno Haible  <bruno@clisp.org>
6991
6992         mpsort: Move AC_LIBOBJ invocations to module description.
6993         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6994         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6995
6996 2011-05-23  Bruno Haible  <bruno@clisp.org>
6997
6998         modechange: Move AC_LIBOBJ invocations to module description.
6999         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
7000         * modules/modechange (Makefile.am): Augment lib_SOURCES.
7001
7002 2011-05-23  Bruno Haible  <bruno@clisp.org>
7003
7004         mkdir-p: Move AC_LIBOBJ invocations to module description.
7005         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
7006         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
7007
7008 2011-05-23  Bruno Haible  <bruno@clisp.org>
7009
7010         mkancesdirs: Move AC_LIBOBJ invocations to module description.
7011         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
7012         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
7013
7014 2011-05-23  Bruno Haible  <bruno@clisp.org>
7015
7016         mgetgroups: Move AC_LIBOBJ invocations to module description.
7017         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
7018         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
7019
7020 2011-05-23  Bruno Haible  <bruno@clisp.org>
7021
7022         memxor: Move AC_LIBOBJ invocations to module description.
7023         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
7024         * modules/memxor (Makefile.am): Augment lib_SOURCES.
7025
7026 2011-05-23  Bruno Haible  <bruno@clisp.org>
7027
7028         memcoll: Move AC_LIBOBJ invocations to module description.
7029         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
7030         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
7031
7032 2011-05-23  Bruno Haible  <bruno@clisp.org>
7033
7034         memcasecmp: Move AC_LIBOBJ invocations to module description.
7035         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
7036         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
7037
7038 2011-05-23  Bruno Haible  <bruno@clisp.org>
7039
7040         crypto/md5: Move AC_LIBOBJ invocations to module description.
7041         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
7042         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
7043
7044 2011-05-23  Bruno Haible  <bruno@clisp.org>
7045
7046         crypto/md4: Move AC_LIBOBJ invocations to module description.
7047         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
7048         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
7049
7050 2011-05-23  Bruno Haible  <bruno@clisp.org>
7051
7052         crypto/md2: Move AC_LIBOBJ invocations to module description.
7053         * m4/md2.m4: Remove file.
7054         * modules/crypto/md2 (Files): Remove it.
7055         (configure.ac): Remove gl_MD2 call.
7056         (Makefile.am): Augment lib_SOURCES.
7057
7058 2011-05-23  Bruno Haible  <bruno@clisp.org>
7059
7060         long-options: Move AC_LIBOBJ invocations to module description.
7061         * m4/long-options.m4: Remove file.
7062         * modules/long-options (Files): Remove it.
7063         (configure.ac): Remove gl_LONG_OPTIONS call.
7064         (Makefile.am): Augment lib_SOURCES.
7065
7066 2011-05-23  Bruno Haible  <bruno@clisp.org>
7067
7068         i-ring: Move AC_LIBOBJ invocations to module description.
7069         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
7070         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
7071
7072 2011-05-23  Bruno Haible  <bruno@clisp.org>
7073
7074         idcache: Move AC_LIBOBJ invocations to module description.
7075         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
7076         * modules/idcache (Makefile.am): Augment lib_SOURCES.
7077
7078 2011-05-23  Bruno Haible  <bruno@clisp.org>
7079
7080         human: Move AC_LIBOBJ invocations to module description.
7081         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
7082         * modules/human (Makefile.am): Augment lib_SOURCES.
7083
7084 2011-05-23  Bruno Haible  <bruno@clisp.org>
7085
7086         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
7087         * m4/hmac-sha1.m4: Remove file.
7088         * modules/crypto/hmac-sha1 (Files): Remove it.
7089         (configure.ac): Remove gl_HMAC_SHA1 call.
7090         (Makefile.am): Augment lib_SOURCES.
7091
7092 2011-05-23  Bruno Haible  <bruno@clisp.org>
7093
7094         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
7095         * m4/hmac-md5.m4: Remove file.
7096         * modules/crypto/hmac-md5 (Files): Remove it.
7097         (configure.ac): Remove gl_HMAC_MD5 call.
7098         (Makefile.am): Augment lib_SOURCES.
7099
7100 2011-05-23  Bruno Haible  <bruno@clisp.org>
7101
7102         hash: Move AC_LIBOBJ invocations to module description.
7103         * m4/hash.m4: Remove file.
7104         * modules/hash (Files): Remove it.
7105         (configure.ac): Remove gl_HASH call.
7106         (Makefile.am): Augment lib_SOURCES.
7107
7108 2011-05-23  Bruno Haible  <bruno@clisp.org>
7109
7110         hard-locale: Move AC_LIBOBJ invocations to module description.
7111         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
7112         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
7113
7114 2011-05-23  Bruno Haible  <bruno@clisp.org>
7115
7116         getugroups: Move AC_LIBOBJ invocations to module description.
7117         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
7118         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
7119
7120 2011-05-23  Bruno Haible  <bruno@clisp.org>
7121
7122         gettime: Move AC_LIBOBJ invocations to module description.
7123         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
7124         * modules/gettime (Makefile.am): Augment lib_SOURCES.
7125
7126 2011-05-23  Bruno Haible  <bruno@clisp.org>
7127
7128         getndelim2: Move AC_LIBOBJ invocations to module description.
7129         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
7130         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
7131
7132 2011-05-23  Bruno Haible  <bruno@clisp.org>
7133
7134         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
7135         * m4/gc-pbkdf2-sha1.m4: Remove file.
7136         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
7137         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
7138         (Makefile.am): Augment lib_SOURCES.
7139
7140 2011-05-23  Bruno Haible  <bruno@clisp.org>
7141
7142         fts: Move AC_LIBOBJ invocations to module description.
7143         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
7144         * modules/fts (configure.ac): ... to here.
7145
7146 2011-05-23  Bruno Haible  <bruno@clisp.org>
7147
7148         file-type: Move AC_LIBOBJ invocations to module description.
7149         * m4/file-type.m4: Remove file.
7150         * modules/file-type (Files): Remove it.
7151         (configure.ac): Remove gl_FILE_TYPE call.
7152         (Makefile.am): Augment lib_SOURCES.
7153
7154 2011-05-23  Bruno Haible  <bruno@clisp.org>
7155
7156         filenamecat*: Respect rules for use of AC_LIBOBJ.
7157         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
7158         Remove AC_LIBOBJ invocation.
7159         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
7160         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
7161
7162 2011-05-23  Bruno Haible  <bruno@clisp.org>
7163
7164         filemode: Move AC_LIBOBJ invocations to module description.
7165         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
7166         * modules/filemode (Makefile.am): Augment lib_SOURCES.
7167
7168 2011-05-23  Bruno Haible  <bruno@clisp.org>
7169
7170         openat-safer: Move AC_LIBOBJ invocations to module description.
7171         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
7172         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
7173
7174 2011-05-23  Bruno Haible  <bruno@clisp.org>
7175
7176         fcntl-safer: Move AC_LIBOBJ invocations to module description.
7177         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
7178         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
7179
7180 2011-05-23  Bruno Haible  <bruno@clisp.org>
7181
7182         exclude: Move AC_LIBOBJ invocations to module description.
7183         * m4/exclude.m4: Remove file.
7184         * modules/exclude (Files): Remove it.
7185         (configure.ac): Remove gl_EXCLUDE call.
7186         (Makefile.am): Augment lib_SOURCES.
7187
7188 2011-05-23  Bruno Haible  <bruno@clisp.org>
7189
7190         dirname*: Respect rules for use of AC_LIBOBJ.
7191         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
7192         invocations.
7193         * modules/dirname (Makefile.am): Augment lib_SOURCES.
7194         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
7195
7196 2011-05-23  Bruno Haible  <bruno@clisp.org>
7197
7198         dirent-safer: Move AC_LIBOBJ invocations to module description.
7199         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
7200         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
7201
7202 2011-05-23  Bruno Haible  <bruno@clisp.org>
7203
7204         crypto/des: Move AC_LIBOBJ invocations to module description.
7205         * m4/des.m4: Remove file.
7206         * modules/crypto/des (Files): Remove it.
7207         (configure.ac): Remove gl_DES call.
7208         (Makefile.am): Augment lib_SOURCES.
7209
7210 2011-05-23  Bruno Haible  <bruno@clisp.org>
7211
7212         cycle-check: Move AC_LIBOBJ invocations to module description.
7213         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
7214         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
7215
7216 2011-05-23  Bruno Haible  <bruno@clisp.org>
7217
7218         c-strtold: Move AC_LIBOBJ invocations to module description.
7219         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
7220         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
7221
7222 2011-05-23  Bruno Haible  <bruno@clisp.org>
7223
7224         c-strtod: Move AC_LIBOBJ invocations to module description.
7225         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
7226         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
7227
7228 2011-05-23  Bruno Haible  <bruno@clisp.org>
7229
7230         crc: Move AC_LIBOBJ invocations to module description.
7231         * m4/crc.m4: Remove file.
7232         * modules/crc (Files): Remove it.
7233         (configure.ac): Remove gl_CRC call.
7234         (Makefile.am): Augment lib_SOURCES.
7235
7236 2011-05-23  Bruno Haible  <bruno@clisp.org>
7237
7238         close-stream: Move AC_LIBOBJ invocations to module description.
7239         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
7240         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
7241
7242 2011-05-23  Bruno Haible  <bruno@clisp.org>
7243
7244         closeout: Move AC_LIBOBJ invocations to module description.
7245         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
7246         * modules/closeout (Makefile.am): Augment lib_SOURCES.
7247
7248 2011-05-23  Bruno Haible  <bruno@clisp.org>
7249
7250         closein: Move AC_LIBOBJ invocations to module description.
7251         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
7252         * modules/closein (Makefile.am): Augment lib_SOURCES.
7253
7254 2011-05-23  Bruno Haible  <bruno@clisp.org>
7255
7256         cloexec: Move AC_LIBOBJ invocations to module description.
7257         * m4/cloexec.m4: Remove file.
7258         * modules/cloexec (Files): Remove it.
7259         (configure.ac): Remove gl_CLOEXEC call.
7260         (Makefile.am): Augment lib_SOURCES.
7261
7262 2011-05-23  Bruno Haible  <bruno@clisp.org>
7263
7264         check-version: Move AC_LIBOBJ invocations to module description.
7265         * m4/check-version.m4: Remove file.
7266         * modules/check-version (Files): Remove it.
7267         (configure.ac): Remove gl_CHECK_VERSION call.
7268         (Makefile.am): Augment lib_SOURCES.
7269
7270 2011-05-23  Bruno Haible  <bruno@clisp.org>
7271
7272         chdir-safer: Move AC_LIBOBJ invocations to module description.
7273         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
7274         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
7275
7276 2011-05-23  Bruno Haible  <bruno@clisp.org>
7277
7278         canonicalize: Move AC_LIBOBJ invocations to module description.
7279         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
7280         AC_LIBOBJ invocation.
7281         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
7282
7283 2011-05-23  Bruno Haible  <bruno@clisp.org>
7284
7285         canon-host: Move AC_LIBOBJ invocations to module description.
7286         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
7287         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
7288         instead of gl_CANON_HOST.
7289         (Makefile.am): Augment lib_SOURCES.
7290
7291 2011-05-23  Bruno Haible  <bruno@clisp.org>
7292
7293         backupfile: Move AC_LIBOBJ invocations to module description.
7294         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
7295         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
7296
7297 2011-05-23  Bruno Haible  <bruno@clisp.org>
7298
7299         argmatch: Move AC_LIBOBJ invocations to module description.
7300         * m4/argmatch.m4: Remove file.
7301         * modules/argmatch (Files): Remove it.
7302         (configure.ac): Remove gl_ARGMATCH call.
7303         (Makefile.am): Augment lib_SOURCES.
7304
7305 2011-05-23  Bruno Haible  <bruno@clisp.org>
7306
7307         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
7308         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
7309         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
7310
7311 2011-05-23  Bruno Haible  <bruno@clisp.org>
7312
7313         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
7314         * m4/arcfour.m4: Remove file.
7315         * modules/crypto/arcfour (Files): Remove it.
7316         (configure.ac): Remove gl_ARCFOUR call.
7317         (Makefile.am): Augment lib_SOURCES.
7318
7319 2011-05-22  Bruno Haible  <bruno@clisp.org>
7320
7321         write: Move AC_LIBOBJ invocations to module description.
7322         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
7323         * modules/write (configure.ac): ... to here.
7324
7325 2011-05-22  Bruno Haible  <bruno@clisp.org>
7326
7327         wmemset: Move AC_LIBOBJ invocations to module description.
7328         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
7329         here...
7330         * modules/wmemset (configure.ac): ... to here.
7331
7332 2011-05-22  Bruno Haible  <bruno@clisp.org>
7333
7334         wmemmove: Move AC_LIBOBJ invocations to module description.
7335         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
7336         here...
7337         * modules/wmemmove (configure.ac): ... to here.
7338
7339 2011-05-22  Bruno Haible  <bruno@clisp.org>
7340
7341         wmemcpy: Move AC_LIBOBJ invocations to module description.
7342         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
7343         here...
7344         * modules/wmemcpy (configure.ac): ... to here.
7345
7346 2011-05-22  Bruno Haible  <bruno@clisp.org>
7347
7348         wmemcmp: Move AC_LIBOBJ invocations to module description.
7349         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
7350         here...
7351         * modules/wmemcmp (configure.ac): ... to here.
7352
7353 2011-05-22  Bruno Haible  <bruno@clisp.org>
7354
7355         wmemchr: Move AC_LIBOBJ invocations to module description.
7356         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
7357         here...
7358         * modules/wmemchr (configure.ac): ... to here.
7359
7360 2011-05-22  Bruno Haible  <bruno@clisp.org>
7361
7362         wcswidth: Move AC_LIBOBJ invocations to module description.
7363         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
7364         here...
7365         * modules/wcswidth (configure.ac): ... to here.
7366
7367 2011-05-22  Bruno Haible  <bruno@clisp.org>
7368
7369         wcwidth: Respect rules for use of AC_LIBOBJ.
7370         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
7371         invocation from here...
7372         * modules/wcwidth (configure.ac): ... to here.
7373         (Depends-on): Update conditions.
7374
7375 2011-05-22  Bruno Haible  <bruno@clisp.org>
7376
7377         wctype: Move AC_LIBOBJ invocations to module description.
7378         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
7379         invocation from here...
7380         * modules/wctype (configure.ac): ... to here.
7381         (Depends-on): Update conditions.
7382
7383 2011-05-22  Bruno Haible  <bruno@clisp.org>
7384
7385         wctrans: Move AC_LIBOBJ invocations to module description.
7386         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
7387         invocation from here...
7388         * modules/wctrans (configure.ac): ... to here.
7389
7390 2011-05-22  Bruno Haible  <bruno@clisp.org>
7391
7392         wctomb: Move AC_LIBOBJ invocations to module description.
7393         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
7394         invocations from here...
7395         * modules/wctomb (configure.ac): ... to here.
7396
7397 2011-05-22  Bruno Haible  <bruno@clisp.org>
7398
7399         wctob: Move AC_LIBOBJ invocations to module description.
7400         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
7401         gl_PREREQ_WCTOB invocations from here...
7402         * modules/wctob (configure.ac): ... to here.
7403         (Depends-on): Update conditions.
7404
7405 2011-05-22  Bruno Haible  <bruno@clisp.org>
7406
7407         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7408         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7409         here...
7410         * modules/wcsxfrm (configure.ac): ... to here.
7411
7412 2011-05-22  Bruno Haible  <bruno@clisp.org>
7413
7414         wcstok: Move AC_LIBOBJ invocations to module description.
7415         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7416         * modules/wcstok (configure.ac): ... to here.
7417
7418 2011-05-22  Bruno Haible  <bruno@clisp.org>
7419
7420         wcsstr: Move AC_LIBOBJ invocations to module description.
7421         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7422         * modules/wcsstr (configure.ac): ... to here.
7423
7424 2011-05-22  Bruno Haible  <bruno@clisp.org>
7425
7426         wcsspn: Move AC_LIBOBJ invocations to module description.
7427         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7428         * modules/wcsspn (configure.ac): ... to here.
7429
7430 2011-05-22  Bruno Haible  <bruno@clisp.org>
7431
7432         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7433         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7434         gl_PREREQ_WCSRTOMBS invocations from here...
7435         * modules/wcsrtombs (configure.ac): ... to here.
7436
7437 2011-05-22  Bruno Haible  <bruno@clisp.org>
7438
7439         wcsrchr: Move AC_LIBOBJ invocations to module description.
7440         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7441         here...
7442         * modules/wcsrchr (configure.ac): ... to here.
7443
7444 2011-05-22  Bruno Haible  <bruno@clisp.org>
7445
7446         wcspbrk: Move AC_LIBOBJ invocations to module description.
7447         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7448         here...
7449         * modules/wcspbrk (configure.ac): ... to here.
7450
7451 2011-05-22  Bruno Haible  <bruno@clisp.org>
7452
7453         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7454         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7455         gl_PREREQ_WCSNRTOMBS invocations from here...
7456         * modules/wcsnrtombs (configure.ac): ... to here.
7457
7458 2011-05-22  Bruno Haible  <bruno@clisp.org>
7459
7460         wcsnlen: Move AC_LIBOBJ invocations to module description.
7461         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7462         here...
7463         * modules/wcsnlen (configure.ac): ... to here.
7464
7465 2011-05-22  Bruno Haible  <bruno@clisp.org>
7466
7467         wcsncpy: Move AC_LIBOBJ invocations to module description.
7468         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7469         here...
7470         * modules/wcsncpy (configure.ac): ... to here.
7471
7472 2011-05-22  Bruno Haible  <bruno@clisp.org>
7473
7474         wcsncmp: Move AC_LIBOBJ invocations to module description.
7475         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7476         here...
7477         * modules/wcsncmp (configure.ac): ... to here.
7478
7479 2011-05-22  Bruno Haible  <bruno@clisp.org>
7480
7481         wcsncat: Move AC_LIBOBJ invocations to module description.
7482         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7483         here...
7484         * modules/wcsncat (configure.ac): ... to here.
7485
7486 2011-05-22  Bruno Haible  <bruno@clisp.org>
7487
7488         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7489         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7490         from here...
7491         * modules/wcsncasecmp (configure.ac): ... to here.
7492
7493 2011-05-22  Bruno Haible  <bruno@clisp.org>
7494
7495         wcslen: Move AC_LIBOBJ invocations to module description.
7496         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7497         * modules/wcslen (configure.ac): ... to here.
7498
7499 2011-05-22  Bruno Haible  <bruno@clisp.org>
7500
7501         wcsdup: Move AC_LIBOBJ invocations to module description.
7502         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7503         * modules/wcsdup (configure.ac): ... to here.
7504
7505 2011-05-22  Bruno Haible  <bruno@clisp.org>
7506
7507         wcscspn: Move AC_LIBOBJ invocations to module description.
7508         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7509         here...
7510         * modules/wcscspn (configure.ac): ... to here.
7511
7512 2011-05-22  Bruno Haible  <bruno@clisp.org>
7513
7514         wcscpy: Move AC_LIBOBJ invocations to module description.
7515         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7516         * modules/wcscpy (configure.ac): ... to here.
7517
7518 2011-05-22  Bruno Haible  <bruno@clisp.org>
7519
7520         wcscoll: Move AC_LIBOBJ invocations to module description.
7521         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7522         here...
7523         * modules/wcscoll (configure.ac): ... to here.
7524
7525 2011-05-22  Bruno Haible  <bruno@clisp.org>
7526
7527         wcscmp: Move AC_LIBOBJ invocations to module description.
7528         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7529         * modules/wcscmp (configure.ac): ... to here.
7530
7531 2011-05-22  Bruno Haible  <bruno@clisp.org>
7532
7533         wcschr: Move AC_LIBOBJ invocations to module description.
7534         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7535         * modules/wcschr (configure.ac): ... to here.
7536
7537 2011-05-22  Bruno Haible  <bruno@clisp.org>
7538
7539         wcscat: Move AC_LIBOBJ invocations to module description.
7540         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7541         * modules/wcscat (configure.ac): ... to here.
7542
7543 2011-05-22  Bruno Haible  <bruno@clisp.org>
7544
7545         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7546         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7547         here...
7548         * modules/wcscasecmp (configure.ac): ... to here.
7549
7550 2011-05-22  Bruno Haible  <bruno@clisp.org>
7551
7552         wcrtomb: Move AC_LIBOBJ invocations to module description.
7553         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7554         invocations from here...
7555         * modules/wcrtomb (configure.ac): ... to here.
7556
7557 2011-05-22  Bruno Haible  <bruno@clisp.org>
7558
7559         wcpncpy: Move AC_LIBOBJ invocations to module description.
7560         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7561         here...
7562         * modules/wcpncpy (configure.ac): ... to here.
7563
7564 2011-05-22  Bruno Haible  <bruno@clisp.org>
7565
7566         wcpcpy: Move AC_LIBOBJ invocations to module description.
7567         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7568         * modules/wcpcpy (configure.ac): ... to here.
7569
7570 2011-05-22  Bruno Haible  <bruno@clisp.org>
7571
7572         waitpid: Move AC_LIBOBJ invocations to module description.
7573         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7574         invocation from here...
7575         * modules/waitpid (configure.ac): ... to here.
7576
7577 2011-05-22  Bruno Haible  <bruno@clisp.org>
7578
7579         utimensat: Move AC_LIBOBJ invocations to module description.
7580         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7581         here...
7582         * modules/utimensat (configure.ac): ... to here.
7583
7584 2011-05-22  Bruno Haible  <bruno@clisp.org>
7585
7586         usleep: Move AC_LIBOBJ invocations to module description.
7587         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7588         here...
7589         * modules/usleep (configure.ac): ... to here.
7590
7591 2011-05-22  Bruno Haible  <bruno@clisp.org>
7592
7593         unlockpt: Move AC_LIBOBJ invocations to module description.
7594         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7595         gl_PREREQ_UNLOCKPT invocations from here...
7596         * modules/unlockpt (configure.ac): ... to here.
7597
7598 2011-05-22  Bruno Haible  <bruno@clisp.org>
7599
7600         unlink: Respect rules for use of AC_LIBOBJ.
7601         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7602         * modules/unlink (configure.ac): ... to here.
7603
7604 2011-05-22  Bruno Haible  <bruno@clisp.org>
7605
7606         uname: Move AC_LIBOBJ invocations to module description.
7607         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7608         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7609         here...
7610         * modules/uname (configure.ac): ... to here.
7611
7612 2011-05-22  Bruno Haible  <bruno@clisp.org>
7613
7614         ttyname_r: Move AC_LIBOBJ invocations to module description.
7615         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7616         gl_PREREQ_TTYNAME_R invocations from here...
7617         * modules/ttyname_r (configure.ac): ... to here.
7618
7619 2011-05-22  Bruno Haible  <bruno@clisp.org>
7620
7621         tsearch: Move AC_LIBOBJ invocations to module description.
7622         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7623         invocations from here...
7624         * modules/tsearch (configure.ac): ... to here.
7625
7626 2011-05-22  Bruno Haible  <bruno@clisp.org>
7627
7628         towctrans: Move AC_LIBOBJ invocations to module description.
7629         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7630         AC_LIBOBJ invocation from here...
7631         * modules/towctrans (configure.ac): ... to here.
7632
7633 2011-05-22  Bruno Haible  <bruno@clisp.org>
7634
7635         tmpfile: Move AC_LIBOBJ invocations to module description.
7636         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7637         invocations from here...
7638         * modules/tmpfile (configure.ac): ... to here.
7639
7640 2011-05-22  Bruno Haible  <bruno@clisp.org>
7641
7642         times: Move AC_LIBOBJ invocations to module description.
7643         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7644         * modules/times (configure.ac): ... to here.
7645
7646 2011-05-22  Bruno Haible  <bruno@clisp.org>
7647
7648         time_r: Move AC_LIBOBJ invocations to module description.
7649         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7650         invocations from here...
7651         * modules/time_r (configure.ac): ... to here.
7652
7653 2011-05-22  Bruno Haible  <bruno@clisp.org>
7654
7655         timegm: Move AC_LIBOBJ invocations to module description.
7656         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7657         invocations from here...
7658         * modules/timegm (configure.ac): ... to here.
7659
7660 2011-05-22  Bruno Haible  <bruno@clisp.org>
7661
7662         tcgetsid: Move AC_LIBOBJ invocations to module description.
7663         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7664         and gl_PREREQ_TCGETSID invocations from here...
7665         * modules/tcgetsid (configure.ac): ... to here.
7666         (Depends-on): Update conditions.
7667
7668 2011-05-22  Bruno Haible  <bruno@clisp.org>
7669
7670         symlinkat: Move AC_LIBOBJ invocations to module description.
7671         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7672         here...
7673         * modules/symlinkat (configure.ac): ... to here.
7674
7675 2011-05-22  Bruno Haible  <bruno@clisp.org>
7676
7677         symlink: Move AC_LIBOBJ invocations to module description.
7678         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7679         here...
7680         * modules/symlink (configure.ac): ... to here.
7681
7682 2011-05-22  Bruno Haible  <bruno@clisp.org>
7683
7684         strverscmp: Move AC_LIBOBJ invocations to module description.
7685         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7686         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7687         from here...
7688         * modules/strverscmp (configure.ac): ... to here.
7689
7690 2011-05-22  Bruno Haible  <bruno@clisp.org>
7691
7692         strtok_r: Move AC_LIBOBJ invocations to module description.
7693         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7694         and gl_PREREQ_STRTOK_R invocations from here...
7695         * modules/strtok_r (configure.ac): ... to here.
7696         (Depends-on): Update conditions.
7697
7698 2011-05-22  Bruno Haible  <bruno@clisp.org>
7699
7700         strtoumax: Move AC_LIBOBJ invocations to module description.
7701         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7702         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7703         from here...
7704         * modules/strtoumax (configure.ac): ... to here.
7705
7706 2011-05-22  Bruno Haible  <bruno@clisp.org>
7707
7708         strtoimax: Move AC_LIBOBJ invocations to module description.
7709         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7710         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7711         from here...
7712         * modules/strtoimax (configure.ac): ... to here.
7713
7714 2011-05-22  Bruno Haible  <bruno@clisp.org>
7715
7716         strtoull: Move AC_LIBOBJ invocations to module description.
7717         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7718         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7719         from here...
7720         * modules/strtoull (configure.ac): ... to here.
7721
7722 2011-05-22  Bruno Haible  <bruno@clisp.org>
7723
7724         strtoll: Move AC_LIBOBJ invocations to module description.
7725         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7726         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7727         here...
7728         * modules/strtoll (configure.ac): ... to here.
7729
7730 2011-05-22  Bruno Haible  <bruno@clisp.org>
7731
7732         strtoul: Move AC_LIBOBJ invocations to module description.
7733         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7734         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7735         * modules/strtoul (configure.ac): ... to here.
7736
7737 2011-05-22  Bruno Haible  <bruno@clisp.org>
7738
7739         strtol: Move AC_LIBOBJ invocations to module description.
7740         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7741         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7742         * modules/strtol (configure.ac): ... to here.
7743
7744 2011-05-22  Bruno Haible  <bruno@clisp.org>
7745
7746         strtod: Move AC_LIBOBJ invocations to module description.
7747         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7748         invocations from here...
7749         * modules/strtod (configure.ac): ... to here.
7750
7751 2011-05-22  Bruno Haible  <bruno@clisp.org>
7752
7753         strstr*: Move AC_LIBOBJ invocations to module description.
7754         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7755         invocations from here...
7756         * modules/strstr-simple (configure.ac): ... to here.
7757         * modules/strstr (configure.ac): ... and here.
7758
7759 2011-05-22  Bruno Haible  <bruno@clisp.org>
7760
7761         strsignal: Move AC_LIBOBJ invocations to module description.
7762         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7763         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7764         * modules/strsignal (configure.ac): ... to here.
7765         (Depends-on): Update conditions.
7766
7767 2011-05-22  Bruno Haible  <bruno@clisp.org>
7768
7769         strsep: Move AC_LIBOBJ invocations to module description.
7770         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7771         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7772         here...
7773         * modules/strsep (configure.ac): ... to here.
7774
7775 2011-05-22  Bruno Haible  <bruno@clisp.org>
7776
7777         strptime: Move AC_LIBOBJ invocations to module description.
7778         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7779         gl_PREREQ_STRPTIME invocations from here...
7780         * modules/strptime (configure.ac): ... to here.
7781
7782 2011-05-22  Bruno Haible  <bruno@clisp.org>
7783
7784         strpbrk: Move AC_LIBOBJ invocations to module description.
7785         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7786         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7787         here...
7788         * modules/strpbrk (configure.ac): ... to here.
7789
7790 2011-05-22  Bruno Haible  <bruno@clisp.org>
7791
7792         strnlen: Move AC_LIBOBJ invocations to module description.
7793         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7794         invocations from here...
7795         * modules/strnlen (configure.ac): ... to here.
7796
7797 2011-05-22  Bruno Haible  <bruno@clisp.org>
7798
7799         strndup: Move AC_LIBOBJ invocations to module description.
7800         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7801         invocations from here...
7802         * modules/strndup (configure.ac): ... to here.
7803         (Depends-on): Update conditions.
7804
7805 2011-05-22  Bruno Haible  <bruno@clisp.org>
7806
7807         strncat: Move AC_LIBOBJ invocations to module description.
7808         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7809         invocations from here...
7810         * modules/strncat (configure.ac): ... to here.
7811
7812 2011-05-22  Bruno Haible  <bruno@clisp.org>
7813
7814         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7815         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7816         invocations from here...
7817         * modules/strdup (configure.ac): ... to here.
7818         * modules/strdup-posix (configure.ac): ... and here.
7819
7820 2011-05-22  Bruno Haible  <bruno@clisp.org>
7821
7822         strcspn: Move AC_LIBOBJ invocations to module description.
7823         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7824         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7825         here...
7826         * modules/strcspn (configure.ac): ... to here.
7827
7828 2011-05-22  Bruno Haible  <bruno@clisp.org>
7829
7830         strchrnul: Move AC_LIBOBJ invocations to module description.
7831         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7832         gl_PREREQ_STRCHRNUL invocations from here...
7833         * modules/strchrnul (configure.ac): ... to here.
7834
7835 2011-05-22  Bruno Haible  <bruno@clisp.org>
7836
7837         strcasestr*: Move AC_LIBOBJ invocations to module description.
7838         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7839         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7840         * modules/strcasestr-simple (configure.ac): ... to here.
7841         * modules/strcasestr (configure.ac): ... and here.
7842
7843 2011-05-22  Bruno Haible  <bruno@clisp.org>
7844
7845         strcase: Move AC_LIBOBJ invocations to module description.
7846         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7847         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7848         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7849         gl_PREREQ_STRNCASECMP invocations from here...
7850         * modules/strcase (configure.ac): ... to here.
7851
7852 2011-05-22  Bruno Haible  <bruno@clisp.org>
7853
7854         stpncpy: Move AC_LIBOBJ invocations to module description.
7855         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7856         here...
7857         * modules/stpncpy (configure.ac): ... to here.
7858
7859 2011-05-22  Bruno Haible  <bruno@clisp.org>
7860
7861         stpcpy: Move AC_LIBOBJ invocations to module description.
7862         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7863         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7864         here...
7865         * modules/stpcpy (configure.ac): ... to here.
7866
7867 2011-05-21  Bruno Haible  <bruno@clisp.org>
7868
7869         stat: Move AC_LIBOBJ invocations to module description.
7870         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7871         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7872         here...
7873         * modules/stat (configure.ac): ... to here.
7874
7875 2011-05-21  Bruno Haible  <bruno@clisp.org>
7876
7877         sleep: Move AC_LIBOBJ invocations to module description.
7878         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7879         * modules/sleep (configure.ac): ... to here.
7880
7881 2011-05-21  Bruno Haible  <bruno@clisp.org>
7882
7883         signbit: Move AC_LIBOBJ invocations to module description.
7884         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7885         * modules/signbit (configure.ac): ... to here.
7886
7887 2011-05-21  Bruno Haible  <bruno@clisp.org>
7888
7889         sigprocmask: Move AC_LIBOBJ invocations to module description.
7890         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7891         gl_PREREQ_SIGPROMASK invocations from here...
7892         * modules/sigprocmask (configure.ac): ... to here.
7893
7894 2011-05-21  Bruno Haible  <bruno@clisp.org>
7895
7896         sigaction: Move AC_LIBOBJ invocations to module description.
7897         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7898         gl_PREREQ_SIGACTION invocations from here...
7899         * modules/sigaction (configure.ac): ... to here.
7900
7901 2011-05-21  Bruno Haible  <bruno@clisp.org>
7902
7903         sig2str: Move AC_LIBOBJ invocations to module description.
7904         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7905         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7906         here...
7907         * modules/sig2str (configure.ac): ... to here.
7908
7909 2011-05-21  Bruno Haible  <bruno@clisp.org>
7910
7911         setlocale: Move AC_LIBOBJ invocations to module description.
7912         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7913         gl_PREREQ_SETLOCALE invocations from here...
7914         * modules/setlocale (configure.ac): ... to here.
7915
7916 2011-05-21  Bruno Haible  <bruno@clisp.org>
7917
7918         unsetenv: Move AC_LIBOBJ invocations to module description.
7919         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7920         and gl_PREREQ_UNSETENV invocations from here...
7921         * modules/unsetenv (configure.ac): ... to here.
7922         (Depends-on): Update.
7923
7924 2011-05-21  Bruno Haible  <bruno@clisp.org>
7925
7926         setenv: Move AC_LIBOBJ invocations to module description.
7927         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7928         here...
7929         * modules/setenv (configure.ac): ... to here.
7930
7931 2011-05-21  Bruno Haible  <bruno@clisp.org>
7932
7933         selinux-h: Move AC_LIBOBJ invocations to module description.
7934         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7935         AC_LIBOBJ invocation from here...
7936         * modules/selinux-h (configure.ac): ... to here.
7937
7938 2011-05-21  Bruno Haible  <bruno@clisp.org>
7939
7940         select: Respect rules for use of AC_LIBOBJ.
7941         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7942         here...
7943         * modules/select (configure.ac): ... to here.
7944
7945 2011-05-21  Bruno Haible  <bruno@clisp.org>
7946
7947         scandir: Move AC_LIBOBJ invocations to module description.
7948         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7949         invocations from here...
7950         * modules/scandir (configure.ac): ... to here.
7951
7952 2011-05-21  Bruno Haible  <bruno@clisp.org>
7953
7954         rpmatch: Move AC_LIBOBJ invocations to module description.
7955         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7956         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7957         here...
7958         * modules/rpmatch (configure.ac): ... to here.
7959
7960 2011-05-21  Bruno Haible  <bruno@clisp.org>
7961
7962         rmdir: Respect rules for use of AC_LIBOBJ.
7963         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7964         * modules/rmdir (configure.ac): ... to here.
7965
7966 2011-05-21  Bruno Haible  <bruno@clisp.org>
7967
7968         renameat: Move AC_LIBOBJ invocations to module description.
7969         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7970         here...
7971         * modules/renameat (configure.ac): ... to here.
7972
7973 2011-05-21  Bruno Haible  <bruno@clisp.org>
7974
7975         rename: Respect rules for use of AC_LIBOBJ.
7976         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7977         here...
7978         * modules/rename (configure.ac): ... to here.
7979
7980 2011-05-21  Bruno Haible  <bruno@clisp.org>
7981
7982         remove: Move AC_LIBOBJ invocations to module description.
7983         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7984         here...
7985         * modules/remove (configure.ac): ... to here.
7986
7987 2011-05-21  Bruno Haible  <bruno@clisp.org>
7988
7989         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7990         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7991         macro.
7992         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7993         * modules/relocatable-lib (configure.ac): ... to here.
7994         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7995         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7996
7997 2011-05-21  Bruno Haible  <bruno@clisp.org>
7998
7999         relocatable-prog: Move AC_LIBOBJ invocations to module description.
8000         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
8001         here...
8002         * modules/relocatable-prog (configure.ac): ... to here.
8003
8004 2011-05-21  Bruno Haible  <bruno@clisp.org>
8005
8006         regex: Move AC_LIBOBJ invocations to module description.
8007         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
8008         invocations from here...
8009         * modules/regex (configure.ac): ... to here.
8010
8011 2011-05-21  Bruno Haible  <bruno@clisp.org>
8012
8013         realloc-*: Move AC_LIBOBJ invocations to module description.
8014         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
8015         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
8016         AC_LIBOBJ invocations from here...
8017         * modules/realloc-gnu (configure.ac): ... to here.
8018         * modules/realloc-posix (configure.ac): ... and here.
8019
8020 2011-05-21  Bruno Haible  <bruno@clisp.org>
8021
8022         readutmp: Move AC_LIBOBJ invocations to module description.
8023         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
8024         * modules/readutmp (configure.ac): ... to here.
8025
8026 2011-05-21  Bruno Haible  <bruno@clisp.org>
8027
8028         readlinkat: Move AC_LIBOBJ invocations to module description.
8029         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
8030         here...
8031         * modules/readlinkat (configure.ac): ... to here.
8032
8033 2011-05-21  Bruno Haible  <bruno@clisp.org>
8034
8035         readlink: Move AC_LIBOBJ invocations to module description.
8036         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
8037         gl_PREREQ_READLINK invocations from here...
8038         * modules/readlink (configure.ac): ... to here.
8039
8040 2011-05-21  Bruno Haible  <bruno@clisp.org>
8041
8042         readline: Move AC_LIBOBJ invocations to module description.
8043         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
8044         gl_PREREQ_READLINE invocations from here...
8045         * modules/readline (configure.ac): ... to here.
8046
8047 2011-05-21  Bruno Haible  <bruno@clisp.org>
8048
8049         read: Move AC_LIBOBJ invocations to module description.
8050         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
8051         * modules/read (configure.ac): ... to here.
8052
8053 2011-05-21  Bruno Haible  <bruno@clisp.org>
8054
8055         rawmemchr: Move AC_LIBOBJ invocations to module description.
8056         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
8057         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
8058         from here...
8059         * modules/rawmemchr (configure.ac): ... to here.
8060
8061 2011-05-21  Bruno Haible  <bruno@clisp.org>
8062
8063         random_r: Move AC_LIBOBJ invocations to module description.
8064         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
8065         gl_PREREQ_RANDOM_R invocations from here...
8066         * modules/random_r (configure.ac): ... to here.
8067
8068 2011-05-21  Bruno Haible  <bruno@clisp.org>
8069
8070         pwrite: Move AC_LIBOBJ invocations to module description.
8071         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
8072         * modules/pwrite (configure.ac): ... to here.
8073
8074 2011-05-21  Bruno Haible  <bruno@clisp.org>
8075
8076         putenv: Move AC_LIBOBJ invocations to module description.
8077         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
8078         * modules/putenv (configure.ac): ... to here.
8079
8080 2011-05-21  Bruno Haible  <bruno@clisp.org>
8081
8082         login_tty: Move AC_LIBOBJ invocations to module description.
8083         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
8084         * modules/login_tty (configure.ac): ... to here.
8085
8086 2011-05-21  Bruno Haible  <bruno@clisp.org>
8087
8088         openpty: Move AC_LIBOBJ invocations to module description.
8089         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
8090         * modules/openpty (configure.ac): ... to here.
8091
8092 2011-05-21  Bruno Haible  <bruno@clisp.org>
8093
8094         forkpty: Move AC_LIBOBJ invocations to module description.
8095         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
8096         * modules/forkpty (configure.ac): ... to here.
8097
8098 2011-05-21  Bruno Haible  <bruno@clisp.org>
8099
8100         ptsname: Move AC_LIBOBJ invocations to module description.
8101         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
8102         invocations from here...
8103         * modules/ptsname (configure.ac): ... to here.
8104
8105 2011-05-21  Bruno Haible  <bruno@clisp.org>
8106
8107         pread: Move AC_LIBOBJ invocations to module description.
8108         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
8109         * modules/pread (configure.ac): ... to here.
8110
8111 2011-05-21  Bruno Haible  <bruno@clisp.org>
8112
8113         posix_spawn*: Move AC_LIBOBJ invocations to module description.
8114         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
8115         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
8116         * modules/posix_spawn (configure.ac): ... to here.
8117         * modules/posix_spawnp (configure.ac): ... and here.
8118
8119 2011-05-21  Bruno Haible  <bruno@clisp.org>
8120
8121         popen: Move AC_LIBOBJ invocations to module description.
8122         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
8123         invocations from here...
8124         * modules/popen (configure.ac): ... to here.
8125
8126 2011-05-21  Bruno Haible  <bruno@clisp.org>
8127
8128         poll: Move AC_LIBOBJ invocations to module description.
8129         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
8130         invocations from here...
8131         * modules/poll (configure.ac): ... to here.
8132
8133 2011-05-21  Bruno Haible  <bruno@clisp.org>
8134
8135         pipe-posix: Move AC_LIBOBJ invocations to module description.
8136         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
8137         * modules/pipe-posix (configure.ac): ... to here.
8138
8139 2011-05-21  Bruno Haible  <bruno@clisp.org>
8140
8141         openat: Respect rules for use of AC_LIBOBJ.
8142         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
8143         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8144         * modules/openat (configure.ac): ... to here.
8145
8146 2011-05-21  Bruno Haible  <bruno@clisp.org>
8147
8148         obstack-printf*: Move AC_LIBOBJ invocations to module description.
8149         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
8150         invocation from here...
8151         * modules/obstack-printf (configure.ac): ... to here.
8152         * modules/obstack-printf-posix (configure.ac): ... and here.
8153
8154 2011-05-21  Bruno Haible  <bruno@clisp.org>
8155
8156         nl_langinfo: Move AC_LIBOBJ invocations to module description.
8157         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
8158         from here...
8159         * modules/nl_langinfo (configure.ac): ... to here.
8160
8161 2011-05-21  Bruno Haible  <bruno@clisp.org>
8162
8163         nanosleep: Move AC_LIBOBJ invocations to module description.
8164         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
8165         gl_PREREQ_NANOSLEEP invocations from here...
8166         * modules/nanosleep (configure.ac): ... to here.
8167
8168 2011-05-21  Bruno Haible  <bruno@clisp.org>
8169
8170         mountlist: Move AC_LIBOBJ invocations to module description.
8171         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
8172         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
8173         * modules/mountlist (configure.ac): ... to here.
8174
8175 2011-05-21  Bruno Haible  <bruno@clisp.org>
8176
8177         mktime: Respect rules for use of AC_LIBOBJ.
8178         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
8179         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
8180         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
8181         (gl_FUNC_MKTIME_INTERNAL): ... and here...
8182         * modules/mktime (configure.ac): ... to here.
8183         * modules/mktime-internal (configure.ac): ... and here.
8184         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
8185
8186 2011-05-21  Bruno Haible  <bruno@clisp.org>
8187
8188         mkstemps: Move AC_LIBOBJ invocations to module description.
8189         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
8190         here...
8191         * modules/mkstemps (configure.ac): ... to here.
8192
8193 2011-05-21  Bruno Haible  <bruno@clisp.org>
8194
8195         mkstemp: Move AC_LIBOBJ invocations to module description.
8196         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
8197         gl_PREREQ_MKSTEMP invocations from here...
8198         * modules/mkstemp (configure.ac): ... to here.
8199
8200 2011-05-21  Bruno Haible  <bruno@clisp.org>
8201
8202         mkostemps: Move AC_LIBOBJ invocations to module description.
8203         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
8204         here...
8205         * modules/mkostemps (configure.ac): ... to here.
8206
8207 2011-05-21  Bruno Haible  <bruno@clisp.org>
8208
8209         mkostemp: Move AC_LIBOBJ invocations to module description.
8210         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
8211         gl_PREREQ_MKOSTEMP invocations from here...
8212         * modules/mkostemp (configure.ac): ... to here.
8213
8214 2011-05-21  Bruno Haible  <bruno@clisp.org>
8215
8216         mknod: Move AC_LIBOBJ invocations to module description.
8217         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
8218         * modules/mknod (configure.ac): ... to here.
8219
8220 2011-05-21  Bruno Haible  <bruno@clisp.org>
8221
8222         mkfifoat: Move AC_LIBOBJ invocations to module description.
8223         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
8224         here...
8225         * modules/mkfifoat (configure.ac): ... to here.
8226
8227 2011-05-21  Bruno Haible  <bruno@clisp.org>
8228
8229         mkfifo: Respect rules for use of AC_LIBOBJ.
8230         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
8231         here...
8232         * modules/mkfifo (configure.ac): ... to here.
8233
8234 2011-05-21  Bruno Haible  <bruno@clisp.org>
8235
8236         mkdtemp: Move AC_LIBOBJ invocations to module description.
8237         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
8238         invocations from here...
8239         * modules/mkdtemp (configure.ac): ... to here.
8240
8241 2011-05-21  Bruno Haible  <bruno@clisp.org>
8242
8243         mkdir: Move AC_LIBOBJ invocations to module description.
8244         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
8245         * modules/mkdir (configure.ac): ... to here.
8246
8247 2011-05-21  Bruno Haible  <bruno@clisp.org>
8248
8249         memset: Move AC_LIBOBJ invocations to module description.
8250         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
8251         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
8252         here...
8253         * modules/memset (configure.ac): ... to here.
8254
8255 2011-05-21  Bruno Haible  <bruno@clisp.org>
8256
8257         memrchr: Move AC_LIBOBJ invocations to module description.
8258         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
8259         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
8260         here...
8261         * modules/memrchr (configure.ac): ... to here.
8262
8263 2011-05-21  Bruno Haible  <bruno@clisp.org>
8264
8265         mempcpy: Move AC_LIBOBJ invocations to module description.
8266         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
8267         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
8268         here...
8269         * modules/mempcpy (configure.ac): ... to here.
8270
8271 2011-05-21  Bruno Haible  <bruno@clisp.org>
8272
8273         memmove: Move AC_LIBOBJ invocations to module description.
8274         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
8275         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
8276         here...
8277         * modules/memmove (configure.ac): ... to here.
8278
8279 2011-05-21  Bruno Haible  <bruno@clisp.org>
8280
8281         memmem*: Move AC_LIBOBJ invocations to module description.
8282         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
8283         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
8284         here...
8285         (gl_FUNC_MEMMEM): ... and here...
8286         * modules/memmem-simple (configure.ac): ... to here.
8287         * modules/memmem (configure.ac): ... and here.
8288
8289 2011-05-21  Bruno Haible  <bruno@clisp.org>
8290
8291         memcpy: Move AC_LIBOBJ invocations to module description.
8292         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
8293         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
8294         here...
8295         * modules/memcpy (configure.ac): ... to here.
8296
8297 2011-05-21  Bruno Haible  <bruno@clisp.org>
8298
8299         memcmp: Simplify autoconf macro.
8300         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
8301         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
8302         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
8303
8304 2011-05-21  Bruno Haible  <bruno@clisp.org>
8305
8306         memcmp: Move AC_LIBOBJ invocations to module description.
8307         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
8308         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
8309         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
8310         * modules/memcmp (configure.ac): ... to here.
8311         (Depends-on): Update conditions.
8312
8313 2011-05-21  Bruno Haible  <bruno@clisp.org>
8314
8315         memchr: Respect rules for use of AC_LIBOBJ.
8316         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
8317         invocations from here...
8318         * modules/memchr (configure.ac): ... to here.
8319
8320 2011-05-21  Bruno Haible  <bruno@clisp.org>
8321
8322         mbtowc: Move AC_LIBOBJ invocations to module description.
8323         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
8324         invocations from here...
8325         * modules/mbtowc (configure.ac): ... to here.
8326
8327 2011-05-21  Bruno Haible  <bruno@clisp.org>
8328
8329         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
8330         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
8331         gl_PREREQ_MBSRTOWCS invocations from here...
8332         * modules/mbsrtowcs (configure.ac): ... to here.
8333
8334 2011-05-21  Bruno Haible  <bruno@clisp.org>
8335
8336         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
8337         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
8338         gl_PREREQ_MBSNRTOWCS invocations from here...
8339         * modules/mbsnrtowcs (configure.ac): ... to here.
8340
8341 2011-05-21  Bruno Haible  <bruno@clisp.org>
8342
8343         mbsinit: Move AC_LIBOBJ invocations to module description.
8344         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
8345         invocations from here...
8346         * modules/mbsinit (configure.ac): ... to here.
8347
8348 2011-05-21  Bruno Haible  <bruno@clisp.org>
8349
8350         mbrlen: Move AC_LIBOBJ invocations to module description.
8351         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
8352         invocations from here...
8353         * modules/mbrlen (configure.ac): ... to here.
8354
8355 2011-05-21  Bruno Haible  <bruno@clisp.org>
8356
8357         mbrtowc: Respect rules for use of AC_LIBOBJ.
8358         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
8359         invocations from here...
8360         * modules/mbrtowc (configure.ac): ... to here.
8361
8362 2011-05-21  Bruno Haible  <bruno@clisp.org>
8363
8364         malloc-*: Move AC_LIBOBJ invocations to module description.
8365         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
8366         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
8367         AC_LIBOBJ invocations from here...
8368         * modules/malloc-gnu (configure.ac): ... to here.
8369         * modules/malloc-posix (configure.ac): ... and here.
8370
8371 2011-05-21  Bruno Haible  <bruno@clisp.org>
8372
8373         lstat, openat: Respect rules for use of AC_LIBOBJ.
8374         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
8375         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
8376         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
8377         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
8378         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
8379         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
8380         here.
8381         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
8382
8383 2011-05-21  Bruno Haible  <bruno@clisp.org>
8384
8385         lseek: Move AC_LIBOBJ invocations to module description.
8386         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
8387         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8388         * modules/lseek (configure.ac): ... to here.
8389
8390 2011-05-21  Bruno Haible  <bruno@clisp.org>
8391
8392         linkat: Move AC_LIBOBJ invocations to module description.
8393         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
8394         here...
8395         * modules/linkat (configure.ac): ... to here.
8396
8397 2011-05-21  Bruno Haible  <bruno@clisp.org>
8398
8399         link: Respect rules for use of AC_LIBOBJ.
8400         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
8401         * modules/link (configure.ac): ... to here.
8402
8403 2011-05-21  Bruno Haible  <bruno@clisp.org>
8404
8405         lchown: Move AC_LIBOBJ invocations to module description.
8406         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8407         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8408         * modules/lchown (configure.ac): ... to here.
8409
8410 2011-05-21  Bruno Haible  <bruno@clisp.org>
8411
8412         iswctype: Move AC_LIBOBJ invocations to module description.
8413         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8414         here...
8415         * modules/iswctype (configure.ac): ... to here.
8416
8417 2011-05-21  Bruno Haible  <bruno@clisp.org>
8418
8419         iswblank: Move AC_LIBOBJ invocations to module description.
8420         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8421         here...
8422         * modules/iswblank (configure.ac): ... to here.
8423
8424 2011-05-21  Bruno Haible  <bruno@clisp.org>
8425
8426         atanl: Move AC_LIBOBJ invocations to module description.
8427         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8428         * modules/atanl (configure.ac): ... to here.
8429
8430 2011-05-21  Bruno Haible  <bruno@clisp.org>
8431
8432         acosl: Move AC_LIBOBJ invocations to module description.
8433         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8434         * modules/acosl (configure.ac): ... to here.
8435
8436 2011-05-21  Bruno Haible  <bruno@clisp.org>
8437
8438         asinl: Respect rules for use of AC_LIBOBJ.
8439         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8440         * modules/asinl (configure.ac): ... to here.
8441
8442 2011-05-21  Bruno Haible  <bruno@clisp.org>
8443
8444         tanl: Move AC_LIBOBJ invocations to module description.
8445         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8446         * modules/tanl (configure.ac): ... to here.
8447
8448 2011-05-21  Bruno Haible  <bruno@clisp.org>
8449
8450         cosl: Move AC_LIBOBJ invocations to module description.
8451         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8452         * modules/cosl (configure.ac): ... to here.
8453
8454 2011-05-21  Bruno Haible  <bruno@clisp.org>
8455
8456         sinl: Move AC_LIBOBJ invocations to module description.
8457         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8458         * modules/sinl (configure.ac): ... to here.
8459
8460 2011-05-21  Bruno Haible  <bruno@clisp.org>
8461
8462         logl: Move AC_LIBOBJ invocations to module description.
8463         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8464         * modules/logl (configure.ac): ... to here.
8465
8466 2011-05-21  Bruno Haible  <bruno@clisp.org>
8467
8468         expl: Move AC_LIBOBJ invocations to module description.
8469         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8470         * modules/expl (configure.ac): ... to here.
8471
8472 2011-05-21  Bruno Haible  <bruno@clisp.org>
8473
8474         roundl: Move AC_LIBOBJ invocations to module description.
8475         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8476         * modules/roundl (configure.ac): ... to here.
8477
8478 2011-05-21  Bruno Haible  <bruno@clisp.org>
8479
8480         round: Move AC_LIBOBJ invocations to module description.
8481         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8482         * modules/round (configure.ac): ... to here.
8483
8484 2011-05-21  Bruno Haible  <bruno@clisp.org>
8485
8486         roundf: Move AC_LIBOBJ invocations to module description.
8487         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8488         * modules/roundf (configure.ac): ... to here.
8489
8490 2011-05-21  Bruno Haible  <bruno@clisp.org>
8491
8492         truncl: Move AC_LIBOBJ invocations to module description.
8493         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8494         * modules/truncl (configure.ac): ... to here.
8495
8496 2011-05-21  Bruno Haible  <bruno@clisp.org>
8497
8498         trunc: Move AC_LIBOBJ invocations to module description.
8499         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8500         * modules/trunc (configure.ac): ... to here.
8501
8502 2011-05-21  Bruno Haible  <bruno@clisp.org>
8503
8504         truncf: Move AC_LIBOBJ invocations to module description.
8505         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8506         * modules/truncf (configure.ac): ... to here.
8507
8508 2011-05-21  Bruno Haible  <bruno@clisp.org>
8509
8510         ceill: Move AC_LIBOBJ invocations to module description.
8511         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8512         * modules/ceill (configure.ac): ... to here.
8513
8514 2011-05-21  Bruno Haible  <bruno@clisp.org>
8515
8516         ceil: Move AC_LIBOBJ invocations to module description.
8517         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8518         * modules/ceil (configure.ac): ... to here.
8519
8520 2011-05-21  Bruno Haible  <bruno@clisp.org>
8521
8522         ceilf: Move AC_LIBOBJ invocations to module description.
8523         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8524         * modules/ceilf (configure.ac): ... to here.
8525
8526 2011-05-21  Bruno Haible  <bruno@clisp.org>
8527
8528         floorl: Respect rules for use of AC_LIBOBJ.
8529         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8530         * modules/floorl (configure.ac): ... to here.
8531
8532 2011-05-21  Bruno Haible  <bruno@clisp.org>
8533
8534         floor: Respect rules for use of AC_LIBOBJ.
8535         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8536         * modules/floor (configure.ac): ... to here.
8537
8538 2011-05-21  Bruno Haible  <bruno@clisp.org>
8539
8540         floorf: Move AC_LIBOBJ invocations to module description.
8541         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8542         * modules/floorf (configure.ac): ... to here.
8543
8544 2011-05-20  Bruno Haible  <bruno@clisp.org>
8545
8546         sqrtl: Respect rules for use of AC_LIBOBJ.
8547         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8548         * modules/sqrtl (configure.ac): ... to here.
8549
8550 2011-05-20  Bruno Haible  <bruno@clisp.org>
8551
8552         ldexpl: Respect rules for use of AC_LIBOBJ.
8553         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8554         * modules/ldexpl (configure.ac): ... to here.
8555
8556 2011-05-20  Bruno Haible  <bruno@clisp.org>
8557
8558         frexpl*: Respect rules for use of AC_LIBOBJ.
8559         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8560         invocation from here...
8561         * modules/frexpl (configure.ac): ... to here.
8562         * modules/frexpl-nolibm (configure.ac): ... and here.
8563
8564 2011-05-20  Bruno Haible  <bruno@clisp.org>
8565
8566         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8567         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8568         invocation from here...
8569         * modules/frexp (configure.ac): ... to here.
8570         * modules/frexp-nolibm (configure.ac): ... and here.
8571
8572 2011-05-20  Bruno Haible  <bruno@clisp.org>
8573
8574         isnan: Respect rules for use of AC_LIBOBJ.
8575         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8576         invocations here.
8577         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8578         REPLACE_ISNAN.
8579         * modules/isnand (configure.ac): Likewise.
8580         * modules/isnanl (configure.ac): Likewise.
8581
8582 2011-05-20  Bruno Haible  <bruno@clisp.org>
8583
8584         isnanl*: Respect rules for use of AC_LIBOBJ.
8585         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8586         invocation from here...
8587         * modules/isnanl (configure.ac): ... to here.
8588         * modules/isnanl-nolibm (configure.ac): ... and here.
8589
8590 2011-05-20  Bruno Haible  <bruno@clisp.org>
8591
8592         isnand*: Move AC_LIBOBJ invocations to module description.
8593         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8594         invocation from here...
8595         * modules/isnand (configure.ac): ... to here.
8596         * modules/isnand-nolibm (configure.ac): ... and here.
8597
8598 2011-05-20  Bruno Haible  <bruno@clisp.org>
8599
8600         isnanf*: Move AC_LIBOBJ invocations to module description.
8601         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8602         invocation from here...
8603         * modules/isnanf (configure.ac): ... to here.
8604         * modules/isnanf-nolibm (configure.ac): ... and here.
8605
8606 2011-05-20  Bruno Haible  <bruno@clisp.org>
8607
8608         isnan*: Separate the AC_LIBOBJ invocations.
8609         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8610         AC_LIBOBJ invocation.
8611         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8612         here.
8613         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8614         AC_LIBOBJ invocation.
8615         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8616         here.
8617         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8618         AC_LIBOBJ invocation.
8619         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8620         here.
8621         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8622
8623 2011-05-08  Bruno Haible  <bruno@clisp.org>
8624
8625         isinf: Move AC_LIBOBJ invocations to module description.
8626         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8627         * modules/isinf (configure.ac): ... to here.
8628
8629 2011-05-08  Bruno Haible  <bruno@clisp.org>
8630
8631         isfinite: Move AC_LIBOBJ invocations to module description.
8632         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8633         * modules/isfinite (configure.ac): ... to here.
8634
8635 2011-05-08  Bruno Haible  <bruno@clisp.org>
8636
8637         isblank: Move AC_LIBOBJ invocations to module description.
8638         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8639         here...
8640         * modules/isblank (configure.ac): ... to here.
8641
8642 2011-05-08  Bruno Haible  <bruno@clisp.org>
8643
8644         isapipe: Move AC_LIBOBJ invocations to module description.
8645         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8646         gl_PREREQ_ISAPIPE invocations from here...
8647         * modules/isapipe (configure.ac): ... to here.
8648         (Depends-on): Update condition.
8649
8650 2011-05-08  Bruno Haible  <bruno@clisp.org>
8651
8652         ioctl: Move AC_LIBOBJ invocations to module description.
8653         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8654         invocations from here...
8655         * modules/ioctl (configure.ac): ... to here.
8656         (Depends-on): Update condition.
8657
8658 2011-05-08  Bruno Haible  <bruno@clisp.org>
8659
8660         imaxdiv: Move AC_LIBOBJ invocations to module description.
8661         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8662         invocations from here...
8663         * modules/imaxdiv (configure.ac): ... to here.
8664
8665 2011-05-08  Bruno Haible  <bruno@clisp.org>
8666
8667         imaxabs: Move AC_LIBOBJ invocations to module description.
8668         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8669         invocations from here...
8670         * modules/imaxabs (configure.ac): ... to here.
8671
8672 2011-05-08  Bruno Haible  <bruno@clisp.org>
8673
8674         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8675         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8676         AC_LIBOBJ invocations from here...
8677         * modules/getaddrinfo (configure.ac): ... to here.
8678         (Depends-on): Add conditions.
8679
8680 2011-05-08  Bruno Haible  <bruno@clisp.org>
8681
8682         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8683         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8684         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8685         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8686         (gl_PREREQ_INET_PTON): ... from here.
8687         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8688         gl_PREREQ_INET_PTON here.
8689         (Depends-on): Update condition.
8690
8691 2011-05-08  Bruno Haible  <bruno@clisp.org>
8692
8693         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8694         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8695         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8696         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8697         (gl_PREREQ_INET_NTOP): ... from here.
8698         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8699         gl_PREREQ_INET_NTOP here.
8700         (Depends-on): Update condition.
8701
8702 2011-05-08  Bruno Haible  <bruno@clisp.org>
8703
8704         iconv_open: Move AC_LIBOBJ invocations to module description.
8705         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8706         AC_LIBOBJ invocations from here...
8707         * modules/iconv_open (configure.ac): ... to here.
8708
8709 2011-05-08  Bruno Haible  <bruno@clisp.org>
8710
8711         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8712         If module 'iconv_open' is among the main modules and module
8713         'iconv_open-utf' is among the tests dependencies, then
8714         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8715         return the special iconv_t values. Therefore iconv() and iconv_close()
8716         must support these special iconv_t values, already in lib, not only in
8717         tests.
8718         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8719         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8720         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8721         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8722         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8723         (Depends-on): Add the dependencies of iconv_open-utf.
8724         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8725         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8726         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8727
8728 2011-05-08  Bruno Haible  <bruno@clisp.org>
8729
8730         group-member: Move AC_LIBOBJ invocations to module description.
8731         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8732         gl_PREREQ_GROUP_MEMBER invocations from here...
8733         * modules/group-member (configure.ac): ... to here.
8734
8735 2011-05-08  Bruno Haible  <bruno@clisp.org>
8736
8737         grantpt: Move AC_LIBOBJ invocations to module description.
8738         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8739         invocations from here...
8740         * modules/grantpt (configure.ac): ... to here.
8741
8742 2011-05-08  Bruno Haible  <bruno@clisp.org>
8743
8744         glob: Move AC_LIBOBJ invocations to module description.
8745         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8746         from here...
8747         * modules/glob (configure.ac): ... to here.
8748
8749 2011-05-08  Bruno Haible  <bruno@clisp.org>
8750
8751         getusershell: Move AC_LIBOBJ invocations to module description.
8752         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8753         Move AC_LIBOBJ invocation from here...
8754         * modules/getusershell (configure.ac): ... to here.
8755         (Depends-on): Update condition.
8756
8757 2011-05-08  Bruno Haible  <bruno@clisp.org>
8758
8759         gettimeofday: Move AC_LIBOBJ invocations to module description.
8760         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8761         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8762         gl_PREREQ_GETTIMEOFDAY invocations from here...
8763         * modules/gettimeofday (configure.ac): ... to here.
8764
8765 2011-05-08  Bruno Haible  <bruno@clisp.org>
8766
8767         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8768         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8769         just gl_FUNC_TZSET.
8770         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8771         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8772         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8773         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8774
8775 2011-05-08  Bruno Haible  <bruno@clisp.org>
8776
8777         getsubopt: Move AC_LIBOBJ invocations to module description.
8778         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8779         gl_PREREQ_GETSUBOPT invocations from here...
8780         * modules/getsubopt (configure.ac): ... to here.
8781
8782 2011-05-08  Bruno Haible  <bruno@clisp.org>
8783
8784         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8785         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8786         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8787         * modules/getpass-gnu (configure.ac): ... to here.
8788
8789 2011-05-08  Bruno Haible  <bruno@clisp.org>
8790
8791         getpass: Move AC_LIBOBJ invocations to module description.
8792         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8793         gl_PREREQ_GETPASS invocations from here...
8794         * modules/getpass (configure.ac): ... to here.
8795
8796 2011-05-08  Bruno Haible  <bruno@clisp.org>
8797
8798         getpagesize: Move AC_LIBOBJ invocations to module description.
8799         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8800         from here...
8801         * modules/getpagesize (configure.ac): ... to here.
8802
8803 2011-05-08  Bruno Haible  <bruno@clisp.org>
8804
8805         getopt: Move AC_LIBOBJ invocations to module description.
8806         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8807         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8808         invocations from here...
8809         * modules/getopt-gnu (configure.ac): ... to here.
8810         * modules/getopt-posix (configure.ac): ... and here.
8811         (Depends-on): Update condition.
8812
8813 2011-05-08  Bruno Haible  <bruno@clisp.org>
8814
8815         getopt, argp: Respect rules for use of AC_LIBOBJ.
8816         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8817         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8818         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8819         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8820
8821 2011-05-08  Bruno Haible  <bruno@clisp.org>
8822
8823         getlogin_r: Move AC_LIBOBJ invocations to module description.
8824         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8825         gl_PREREQ_GETLOGIN_R invocations from here...
8826         * modules/getlogin_r (configure.ac): ... to here.
8827
8828 2011-05-08  Bruno Haible  <bruno@clisp.org>
8829
8830         getlogin: Move AC_LIBOBJ invocations to module description.
8831         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8832         here...
8833         * modules/getlogin (configure.ac): ... to here.
8834
8835 2011-05-08  Bruno Haible  <bruno@clisp.org>
8836
8837         getloadavg: Move AC_LIBOBJ invocations to module description.
8838         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8839         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8840         * modules/getloadavg (configure.ac): ... to here.
8841
8842 2011-05-08  Bruno Haible  <bruno@clisp.org>
8843
8844         gethrxtime: Move AC_LIBOBJ invocations to module description.
8845         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8846         LIB_GETHRXTIME from here...
8847         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8848         invocations from here...
8849         * modules/gethrxtime (configure.ac): ... to here.
8850
8851 2011-05-08  Bruno Haible  <bruno@clisp.org>
8852
8853         gethostname: Move AC_LIBOBJ invocations to module description.
8854         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8855         gl_PREREQ_GETHOSTNAME invocations from here...
8856         * modules/gethostname (configure.ac): ... to here.
8857
8858 2011-05-08  Bruno Haible  <bruno@clisp.org>
8859
8860         getgroups: Move AC_LIBOBJ invocations to module description.
8861         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8862         here...
8863         * modules/getgroups (configure.ac): ... to here.
8864
8865 2011-05-08  Bruno Haible  <bruno@clisp.org>
8866
8867         getdtablesize: Move AC_LIBOBJ invocations to module description.
8868         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8869         invocation from here...
8870         * modules/getdtablesize (configure.ac): ... to here.
8871
8872 2011-05-08  Bruno Haible  <bruno@clisp.org>
8873
8874         getdomainname: Move AC_LIBOBJ invocations to module description.
8875         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8876         gl_PREREQ_GETDOMAINNAME invocations from here...
8877         * modules/getdomainname (configure.ac): ... to here.
8878
8879 2011-05-08  Bruno Haible  <bruno@clisp.org>
8880
8881         getline: Move AC_LIBOBJ invocations to module description.
8882         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8883         invocations from here...
8884         * modules/getline (configure.ac): ... to here.
8885
8886 2011-05-08  Bruno Haible  <bruno@clisp.org>
8887
8888         getline: Simplify.
8889         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8890         It's already handled through the module dependency.
8891
8892 2011-05-08  Bruno Haible  <bruno@clisp.org>
8893
8894         getdelim: Move AC_LIBOBJ invocations to module description.
8895         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8896         and gl_PREREQ_GETDELIM invocations from here...
8897         * modules/getdelim (configure.ac): ... to here.
8898         (Depends-on): Fix condition.
8899
8900 2011-05-08  Bruno Haible  <bruno@clisp.org>
8901
8902         getcwd: Move AC_LIBOBJ invocations to module description.
8903         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8904         invocations from here...
8905         * modules/getcwd (configure.ac): ... to here.
8906
8907 2011-05-08  Bruno Haible  <bruno@clisp.org>
8908
8909         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8910         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8911         here...
8912         * modules/getcwd-lgpl (configure.ac): ... to here.
8913
8914 2011-05-07  Bruno Haible  <bruno@clisp.org>
8915
8916         crypto/gc: Move AC_LIBOBJ invocations to module description.
8917         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8918         * modules/crypto/gc (configure.ac): ... to here.
8919
8920 2011-05-07  Bruno Haible  <bruno@clisp.org>
8921
8922         fwriting: Move AC_LIBOBJ invocations to module description.
8923         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8924         here...
8925         * modules/fwriting (configure.ac): ... to here.
8926
8927 2011-05-07  Bruno Haible  <bruno@clisp.org>
8928
8929         fwritable: Move AC_LIBOBJ invocations to module description.
8930         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8931         here...
8932         * modules/fwritable (configure.ac): ... to here.
8933
8934 2011-05-07  Bruno Haible  <bruno@clisp.org>
8935
8936         futimens: Move AC_LIBOBJ invocations to module description.
8937         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8938         here...
8939         * modules/futimens (configure.ac): ... to here.
8940
8941 2011-05-07  Bruno Haible  <bruno@clisp.org>
8942
8943         ftruncate: Move AC_LIBOBJ invocations to module description.
8944         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8945         gl_PREREQ_FTRUNCATE invocations from here...
8946         * modules/ftruncate (configure.ac): ... to here.
8947
8948 2011-05-07  Bruno Haible  <bruno@clisp.org>
8949
8950         fsync: Move AC_LIBOBJ invocations to module description.
8951         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8952         invocations from here...
8953         * modules/fsync (configure.ac): ... to here.
8954
8955 2011-05-07  Bruno Haible  <bruno@clisp.org>
8956
8957         fsusage: Move AC_LIBOBJ invocations to module description.
8958         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8959         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8960         * modules/fsusage (configure.ac): ... to here.
8961
8962 2011-05-07  Bruno Haible  <bruno@clisp.org>
8963
8964         freopen: Move AC_LIBOBJ invocations to module description.
8965         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8966         invocations from here...
8967         * modules/freopen (configure.ac): ... to here.
8968
8969 2011-05-07  Bruno Haible  <bruno@clisp.org>
8970
8971         free: Move AC_LIBOBJ invocations to module description.
8972         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8973         invocations from here...
8974         * modules/free (configure.ac): ... to here.
8975
8976 2011-05-07  Bruno Haible  <bruno@clisp.org>
8977
8978         freadable: Move AC_LIBOBJ invocations to module description.
8979         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8980         here...
8981         * modules/freadable (configure.ac): ... to here.
8982
8983 2011-05-07  Bruno Haible  <bruno@clisp.org>
8984
8985         fpurge: Move AC_LIBOBJ invocations to module description.
8986         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8987         invocations from here...
8988         * modules/fpurge (configure.ac): ... to here.
8989
8990 2011-05-07  Bruno Haible  <bruno@clisp.org>
8991
8992         fpending: Move AC_LIBOBJ invocations to module description.
8993         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8994         gl_FUNC_FPENDING.
8995         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8996         invocations from here...
8997         * modules/fpending (configure.ac): ... to here.
8998
8999 2011-05-07  Bruno Haible  <bruno@clisp.org>
9000
9001         fopen: Move AC_LIBOBJ invocations to module description.
9002         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
9003         invocations from here...
9004         * modules/fopen (configure.ac): ... to here.
9005
9006 2011-05-07  Bruno Haible  <bruno@clisp.org>
9007
9008         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
9009         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
9010         gl_FUNC_FNMATCH_POSIX.
9011         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
9012         invocations from here...
9013         * modules/fnmatch (configure.ac): ... to here.
9014         * modules/fnmatch-gnu (configure.ac): ... and here.
9015
9016 2011-05-07  Bruno Haible  <bruno@clisp.org>
9017
9018         flock: Move AC_LIBOBJ invocations to module description.
9019         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
9020         invocations from here...
9021         * modules/flock (configure.ac): ... to here.
9022
9023 2011-05-07  Bruno Haible  <bruno@clisp.org>
9024
9025         fileblocks: Move AC_LIBOBJ invocations to module description.
9026         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
9027         gl_PREREQ_FILEBLOCKS invocations from here...
9028         * modules/fileblocks (configure.ac): ... to here.
9029
9030 2011-05-06  Bruno Haible  <bruno@clisp.org>
9031
9032         fflush: Move AC_LIBOBJ invocations to module description.
9033         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
9034         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
9035         invocations from here...
9036         * modules/fflush (configure.ac): ... to here.
9037
9038 2011-05-06  Bruno Haible  <bruno@clisp.org>
9039
9040         fdopendir: Move AC_LIBOBJ invocations to module description.
9041         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
9042         here...
9043         * modules/fdopendir (configure.ac): ... to here.
9044         (Depends-on): Improve conditions.
9045
9046 2011-05-06  Bruno Haible  <bruno@clisp.org>
9047
9048         _Exit: Move AC_LIBOBJ invocations to module description.
9049         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
9050         invocations from here...
9051         * modules/_Exit (configure.ac): ... to here.
9052
9053 2011-05-21  Bruno Haible  <bruno@clisp.org>
9054
9055         euidaccess: Respect rules for use of AC_LIBOBJ.
9056         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
9057         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
9058         from here...
9059         * modules/euidaccess (configure.ac): ... to here.
9060
9061 2011-05-06  Bruno Haible  <bruno@clisp.org>
9062
9063         error: Move AC_LIBOBJ invocations to module description.
9064         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
9065         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
9066         invocations from here...
9067         * modules/error (configure.ac): ... to here.
9068
9069 2011-05-06  Bruno Haible  <bruno@clisp.org>
9070
9071         duplocale: Move AC_LIBOBJ invocations to module description.
9072         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
9073         gl_PREREQ_DUPLOCALE invocations from here...
9074         * modules/duplocale (configure.ac): ... to here.
9075
9076 2011-05-05  Bruno Haible  <bruno@clisp.org>
9077
9078         dirfd: Move AC_LIBOBJ invocations to module description.
9079         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
9080         gl_FUNC_DIRFD.
9081         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
9082         here...
9083         * modules/dirfd (configure.ac): ... to here.
9084         (Depends-on): Fix condition.
9085
9086 2011-05-05  Bruno Haible  <bruno@clisp.org>
9087
9088         chown: Respect rules for use of AC_LIBOBJ.
9089         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
9090         * modules/chown (configure.ac): ... to here.
9091
9092 2011-05-05  Bruno Haible  <bruno@clisp.org>
9093
9094         chdir-long: Move AC_LIBOBJ invocations to module description.
9095         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
9096         gl_PREREQ_CHDIR_LONG invocations from here...
9097         * modules/chdir-long (configure.ac): ... to here.
9098
9099 2011-05-05  Bruno Haible  <bruno@clisp.org>
9100
9101         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
9102         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
9103         from here...
9104         * modules/canonicalize-lgpl (configure.ac): ... to here.
9105
9106 2011-05-05  Bruno Haible  <bruno@clisp.org>
9107
9108         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
9109         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
9110         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
9111         REPLACE_CALLOC.
9112         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
9113         * modules/calloc-gnu (configure.ac): Likewise.
9114
9115 2011-05-05  Bruno Haible  <bruno@clisp.org>
9116
9117         btowc: Move AC_LIBOBJ invocations to module description.
9118         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
9119         invocations from here...
9120         * modules/btowc (configure.ac): ... to here.
9121
9122 2011-05-21  Bruno Haible  <bruno@clisp.org>
9123
9124         atexit: Move AC_LIBOBJ invocations to module description.
9125         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
9126         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
9127         here...
9128         * modules/atexit (configure.ac): ... to here.
9129
9130 2011-05-05  Bruno Haible  <bruno@clisp.org>
9131
9132         atoll: Move AC_LIBOBJ invocations to module description.
9133         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
9134         invocations from here...
9135         * modules/atoll (configure.ac): ... to here.
9136
9137 2011-05-05  Bruno Haible  <bruno@clisp.org>
9138
9139         argz: Move AC_LIBOBJ invocations to module description.
9140         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
9141         * modules/argz (configure.ac): ... to here.
9142
9143 2011-05-05  Bruno Haible  <bruno@clisp.org>
9144
9145         alphasort: Move AC_LIBOBJ invocations to module description.
9146         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
9147         gl_PREREQ_ALPHASORT invocations from here...
9148         * modules/alphasort (configure.ac): ... to here.
9149
9150 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
9151
9152         verify: new macro verify_expr; verify_true deprecated
9153         * NEWS: Mention this.
9154         * doc/verify.texi (Compile-time Assertions): Document this.
9155         * lib/verify.h (verify_true): Deprecate.
9156         (verify_expr): New macro.
9157         * tests/test-verify.c (function): Test verify_expr.
9158
9159 2011-06-14  Jim Meyering  <meyering@redhat.com>
9160
9161         init.sh: give more portable redirection-related advice in a comment
9162         * tests/init.sh (stderr_fileno_): Update the advice in comments.
9163         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
9164         for lots of discussion.  Stefano Lattarini suggested the solution
9165         of putting "9>&2" after the command.  Reported by Bruno Haible.
9166
9167 2011-06-13  Bruno Haible  <bruno@clisp.org>
9168
9169         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
9170         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
9171         'none'.
9172
9173 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
9174
9175         ftoastr: use strtof only if HAVE_STRTOF
9176         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
9177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
9178         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
9179         * modules/ftoastr (configure.ac): Check for strtof.
9180
9181 2011-06-13  Bruno Haible  <bruno@clisp.org>
9182
9183         gnulib-tool: Addendum to 2011-06-08 commit.
9184         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
9185         and --witness-c-macro have been given, augment AM_CPPFLAGS.
9186
9187 2011-06-13  Bruno Haible  <bruno@clisp.org>
9188
9189         fseeko: Provide a non-inline replacement of fseek().
9190         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
9191         * modules/fseeko (Depends-on): Add fseek.
9192         * modules/fseek (License): Change to LGPLv2+.
9193
9194 2011-06-13  Bruno Haible  <bruno@clisp.org>
9195
9196         ftello: Provide a non-inline replacement of ftell().
9197         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
9198         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
9199         not have ftello() (such as on mingw).
9200         * modules/ftello (Depends-on): Add ftell.
9201         * modules/ftell (License): Change to LGPLv2+.
9202
9203 2011-05-07  Bruno Haible  <bruno@clisp.org>
9204
9205         ftell: Move AC_LIBOBJ invocations to module description.
9206         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
9207         * modules/ftell (configure.ac): ... to here.
9208
9209 2011-05-07  Bruno Haible  <bruno@clisp.org>
9210
9211         ftello: Respect rules for use of AC_LIBOBJ.
9212         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
9213         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
9214         here...
9215         * modules/ftello (configure.ac): ... to here.
9216
9217 2011-05-07  Bruno Haible  <bruno@clisp.org>
9218
9219         fseeko: Simplify.
9220         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
9221         (gl_FUNC_FSEEKO): Inline it here.
9222
9223 2011-05-07  Bruno Haible  <bruno@clisp.org>
9224
9225         fseek: Move AC_LIBOBJ invocations to module description.
9226         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
9227         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
9228         * modules/fseek (configure.ac): ... to here.
9229
9230 2011-05-07  Bruno Haible  <bruno@clisp.org>
9231
9232         fseek: Respect rules for use of AC_LIBOBJ.
9233         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
9234         here...
9235         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
9236
9237 2011-05-07  Bruno Haible  <bruno@clisp.org>
9238
9239         fseeko: Respect rules for use of AC_LIBOBJ.
9240         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
9241         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
9242         here...
9243         * modules/fseeko (configure.ac): ... to here.
9244
9245 2011-06-13  Bruno Haible  <bruno@clisp.org>
9246
9247         gnulib-tool: Allow comments in the 'Depends-on' section.
9248         * doc/gnulib.texi (Module description): Mention comment syntax in the
9249         Depends-on section.
9250         * gnulib-tool (func_get_dependencies): Filter out comment lines.
9251
9252 2011-06-13  Bruno Haible  <bruno@clisp.org>
9253
9254         file-set.h: guard __attibute__ use, now that it's not always defined
9255         * lib/file-set.h (record_file): Use __attribute__ only with compiler
9256         versions that support it.  This fixes a coreutils build failure with
9257         the vendor cc on HP-UX 11.31.
9258
9259 2011-06-12  Bruno Haible  <bruno@clisp.org>
9260
9261         acl: Add support for HP-UX >= 11.11 JFS ACLs.
9262         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
9263         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
9264         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
9265         (acl, aclsort): New declarations.
9266         (aclv_nontrivial): New declaration.
9267         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
9268         (file_has_acl): Read also the second kind of HP-UX ACLs.
9269         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
9270         kind of HP-UX ACLs if the first kind fails.
9271         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
9272         second kind of HP-UX ACLs.
9273         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
9274         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
9275         agree.
9276         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9277         hpuxjfs.
9278         Handle hpuxjfs.
9279         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9280         hpuxjfs.
9281         Handle hpuxjfs.
9282         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9283         (func_test_same_acls): Use both lsacl and getacl.
9284         Handle hpuxjfs.
9285         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9286         (func_test_same_acls): Use both lsacl and getacl.
9287         Handle hpuxjfs.
9288
9289 2011-06-12  Bruno Haible  <bruno@clisp.org>
9290
9291         acl: Complete the 2010-08-10 fix.
9292         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
9293         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
9294         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
9295         explicitly.
9296         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
9297         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
9298
9299 2011-06-12  Bruno Haible  <bruno@clisp.org>
9300
9301         spawn-pipe tests: Comments.
9302         * tests/test-spawn-pipe-child.c (main): Update comment.
9303         Reported by James Youngman <jay@gnu.org>.
9304
9305 2011-06-11  James Youngman  <jay@gnu.org>
9306
9307         New module 'stat-size'.
9308         * modules/stat-size: New module.  Provides macros for accessing
9309         file size information in instances of struct stat.  Depends on the
9310         fileblocks module because it calls st_blocks.
9311         * lib/stat-size.h: New file, adapted from coreutils' system.h.
9312         * doc/gnulib.texi: Include stat-size.texi.
9313         * doc/stat-size.texi: Documentation for this module.
9314         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
9315         * m4/fileblocks.m4: Mention that stat-size depends on the call to
9316         AC_STRUCT_ST_BLOCKS.
9317
9318 2011-06-09  Bruno Haible  <bruno@clisp.org>
9319
9320         thread: Support pthreads-win32.
9321         * lib/glthread/thread.h (gl_thread_self): Define differently on
9322         pthreads-win32.
9323         (gl_null_thread): New declaration.
9324         (gl_thread_self_pointer): New macro.
9325         * lib/glthread/thread.c (gl_null_thread): New constant.
9326         * tests/test-lock.c: Use gl_thread_self_pointer instead of
9327         gl_thread_self.
9328         * tests/test-tls.c: Likewise.
9329         Suggested by Paul Eggert. Reported by Eric Blake.
9330
9331 2011-06-09  Bruno Haible  <bruno@clisp.org>
9332
9333         thread: Fix confusion between NULL and 0.
9334         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
9335         Reported by Paul Eggert.
9336
9337 2011-06-09  Bruno Haible  <bruno@clisp.org>
9338
9339         spawn-pipe tests: Avoid test failure on HP-UX 11.
9340         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
9341         is closed.
9342
9343 2011-06-09  Bruno Haible  <bruno@clisp.org>
9344
9345         acl tests: Fix compilation error on HP-UX 11.
9346         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
9347
9348 2011-06-09  Bruno Haible  <bruno@clisp.org>
9349
9350         rmdir: Avoid test failure on HP-UX 10.20.
9351         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
9352         EEXIST.
9353
9354 2011-06-08  Eric Blake  <eblake@redhat.com>
9355
9356         perror: fix test on mingw
9357         * modules/perror-tests (Depends-on): Add dup2.
9358
9359         strerror_r-posix: fix on MacOS
9360         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
9361         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
9362         logic bug.
9363         * lib/strerror_r.c (strerror_r): Fix the bug.
9364         * lib/strerror.c (strerror): Likewise.
9365         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9366         problem.
9367         * doc/posix-functions/strerror.texi (strerror): Likewise.
9368         * doc/posix-functions/perror.texi (perror): Likewise.
9369         * tests/test-strerror.c (main): Enhance test.
9370         * tests/test-strerror_r.c (main): Likewise.
9371
9372 2011-06-08  Bruno Haible  <bruno@clisp.org>
9373
9374         gnulib-tool: Better isolation between different gnulib-tool invocations.
9375         * gnulib-tool: New option --witness-c-macro.
9376         (witness_c_macro): New variable.
9377         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
9378         AM_CPPFLAGS define it as a C macro.
9379         (func_emit_tests_Makefile_am): Likewise.
9380         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
9381         read it from there.
9382         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
9383         m4_define, not AC_DEFUN.
9384         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
9385         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
9386         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
9387         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
9388         s|...|...|, to substitute the values of the GNULIB_* module indicator
9389         variables.
9390         * modules/dirent (Makefile.am): Likewise.
9391         * modules/fcntl-h (Makefile.am): Likewise.
9392         * modules/iconv-h (Makefile.am): Likewise.
9393         * modules/langinfo (Makefile.am): Likewise.
9394         * modules/locale (Makefile.am): Likewise.
9395         * modules/math (Makefile.am): Likewise.
9396         * modules/netdb (Makefile.am): Likewise.
9397         * modules/poll-h (Makefile.am): Likewise.
9398         * modules/pty (Makefile.am): Likewise.
9399         * modules/search (Makefile.am): Likewise.
9400         * modules/signal (Makefile.am): Likewise.
9401         * modules/spawn (Makefile.am): Likewise.
9402         * modules/stdio (Makefile.am): Likewise.
9403         * modules/stdlib (Makefile.am): Likewise.
9404         * modules/string (Makefile.am): Likewise.
9405         * modules/sys_ioctl (Makefile.am): Likewise.
9406         * modules/sys_select (Makefile.am): Likewise.
9407         * modules/sys_socket (Makefile.am): Likewise.
9408         * modules/sys_stat (Makefile.am): Likewise.
9409         * modules/sys_times (Makefile.am): Likewise.
9410         * modules/sys_utsname (Makefile.am): Likewise.
9411         * modules/sys_wait (Makefile.am): Likewise.
9412         * modules/termios (Makefile.am): Likewise.
9413         * modules/time (Makefile.am): Likewise.
9414         * modules/unistd (Makefile.am): Likewise.
9415         * modules/wchar (Makefile.am): Likewise.
9416
9417 2011-06-08  Eric Blake  <eblake@redhat.com>
9418
9419         strerror: simplify replacement
9420         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9421         * modules/strerror (configure.ac): No prereqs needed here...
9422         * modules/strerror-override (configure.ac): ...but this needs it.
9423         (Files): Add file for needed prereq macro.
9424
9425 2011-06-08  Bruno Haible  <bruno@clisp.org>
9426
9427         strerror_r-posix: Tweaks.
9428         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9429         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9430         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9431         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9432         (gl_FUNC_STRERROR_R): ... to here.
9433         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9434
9435 2011-06-07  Eric Blake  <eblake@redhat.com>
9436
9437         perror: document fixed bugs
9438         * doc/posix-functions/perror.texi (perror): Document recent
9439         patches.
9440
9441 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9442
9443         stat-time: get_stat_birthtime failure is better-defined
9444         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9445         return a timestamp whose tv_sec and tv_nsec values are both -1.
9446         Previously, the spec said only that the tv_nsec value was negative.
9447         This upward-compatible change simplifies GNU tar a bit.
9448
9449 2011-06-07  Eric Blake  <eblake@redhat.com>
9450
9451         strerror_r-posix: work around cygwin 1.7.9
9452         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9453         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9454         bug without replacing strerror_r.
9455         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9456         strerror_r is buggy, but without requiring strerror_r compilation.
9457         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9458
9459         test-perror: relax test to ignore cygwin bug
9460         * tests/test-perror2.c (main): Relax test on requiring detection
9461         of stream errors, and use unbuffered stream.
9462         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9463         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9464         * doc/posix-functions/fputc.texi (fputc): Likewise.
9465         * doc/posix-functions/fputs.texi (fputs): Likewise.
9466         * doc/posix-functions/fputws.texi (fputws): Likewise.
9467         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9468         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9469         * doc/posix-functions/getopt.texi (getopt): Likewise.
9470         * doc/posix-functions/perror.texi (perror): Likewise.
9471         * doc/posix-functions/printf.texi (printf): Likewise.
9472         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9473         * doc/posix-functions/psignal.texi (psignal): Likewise.
9474         * doc/posix-functions/putc.texi (putc): Likewise.
9475         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9476         Likewise.
9477         * doc/posix-functions/putchar.texi (putchar): Likewise.
9478         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9479         Likewise.
9480         * doc/posix-functions/puts.texi (puts): Likewise.
9481         * doc/posix-functions/putwc.texi (putwc): Likewise.
9482         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9483         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9484         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9485         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9486         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9487         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9488         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9489         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9490
9491 2011-05-22  Bruno Haible  <bruno@clisp.org>
9492
9493         strerror: Move AC_LIBOBJ invocations to module description.
9494         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9495         gl_PREREQ_STRERROR invocations from here...
9496         * modules/strerror (configure.ac): ... to here.
9497
9498 2011-05-21  Bruno Haible  <bruno@clisp.org>
9499
9500         perror: Use common idiom.
9501         * modules/perror (configure.ac): Reorder statements.
9502
9503 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9504
9505         tests: fix usage message in 'mktempd_'
9506         * tests/init.sh (mktempd_): In the usage message, use literal
9507         'mktempd_', not '$ME' (which is even undefined), as the name of
9508         the subroutine.
9509
9510 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9511
9512         tests init: new function 'fatal_', for hard errors
9513         Before this patch, the only way offered by tests/init.sh to
9514         properly signal a hard error was the `framework_failure_'
9515         function.  But the error message issued by that function,
9516         as its name would suggest, refers to a set-up failure in the
9517         testsuite, while hard errors can obviously also be due to
9518         other reasons.  The best way to fix this inconsistency is to
9519         introduce a new function with a more general error message.
9520         * tests/init.sh (fatal_): New function.
9521
9522 2011-06-06  Eric Blake  <eblake@redhat.com>
9523
9524         canonicalize-lgpl: use common idiom
9525         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9526         over newer POSIX -Rf.
9527         Reported by Bruno Haible.
9528
9529         canonicalize-lgpl: work around AIX realpath bug
9530         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9531         * doc/posix-functions/realpath.texi (realpath): Document it.
9532         Reported by Bruno Haible.
9533
9534         strerror: work around FreeBSD bug
9535         * lib/strerror.c (strerror): Special case 0.
9536         Reported by Bruno Haible.
9537
9538         strerror-override: avoid bloating errno module
9539         * modules/errno (Files, configure.ac): Move replacement strings...
9540         * modules/strerror-override: ...to new module.
9541         * modules/strerror (Depends-on): Add strerror-override.
9542         * modules/strerror_r-posix (Depends-on): Likewise.
9543         * MODULES.html.sh: Document new module.
9544         Reported by Bruno Haible.
9545
9546 2011-06-06  Bruno Haible  <bruno@clisp.org>
9547
9548         spawn-pipe tests: Rename program.
9549         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9550         * tests/test-spawn-pipe-child.c: Update comment.
9551         * tests/test-spawn-pipe.sh: Update.
9552         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9553
9554         spawn-pipe tests: Link the child program only against libc.
9555         * tests/test-spawn-pipe-child.c: New file, extracted from
9556         tests/test-spawn-pipe.c.
9557         (main): Expect only one argument.
9558         (is_open): New function, copied from tests/test-pipe.c.
9559         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9560         (child_main): Remove function.
9561         (test_pipe): Pass only one argument to the child program.
9562         (main): Remove child process code. Expect the child program's name as
9563         first argument.
9564         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9565         argument.
9566         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9567         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9568         test-spawn-pipe-child against no libraries.
9569
9570 2011-06-06  Bruno Haible  <bruno@clisp.org>
9571
9572         careadlinkat: Avoid mismatch between ssize_t and int.
9573         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9574         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9575
9576 2011-06-06  Jim Meyering  <meyering@redhat.com>
9577
9578         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9579         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9580         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9581
9582 2011-06-05  Bruno Haible  <bruno@clisp.org>
9583
9584         ansi-c++-opt: Interoperability with libtool.
9585         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9586         set the variable to "no", not to ":".
9587         * NEWS: Mention the change.
9588
9589 2011-06-05  Bruno Haible  <bruno@clisp.org>
9590
9591         acl: Fix test failure on AIX 7.
9592         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9593         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9594
9595 2011-06-05  Bruno Haible  <bruno@clisp.org>
9596
9597         pipe-filter-ii: Fix test failure on AIX and IRIX.
9598         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9599         with EAGAIN, retry with a smaller buffer size.
9600
9601 2011-06-05  Bruno Haible  <bruno@clisp.org>
9602
9603         localename: Fix link dependencies.
9604         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9605         * modules/localename-tests (Makefile.am): Link test-localename with
9606         $(LIBTHREAD).
9607
9608 2011-06-05  Bruno Haible  <bruno@clisp.org>
9609
9610         error: Avoid gcc warning.
9611         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9612
9613 2011-06-05  Bruno Haible  <bruno@clisp.org>
9614
9615         unsetenv: Avoid gcc warning.
9616         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9617
9618 2011-06-05  Bruno Haible  <bruno@clisp.org>
9619
9620         setenv: Avoid gcc warning.
9621         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9622
9623 2011-06-05  Bruno Haible  <bruno@clisp.org>
9624
9625         sys_select: Ensure memset is declared also on AIX 7.
9626         * lib/sys_select.in.h: Include <string.h> also on AIX.
9627         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9628         self-contained also on AIX 7.1.
9629
9630 2011-06-04  Jim Meyering  <meyering@redhat.com>
9631
9632         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9633         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9634         function name, "error".
9635         (_gl_translatable_diag_func_re): New configurable variable.
9636
9637 2011-06-04  Bruno Haible  <bruno@clisp.org>
9638
9639         getopt: Avoid gcc warning.
9640         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9641
9642 2011-06-04  Bruno Haible  <bruno@clisp.org>
9643
9644         strerror_r: Fix comments.
9645         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9646         commit.
9647
9648 2011-06-04  Bruno Haible  <bruno@clisp.org>
9649
9650         perror: Fix compilation error.
9651         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9652         Undefine fprintf, not sprintf.
9653         * modules/perror (Depends-on): Remove intprops, verify.
9654
9655 2011-06-04  Bruno Haible  <bruno@clisp.org>
9656
9657         setlocale: Enable replacement on Cygwin 1.5.
9658         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9659         Cygwin 1.5.x.
9660         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9661         LC_CTYPE category also exists on Cygwin 1.5.x.
9662
9663 2011-06-04  Bruno Haible  <bruno@clisp.org>
9664
9665         strerror-override: Don't disable symbol renamings.
9666         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9667         * lib/strerror-override.c: Include config.h.
9668         (strerror_override): Don't undefine.
9669
9670 2011-06-03  Bruno Haible  <bruno@clisp.org>
9671
9672         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9673         * lib/localename.h: Update copyright header.
9674         * lib/localename.c: Likewise.
9675         * lib/relocatable.h: Likewise.
9676         * lib/relocatable.c: Likewise.
9677
9678 2011-06-02  Bruno Haible  <bruno@clisp.org>
9679
9680         doc: Fix a module name.
9681         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9682
9683 2011-06-02  Bruno Haible  <bruno@clisp.org>
9684
9685         pipe2: Remove dependency on 'nonblocking' module.
9686         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9687         O_NONBLOCK is defined by gnulib.
9688         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9689         is zero.
9690         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9691         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9692         defined by gnulib.
9693         (get_nonblocking_flag): New function.
9694         (main): Test O_NONBLOCK flag only if it is nonzero.
9695         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9696
9697 2011-06-03  Jim Meyering  <meyering@redhat.com>
9698
9699         maint: three new prohibit-header-without-use rules
9700         Prohibit use of cloexec.h, posixver.h, same.h without use.
9701         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9702         (sc_prohibit_posixver_without_use): Likewise.
9703         (sc_prohibit_same_without_use): Likewise.
9704
9705 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9706
9707         allocator: 'die' routine is now given requested size
9708         * lib/allocator.h (struct allocator.die): New size arg.
9709         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9710         If the actual problem is an ssize_t limitation, not a size_t or
9711         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9712
9713 2011-06-01  Eric Blake  <eblake@redhat.com>
9714
9715         strerror: drop strerror_r dependency
9716         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9717         * lib/strerror-override.c (strerror_override): ...to new file.
9718         * lib/strerror-override.h: Add prototype.
9719         * lib/strerror-impl.h: Delete.
9720         * lib/strerror.c (strerror): New implementation.
9721         * modules/errno (Files): Add new files.
9722         (configure.ac): Compile new file as appropriate.
9723         * modules/strerror (Files): Drop unused file.
9724         (Depends-on): Drop strerror_r-posix.
9725         * MODULES.html.sh: Document strerror_r-posix.
9726         Requested by Sam Steingold.
9727
9728         perror: call strerror_r directly
9729         * modules/perror (Files): Drop strerror-impl.h.
9730         * lib/perror.c (perror): Use our own stack buffer, rather than
9731         calling a wrapper that uses static storage.
9732         * doc/posix-functions/perror.texi (perror): Document a limitation
9733         of our replacement.
9734
9735         strerror_r: fix includes for FreeBSD
9736         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9737         since we use abort on some platforms.
9738         Reported by Matthias Bolte.
9739
9740 2011-05-31  Bruno Haible  <bruno@clisp.org>
9741
9742         Fix link errors in tests: openat-die uses gettext-h.
9743         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9744         against $(LIBINTL).
9745         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9746         against $(LIBINTL).
9747         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9748         $(LIBINTL).
9749         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9750         against $(LIBINTL).
9751         * modules/linkat-tests (Makefile.am): Link test-linkat against
9752         $(LIBINTL).
9753         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9754         $(LIBINTL).
9755         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9756         against $(LIBINTL).
9757         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9758         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9759         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9760         $(LIBINTL).
9761         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9762         $(LIBINTL).
9763         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9764         $(LIBINTL).
9765         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9766
9767 2011-05-31  Bruno Haible  <bruno@clisp.org>
9768
9769         Fix link errors in tests: wait-process uses gettext-h.
9770         * modules/nonblocking-pipe-tests (Makefile.am): Set
9771         test_nonblocking_pipe_main_LDADD.
9772         * modules/nonblocking-socket-tests (Makefile.am): Link
9773         test-nonblocking-socket-main against $(LIBINTL).
9774         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9775
9776 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9777
9778         assert-h: work around 'verify' incompatibility
9779         * lib/verify.h: Use @...@ directives, not ifdef.
9780         * modules/assert-h (assert.h): Implement the directives.
9781         (assert.h): Substitute the symbol-prefix more consistently.
9782
9783 2011-05-29  Jim Meyering  <meyering@redhat.com>
9784
9785         trim: remove three superfluous assignments
9786         * lib/trim.c (trim2): Remove three superfluous assignments
9787         and correct brace positioning.
9788
9789 2011-05-29  Bruno Haible  <bruno@clisp.org>
9790
9791         wctype-h: Avoid namespace pollution on Solaris 2.6.
9792         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9793         identifiers.
9794         * doc/posix-headers/wctype.texi: Mention the problem.
9795         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9796
9797 2011-05-28  Jim Meyering  <meyering@redhat.com>
9798
9799         parse-datetime.y: accommodate -Wstrict-overflow
9800         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9801         placate -Wstrict-overflow.
9802
9803         trim: avoid a warning from -O2 -Wstrict-overflow
9804         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9805
9806 2011-05-29  Bruno Haible  <bruno@clisp.org>
9807
9808         gnulib-tool: Fix bug in yesterday's commit.
9809         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9810         twice.
9811
9812 2011-05-29  Bruno Haible  <bruno@clisp.org>
9813
9814         Allow multiple gnulib generated include files to be combined.
9815         * gnulib-tool (func_compute_include_guard_prefix): New function.
9816         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9817         ${gl_include_guard_prefix} references.
9818         (func_import, func_create_testdir): Invoke
9819         func_compute_include_guard_prefix.
9820         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9821         * lib/ctype.in.h: Likewise.
9822         * lib/dirent.in.h: Likewise.
9823         * lib/errno.in.h: Likewise.
9824         * lib/fcntl.in.h: Likewise.
9825         * lib/float.in.h: Likewise.
9826         * lib/getopt.in.h: Likewise.
9827         * lib/iconv.in.h: Likewise.
9828         * lib/langinfo.in.h: Likewise.
9829         * lib/locale.in.h: Likewise.
9830         * lib/math.in.h: Likewise.
9831         * lib/netdb.in.h: Likewise.
9832         * lib/netinet_in.in.h: Likewise.
9833         * lib/poll.in.h: Likewise.
9834         * lib/pthread.in.h: Likewise.
9835         * lib/pty.in.h: Likewise.
9836         * lib/sched.in.h: Likewise.
9837         * lib/se-selinux.in.h: Likewise.
9838         * lib/search.in.h: Likewise.
9839         * lib/signal.in.h: Likewise.
9840         * lib/spawn.in.h: Likewise.
9841         * lib/stdarg.in.h: Likewise.
9842         * lib/stddef.in.h: Likewise.
9843         * lib/stdint.in.h: Likewise.
9844         * lib/stdio.in.h: Likewise.
9845         * lib/stdlib.in.h: Likewise.
9846         * lib/string.in.h: Likewise.
9847         * lib/strings.in.h: Likewise.
9848         * lib/sys_file.in.h: Likewise.
9849         * lib/sys_ioctl.in.h: Likewise.
9850         * lib/sys_select.in.h: Likewise.
9851         * lib/sys_socket.in.h: Likewise.
9852         * lib/sys_stat.in.h: Likewise.
9853         * lib/sys_time.in.h: Likewise.
9854         * lib/sys_times.in.h: Likewise.
9855         * lib/sys_uio.in.h: Likewise.
9856         * lib/sys_utsname.in.h: Likewise.
9857         * lib/sys_wait.in.h: Likewise.
9858         * lib/sysexits.in.h: Likewise.
9859         * lib/termios.in.h: Likewise.
9860         * lib/time.in.h: Likewise.
9861         * lib/unistd.in.h: Likewise.
9862         * lib/wchar.in.h: Likewise.
9863         * lib/wctype.in.h: Likewise.
9864         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9865         * modules/ctype (Makefile.am): Likewise.
9866         * modules/dirent (Makefile.am): Likewise.
9867         * modules/errno (Makefile.am): Likewise.
9868         * modules/fcntl-h (Makefile.am): Likewise.
9869         * modules/float (Makefile.am): Likewise.
9870         * modules/getopt-posix (Makefile.am): Likewise.
9871         * modules/iconv-h (Makefile.am): Likewise.
9872         * modules/langinfo (Makefile.am): Likewise.
9873         * modules/locale (Makefile.am): Likewise.
9874         * modules/math (Makefile.am): Likewise.
9875         * modules/netdb (Makefile.am): Likewise.
9876         * modules/netinet_in (Makefile.am): Likewise.
9877         * modules/poll-h (Makefile.am): Likewise.
9878         * modules/pthread (Makefile.am): Likewise.
9879         * modules/pty (Makefile.am): Likewise.
9880         * modules/sched (Makefile.am): Likewise.
9881         * modules/search (Makefile.am): Likewise.
9882         * modules/selinux-h (Makefile.am): Likewise.
9883         * modules/signal (Makefile.am): Likewise.
9884         * modules/spawn (Makefile.am): Likewise.
9885         * modules/stdarg (Makefile.am): Likewise.
9886         * modules/stddef (Makefile.am): Likewise.
9887         * modules/stdint (Makefile.am): Likewise.
9888         * modules/stdio (Makefile.am): Likewise.
9889         * modules/stdlib (Makefile.am): Likewise.
9890         * modules/string (Makefile.am): Likewise.
9891         * modules/strings (Makefile.am): Likewise.
9892         * modules/sys_file (Makefile.am): Likewise.
9893         * modules/sys_ioctl (Makefile.am): Likewise.
9894         * modules/sys_select (Makefile.am): Likewise.
9895         * modules/sys_socket (Makefile.am): Likewise.
9896         * modules/sys_stat (Makefile.am): Likewise.
9897         * modules/sys_time (Makefile.am): Likewise.
9898         * modules/sys_times (Makefile.am): Likewise.
9899         * modules/sys_uio (Makefile.am): Likewise.
9900         * modules/sys_utsname (Makefile.am): Likewise.
9901         * modules/sys_wait (Makefile.am): Likewise.
9902         * modules/sysexits (Makefile.am): Likewise.
9903         * modules/termios (Makefile.am): Likewise.
9904         * modules/time (Makefile.am): Likewise.
9905         * modules/unistd (Makefile.am): Likewise.
9906         * modules/wchar (Makefile.am): Likewise.
9907         * modules/wctype-h (Makefile.am): Likewise.
9908         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9909
9910 2011-05-29  Bruno Haible  <bruno@clisp.org>
9911
9912         assert-h: Allow multiple gnulib generated replacements to coexist.
9913         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9914
9915 2011-05-29  Bruno Haible  <bruno@clisp.org>
9916
9917         argp: Allow coexistence with strerror_r-posix module.
9918         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9919         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9920         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9921         not the glibc signature.
9922
9923 2011-05-28  Bruno Haible  <bruno@clisp.org>
9924
9925         gnulib-tool: Alternative structure of testdirs, similar to --import.
9926         * gnulib-tool: New option --single-configure.
9927         (func_usage): Document it.
9928         (single_configure): New variable.
9929         (func_modules_transitive_closure_separately,
9930         func_modules_transitive_closure_separately,
9931         func_determine_use_libtests, func_modules_add_dummy_separately,
9932         func_modules_to_filelist_separately): New functions, extracted from
9933         func_import.
9934         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9935         (func_import): Use the new functions.
9936         (func_create_testdir): Set final_modules. Handle $single_configure =
9937         true case.
9938
9939 2011-05-28  Bruno Haible  <bruno@clisp.org>
9940
9941         getloadavg: Remove an unreliable safety check.
9942         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9943         getloadavg.c is in place.
9944         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9945         Reported by Sam Steingold <sds@gnu.org>.
9946
9947 2011-05-28  Bruno Haible  <bruno@clisp.org>
9948
9949         doc: Cleanup yet another file produced by texinfo.tex.
9950         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9951
9952 2011-05-28  Bruno Haible  <bruno@clisp.org>
9953
9954         Finish the conditional dependencies mechanism.
9955         * gnulib-tool: New option --no-conditional-dependencies.
9956         (func_usage): Document it. Don't mark --conditional-dependencies as
9957         experimental.
9958         (cond_dependencies): The possible values can now be true, false, empty.
9959         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9960         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9961         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9962
9963 2011-05-28  Bruno Haible  <bruno@clisp.org>
9964
9965         doc: Use a recent texinfo.tex.
9966         * doc/Makefile (tex_opts): New variable.
9967         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9968
9969 2011-05-28  Jim Meyering  <meyering@redhat.com>
9970
9971         intprops.h: adjust comment to match code change
9972         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9973         only once, it *may* have side effects.  Also fix an unrelated typo.
9974         (_GL_INT_SIGNED): Likewise.
9975
9976 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9977
9978         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9979
9980 2011-05-26  Bruno Haible  <bruno@clisp.org>
9981
9982         mbsrchr: Avoid collision with system function on Interix.
9983         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9984         Reported by Markus Duft <mduft@gentoo.org>.
9985
9986 2011-05-15  James Youngman  <jay@gnu.org>
9987
9988         getopt: for ambiguous options, enumerate the possibilities.
9989         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9990         the ambiguous options when an ambiguous prefix is given. This was
9991         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9992         glibc change was
9993         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9994
9995 2011-05-25  Eric Blake  <eblake@redhat.com>
9996
9997         getcwd: work around mingw bug
9998         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9999         * doc/posix-functions/getcwd.texi (getcwd): Document it.
10000         Reported by Matthias Bolte.
10001
10002 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
10003
10004         test-intprops: disable -Wtype-limits diagnostics
10005         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
10006         diagnostics.  Otherwise, the integer overflow macros generate many
10007         diagnostics.  Reported by Jim Meyering in
10008         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
10009
10010         intprops: shorten, to pacify gcc -Woverlength-strings
10011         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
10012         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
10013         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
10014         likely to run afoul of C compiler limits for string constant lengths.
10015         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
10016
10017 2011-05-24  Eric Blake  <eblake@redhat.com>
10018
10019         docs: document recently fixed glibc printf bug
10020         * doc/posix-functions/fprintf.texi (fprintf): Document it.
10021         * doc/posix-functions/printf.texi (printf): Likewise.
10022         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
10023         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
10024
10025         closein-tests: convert to init.sh
10026         * modules/closein-tests (Files): Add init.sh
10027         * tests/test-closein.sh Use it.
10028
10029         yesno-tests: convert to init.sh
10030         * modules/yesno-tests (Files): Add init.sh.
10031         * tests/test-yesno.sh: Use it.
10032
10033         atexit-tests: ensure reliable exit status
10034         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
10035         Reported by Bruno Haible.
10036
10037 2011-05-24  Bruno Haible  <bruno@clisp.org>
10038
10039         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
10040         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
10041         gl_PREREQ_STRERROR_R invocations from here...
10042         * modules/strerror_r-posix (configure.ac): ... to here.
10043
10044 2011-05-24  Eric Blake  <eblake@redhat.com>
10045
10046         strerror_r: fix missing header
10047         * lib/strerror_r.c: Avoid compiler warning about snprintf.
10048
10049         strerror_r: fix AIX test failures
10050         * lib/strerror_r.c (strerror_r): Convert silent truncation to
10051         ERANGE failure.
10052
10053         strerror_r: fix Solaris test failures
10054         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
10055         failures.
10056         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
10057
10058         strerror_r: enforce POSIX recommendations
10059         * lib/strerror_r.c (safe_copy): New helper method.
10060         (strerror_r): Guarantee a non-empty string.
10061         * tests/test-strerror_r.c (main): Enhance tests to incorporate
10062         recent POSIX rulings and to match our strerror guarantees.
10063         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
10064
10065 2011-05-24  Jim Meyering  <meyering@redhat.com>
10066
10067         test-perror2.c: avoid warning about unused variable
10068         * tests/test-perror2.c (main): Remove declaration of unused "fp".
10069
10070 2011-05-24  Eric Blake  <eblake@redhat.com>
10071
10072         perror: avoid spurious test failure on HP-UX
10073         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
10074
10075         tests: fix logic bug in init.sh
10076         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
10077         shell.
10078
10079 2011-05-24  Jim Meyering  <meyering@redhat.com>
10080
10081         utimensat: do not reference an out-of-scope buffer
10082         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
10083         declared in an inner scope, yet "times" would be dereferenced outside
10084         the scope in which "ts" was valid.
10085         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
10086         of ts[2] "out/up", so that the use of aliased "times" (via
10087         "times = ts;") does not end up referencing an out-of-scope "ts"
10088
10089         opendir-safer.c: don't clobber errno; don't close negative FD
10090         * lib/opendir-safer.c (opendir_safer):
10091         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
10092         file descriptor, and more importantly, don't clobber the
10093         offending errno value with EINVAL.  Before, upon failure
10094         of dup_safer, we would pass the negative file descriptor to
10095         fdopendir, which would clobber errno.
10096
10097 2011-05-23  Bruno Haible  <bruno@clisp.org>
10098
10099         idcache: Fix module description.
10100         * modules/idcache (Include): Set to "idcache.h".
10101
10102 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
10103
10104         gnulib-tool: fix portability problem with MacOS sed
10105         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
10106         before the "}".  Problem reported by Leo in
10107         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
10108         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
10109         sed_extract_condition1, sed_extract_condition2.
10110
10111 2011-05-23  Bruno Haible  <bruno@clisp.org>
10112
10113         hash: Simplify autoconf macro.
10114         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
10115
10116 2011-05-23  Bruno Haible  <bruno@clisp.org>
10117
10118         getugroups: Fix module description.
10119         * modules/getugroups (Include): Set to "getugroups.h".
10120
10121 2011-05-23  Bruno Haible  <bruno@clisp.org>
10122
10123         linkat: Simplify autoconf macro.
10124         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
10125
10126 2011-05-23  Bruno Haible  <bruno@clisp.org>
10127             Eric Blake  <eblake@redhat.com>
10128
10129         linkat, renameat: Update dependencies.
10130         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
10131         * modules/linkat (Depends-on): Likewise. Remove also readlink,
10132         symlinkat.
10133
10134 2011-05-23  Jim Meyering  <meyering@redhat.com>
10135
10136         maint.mk: more tight_scope improvements
10137         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
10138         (_gl_TS_headers): Define only in if-0'd block.
10139         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
10140         sometimes we must *not* use it.  Adjust uses accordingly.
10141         (sc_tight_scope): Use much simpler grep-based test to determine
10142         whether we skip this rule.
10143
10144         maint.mk: generalize/improve the tight-scope rule
10145         * top/maint.mk: Emit a warning when the test is skipped.
10146         (_gl_TS_dir): Add $(srcdir)/ prefix.
10147         (_gl_TS_function_match): Simplify, rather than trying
10148         to enumerate common types.  Otherwise, it would fail to match an
10149         "extern unsigned char const *" declaration in idutils.
10150         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
10151         a way to support use of that type of macro.
10152         (_gl_TS_var_match): Simplify regexp.
10153         (_gl_TS_obj_files): New configurable variable.
10154         (_gl_TS_headers): Likewise.
10155
10156 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
10157
10158         verify: fix bug when gnulib <assert.h> is also included
10159         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
10160         is defined, not if _GL_STATIC_ASSERT_H is not defined.
10161         Perhaps there's a better way, but this fixes the immediate problem.
10162         Problem reported by Bruno Haible in
10163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
10164
10165 2011-05-22  Bruno Haible  <bruno@clisp.org>
10166
10167         xgetcwd: Simplify autoconf macro.
10168         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
10169
10170 2011-05-22  Bruno Haible  <bruno@clisp.org>
10171
10172         New module 'mktime-internal'.
10173         * modules/mktime-internal: New file.
10174         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
10175         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
10176         mktime_internal as a C macro if libc has __mktime_internal.
10177         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
10178         conditions.
10179         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
10180
10181 2011-05-22  Bruno Haible  <bruno@clisp.org>
10182
10183         timegm: Correct mktime replacement statements.
10184         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
10185         defining mktime as a C macro. This completes a 2009-07-28 commit.
10186
10187 2011-05-22  Bruno Haible  <bruno@clisp.org>
10188
10189         timegm: Simplify autoconf macro.
10190         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
10191
10192 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
10193
10194         clock-time: change to LGPLv2+.
10195         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
10196         BSD-like but we have no mark for that; this is good enough for now.
10197
10198 2011-05-21  Bruno Haible  <bruno@clisp.org>
10199
10200         strerror_r: Fix comments.
10201         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
10202
10203 2011-05-21  Bruno Haible  <bruno@clisp.org>
10204
10205         relocatable-prog-wrapper: Fix possible link error.
10206         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
10207         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
10208         (gl_FUNC_SETENV): ... to here.
10209         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
10210         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
10211
10212 2011-05-21  Bruno Haible  <bruno@clisp.org>
10213
10214         relocatable-prog-wrapper: Assume strerror() exists.
10215         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
10216         m4/strerror.m4.
10217         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
10218         * lib/relocwrapper.c: Remove mention of strerror module.
10219         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
10220         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
10221         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
10222         C macro.
10223
10224 2011-05-21  Bruno Haible  <bruno@clisp.org>
10225
10226         select: Simplify replacement idiom.
10227         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
10228         Win32 platforms.
10229         * lib/sys_select.in.h (select): Simplify accordingly.
10230         * modules/select (Depends-on): Likewise.
10231
10232 2011-05-21  Bruno Haible  <bruno@clisp.org>
10233
10234         mkdir-p: Simplify autoconf macro.
10235         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
10236         gl_FUNC_LCHOWN.
10237
10238 2011-05-21  Eric Blake  <eblake@redhat.com>
10239
10240         strerror_r: avoid clobbering strerror on cygwin
10241         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
10242         fall back instead to sys_errlist.
10243         * modules/strerror (configure.ac): Add witness.
10244         * tests/test-strerror_r.c (main): Enhance test.
10245         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10246         * tests/test-perror2.c (main): Free memory before exit.
10247
10248 2011-05-21  Bruno Haible  <bruno@clisp.org>
10249
10250         mkdtemp: Use gnulib naming conventions.
10251         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
10252         * modules/mkdtemp (configure.ac): Update.
10253
10254 2011-05-20  Eric Blake  <eblake@redhat.com>
10255
10256         strerror_r: avoid corrupting errno on Solaris
10257         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
10258         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10259
10260         strerror_r: avoid compiler warning
10261         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
10262
10263         strerror_r: simplify AIX code
10264         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
10265
10266         test-perror: avoid spurious failure on FreeBSD
10267         * modules/perror-tests (Depends-on): Add strerror, now that
10268         strerror_r no longer pulls it in.
10269
10270 2011-05-20  Bruno Haible  <bruno@clisp.org>
10271
10272         strerror_r-posix: Remove unused dependencies.
10273         * modules/strerror_r-posix (Depends-on): Remove strerror.
10274         Reported by Eric Blake.
10275
10276 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10277
10278         intprops: remove assumption about A|B representation
10279         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
10280         is a valid integer if both A and B are.  Although this is true for
10281         all known practical hosts, the C standard doesn't guarantee it,
10282         and the code need not assume it.  Also, this change may work around
10283         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
10284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
10285
10286 2011-05-20  Eric Blake  <eblake@redhat.com>
10287
10288         perror: work around FreeBSD bug
10289         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
10290         is broken.  Move AC_LIBOBJ...
10291         * modules/perror (configure.ac): Here.
10292         * doc/posix-functions/perror.texi (perror): Document this.
10293         * tests/test-perror2.c (main): Enhance test.
10294
10295         test-perror: check for strerror interactions
10296         * tests/macros.h (STREQ): Add macro.
10297         * modules/perror-tests (Files): Add second test.
10298         * tests/test-perror2.c (main): New file.
10299         * doc/posix-functions/perror.texi (perror): Document glibc bug.
10300
10301         test-perror: rewrite to use init script
10302         * modules/perror-tests (Files): Add init.sh.
10303         * tests/test-perror.sh: Use temporary directory.
10304
10305 2011-05-20  Jim Meyering  <meyering@redhat.com>
10306
10307         maint: replace misused "a" with "an"
10308         * doc/intprops.texi: "a integer"
10309         * doc/regex.texi: "a explanation"
10310         * lib/alignof.h: "a object"
10311         * lib/argmatch.h: "a explanation"
10312         * lib/argp-help.c: "a option" and "a OPTION_DOC"
10313         * lib/stdint.in.h: "a integer"
10314         * lib/userspec.c: "a owner"
10315         * doc/gnulib.texi: Fix "a idea", and reword.
10316
10317 2011-05-19  Jim Meyering  <meyering@redhat.com>
10318
10319         maint: correct misuse of "a" and "an"
10320         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
10321         * lib/argp-help.c: "an docum...": s/an/a/
10322         * lib/argp-parse.c: "An vector": s/An/A/
10323         * lib/execute.c: "an native": s/an/a/
10324         * lib/spawn-pipe.c: Likewise.
10325         * lib/gc.h: "an Gc_rc": s/an/a/
10326         * lib/unigbrk.in.h: "an grapheme": s/an/a/
10327         * lib/fts.c: "an stat.st_dev": s/an/a/
10328
10329 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10330
10331         intprops-tests: work around HP-UX 11.23 cc bug with constants
10332         * tests/test-intprops.c (VERIFY): New macro.
10333         (main): Use it, instead of verify, to work around the compiler bug; see
10334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10335
10336         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
10337         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
10338         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
10339         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
10340         (_GL_REMAINDER_OVERFLOW): Use it.
10341
10342         intprops-tests: revert unsigned part of previous change
10343         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
10344         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
10345         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
10346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
10347
10348 2011-05-19  Bruno Haible  <bruno@clisp.org>
10349
10350         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
10351         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
10352         strerror_r() returned without filling the buffer.
10353         Reported by Eric Blake.
10354
10355 2011-05-19  Eric Blake  <eblake@redhat.com>
10356
10357         strerror_r: guarantee unchanged errno
10358         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
10359         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
10360         failure.
10361         * tests/test-strerror_r.c (main): Enhance test.
10362
10363 2011-05-19  Bruno Haible  <bruno@clisp.org>
10364
10365         strerror_r: Reorder #if blocks.
10366         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
10367         for consistency with the previous commit.
10368
10369 2011-05-19  Bruno Haible  <bruno@clisp.org>
10370
10371         perror: Avoid clobbering the strerror buffer when possible.
10372         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
10373         * lib/strerror.c: Include it.
10374         * modules/strerror (Files): Add lib/strerror-impl.h.
10375         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
10376         (my_strerror): New function, defined through lib/strerror-impl.h.
10377         (perror): Use it instead of strerror.
10378         * modules/perror (Files): Add lib/strerror-impl.h.
10379         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
10380
10381 2011-05-19  Eric Blake  <eblake@redhat.com>
10382
10383         strerror_r: fix on newer cygwin
10384         * lib/strerror_r.c (strerror_r): Cygwin now has
10385         __xpg_strerror_r, use it.
10386
10387 2011-05-19  Bruno Haible  <bruno@clisp.org>
10388
10389         strerror_r: Avoid clobbering the strerror buffer when possible.
10390         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
10391         (sys_nerr, sys_errlist): New declarations.
10392         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
10393         HP-UX, native Win32, IRIX, and 32-bit Solaris.
10394         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
10395
10396 2011-05-19  Bruno Haible  <bruno@clisp.org>
10397
10398         strerror_r: Fix test failure on mingw.
10399         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
10400         EXTEND_STRERROR_R.
10401         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
10402         macros from errno.in.h instead.
10403
10404 2011-05-19  Eric Blake  <eblake@redhat.com>
10405
10406         strerror: relax test for Solaris
10407         * tests/test-strerror.c (main): Permit Solaris behavior.
10408         * tests/test-strerror_r.c (main): Likewise.
10409
10410         strerror: enforce POSIX ruling on strerror(0)
10411         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10412         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10413         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10414         * doc/posix-functions/strerror.texi (strerror): Document it.
10415         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10416         * tests/test-strerror.c (main): Strengthen test.
10417         * tests/test-strerror_r.c (main): Likewise.
10418
10419 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10420
10421         intprop-tests: port to older and more-pedantic compilers
10422         * modules/intprops-tests (Files): Add tests/macros.h.
10423         * tests/test-intprops.c: Include macros.h.
10424         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10425         it's no longer documented to expand to an integer constant expression.
10426         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10427         argument is floating point, as it's no longer documented to expand
10428         to an integer constant expression in that case.
10429         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10430         compiler bugs reported by Bruno Haible.  See
10431         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10432         (U0, U1): New constants, to work around the same bugs.  Also,
10433         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10434
10435         intprops: work around C compiler bugs
10436         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10437         bug in Sun C 5.11 2010/08/13 and other compilers; see
10438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10439
10440         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10441         * doc/intprops.texi (Integer Type Determination): Fix
10442         documentation for TYPE_IS_INTEGER: it returns an constant
10443         expression, not an integer constant expression.  Fix doc for
10444         TYPE_SIGNED: it returns an integer constant expression only if its
10445         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10446         hardly worth documented that way....)
10447
10448 2011-05-18  Bruno Haible  <bruno@clisp.org>
10449
10450         strerror_r: Avoid clobbering the strerror buffer when possible.
10451         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10452         Handle gnulib defined errno values here. When strerror() returns NULL
10453         or an empty string, return EINVAL.
10454         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10455         gnulib defined errno values here.
10456         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10457
10458 2011-05-18  Eric Blake  <eblake@redhat.com>
10459
10460         fnmatch: avoid compiler warning
10461         * lib/fnmatch_loop.c (FCT): Use correct type.
10462         Reported by Matthias Bolte.
10463
10464 2011-05-13  Jim Meyering  <meyering@redhat.com>
10465
10466         maint.mk: three new prohibit_<HDR>_without_use rules
10467         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10468         (sc_prohibit_stdio-safer_without_use): Likewise.
10469         (sc_prohibit_xfreopen_without_use): Likewise.
10470
10471 2011-05-17  Jim Meyering  <meyering@redhat.com>
10472
10473         announce-gen: fail if the NEWS delta is empty
10474         If there's nothing noteworthy in NEWS, then either you forgot
10475         or you shouldn't be releasing.
10476         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10477
10478 2011-05-17  Pádraig Brady <P@draigBrady.com>
10479
10480         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10481         reserved symbols starting with double underscore from the check.
10482
10483 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10484
10485         intprops: add doc
10486         * doc/intprops.texi: New file, documenting intprops.
10487         * doc/gnulib.texi (Particular Modules): Include it.
10488
10489         verify: add doc to gnulib manual and fix example
10490         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10491         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10492         (Compile-time Assertions): Fix example so it can't overflow.
10493
10494 2011-05-17  Jim Meyering  <meyering@redhat.com>
10495
10496         warnings.m4: don't usurp save_CPPFLAGS variable name
10497         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10498
10499         doc: fix typo
10500         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10501
10502 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10503             Bruno Haible  <bruno@clisp.org>
10504
10505         doc: Tweak recent change.
10506         * README (Portability guidelines): Tweak new text.
10507         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10508         Interix 6.1.
10509
10510 2011-05-16  Eric Blake  <eblake@redhat.com>
10511
10512         inttypes: avoid autoconf warning
10513         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10514         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10515
10516 2011-05-16  Sam Steingold <sds@gnu.org>
10517         and Eric Blake  <eblake@redhat.com>
10518
10519         vc-list-files: accept multiple directory operands
10520         * build-aux/vc-list-files: Iterate over all remaining operands.
10521
10522 2011-05-16  Bruno Haible  <bruno@clisp.org>
10523
10524         Fix confusion regarding deprecated modules.
10525         * modules/calloc (Status, Notice): Mark module as deprecated, not
10526         obsolete.
10527         * modules/fnmatch-posix (Status, Notice): Likewise.
10528         * modules/getdate (Status, Notice): Likewise.
10529         * modules/getopt (Status, Notice): Likewise.
10530         * modules/malloc (Status, Notice): Likewise.
10531         * modules/pipe (Status, Notice): Likewise.
10532         * modules/realloc (Status, Notice): Likewise.
10533         * modules/rename-dest-slash (Status, Notice): Likewise.
10534         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10535         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10536         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10537         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10538         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10539
10540 2011-05-16  Bruno Haible  <bruno@clisp.org>
10541
10542         doc: List the target platforms.
10543         * doc/gnulib-intro.texi (Target Platforms): New section.
10544         * doc/gnulib.texi (Introduction): Update menu.
10545         * README (Portability guidelines): Refer to the new section. Update
10546         statement about oldest supported environment. Remove rationale why
10547         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10548         unportable C89 function.
10549         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10550         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10551
10552 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10553
10554         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10555
10556 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10557
10558         intprops-tests: new module
10559         * modules/intprops-tests, tests/test-intprops.c: New files.
10560
10561         intprops: add safe, portable integer overflow checking
10562         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10563         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10564         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10565         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10566         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10567         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10568         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10569         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10570         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10571         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10572         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10573
10574 2011-05-12  James Youngman  <jay@gnu.org>
10575
10576         Add a test for glibc's Bugzilla bug #12378.
10577         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10578         doesn't allow the literal matching of a lone "[" (which is
10579         required by POSIX).
10580         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10581
10582 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10583
10584         Sync glibc change fixing Bugzilla bug #12378.
10585         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10586         beginning and fall back to matching as normal character if the
10587         string ends before the matching ']' is found.  This is what POSIX
10588         requires.
10589
10590 2011-05-13  Eric Blake  <eblake@redhat.com>
10591
10592         getcwd-lgpl: relax test for FreeBSD
10593         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10594         issue.
10595         * tests/test-getcwd-lgpl.c (main): Relax test.
10596         Reported by Matthias Bolte.
10597
10598 2011-05-11  Eric Blake  <eblake@redhat.com>
10599
10600         test-fflush: silence compiler warning
10601         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10602
10603 2011-05-11  Bruno Haible  <bruno@clisp.org>
10604
10605         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10606         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10607         * modules/canonicalize (Depends-on): Add 'nocrash'.
10608         * modules/canonicalize-lgpl (Depends-on): Likewise.
10609         * doc/posix-functions/realpath.texi: Update platforms list.
10610         Reported by Ryan Schmidt <ryandesign@macports.org>.
10611
10612 2011-05-11  Bruno Haible  <bruno@clisp.org>
10613
10614         group-member: Declare function in <unistd.h>.
10615         * lib/unistd.in.h (group_member): New declaration.
10616         * lib/group-member.h: Remove file.
10617         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10618         * tests/test-unistd-c++.cc: Check signature of group_member.
10619         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10620         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10621         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10622         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10623         HAVE_GROUP_MEMBER.
10624         * modules/group-member (Files): Remove lib/group-member.h.
10625         (Depends-on): Add unistd. Specify conditions.
10626         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10627         (Include): Change to <unistd.h>.
10628         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10629         HAVE_GROUP_MEMBER.
10630         * NEWS: Mention the change.
10631         * lib/euidaccess.c: Don't include group-member.h.
10632
10633 2011-05-11  Bruno Haible  <bruno@clisp.org>
10634
10635         group-member: Document module.
10636         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10637         module.
10638
10639 2011-05-11  Bruno Haible  <bruno@clisp.org>
10640
10641         fclose: Fix mistake earlier today.
10642         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10643
10644 2011-05-11  Eric Blake  <eblake@redhat.com>
10645
10646         fclose: preserve fflush errors
10647         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10648         Reported by Jim Meyering.
10649
10650         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10651         * build-aux/bootstrap (check_versions): When no specific version
10652         is required, merely check that the app produces an exit status
10653         that indicates its existence.
10654
10655         maint.mk: drop redundant check
10656         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10657         the same but better.
10658
10659 2011-05-11  Bruno Haible  <bruno@clisp.org>
10660
10661         fclose: Fix possible link error.
10662         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10663         unregister_shadow_fd. Improve comments.
10664         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10665         Eric Blake.
10666
10667 2011-05-11  Jim Meyering  <meyering@redhat.com>
10668
10669         maint.mk: improve "can not" detection and generalize rule name
10670         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10671         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10672         Use the same technique as in sc_prohibit_doubled_word, so that
10673         we recognize "can not" also when the words are separated by a newline.
10674         Suggested by Eric Blake.
10675         (perl_filename_lineno_text_): Define.  Factored out of...
10676         (prohibit_doubled_word_): ...here.  Use the new definition.
10677         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10678         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10679         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10680
10681 2011-05-10  Eric Blake  <eblake@redhat.com>
10682
10683         fclose: avoid double close race when possible
10684         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10685         all but WINDOWS_SOCKETS.
10686
10687 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10688
10689         openat: correct new comment
10690         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10691
10692 2011-05-10  Jim Meyering  <meyering@redhat.com>
10693
10694         openat: add comments
10695         * lib/openat-proc.c (openat_proc_name): Add comments,
10696         mostly from Eric Blake.
10697
10698 2011-05-09  Eric Blake  <eblake@redhat.com>
10699
10700         openat: reduce syscalls in first probe of /proc
10701         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10702         be a directory.  Simplify the probe for .. bugs.
10703         * modules/openat (Depends-on): Drop same-inode.
10704         Reported by Bastien ROUCARIES.
10705
10706 2011-05-09  Jim Meyering  <meyering@redhat.com>
10707
10708         maint.mk: change semantics/name of tight_scope variables
10709         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10710         Rename variables to align with semantics that make them more useful.
10711
10712         maint.mk: tweak new rule's name not to impinge
10713         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10714         (sc_tight_scope): Use new rule name rather than $@-0.
10715
10716         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10717         * top/maint.mk (sc_tight_scope): New rule.
10718         (sc_tight_scope-0): New rule, ifdef'd out.
10719         (_gl_TS_dir): Default.
10720         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10721         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10722
10723 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10724
10725         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10726         Haible <bruno@clisp.org>.
10727
10728 2011-05-08  Bruno Haible  <bruno@clisp.org>
10729
10730         Comments.
10731         * m4/isnanf.m4: Add comment.
10732         * m4/isnanl.m4: Likewise.
10733
10734 2011-05-08  Bruno Haible  <bruno@clisp.org>
10735
10736         glob: Remove obsolete macro.
10737         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10738
10739 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10740
10741         intprops: Sun C 5.11 supports __typeof__
10742         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10743         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10744         which is new.
10745         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10746
10747         intprops: switch to usual gnulib indenting and naming
10748         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10749         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10750
10751         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10752
10753 2011-05-08  Jim Meyering  <meyering@redhat.com>
10754
10755         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10756         * top/maint.mk (release-prep): Use make's --no-print-directory
10757         option when generating the announcement.  This eliminates the
10758         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10759         generated announcement template.
10760
10761 2011-05-08  Bruno Haible  <bruno@clisp.org>
10762
10763         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10764         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10765         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10766
10767 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         ignore-value, verify: Omit include files from lib_SOURCES.
10770         * modules/ignore-value, modules/verify (Makefile.am):
10771         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10772         that leads Automake to duplicate use of am__objects_... variables
10773         in Makefile.in.  See
10774         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10775
10776 2011-05-07  Bruno Haible  <bruno@clisp.org>
10777
10778         fclose: Simplify autoconf macro.
10779         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10780         defined.
10781
10782 2011-05-07  Bruno Haible  <bruno@clisp.org>
10783
10784         canonicalize-lgpl: Fix autoconf macro ordering bug.
10785         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10786         gl_STDLIB_H_DEFAULTS.
10787
10788 2011-05-06  Eric Blake  <eblake@redhat.com>
10789
10790         maintainer-makefile: make sc_po_check easier to tune
10791         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10792         to probe for strings, such as an alternate location for gnulib.
10793
10794         fclose: guarantee behavior on seekable stdin
10795         * modules/fclose (Depends-on): Add fflush.
10796         * doc/posix-functions/fclose.texi (fclose): Document this.
10797         * tests/test-fclose.c (main): Make test for this unconditional.
10798
10799 2011-05-06  Bruno Haible  <bruno@clisp.org>
10800
10801         fflush, fpurge: Relicense under LGPLv2+.
10802         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10803         * modules/fpurge (License): Likewise.
10804         With permission from Eric Blake and Jim Meyering.
10805         Suggested by Eric Blake.
10806
10807 2011-05-06  Karl Berry  <karl@gnu.org>
10808
10809         * MODULES.html.sh (func_all_modules): remove exit.
10810
10811 2011-05-06  Jim Meyering  <meyering@redhat.com>
10812
10813         maint.mk: use info-gnu@ as the default only for a stable release
10814         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10815         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10816         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10817         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10818
10819 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10820
10821         assert-h: new module, which supports C1X-style static_assert
10822         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10823         * lib/verify.h: Revamp so that this can be copied into assert.h,
10824         while retaining the ability to use it standalone as before.
10825         Rename private identifiers so as not to encroach on the
10826         standard C namespace, since this is now used by assert.h.
10827         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10828         the old verify_true.
10829         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10830         the old verify_true.  Use _GL_VERIFY_TYPE.
10831         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10832         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10833         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10834         defined when this file is copied into the replacement assert.h.
10835         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10836         and _Static_assert is not built in.
10837         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10838         defined, and use the new macros mentioned above.
10839         * doc/posix-headers/assert.texi: Document this.
10840
10841 2011-05-05  Bruno Haible  <bruno@clisp.org>
10842
10843         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10844         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10845         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10846         gl_REPLACE_FCLOSE here.
10847         * modules/fflush (Depends-on): Remove fclose.
10848         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10849         combination with module 'fclose'.
10850
10851 2011-05-05  Bruno Haible  <bruno@clisp.org>
10852
10853         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10854         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10855         gl_FUNC_FFLUSH.
10856         (gl_FUNC_FFLUSH): Use it.
10857         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10858         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10859         gl_REPLACE_FSEEKO here.
10860
10861 2011-05-05  Bruno Haible  <bruno@clisp.org>
10862
10863         tzset: Relicense under LGPL.
10864         * modules/tzset (License): Change to LGPL.
10865         No agreement needed; it's a no-op.
10866
10867         strtoimax, strtoumax: Relicense under LGPL.
10868         * modules/strtoimax (License): Change to LGPL.
10869         * modules/strtoumax (License): Likewise.
10870         With permission from Jim Meyering, Paul Eggert:
10871         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10872         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10873
10874         getgroups: Relicense under LGPL.
10875         * modules/getgroups (License): Change to LGPL.
10876         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10877         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10878         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10880
10881         nanosleep: Relicense under LGPL.
10882         * modules/nanosleep (License): Change to LGPL.
10883         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10884         Haible:
10885         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10888         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10889
10890         futimens: Relicense under LGPL.
10891         * modules/futimens (License): Change to LGPL.
10892         With permission from Eric Blake:
10893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10894
10895         fflush: Relicense under LGPL.
10896         * modules/fflush (License): Change to LGPL.
10897         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10898         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10900         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10901
10902         tmpfile: Relicense under LGPL.
10903         * modules/tmpfile (License): Change to LGPL.
10904         With permission from Ben Pfaff:
10905         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10906
10907         isfinite: Relicense under LGPL.
10908         * modules/isfinite (License): Change to LGPL.
10909         With permission from Ben Pfaff, Bruno Haible:
10910         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10911         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10912
10913         acosl..tanl: Relicense under LGPL.
10914         * modules/acosl (License): Change to LGPL.
10915         * modules/asinl (License): Likewise.
10916         * modules/atanl (License): Likewise.
10917         * modules/cosl (License): Likewise.
10918         * modules/expl (License): Likewise.
10919         * modules/logl (License): Likewise.
10920         * modules/sinl (License): Likewise.
10921         * modules/sqrtl (License): Likewise.
10922         * modules/tanl (License): Likewise.
10923         Source code originally from glibc and Paolo Bonzini. Agreements:
10924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10925         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10926
10927 2011-05-05  Bruno Haible  <bruno@clisp.org>
10928
10929         signal: Define sighandler_t.
10930         * lib/signal.in.h (sighandler_t): New type.
10931         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10932         whether sighandler_t is defined.
10933         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10934         * modules/signal (Depends-on): Add extensions.
10935         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10936         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10937         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10938
10939 2011-05-05  Eric Blake  <eblake@redhat.com>
10940
10941         maint: remove useless REPLACE_*_H macros
10942         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10943         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10944         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10945         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10946         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10947         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10948         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10949         * m4/btowc.m4: Update callers.
10950         * m4/dirfd.m4: Likewise.
10951         * m4/duplocale.m4: Likewise.
10952         * m4/fchdir.m4: Likewise.
10953         * m4/fdopendir.m4: Likewise.
10954         * m4/inet_ntop.m4: Likewise.
10955         * m4/inet_pton.m4: Likewise.
10956         * m4/ioctl.m4: Likewise.
10957         * m4/mbrlen.m4: Likewise.
10958         * m4/mbrtowc.m4: Likewise.
10959         * m4/mbsinit.m4: Likewise.
10960         * m4/mbsnrtowcs.m4: Likewise.
10961         * m4/mbsrtowcs.m4: Likewise.
10962         * m4/poll.m4: Likewise.
10963         * m4/setlocale.m4: Likewise.
10964         * m4/wcrtomb.m4: Likewise.
10965         * m4/wcsnrtombs.m4: Likewise.
10966         * m4/wcsrtombs.m4: Likewise.
10967         * m4/wctob.m4: Likewise.
10968         * m4/wcwidth.m4: Likewise.
10969         * modules/posix_spawn: Likewise.
10970         * modules/posix_spawn_file_actions_addclose: Likewise.
10971         * modules/posix_spawn_file_actions_adddup2: Likewise.
10972         * modules/posix_spawn_file_actions_addopen: Likewise.
10973         * modules/posix_spawn_file_actions_destroy: Likewise.
10974         * modules/posix_spawn_file_actions_init: Likewise.
10975         * modules/posix_spawnattr_destroy: Likewise.
10976         * modules/posix_spawnattr_getflags: Likewise.
10977         * modules/posix_spawnattr_getpgroup: Likewise.
10978         * modules/posix_spawnattr_getschedparam: Likewise.
10979         * modules/posix_spawnattr_getschedpolicy: Likewise.
10980         * modules/posix_spawnattr_getsigdefault: Likewise.
10981         * modules/posix_spawnattr_getsigmask: Likewise.
10982         * modules/posix_spawnattr_init: Likewise.
10983         * modules/posix_spawnattr_setflags: Likewise.
10984         * modules/posix_spawnattr_setpgroup: Likewise.
10985         * modules/posix_spawnattr_setschedparam: Likewise.
10986         * modules/posix_spawnattr_setschedpolicy: Likewise.
10987         * modules/posix_spawnattr_setsigdefault: Likewise.
10988         * modules/posix_spawnattr_setsigmask: Likewise.
10989         * modules/posix_spawnp: Likewise.
10990
10991 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10992
10993         Add option to do-release-commit-and-tag to specify branch.
10994         * build-aux/do-release-commit-and-tag: Add --branch.
10995
10996 2011-05-03  Bruno Haible  <bruno@clisp.org>
10997
10998         Avoid unnecessary compilation units, through conditional dependencies.
10999         * modules/accept (Depends-on): Add conditions to the dependencies.
11000         * modules/acosl (Depends-on): Likewise.
11001         * modules/argz (Depends-on): Likewise.
11002         * modules/asinl (Depends-on): Likewise.
11003         * modules/atanl (Depends-on): Likewise.
11004         * modules/atoll (Depends-on): Likewise.
11005         * modules/bind (Depends-on): Likewise.
11006         * modules/btowc (Depends-on): Likewise.
11007         * modules/canonicalize-lgpl (Depends-on): Likewise.
11008         * modules/ceil (Depends-on): Likewise.
11009         * modules/ceilf (Depends-on): Likewise.
11010         * modules/ceill (Depends-on): Likewise.
11011         * modules/chdir-long (Depends-on): Likewise.
11012         * modules/chown (Depends-on): Likewise.
11013         * modules/close (Depends-on): Likewise.
11014         * modules/connect (Depends-on): Likewise.
11015         * modules/cosl (Depends-on): Likewise.
11016         * modules/dirfd (Depends-on): Likewise.
11017         * modules/dprintf (Depends-on): Likewise.
11018         * modules/dprintf-posix (Depends-on): Likewise.
11019         * modules/error (Depends-on): Likewise.
11020         * modules/euidaccess (Depends-on): Likewise.
11021         * modules/expl (Depends-on): Likewise.
11022         * modules/faccessat (Depends-on): Likewise.
11023         * modules/fchdir (Depends-on): Likewise.
11024         * modules/fclose (Depends-on): Likewise.
11025         * modules/fcntl (Depends-on): Likewise.
11026         * modules/fdopendir (Depends-on): Likewise.
11027         * modules/fflush (Depends-on): Likewise.
11028         * modules/floor (Depends-on): Likewise.
11029         * modules/floorf (Depends-on): Likewise.
11030         * modules/floorl (Depends-on): Likewise.
11031         * modules/fnmatch (Depends-on): Likewise.
11032         * modules/fopen (Depends-on): Likewise.
11033         * modules/fprintf-posix (Depends-on): Likewise.
11034         * modules/frexp (Depends-on): Likewise.
11035         * modules/frexp-nolibm (Depends-on): Likewise.
11036         * modules/frexpl (Depends-on): Likewise.
11037         * modules/frexpl-nolibm (Depends-on): Likewise.
11038         * modules/fseek (Depends-on): Likewise.
11039         * modules/fsusage (Depends-on): Likewise.
11040         * modules/ftell (Depends-on): Likewise.
11041         * modules/ftello (Depends-on): Likewise.
11042         * modules/futimens (Depends-on): Likewise.
11043         * modules/getcwd (Depends-on): Likewise.
11044         * modules/getcwd-lgpl (Depends-on): Likewise.
11045         * modules/getdelim (Depends-on): Likewise.
11046         * modules/getdomainname (Depends-on): Likewise.
11047         * modules/getgroups (Depends-on): Likewise.
11048         * modules/gethostname (Depends-on): Likewise.
11049         * modules/getline (Depends-on): Likewise.
11050         * modules/getlogin_r (Depends-on): Likewise.
11051         * modules/getopt-posix (Depends-on): Likewise.
11052         * modules/getpeername (Depends-on): Likewise.
11053         * modules/getsockname (Depends-on): Likewise.
11054         * modules/getsockopt (Depends-on): Likewise.
11055         * modules/getsubopt (Depends-on): Likewise.
11056         * modules/getusershell (Depends-on): Likewise.
11057         * modules/glob (Depends-on): Likewise.
11058         * modules/grantpt (Depends-on): Likewise.
11059         * modules/iconv_open (Depends-on): Likewise.
11060         * modules/iconv_open-utf (Depends-on): Likewise.
11061         * modules/inet_ntop (Depends-on): Likewise.
11062         * modules/inet_pton (Depends-on): Likewise.
11063         * modules/ioctl (Depends-on): Likewise.
11064         * modules/isapipe (Depends-on): Likewise.
11065         * modules/isfinite (Depends-on): Likewise.
11066         * modules/isinf (Depends-on): Likewise.
11067         * modules/lchown (Depends-on): Likewise.
11068         * modules/ldexpl (Depends-on): Likewise.
11069         * modules/link (Depends-on): Likewise.
11070         * modules/linkat (Depends-on): Likewise.
11071         * modules/listen (Depends-on): Likewise.
11072         * modules/logl (Depends-on): Likewise.
11073         * modules/lstat (Depends-on): Likewise.
11074         * modules/mbrlen (Depends-on): Likewise.
11075         * modules/mbrtowc (Depends-on): Likewise.
11076         * modules/mbsinit (Depends-on): Likewise.
11077         * modules/mbsnrtowcs (Depends-on): Likewise.
11078         * modules/mbsrtowcs (Depends-on): Likewise.
11079         * modules/mbtowc (Depends-on): Likewise.
11080         * modules/memcmp (Depends-on): Likewise.
11081         * modules/mkdir (Depends-on): Likewise.
11082         * modules/mkdtemp (Depends-on): Likewise.
11083         * modules/mkfifo (Depends-on): Likewise.
11084         * modules/mkfifoat (Depends-on): Likewise.
11085         * modules/mknod (Depends-on): Likewise.
11086         * modules/mkostemp (Depends-on): Likewise.
11087         * modules/mkostemps (Depends-on): Likewise.
11088         * modules/mkstemp (Depends-on): Likewise.
11089         * modules/mkstemps (Depends-on): Likewise.
11090         * modules/mktime (Depends-on): Likewise.
11091         * modules/nanosleep (Depends-on): Likewise.
11092         * modules/open (Depends-on): Likewise.
11093         * modules/openat (Depends-on): Likewise.
11094         * modules/perror (Depends-on): Likewise.
11095         * modules/poll (Depends-on): Likewise.
11096         * modules/popen (Depends-on): Likewise.
11097         * modules/posix_spawn (Depends-on): Likewise.
11098         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
11099         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
11100         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
11101         * modules/posix_spawnp (Depends-on): Likewise.
11102         * modules/pread (Depends-on): Likewise.
11103         * modules/printf-posix (Depends-on): Likewise.
11104         * modules/ptsname (Depends-on): Likewise.
11105         * modules/putenv (Depends-on): Likewise.
11106         * modules/pwrite (Depends-on): Likewise.
11107         * modules/readline (Depends-on): Likewise.
11108         * modules/readlink (Depends-on): Likewise.
11109         * modules/readlinkat (Depends-on): Likewise.
11110         * modules/recv (Depends-on): Likewise.
11111         * modules/recvfrom (Depends-on): Likewise.
11112         * modules/regex (Depends-on): Likewise.
11113         * modules/remove (Depends-on): Likewise.
11114         * modules/rename (Depends-on): Likewise.
11115         * modules/renameat (Depends-on): Likewise.
11116         * modules/rmdir (Depends-on): Likewise.
11117         * modules/round (Depends-on): Likewise.
11118         * modules/roundf (Depends-on): Likewise.
11119         * modules/roundl (Depends-on): Likewise.
11120         * modules/rpmatch (Depends-on): Likewise.
11121         * modules/select (Depends-on): Likewise.
11122         * modules/send (Depends-on): Likewise.
11123         * modules/sendto (Depends-on): Likewise.
11124         * modules/setenv (Depends-on): Likewise.
11125         * modules/setlocale (Depends-on): Likewise.
11126         * modules/setsockopt (Depends-on): Likewise.
11127         * modules/shutdown (Depends-on): Likewise.
11128         * modules/sigaction (Depends-on): Likewise.
11129         * modules/signbit (Depends-on): Likewise.
11130         * modules/sigprocmask (Depends-on): Likewise.
11131         * modules/sinl (Depends-on): Likewise.
11132         * modules/sleep (Depends-on): Likewise.
11133         * modules/snprintf (Depends-on): Likewise.
11134         * modules/snprintf-posix (Depends-on): Likewise.
11135         * modules/socket (Depends-on): Likewise.
11136         * modules/sprintf-posix (Depends-on): Likewise.
11137         * modules/sqrtl (Depends-on): Likewise.
11138         * modules/stat (Depends-on): Likewise.
11139         * modules/strchrnul (Depends-on): Likewise.
11140         * modules/strdup-posix (Depends-on): Likewise.
11141         * modules/strerror (Depends-on): Likewise.
11142         * modules/strerror_r-posix (Depends-on): Likewise.
11143         * modules/strndup (Depends-on): Likewise.
11144         * modules/strnlen (Depends-on): Likewise.
11145         * modules/strptime (Depends-on): Likewise.
11146         * modules/strsep (Depends-on): Likewise.
11147         * modules/strsignal (Depends-on): Likewise.
11148         * modules/strstr-simple (Depends-on): Likewise.
11149         * modules/strtod (Depends-on): Likewise.
11150         * modules/strtoimax (Depends-on): Likewise.
11151         * modules/strtok_r (Depends-on): Likewise.
11152         * modules/strtoumax (Depends-on): Likewise.
11153         * modules/symlink (Depends-on): Likewise.
11154         * modules/symlinkat (Depends-on): Likewise.
11155         * modules/tanl (Depends-on): Likewise.
11156         * modules/tcgetsid (Depends-on): Likewise.
11157         * modules/tmpfile (Depends-on): Likewise.
11158         * modules/trunc (Depends-on): Likewise.
11159         * modules/truncf (Depends-on): Likewise.
11160         * modules/truncl (Depends-on): Likewise.
11161         * modules/uname (Depends-on): Likewise.
11162         * modules/unlink (Depends-on): Likewise.
11163         * modules/unlockpt (Depends-on): Likewise.
11164         * modules/unsetenv (Depends-on): Likewise.
11165         * modules/usleep (Depends-on): Likewise.
11166         * modules/utimensat (Depends-on): Likewise.
11167         * modules/vasprintf (Depends-on): Likewise.
11168         * modules/vdprintf (Depends-on): Likewise.
11169         * modules/vdprintf-posix (Depends-on): Likewise.
11170         * modules/vfprintf-posix (Depends-on): Likewise.
11171         * modules/vprintf-posix (Depends-on): Likewise.
11172         * modules/vsnprintf (Depends-on): Likewise.
11173         * modules/vsnprintf-posix (Depends-on): Likewise.
11174         * modules/vsprintf-posix (Depends-on): Likewise.
11175         * modules/wcrtomb (Depends-on): Likewise.
11176         * modules/wcscasecmp (Depends-on): Likewise.
11177         * modules/wcscspn (Depends-on): Likewise.
11178         * modules/wcsdup (Depends-on): Likewise.
11179         * modules/wcsncasecmp (Depends-on): Likewise.
11180         * modules/wcsnrtombs (Depends-on): Likewise.
11181         * modules/wcspbrk (Depends-on): Likewise.
11182         * modules/wcsrtombs (Depends-on): Likewise.
11183         * modules/wcsspn (Depends-on): Likewise.
11184         * modules/wcsstr (Depends-on): Likewise.
11185         * modules/wcstok (Depends-on): Likewise.
11186         * modules/wcswidth (Depends-on): Likewise.
11187         * modules/wctob (Depends-on): Likewise.
11188         * modules/wctomb (Depends-on): Likewise.
11189         * modules/wctype (Depends-on): Likewise.
11190         * modules/wcwidth (Depends-on): Likewise.
11191         * modules/write (Depends-on): Likewise.
11192
11193 2011-05-03  Bruno Haible  <bruno@clisp.org>
11194
11195         Support for conditional dependencies.
11196         * doc/gnulib.texi (Module description): Document the syntax of
11197         conditional dependencies.
11198         * gnulib-tool: New option --conditional-dependencies.
11199         (func_usage): Document it.
11200         (cond_dependencies): New variable.
11201         (func_get_automake_snippet_conditional,
11202         func_get_automake_snippet_unconditional): New functions, extracted from
11203         func_get_automake_snippet.
11204         (func_get_automake_snippet): Use them.
11205         (sed_first_32_chars): New variable.
11206         (func_module_shellfunc_name): New function.
11207         (func_module_shellvar_name): New function.
11208         (func_module_conditional_name): New function.
11209         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
11210         func_cond_module_condition): New functions.
11211         (func_modules_transitive_closure): Add support for conditional
11212         dependencies.
11213         (func_emit_lib_Makefile_am): For a conditional module, enclose the
11214         conditional automake snippet in an automake conditional.
11215         (func_emit_autoconf_snippets): Emit shell functions that contain the
11216         code for conditional modules.
11217         (func_import, func_create_testdir): Update specification.
11218
11219 2011-05-03  Eric Blake  <eblake@redhat.com>
11220
11221         test-getaddrinfo: report error information
11222         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
11223
11224 2011-05-03  Jim Meyering  <meyering@redhat.com>
11225
11226         bootstrap: avoid build failure when $GZIP is set
11227         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
11228         program name.  If defined at all, it is supposed to list gzip options.
11229         Reported by Alan Curry in http://debbugs.gnu.org/8609
11230
11231 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
11232
11233         readme-release: new module with release instructions
11234         * modules/readme-release: New module.
11235         * top/README-release: New file, from coreutils, grep, diffutils.
11236         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11237
11238 2011-05-02  Eric Blake  <eblake@redhat.com>
11239
11240         fflush: also replace fclose when fixing fflush
11241         * modules/fflush (Depends-on): Add fclose.
11242         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
11243         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
11244         memstreams with no backing fd.
11245         * doc/posix-functions/fclose.texi (fclose): Document the use of
11246         fflush module to fix the bug.
11247         * tests/test-fclose.c (main): Relax test when fclose is used in
11248         isolation.
11249
11250         fclose: add some tests
11251         * modules/fclose-tests: New test module.
11252         * tests/test-fclose.c: New file.
11253         * doc/posix-functions/fclose.texi (fclose): Document the bug.
11254
11255         fclose: reduced dependencies
11256         * modules/fclose (Depends-on): Switch from fflush/fseeko to
11257         simpler lseek.
11258         * lib/fclose.c (rpl_fclose): Likewise.
11259         Reported by Simon Josefsson.
11260
11261         exit: drop remaining clients
11262         * modules/argmatch (Depends-on): Replace exit with stdlib.
11263         * modules/copy-file (Depends-on): Likewise.
11264         * modules/execute (Depends-on): Likewise.
11265         * modules/exitfail (Depends-on): Likewise.
11266         * modules/obstack (Depends-on): Likewise.
11267         * modules/pagealign_alloc (Depends-on): Likewise.
11268         * modules/pipe-filter-gi (Depends-on): Likewise.
11269         * modules/pipe-filter-ii (Depends-on): Likewise.
11270         * modules/savewd (Depends-on): Likewise.
11271         * modules/spawn-pipe (Depends-on): Likewise.
11272         * modules/wait-process (Depends-on): Likewise.
11273         * modules/xsetenv (Depends-on): Likewise.
11274         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
11275         * modules/git-merge-changelog (Depends-on): Likewise.
11276         * modules/long-options (Depends-on): Likewise.
11277         * modules/pt_chown (Depends-on): Likewise.
11278         * modules/sysexits (Depends-on): Likewise.
11279
11280         freading: relax license from LGPLv3+ to LGPLv2+
11281         * modules/freading (License): Relax LGPL version.
11282
11283 2011-05-02  Bruno Haible  <bruno@clisp.org>
11284
11285         fchdir: Remove unused dependencies.
11286         * modules/fchdir (Depends-on): Remove include_next.
11287
11288 2011-05-02  Bruno Haible  <bruno@clisp.org>
11289
11290         gnulib-tool: Refactor.
11291         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
11292         from func_emit_autoconf_snippets.
11293         (func_emit_autoconf_snippets): Use it.
11294
11295 2011-05-02  Simon Josefsson  <simon@josefsson.org>
11296
11297         * NEWS: Document removal of 'exit'.
11298         * modules/exit: Remove file.
11299
11300 2011-05-01  Bruno Haible  <bruno@clisp.org>
11301
11302         Update DEPENDENCIES.
11303         * DEPENDENCIES (gettext): Recommend the newest release.
11304         Reported by Simon Josefsson.
11305
11306 2011-05-01  Bruno Haible  <bruno@clisp.org>
11307
11308         gnulib-tool: Reduce code duplication.
11309         * gnulib-tool (func_emit_autoconf_snippets): New function.
11310         (func_import, func_create_testdir): Use it.
11311
11312 2011-04-30  Eric Blake  <eblake@redhat.com>
11313
11314         fclose: don't fail on non-seekable input stream
11315         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
11316         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
11317         since fflush is allowed to fail in that case.
11318
11319 2011-04-30  Bruno Haible  <bruno@clisp.org>
11320
11321         dup3: cleanup
11322         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
11323
11324 2011-04-30  Bruno Haible  <bruno@clisp.org>
11325
11326         netdb: Make it work in C++ mode.
11327         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
11328         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
11329         module.
11330         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
11331         gl_MODULE_INDICATOR_FOR_TESTS.
11332         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
11333         * modules/netdb-c++-tests: New file.
11334         * tests/test-netdb-c++.cc: New file.
11335
11336 2011-04-30  Bruno Haible  <bruno@clisp.org>
11337
11338         New modules 'vfscanf', 'vscanf'.
11339         * modules/vfscanf: New file.
11340         * modules/vscanf: New file.
11341         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
11342         here.
11343         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
11344         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
11345
11346 2011-04-30  Bruno Haible  <bruno@clisp.org>
11347
11348         passfd: Add comments.
11349         * lib/passfd.c: Add comments about platforms.
11350
11351 2011-04-30  Bruno Haible  <bruno@clisp.org>
11352
11353         sys_uio: Make <sys/uio.h> self-contained.
11354         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
11355         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
11356
11357 2011-04-30  Bruno Haible  <bruno@clisp.org>
11358
11359         sys_socket: Ensure 'struct iovec' definition.
11360         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11361         <sys/socket.h>.
11362         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
11363
11364 2011-04-30  Bruno Haible  <bruno@clisp.org>
11365
11366         sys_uio: Protect definition of 'struct iovec'.
11367         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
11368         it as a C struct.
11369
11370 2011-04-30  Bruno Haible  <bruno@clisp.org>
11371
11372         manywarnings: fix indentation
11373         * m4/manywarnings.m4: Indent by 2 spaces consistently.
11374
11375 2011-04-30  Pádraig Brady <P@draigBrady.com>
11376
11377         manywarnings: add -Wno-missing-field-initializers if needed.
11378         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
11379         option if it's needed to allow initialization with { 0, }
11380
11381 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
11382
11383         announce-gen: cosmetic improvement
11384         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
11385
11386 2011-04-29  Jim Meyering  <meyering@redhat.com>
11387
11388         vc-list-files: indent with spaces, not TABs
11389         * build-aux/vc-list-files: Convert leading TABs to spaces,
11390         to match the style of most other files in gnulib.
11391
11392         announce-gen: indent with spaces, not TABs
11393         * build-aux/announce-gen: Convert all TABs to spaces, to match
11394         the style of most other files in gnulib.
11395
11396 2011-04-29  Eric Blake  <eblake@redhat.com>
11397
11398         quotearg: avoid uninitialized variable use
11399         * lib/quotearg.c (quoting_options_from_style): Initialize
11400         remaining fields, and ensure that custom styles are only used via
11401         quoting_options rather than quoting_style.
11402
11403 2011-04-29  Jim Meyering  <meyering@redhat.com>
11404
11405         maint.mk: remove unused VC-tag variable
11406         * top/maint.mk (VC-tag): Remove unused variable.
11407
11408 2011-04-29  Bruno Haible  <bruno@clisp.org>
11409
11410         netdb: fix gai_strerror replacements
11411         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11412         * modules/netdb: Substitute it.
11413
11414 2011-04-29  Jim Meyering  <meyering@redhat.com>
11415
11416         test-getcwd.c: avoid new set-but-not-used warning
11417         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11418         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11419         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11420         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11421
11422         test-hash.c: avoid a new shadowing warning
11423         * tests/test-hash.c (main): Don't shadow "dup".
11424
11425 2011-04-28  Eric Blake  <eblake@redhat.com>
11426
11427         getaddrinfo: fix gai_strerror signature
11428         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11429         and work around mingw with UNICODE defined.
11430         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11431         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11432         * modules/netdb (Makefile.am): Substitute it.
11433         * lib/netdb.in.h (gai_strerror): Declare replacement.
11434         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11435         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11436         the fix.
11437
11438         getsockopt: avoid compiler warning
11439         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11440         Reported by Matthias Bolte.
11441
11442         tests: drop unused link dependency
11443         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11444         * modules/dirent-safer-tests (Makefile.am): Likewise.
11445         * modules/fdopendir-tests (Makefile.am): Likewise.
11446         * modules/mkfifoat-tests (Makefile.am): Likewise.
11447         * modules/openat-safer-tests (Makefile.am): Likewise.
11448         * modules/openat-tests (Makefile.am): Likewise.
11449         * modules/readlinkat-tests (Makefile.am): Likewise.
11450         * modules/symlinkat-tests (Makefile.am): Likewise.
11451         * modules/linkat-tests (Makefile.am): Likewise.
11452         (Depends-on): Switch to filenamecat-lgpl.
11453         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11454         LIBINTL.
11455         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11456         * tests/test-linkat.c (main): Don't require xalloc.
11457
11458         hash, mgetgroups: drop xalloc dependency
11459         * lib/hash.c (includes): Adjust includes.
11460         * lib/mgetgroups.c (includes): Likewise.
11461         (xgetgroups): Move...
11462         * lib/xgetgroups.c: ...to new file.
11463         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11464         * modules/xgetgroups: New file, split from...
11465         * modules/mgetgroups: ...here.
11466         (Depends-on): Add xalloc-oversized.
11467         * modules/hash (Depends-on): Likewise.
11468         * modules/hash-tests (Depends-on): Drop xalloc.
11469         (test_hash_LDADD): Drop unused library.
11470         * tests/test-hash.c (main): Break xalloc dependency.
11471         (includes): Drop unused include.
11472
11473         xalloc-oversized: new module
11474         * modules/xalloc-oversized: New module.
11475         * modules/xalloc (Depends-on): Add it.
11476         * lib/xalloc.h (xalloc_oversized): Move...
11477         * lib/xalloc-oversized.h: ...into new file.
11478
11479         utimecmp: drop dependency on xmalloc
11480         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11481         due to memory pressure.
11482         * modules/utimecmp (Depends-on): Drop xalloc.
11483
11484 2011-04-27  Eric Blake  <eblake@redhat.com>
11485
11486         getcwd: fix mingw bugs
11487         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11488         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11489         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11490
11491 2011-04-27  Bruno Haible  <bruno@clisp.org>
11492
11493         mkstemps: Ensure declaration on MacOS X 10.5.
11494         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11495         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11496         MacOS X.
11497
11498 2011-04-27  Bruno Haible  <bruno@clisp.org>
11499
11500         mkstemp: More documentation.
11501         * doc/posix-functions/mkstemp.texi: Document header file problem on
11502         MacOS X.
11503
11504 2011-04-27  Bruno Haible  <bruno@clisp.org>
11505
11506         mkstemp: Tweak configure message when cross-compiling.
11507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11508         result as a guess.
11509
11510 2011-04-27  Bruno Haible  <bruno@clisp.org>
11511
11512         clean-temp: Clarify what it does.
11513         * lib/clean-temp.h: Add more comments.
11514         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11515         module.
11516         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11517         * doc/glibc-functions/mkstemps.texi: Likewise.
11518         * doc/glibc-functions/mkostemps.texi: Likewise.
11519
11520 2011-04-27  Eric Blake  <eblake@redhat.com>
11521
11522         fchdir: avoid extra chdir and fix test
11523         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11524         getcwd-lgpl.
11525         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11526         have to be canonical.
11527         (canonicalize_file_name): Drop unused macro.
11528         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11529
11530         filenamecat-lgpl: fix licence
11531         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11532         when it was first created.
11533
11534         linkat, renameat: add missing dependency
11535         * modules/linkat (Depends-on): Require getcwd-lgpl.
11536         * modules/renameat (Depends-on): Likewise.
11537
11538         tests: reduce dependencies
11539         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11540         * tests/test-renameat.c (main): Likewise.
11541         * modules/linkat-tests (Depends-on): Relax dependency.
11542         * modules/renameat-tests (Depends-on): Likewise.
11543         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11544         dependency explicit.
11545
11546         save-cwd: reduce default dependency
11547         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11548         * lib/save-cwd.c: Update comments.
11549         * NEWS: Document the semantic change.
11550
11551         getcwd: enhance tests
11552         * tests/test-getcwd-lgpl.c: New file, taken from...
11553         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11554         repeat long path stress tests from m4 probe.
11555         * modules/getcwd-lgpl-tests: New module.
11556         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11557         * m4/getcwd-abort-bug.m4: Update comment.
11558         * m4/getcwd-path-max.m4: Likewise.
11559
11560         getcwd-lgpl: new module
11561         * modules/getcwd-lgpl: New module.
11562         * lib/getcwd-lgpl.c: New file.
11563         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11564         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11565         * modules/getcwd (configure.ac): Set C witness.
11566         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11567
11568         getcwd: tweak comments
11569         * m4/getcwd-abort-bug.m4: Fix comments.
11570         * m4/getcwd-path-max.m4: Likewise.
11571         * m4/getcwd.m4: Likewise.
11572
11573 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11574         and Eric Blake  <eblake@redhat.com>
11575
11576         mkstemp: replace if system version uses wrong permissions
11577         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11578         read/write mode bits set in file created by mkstemp.
11579         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11580
11581 2011-04-27  Eric Blake  <eblake@redhat.com>
11582
11583         passfd: avoid compiler warning
11584         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11585         Reported by Laine Stump.
11586
11587 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11588
11589         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11590         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11591
11592 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11593         and Eric Blake  <eblake@redhat.com>
11594
11595         mkstemp: mention clean-temp module
11596         * lib/mkstemp.c: Add comment.
11597         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11598
11599 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11600
11601         inttypes: also provide default values for 32-bit tests
11602         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11603         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11604
11605 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11606
11607         strtoumax: remove dependency on strtoimax
11608         This is like the strtoull change of yesterday.
11609         * modules/strtoumax (Files): Add lib/strtoimax.c.
11610         (Depends-on): Remove strtoimax and add verify.
11611
11612         inttypes-incomplete: new module
11613         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11614         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11615         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11616         of gl_INTTYPES_H.
11617         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11618         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11619         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11620         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11621         * modules/strtoumax, modules/xstrtol (Depends-on):
11622         Depend on inttypes-incomplete, not inttypes.
11623         * modules/inttypes-incomplete: New module, containing the contents
11624         of the old modules/inttypes module, except that the Files: section
11625         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11626         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11627         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11628         (Depends-on): Depend only on inttypes-incomplete.
11629         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11630
11631         inttypes: omit now-redundant strtoimax and strtoumax work
11632         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11633         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11634
11635         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11636         This supports apps that need pointers to strtoimax and strtoumax,
11637         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11638         nonexistent functions.  See
11639         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11640         et seq.
11641         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11642         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11643         a macro.
11644         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11645
11646 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11647
11648         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11649
11650 2011-04-25  Bruno Haible  <bruno@clisp.org>
11651
11652         strtol, strtoul: Mark modules as obsolete.
11653         * modules/strtol (Status, Notice): New sections.
11654         * modules/strtoul (Status, Notice): New sections.
11655
11656 2011-04-25  Bruno Haible  <bruno@clisp.org>
11657
11658         strtod: Remove check for strtod, unless supporting old platforms.
11659         * modules/strtod-obsolete: New file.
11660         * m4/strtod-obsolete.m4: New file.
11661         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11662         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11663         * modules/strtod (Depends-on): Add strtod-obsolete.
11664         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11665
11666 2011-04-25  Bruno Haible  <bruno@clisp.org>
11667
11668         strcase: Make module obsolete.
11669         * modules/strcase (Status, Notice): New sections.
11670
11671 2011-04-25  Bruno Haible  <bruno@clisp.org>
11672
11673         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11674         * modules/dup2-obsolete: New file.
11675         * m4/dup2-obsolete.m4: New file.
11676         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11677         gl_FUNC_DUP2_OBSOLETE is not also defined.
11678         * modules/dup2 (Depends-on): Add dup2-obsolete.
11679         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11680
11681 2011-04-25  Bruno Haible  <bruno@clisp.org>
11682
11683         strnlen: Avoid memchr related link error on old obsolete platforms.
11684         * modules/memchr-obsolete: New file.
11685         * m4/memchr-obsolete.m4: New file.
11686         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11687         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11688         * modules/memchr (Depends-on): Add memchr-obsolete.
11689         * modules/strnlen (Depends-on): Likewise.
11690         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11691
11692 2011-04-25  Jim Meyering  <meyering@redhat.com>
11693
11694         maint.mk: makefile_at_at_check extend and clean up
11695         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11696         in addition to */Makefile.am.
11697         Exempt legitimate uses of @VAR@ notation, e.g.,
11698         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11699         Remove obsolete coreutils-specific comment.
11700         Prompted by discussion here:
11701         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11702
11703 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11704
11705         strtoul: remove dependency on strtol
11706         This is so that 'configure' need not check for strtol merely because
11707         the application needs strtoul.
11708         * modules/strtoul (Files): Add lib/strtol.c.
11709         (Depends-on): Remove strtol.
11710
11711         strtoull: remove dependency on strtoul
11712         This is like the strtoll change.
11713         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11714         (Depends-on): Remove strtoul.
11715
11716         strtoll: remove dependency on strtol
11717         This is so that 'configure' need not check for strtol merely because
11718         the application needs strtoll.
11719         * modules/strtoll (Files): Add lib/strtol.c.
11720         (Depends-on): Remove strtol.
11721
11722 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11723
11724         inttypes: Move some configure check to module 'imaxdiv'.
11725         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11726         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11727         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11728
11729 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11730
11731         inttypes: Move some configure check to module 'imaxabs'.
11732         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11733         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11734         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11735
11736 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11737
11738         inttypes: Remove configure tests that are not needed since 2009-12-31.
11739         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11740         gl_cv_header_working_inttypes_h.
11741
11742 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11743
11744         * modules/strnlen (Depends-on): Remove memchr.
11745         The strnlen implementation doesn't need the memchr module's fixes; see
11746         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11747
11748         strtol: remove dependency on wchar
11749         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11750         * modules/strtol (Depends-on): Remove wchar.
11751
11752 2011-04-21  Eric Blake  <eblake@redhat.com>
11753
11754         passfd: fix test regression on Linux
11755         * modules/passfd-tests (configure.ac): Correct socketpair check.
11756
11757         passfd: speed up configure and drop unused code
11758         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11759         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11760         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11761         Instead of probing at configure for unix_scm_rights_bsd44_way,
11762         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11763         check to a struct member probe.
11764         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11765         (sendfd, recvfd): Update preprocessor checks.
11766         * modules/passfd (Files): Reflect rename, and drop unused file.
11767         (Depends-on): Drop unused dependency.
11768
11769         passfd: allow compilation on mingw
11770         * modules/sys_socket (Depends-on): Add sys_uio.
11771         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11772         iovec and a minimal struct msghdr.
11773         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11774         * tests/test-sys_socket.c (main): Enhance test.
11775         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11776         guaranteed to provide what we need.
11777         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11778         * modules/passfd-tests (Depends-on): Add sys_wait.
11779         * tests/test-passfd.c (main): Skip test on mingw, for now.
11780         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11781         partial 'struct msghdr' implementation.
11782
11783         sys_uio: new module
11784         * modules/sys_uio: New module.
11785         * modules/sys_uio-tests: Likewise.
11786         * lib/sys_uio.in.h: New file.
11787         * m4/sys_uio_h.m4: Likewise.
11788         * tests/test-sys_uio.c: Likewise.
11789         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11790         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11791
11792 2011-04-20  Jim Meyering  <meyering@redhat.com>
11793
11794         useless-if-before-free: avoid false-positive
11795         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11796         disjunct so that it too requires a terminating ";".  Without that,
11797         this script would identify as useless one statement from gcc that
11798         was not:
11799           if (aligned_ptr)
11800             free (((void **) aligned_ptr) [-1]);
11801
11802 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11803
11804         doc: update users.txt.
11805         * users.txt: Add barcode.
11806
11807 2011-04-19  Bruno Haible  <bruno@clisp.org>
11808
11809         ioctl: Remove link dependency on native Windows.
11810         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11811         (gl_close_fn, gl_ioctl_fn): New types.
11812         (struct fd_hook): Renamed from struct close_hook. Change type of
11813         private_close_fn field. Add private_ioctl_fn field.
11814         (close_hook_fn): Add parameter for primary close method.
11815         (execute_close_hooks, execute_all_close_hooks): Likewise.
11816         (ioctl_hook_fn): New type.
11817         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11818         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11819         argument.
11820         (unregister_fd_hook): Renamed from unregister_close_hook.
11821         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11822         Don't include <unistd.h>.
11823         (close): Remove undef.
11824         (anchor): Update.
11825         (execute_close_hooks): Add argument for primary close method.
11826         (execute_all_close_hooks): Likewise.
11827         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11828         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11829         argument. Allow each argument to be NULL.
11830         (unregister_fd_hook): Renamed from unregister_close_hook.
11831         * lib/close.c (rpl_close): Pass 'close' function pointer to
11832         execute_all_close_hooks.
11833         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11834         (primary_ioctl): New function.
11835         (ioctl): Don't call ioctlsocket here. Instead, call
11836         execute_all_ioctl_hooks.
11837         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11838         close method.
11839         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11840         (fd_sockets_hook): Renamed from close_sockets_hook.
11841         (gl_sockets_startup, gl_sockets_cleanup): Update.
11842         * modules/fd-hook: Renamed from modules/close-hook. Update.
11843         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11844         * modules/sockets (Depends-on): Likewise.
11845         * modules/ioctl (Depends-on): Add fd-hook.
11846         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11847         GNULIB_SOCKET.
11848
11849 2011-04-19  Bruno Haible  <bruno@clisp.org>
11850
11851         Move the support of O_NONBLOCK in open() to the 'open' module.
11852         * modules/nonblocking (Depends-on): Remove 'open'.
11853         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11854         gl_cv_have_open_O_NONBLOCK.
11855         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11856         O_NONBLOCK support.
11857         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11858
11859 2011-04-17  Bruno Haible  <bruno@clisp.org>
11860
11861         pipe2: Simplify code.
11862         * lib/pipe2.c (pipe2): Reduce code duplication.
11863
11864 2011-04-17  Bruno Haible  <bruno@clisp.org>
11865
11866         nonblocking: Add comment.
11867         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11868
11869 2011-04-17  Bruno Haible  <bruno@clisp.org>
11870
11871         nonblocking: Add tests for sockets.
11872         * tests/test-nonblocking-socket.sh: New file.
11873         * tests/test-nonblocking-socket-main.c: New file.
11874         * tests/test-nonblocking-socket-child.c: New file.
11875         * tests/test-nonblocking-socket.h: New file.
11876         * tests/socket-server.h: New file.
11877         * tests/socket-client.h: New file.
11878         * modules/nonblocking-socket-tests: New file.
11879         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11880
11881 2011-04-17  Bruno Haible  <bruno@clisp.org>
11882
11883         nonblocking: Add tests for pipes.
11884         * tests/test-nonblocking-pipe.sh: New file.
11885         * tests/test-nonblocking-pipe-main.c: New file.
11886         * tests/test-nonblocking-pipe-child.c: New file.
11887         * tests/test-nonblocking-pipe.h: New file.
11888         * tests/test-nonblocking-writer.h: New file.
11889         * tests/test-nonblocking-reader.h: New file.
11890         * tests/test-nonblocking-misc.h: New file.
11891         * modules/nonblocking-pipe-tests: New file.
11892         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11893
11894 2011-04-16  Bruno Haible  <bruno@clisp.org>
11895
11896         gettext: Clarify the needed programmer actions.
11897         * modules/gettext (Notice): New field.
11898         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11899
11900 2011-04-16  Bruno Haible  <bruno@clisp.org>
11901
11902         strchrnul: Tweak last commit.
11903         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11904         bug.
11905         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11906         as in _GL_FUNCDECL_SYS.
11907         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11908         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11909
11910 2011-04-15  Eric Blake  <eblake@redhat.com>
11911
11912         strchrnul: work around cygwin bug
11913         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11914         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11915         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11916         * modules/string (Makefile.am): Substitute it.
11917         * lib/string.in.h (strchrnul): Use it.
11918
11919 2011-04-15  Bruno Haible  <bruno@clisp.org>
11920
11921         Don't require lib/stdio-write.c when only module 'stdio' is used.
11922         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11923         invocation.
11924         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11925
11926 2011-04-14  Bruno Haible  <bruno@clisp.org>
11927
11928         Support non-blocking pipe I/O in read() on native Windows.
11929         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11930         (read): New declaration.
11931         * lib/read.c: New file.
11932         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11933         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11934         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11935         vscanf): New declarations.
11936         * lib/stdio-read.c: New file.
11937         * m4/read.m4: New file.
11938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11939         REPLACE_READ.
11940         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11941         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11942         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11943         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11944         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11945         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11946         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11947         * modules/read: New file.
11948         * modules/nonblocking (Files): Add lib/stdio-read.c.
11949         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11950         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11951         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11952         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11953         * modules/pread (Depends-on): Add read.
11954         * modules/safe-read (Depends-on): Likewise.
11955         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11956         gets, scanf, vfscanf, vscanf): Verify signatures.
11957         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11958         problem with non-blocking pipes.
11959         * doc/posix-functions/fgetc.texi: Likewise.
11960         * doc/posix-functions/fgets.texi: Likewise.
11961         * doc/posix-functions/fread.texi: Likewise.
11962         * doc/posix-functions/fscanf.texi: Likewise.
11963         * doc/posix-functions/getc.texi: Likewise.
11964         * doc/posix-functions/getchar.texi: Likewise.
11965         * doc/posix-functions/gets.texi: Likewise.
11966         * doc/posix-functions/scanf.texi: Likewise.
11967         * doc/posix-functions/vfscanf.texi: Likewise.
11968         * doc/posix-functions/vscanf.texi: Likewise.
11969
11970 2011-04-14  Bruno Haible  <bruno@clisp.org>
11971
11972         Support non-blocking pipe I/O in write() on native Windows.
11973         * lib/write.c (rpl_write): Split a write request that failed merely
11974         because the byte count was larger than the pipe buffer's size.
11975         * doc/posix-functions/write.texi: Mention the problem with large byte
11976         counts.
11977
11978 2011-04-14  Bruno Haible  <bruno@clisp.org>
11979
11980         wchar: Ensure that wchar_t gets defined on uClibc.
11981         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11982         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11983
11984 2011-04-13  Bruno Haible  <bruno@clisp.org>
11985
11986         safe-write, full-read: Avoid unnecessary compilation units.
11987         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11988         (Depends-on): Remove safe-read. Add ssize_t.
11989         * modules/full-read (Files): Add lib/full-write.c.
11990         (Depends-on): Add full-write.
11991
11992 2011-04-13  Bruno Haible  <bruno@clisp.org>
11993
11994         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11995         * modules/pwrite (Depends-on): Add 'write'.
11996
11997 2011-04-13  Bruno Haible  <bruno@clisp.org>
11998
11999         Support non-blocking pipe I/O in write() on native Windows.
12000         * lib/unistd.in.h (write): Enable replacement also if
12001         GNULIB_UNISTD_H_NONBLOCKING is 1.
12002         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
12003         (rpl_write): When failing to write on a non-blocking pipe, change
12004         errno from ENOSPC to EAGAIN.
12005         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
12006         putchar, puts, vfprintf, vprintf): Enable replacement also if
12007         GNULIB_STDIO_H_NONBLOCKING is 1.
12008         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
12009         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
12010         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
12011         CALL_WITH_SIGPIPE_EMULATION.
12012         (CALL_WITH_SIGPIPE_EMULATION): Use them.
12013         * m4/nonblocking.m4: New file.
12014         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
12015         for non-blocking I/O support.
12016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12017         GNULIB_UNISTD_H_NONBLOCKING.
12018         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
12019         required for non-blocking I/O support.
12020         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
12021         * modules/nonblocking (Files): Add m4/nonblocking.m4,
12022         lib/stdio-write.c, m4/asm-underscore.m4.
12023         (Depends-on): Add stdio, unistd.
12024         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
12025         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
12026         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
12027         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
12028         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
12029         problem with non-blocking pipes.
12030         * doc/posix-functions/fputc.texi: Likewise.
12031         * doc/posix-functions/fputs.texi: Likewise.
12032         * doc/posix-functions/fwrite.texi: Likewise.
12033         * doc/posix-functions/printf.texi: Likewise.
12034         * doc/posix-functions/putc.texi: Likewise.
12035         * doc/posix-functions/putchar.texi: Likewise.
12036         * doc/posix-functions/puts.texi: Likewise.
12037         * doc/posix-functions/vfprintf.texi: Likewise.
12038         * doc/posix-functions/vprintf.texi: Likewise.
12039         * doc/posix-functions/write.texi: Likewise.
12040
12041 2011-04-10  Jim Meyering  <meyering@redhat.com>
12042
12043         maint.mk: prohibit doubled words
12044         Detect them also when they're separated by a newline.
12045         There are 3 ways to customize it:
12046           - disable the test on a per file basis, as usual with rules using
12047             $(VC_LIST_EXCEPT)
12048           - replace the default doubled-word-selecting regexp (affects all files)
12049           - ignore a particular file-vs-doubled-word match
12050         I nearly used that last one to ignore the "is is" match in
12051         coreutils' NEWS file, since the text was "ls -is is ..."
12052         To do that, I would have added this line to cfg.mk:
12053           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
12054         but it would have ignored any "is is" match in NEWS.
12055         Low probability, but still...
12056         Instead, I changed the text, slightly:
12057           -  ls -is is now consistent with ls -lis in ignoring values returned
12058           +  "ls -is" is now consistent with ls -lis in ignoring values returned
12059         * top/maint.mk (prohibit_double_word_RE_): Provide default.
12060         (prohibit_doubled_word_): Define.
12061         (sc_prohibit_doubled_word): New rule.
12062         (sc_prohibit_the_the): Remove.  Subsumed by the above.
12063
12064 2011-04-10  Jim Meyering  <meyering@redhat.com>
12065
12066         maint: fix doubled-word typo in comment
12067         * m4/gethostname.m4: s/is is/it is/
12068         * m4/getdomainname.m4: Likewise.
12069
12070 2011-04-10  Jim Meyering  <meyering@redhat.com>
12071
12072         maint: remove doubled word: s/it it/it/
12073         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
12074
12075 2011-04-10  Jim Meyering  <meyering@redhat.com>
12076
12077         maint.mk: remove useless semicolon and backslash
12078         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
12079         semicolon and backslash.
12080
12081 2011-04-10  Bruno Haible  <bruno@clisp.org>
12082
12083         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
12084         * modules/stdint-tests (Depends-on): Add wchar.
12085
12086 2011-04-10  Jim Meyering  <meyering@redhat.com>
12087
12088         maint: remove doubled words in comments, e.g., s/a a/a/
12089         * lib/strptime.c (day_of_the_week): s/the the/the/
12090         * tests/test-chown.h (test_chown): s/a a/a/
12091
12092         test-chown.h: correct a cast
12093         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
12094         when the destination is a stat.st_gid.
12095
12096 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
12097
12098         getaddrinfo: Fix test for sa_len member.
12099         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
12100         include <sys/types.h> before <sys/socket.h>.
12101
12102 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12103
12104         maint: change "can not" to "cannot"
12105         * doc/posix-functions/iconv.texi (iconv): This one crossed line
12106         boundaries.
12107
12108 2011-04-09  Jim Meyering  <meyering@redhat.com>
12109
12110         maint: change "a a" to "a"
12111         * tests/test-lchown.h (test_lchown): s/a a/a/
12112
12113         maint.mk: prohibit \<the the\>
12114         * top/maint.mk (sc_prohibit_the_the): New rule.
12115
12116         maint: fix "the the" in comment
12117         * lib/count-one-bits.h: s/the the/the/
12118
12119         maint: change "can not" to "cannot"
12120         But do not change the occurrences in maintain.texi or in
12121         build-aux/po/Makefile.in.in, which I presume comes from gettext.
12122         * doc/gnulib-tool.texi: s/can not/cannot/
12123         * doc/posix-functions/accept.texi (accept): Likewise.
12124         * doc/posix-functions/socket.texi (socket): Likewise.
12125         * lib/mbrtowc.c: Likewise.
12126
12127         maint.mk: prohibit use of "can not"
12128         * top/maint.mk (sc_prohibit_can_not): New rule.
12129         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
12130
12131 2011-04-09  Bruno Haible  <bruno@clisp.org>
12132
12133         careadlinkat: Guard against misuse of careadlinkatcwd.
12134         * lib/careadlinkat.c: Include <stdlib.h>.
12135         (careadlinkatcwd): Check that the fd argument is as expected.
12136
12137 2011-04-09  Bruno Haible  <bruno@clisp.org>
12138
12139         careadlinkat: Use common coding style.
12140         * lib/careadlinkat.c: Move gnulib includes after system includes.
12141
12142 2011-04-09  Bruno Haible  <bruno@clisp.org>
12143
12144         careadlinkat: Clarify specification.
12145         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
12146         (careadlinkatcwd): Add comment.
12147         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
12148
12149 2011-04-09  Bruno Haible  <bruno@clisp.org>
12150
12151         areadlinkat: Avoid link error on many platforms.
12152         * modules/areadlinkat (Depends-on): Add areadlink.
12153
12154 2011-04-09  Bruno Haible  <bruno@clisp.org>
12155
12156         allocator, careadlinkat: Fix double-inclusion guard.
12157         * lib/allocator.h: Fix double-inclusion guard.
12158         * lib/careadlinkat.h: Likewise.
12159
12160 2011-04-09  Bruno Haible  <bruno@clisp.org>
12161
12162         relocatable-prog-wrapper: Update after module 'areadlink' changed.
12163         * lib/relocwrapper.c: Update dependencies hierarchy.
12164         * build-aux/install-reloc: Update list of files to be compiled.
12165         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
12166         lib/allocator.[hc].
12167
12168 2011-04-08  Eric Blake  <eblake@redhat.com>
12169
12170         strftime: silence gnulib-tool warning
12171         * modules/strftime-tests (Depends-on): Drop automatic dependency.
12172
12173 2011-04-08  Bruno Haible  <bruno@clisp.org>
12174
12175         verify: Fix syntax error with GCC 4.6 in C++ mode.
12176         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
12177         (HAVE_STATIC_ASSERT): New macro.
12178         (verify_true, verify): Use 'static_assert' if it is supported and
12179         '_Static_assert' is not supported.
12180
12181 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
12182
12183         allocator: New module.
12184         * modules/allocator, lib/allocator.c: New files.
12185         * lib/allocator.h (stdlib_allocator): New decl.
12186         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
12187         Remove.  Do not include <stdlib.h>.
12188         (careadlinkat): Use stdlib_allocator instead of rolling our own.
12189         * modules/careadlinkat (Files): Remove lib/allocator.h.
12190         (Depends-on): Add allocator.
12191
12192         stdlib: let modules use system malloc, realloc
12193         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
12194         if !_GL_USE_STDLIB_ALLOC.
12195         (malloc, realloc): Limit this change to a smaller scope.
12196
12197         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
12198         (malloc, realloc): Don't #undef; no longer needed.
12199         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12200         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12201         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12202         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12203         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12204         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12205         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
12206         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
12207
12208         careadlinkat: rename members to avoid problem
12209         * lib/allocator.h (struct allocator): Rename members from
12210         malloc/realloc to allocate/reallocate, to avoid problems if malloc
12211         and realloc are #define'd.  Reported by Eric Blake in
12212         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
12213         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
12214
12215 2011-04-08  Eric Blake  <eblake@redhat.com>
12216
12217         nonblocking: reduce dependency
12218         * tests/test-nonblocking.c: Only test sockets when in use.
12219         * modules/nonblocking-tests (Depends-on): Drop socket.
12220         (Makefile.am): Link even if sockets are not present.
12221         * modules/pipe2-tests (Makefile.am): Likewise.
12222         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
12223
12224         pipe2: fix O_NONBLOCK support on mingw
12225         * modules/pipe2 (Depends-on): Add nonblocking.
12226         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
12227         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
12228         * tests/test-nonblocking.c (main): Likewise.
12229         * modules/pipe2-tests (Makefile.am): Avoid link failure.
12230
12231         fcntl-h: fix O_ACCMODE on cygwin
12232         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
12233         * lib/fcntl.in.h (O_ACCMODE): Fix it.
12234
12235         pipe-filter: drop O_NONBLOCK workarounds
12236         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
12237         * modules/pipe-filter-ii (Depends-on): Likewise.
12238         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
12239
12240         nonblocking: provide O_NONBLOCK for mingw
12241         * modules/nonblocking (Depends-on): Add open.
12242         (configure.ac): Set new witness macro.
12243         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
12244         * modules/fcntl-h (Makefile.am): Substitute it.
12245         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
12246         nonblocking module is in use.
12247         * lib/nonblocking.c: Adjust portability test.
12248         * lib/open.c (open): Don't let native open see gnulib flag.
12249         * tests/test-fcntl-h.c (main): Enhance test.
12250         * tests/test-open.h (test_open): Likewise.
12251         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
12252
12253         careadlinkat: fix compilation error on mingw
12254         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
12255         within struct allocator.
12256
12257 2011-04-06  Eric Blake  <eblake@redhat.com>
12258
12259         binary-io: relicense under LGPLv2+
12260         * modules/binary-io (License): Relax to LGPLv2+.
12261         Requested for libvirt, and required by pipe2.
12262
12263 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
12264
12265         verify: use _Static_assert if available
12266         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
12267         (verify_true, verify): Use it if available.  This generates better
12268         diagnostics with GCC 4.6.0 and later.
12269
12270 2011-04-05  Bruno Haible  <bruno@clisp.org>
12271
12272         Remove leftover generated .h files after config.status changed.
12273
12274         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
12275         GL_GENERATE_ALLOCA_H.
12276         * modules/alloca-opt (Makefile.am): Remove alloca.h if
12277         GL_GENERATE_ALLOCA_H evaluates to false.
12278
12279         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
12280         GL_GENERATE_ARGZ_H.
12281         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
12282         evaluates to false.
12283
12284         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
12285         GL_GENERATE_BYTESWAP_H.
12286         * modules/byteswap (Makefile.am): Remove byteswap.h if
12287         GL_GENERATE_BYTESWAP_H evaluates to false.
12288
12289         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
12290         GL_GENERATE_ERRNO_H.
12291         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
12292         evaluates to false.
12293
12294         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
12295         GL_GENERATE_FLOAT_H.
12296         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
12297         evaluates to false.
12298
12299         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
12300         GL_GENERATE_FNMATCH_H.
12301         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
12302         GL_GENERATE_FNMATCH_H evaluates to false.
12303
12304         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
12305         GL_GENERATE_GLOB_H.
12306         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
12307         evaluates to false.
12308
12309         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
12310         automake conditional GL_GENERATE_ICONV_H.
12311         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
12312         evaluates to false.
12313
12314         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
12315         GL_GENERATE_NETINET_IN_H.
12316         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
12317         GL_GENERATE_NETINET_IN_H evaluates to false.
12318
12319         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
12320         conditional GL_GENERATE_PTHREAD_H.
12321         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
12322         * modules/pthread (Makefile.am): Remove pthread.h if
12323         GL_GENERATE_PTHREAD_H evaluates to false.
12324
12325         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
12326         GL_GENERATE_SCHED_H.
12327         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
12328         evaluates to false.
12329
12330         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
12331         conditional GL_GENERATE_SELINUX_CONTEXT_H.
12332         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
12333         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
12334
12335         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
12336         GL_GENERATE_STDARG_H.
12337         * modules/stdarg (Makefile.am): Remove stdarg.h if
12338         GL_GENERATE_STDARG_H evaluates to false.
12339
12340         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
12341         GL_GENERATE_STDBOOL_H.
12342         * modules/stdbool (Makefile.am): Remove stdbool.h if
12343         GL_GENERATE_STDBOOL_H evaluates to false.
12344
12345         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
12346         conditional GL_GENERATE_STDDEF_H.
12347         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
12348         * modules/stddef (Makefile.am): Remove stddef.h if
12349         GL_GENERATE_STDDEF_H evaluates to false.
12350
12351         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
12352         GL_GENERATE_STDINT_H.
12353         * modules/stdint (Makefile.am): Remove stdint.h if
12354         GL_GENERATE_STDINT_H evaluates to false.
12355
12356         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
12357         GL_GENERATE_SYSEXITS_H.
12358         * modules/sysexits (Makefile.am): Remove sysexits.h if
12359         GL_GENERATE_SYSEXITS_H evaluates to false.
12360
12361         Reported by Karl Berry and Ralf Wildenhues.
12362
12363 2011-04-05  Bruno Haible  <bruno@clisp.org>
12364
12365         Ensure to rebuild generated .h files when config.status has changed.
12366         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
12367         config.status.
12368         * modules/ctype (Makefile.am): Likewise.
12369         * modules/dirent (Makefile.am): Likewise.
12370         * modules/errno (Makefile.am): Likewise.
12371         * modules/fcntl-h (Makefile.am): Likewise.
12372         * modules/float (Makefile.am): Likewise.
12373         * modules/getopt-posix (Makefile.am): Likewise.
12374         * modules/glob (Makefile.am): Likewise.
12375         * modules/iconv-h (Makefile.am): Likewise.
12376         * modules/inttypes (Makefile.am): Likewise.
12377         * modules/langinfo (Makefile.am): Likewise.
12378         * modules/locale (Makefile.am): Likewise.
12379         * modules/math (Makefile.am): Likewise.
12380         * modules/netdb (Makefile.am): Likewise.
12381         * modules/netinet_in (Makefile.am): Likewise.
12382         * modules/poll-h (Makefile.am): Likewise.
12383         * modules/pthread (Makefile.am): Likewise.
12384         * modules/pty (Makefile.am): Likewise.
12385         * modules/sched (Makefile.am): Likewise.
12386         * modules/search (Makefile.am): Likewise.
12387         * modules/selinux-h (Makefile.am): Likewise.
12388         * modules/signal (Makefile.am): Likewise.
12389         * modules/spawn (Makefile.am): Likewise.
12390         * modules/stdarg (Makefile.am): Likewise.
12391         * modules/stdbool (Makefile.am): Likewise.
12392         * modules/stddef (Makefile.am): Likewise.
12393         * modules/stdint (Makefile.am): Likewise.
12394         * modules/stdio (Makefile.am): Likewise.
12395         * modules/stdlib (Makefile.am): Likewise.
12396         * modules/string (Makefile.am): Likewise.
12397         * modules/strings (Makefile.am): Likewise.
12398         * modules/sys_file (Makefile.am): Likewise.
12399         * modules/sys_ioctl (Makefile.am): Likewise.
12400         * modules/sys_select (Makefile.am): Likewise.
12401         * modules/sys_socket (Makefile.am): Likewise.
12402         * modules/sys_stat (Makefile.am): Likewise.
12403         * modules/sys_time (Makefile.am): Likewise.
12404         * modules/sys_times (Makefile.am): Likewise.
12405         * modules/sys_utsname (Makefile.am): Likewise.
12406         * modules/sys_wait (Makefile.am): Likewise.
12407         * modules/sysexits (Makefile.am): Likewise.
12408         * modules/termios (Makefile.am): Likewise.
12409         * modules/time (Makefile.am): Likewise.
12410         * modules/unistd (Makefile.am): Likewise.
12411         * modules/wchar (Makefile.am): Likewise.
12412         * modules/wctype-h (Makefile.am): Likewise.
12413         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12414
12415 2011-04-05  Bruno Haible  <bruno@clisp.org>
12416
12417         pipe2: Relicense under LGPLv2+.
12418         * modules/pipe2 (License): Change to LGPLv2+.
12419         Requested by Eric Blake, for libvirt.
12420
12421 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12422
12423         bootstrap: compute gnulib_extra_files after updating build_aux
12424         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12425         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12426
12427 2011-04-05  Eric Blake  <eblake@redhat.com>
12428
12429         bootstrap: preserve git whitelist item sorting
12430         * build-aux/bootstrap (sort_patterns): New function.
12431         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12432
12433 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12434
12435         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12436         sc_space_tab check.
12437
12438 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12439
12440         areadlink, areadlinkat: rewrite in terms of careadlinkat
12441         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12442         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12443         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12444         (malloc, realloc): Remove #undefs.
12445         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12446         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12447         readlink, ssize_t, stdint, unistd.
12448         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12449         areadlink, stdint.
12450
12451         careadlinkat: new module
12452         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12453         * modules/careadlinkat: New files, written by me with
12454         a review and feedback from Ben Pfaff in
12455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12456
12457 2011-04-01  Bruno Haible  <bruno@clisp.org>
12458
12459         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12460         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12461         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12462         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12463         Reported by Bruce Korb <bruce.korb@gmail.com>.
12464
12465 2011-04-01  Bruno Haible  <bruno@clisp.org>
12466
12467         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12468         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12469         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12470         * modules/wcpcpy (Depends-on): Add extensions.
12471         * modules/wcpncpy (Depends-on): Likewise.
12472         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12473         systems.
12474         * doc/posix-functions/wcpncpy.texi: Likewise.
12475         * doc/posix-functions/wcwidth.texi: Likewise.
12476
12477 2011-03-31  Eric Blake  <eblake@redhat.com>
12478
12479         nonblocking: fix mingw test failures
12480         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12481         non-blocking flag on regular file.
12482         (get_nonblocking_flag): Set errno on invalid fd.
12483         * tests/test-nonblocking.c (main): Avoid test failure on
12484         directories if fchdir is not active.
12485         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12486
12487 2011-03-31  Bruno Haible  <bruno@clisp.org>
12488
12489         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12490         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12491         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12492         Reported by Simon Josefsson <simon@josefsson.org>.
12493
12494 2011-03-31  Bruno Haible  <bruno@clisp.org>
12495         and Eric Blake  <eblake@redhat.com>
12496
12497         nonblocking: new module
12498         * modules/nonblocking: New module.
12499         * modules/nonblocking-tests: Likewise.
12500         * lib/nonblocking.h: New file.
12501         * lib/nonblocking.c: Likewise.
12502         * tests/test-nonblocking.c: New test.
12503         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12504
12505 2011-03-30  Bruno Haible  <bruno@clisp.org>
12506
12507         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12508         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12509         instead of 'printf' format for GCC >= 4.4.
12510         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12511         (fprintf, printf, vfprintf, vprintf): Declare with
12512         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12513         the system's vfprintf() function.
12514         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12515
12516 2011-03-30  Eric Blake  <eblake@redhat.com>
12517
12518         passfd: fix scoping bug
12519         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12520         before sendmsg/recvmsg.
12521
12522         passfd: standardize coding conventions
12523         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12524         can be learned at compile time.
12525         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12526         ifdefs.
12527         (sendfd, recvfd): Follow gnulib code conventions.
12528
12529         passfd: fix incorrect sendmsg arguments
12530         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12531         incorrect msg_controllen value.
12532         * modules/passfd-tests (Depends-on): Check for alarm.
12533         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12534         Reported by Bastien ROUCARIES.
12535
12536 2011-03-30  Bruno Haible  <bruno@clisp.org>
12537
12538         c-strcasestr: Relicense under LGPLv2+.
12539         * modules/c-strcasestr (License): Change to LGPLv2+.
12540         Requested by Eric Blake, for libvirt.
12541
12542 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12543
12544         * users.txt: Add libidn2.  Fix libtasn1 link.
12545
12546 2011-03-30  Jim Meyering  <meyering@redhat.com>
12547
12548         tests: readlink* ("",... fails with EINVAL on newer kernels
12549         readlink and readlinkat have typically failed with ENOENT for
12550         the invalid, empty file name,  "".  However, with the advent
12551         of linux-2.6.39, they fail with EINVAL.
12552         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12553         when operating on the empty file name.
12554         * tests/test-readlink.h (test_readlink): Likewise.
12555
12556 2011-03-29  Bruno Haible  <bruno@clisp.org>
12557
12558         Relicense some modules under LGPLv2+, for libidn2.
12559         * modules/array-mergesort (License): Change to LGPLv2+.
12560         * modules/c-strcaseeq (License): Likewise.
12561         * modules/striconveh (License): Likewise.
12562         * modules/striconveha (License): Likewise.
12563         * modules/uniconv/base (License): Likewise.
12564         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12565         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12566         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12567         * modules/unictype/base (License): Likewise.
12568         * modules/unictype/bidiclass-of (License): Likewise.
12569         * modules/unictype/category-M (License): Likewise.
12570         * modules/unictype/category-none (License): Likewise.
12571         * modules/unictype/category-of (License): Likewise.
12572         * modules/unictype/category-test (License): Likewise.
12573         * modules/unictype/category-test-withtable (License): Likewise.
12574         * modules/unictype/combining-class (License): Likewise.
12575         * modules/unictype/joiningtype-of (License): Likewise.
12576         * modules/unictype/scripts (License): Likewise.
12577         * modules/uninorm/base (License): Likewise.
12578         * modules/uninorm/canonical-decomposition (License): Likewise.
12579         * modules/uninorm/composition (License): Likewise.
12580         * modules/uninorm/decompose-internal (License): Likewise.
12581         * modules/uninorm/decomposition-table (License): Likewise.
12582         * modules/uninorm/nfc (License): Likewise.
12583         * modules/uninorm/nfd (License): Likewise.
12584         * modules/uninorm/u32-normalize (License): Likewise.
12585         * modules/unistr/base (License): Likewise.
12586         * modules/unistr/u32-cpy (License): Likewise.
12587         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12588         * modules/unistr/u32-to-u8 (License): Likewise.
12589         * modules/unistr/u32-uctomb (License): Likewise.
12590         * modules/unistr/u8-check (License): Likewise.
12591         * modules/unistr/u8-mblen (License): Likewise.
12592         * modules/unistr/u8-mbtouc (License): Likewise.
12593         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12594         * modules/unistr/u8-mbtoucr (License): Likewise.
12595         * modules/unistr/u8-prev (License): Likewise.
12596         * modules/unistr/u8-strlen (License): Likewise.
12597         * modules/unistr/u8-to-u32 (License): Likewise.
12598         * modules/unistr/u8-uctomb (License): Likewise.
12599         * modules/unitypes (License): Likewise.
12600         Requested by Simon Josefsson.
12601
12602 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12603
12604         lib-symbol-visibility: Add a notice.
12605         * modules/lib-symbol-visibility (Notice): New field.
12606
12607 2011-03-29  Bruno Haible  <bruno@clisp.org>
12608
12609         getaddrinfo: Doc fix.
12610         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12611         section "fixed in Gnulib".
12612
12613 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12614
12615         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12616         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12617
12618 2011-03-26  Bruno Haible  <bruno@clisp.org>
12619
12620         unictype/property-byname: Reduce the number of load-time relocations.
12621         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12622         (UC_PROPERTY_INDEX_*): New enumeration values.
12623         (uc_property_byname): Convert an index from the lookup table to an
12624         uc_property_t.
12625         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12626         values.
12627
12628 2011-03-26  Bruno Haible  <bruno@clisp.org>
12629
12630         unictype/property-byname: Allow omitted word separators and aliases.
12631         * lib/unictype/pr_byname.gperf: Add property names without word
12632         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12633         for 'space'.
12634
12635 2011-03-26  Bruno Haible  <bruno@clisp.org>
12636
12637         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12638         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12639         also hyphens to space.
12640         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12641         without spaces.
12642         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12643
12644 2011-03-26  Bruno Haible  <bruno@clisp.org>
12645
12646         unictype/joiningtype-byname: Recognize long names as well.
12647         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12648         a long name.
12649         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12650         unictype/joiningtype_byname.h.
12651         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12652         * lib/unictype/joiningtype_byname.gperf: New file.
12653         * modules/unictype/joiningtype-byname (Files): Add
12654         lib/unictype/joiningtype_byname.gperf.
12655         (Depends-on): Add gperf.
12656         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12657         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12658         long names.
12659
12660         Tests for module 'unictype/joiningtype-longname'.
12661         * modules/unictype/joiningtype-longname-tests: New file.
12662         * tests/unictype/test-joiningtype_longname.c: New file.
12663
12664         New module 'unictype/joiningtype-longname'.
12665         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12666         * lib/unictype/joiningtype_longname.c: New file.
12667         * modules/unictype/joiningtype-longname: New file.
12668         * modules/unictype/joiningtype-all (Depends-on): Add
12669         unictype/joiningtype-longname.
12670
12671 2011-03-26  Bruno Haible  <bruno@clisp.org>
12672
12673         unictype/bidiclass-byname: Recognize long names as well.
12674         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12675         name.
12676         * lib/unictype/bidi_byname.c: Include <string.h>,
12677         unictype/bidi_byname.h.
12678         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12679         * lib/unictype/bidi_byname.gperf: New file.
12680         * modules/unictype/bidiclass-byname (Files): Add
12681         lib/unictype/bidi_byname.gperf.
12682         (Depends-on): Add gperf.
12683         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12684         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12685         long names.
12686
12687         Tests for module 'unictype/bidiclass-longname'.
12688         * modules/unictype/bidiclass-longname-tests: New file.
12689         * tests/unictype/test-bidi_longname.c: New file.
12690
12691         New module 'unictype/bidiclass-longname'.
12692         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12693         * lib/unictype/bidi_longname.c: New file.
12694         * modules/unictype/bidiclass-longname: New file.
12695         * modules/unictype/bidiclass-all (Depends-on): Add
12696         unictype/bidiclass-longname.
12697
12698 2011-03-26  Bruno Haible  <bruno@clisp.org>
12699
12700         unictype/bidi*: Rename modules.
12701         * modules/unictype/bidiclass-all: Renamed from
12702         modules/unictype/bidicategory-all.
12703         * modules/unictype/bidiclass-name: Renamed from
12704         modules/unictype/bidiclass-name.
12705         (Description): Update.
12706         * modules/unictype/bidiclass-name-tests: Renamed from
12707         modules/unictype/bidicategory-name-tests.
12708         * modules/unictype/bidiclass-byname: Renamed from
12709         modules/unictype/bidicategory-byname.
12710         (Description): Update.
12711         * modules/unictype/bidiclass-byname-tests: Renamed from
12712         modules/unictype/bidicategory-byname-tests.
12713         * modules/unictype/bidiclass-of: Renamed from
12714         modules/unictype/bidicategory-of.
12715         (Description): Update.
12716         * modules/unictype/bidiclass-of-tests: Renamed from
12717         modules/unictype/bidicategory-of-tests.
12718         * modules/unictype/bidiclass-test: Renamed from
12719         modules/unictype/bidicategory-test.
12720         (Description): Update.
12721         * modules/unictype/bidiclass-test-tests: Renamed from
12722         modules/unictype/bidicategory-test-tests.
12723         * modules/unictype/bidicategory-all: New file, a simple redirection.
12724         * modules/unictype/bidicategory-name: Likewise.
12725         * modules/unictype/bidicategory-byname: Likewise.
12726         * modules/unictype/bidicategory-of: Likewise.
12727         * modules/unictype/bidicategory-test: Likewise.
12728         * modules/unictype/property-bidi-* (Dependencies): Update.
12729         * lib/unictype/bidi_*.c: Update comment.
12730
12731 2011-03-26  Bruno Haible  <bruno@clisp.org>
12732
12733         unictype/bidi*: Rename functions, part 2.
12734         * modules/unictype/bidicategory-name (configure.ac): Update required
12735         libunistring version.
12736         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12737
12738 2011-03-25  Bruno Haible  <bruno@clisp.org>
12739
12740         New module 'unictype/combining-class-all'.
12741         * modules/unictype/combining-class-all: New file.
12742
12743         Tests for module 'unictype/combining-class-byname'.
12744         * modules/unictype/combining-class-byname-tests: New file.
12745         * tests/unictype/test-combiningclass_byname.c: New file.
12746
12747         New module 'unictype/combining-class-byname'.
12748         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12749         * lib/unictype/combiningclass_byname.c: New file.
12750         * lib/unictype/combiningclass_byname.gperf: New file.
12751         * modules/unictype/combining-class-byname: New file.
12752
12753         Tests for module 'unictype/combining-class-longname'.
12754         * modules/unictype/combining-class-longname-tests: New file.
12755         * tests/unictype/test-combiningclass_longname.c: New file.
12756
12757         New module 'unictype/combining-class-longname'.
12758         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12759         * lib/unictype/combiningclass_longname.c: New file.
12760         * modules/unictype/combining-class-longname: New file.
12761
12762         Tests for module 'unictype/combining-class-name'.
12763         * modules/unictype/combining-class-name-tests: New file.
12764         * tests/unictype/test-combiningclass_name.c: New file.
12765
12766         New module 'unictype/combining-class-name'.
12767         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12768         * lib/unictype/combiningclass_name.c: New file.
12769         * modules/unictype/combining-class-name: New file.
12770
12771 2011-03-25  Bruno Haible  <bruno@clisp.org>
12772
12773         unictype/combining-class: Rename source files.
12774         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12775         of unictype/combining.h.
12776         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12777         Update.
12778         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12779         * modules/unictype/combining-class (Description): Fix.
12780         (Files, Makefile.am): Update.
12781         * tests/unictype/test-combiningclass.c: Renamed from
12782         tests/unictype/test-combining.c.
12783         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12784
12785 2011-03-25  Bruno Haible  <bruno@clisp.org>
12786
12787         unictype: Update list of canonical combining classes.
12788         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12789
12790 2011-03-25  Bruno Haible  <bruno@clisp.org>
12791
12792         unictype/category-byname: Recognize long names as well.
12793         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12794         a long name.
12795         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12796         unictype/categ_byname.h.
12797         (UC_CATEGORY_INDEX_*): New enumeration values.
12798         (uc_general_category_byname): Use uc_general_category_lookup and
12799         convert from index to value.
12800         * lib/unictype/categ_byname.gperf: New file.
12801         * modules/unictype/category-byname (Files): Add
12802         lib/unictype/categ_byname.gperf.
12803         (Depends-on): Add gperf.
12804         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12805         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12806         long names.
12807
12808         Tests for module 'unictype/category-longname'.
12809         * modules/unictype/category-longname-tests: New file.
12810         * tests/unictype/test-categ_longname.c: New file.
12811
12812         New module 'unictype/category-longname'.
12813         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12814         * lib/unictype/categ_longname.c: New file.
12815         * modules/unictype/category-longname: New file.
12816         * modules/unictype/category-all (Depends-on): Add it.
12817
12818 2011-03-25  Bruno Haible  <bruno@clisp.org>
12819
12820         Tests for module 'unictype/category-LC'.
12821         * modules/unictype/category-LC-tests: New file.
12822         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12823
12824         New module 'unictype/category-LC'.
12825         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12826         (UC_CATEGORY_LC): New declaration.
12827         (UC_CASED_LETTER): New macro.
12828         * lib/gen-uni-tables.c (is_category_LC): New function.
12829         (output_categories): Also handle category LC.
12830         (UC_CATEGORY_MASK_LC): New enumeration value.
12831         (general_category_byname): Also handle category LC.
12832         * lib/unictype/categ_LC.c: New file.
12833         * lib/unictype/categ_LC.h: New file, automatically generated.
12834         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12835         category LC.
12836         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12837         * modules/unictype/category-LC: New file.
12838         * modules/unictype/category-byname (Depends-on): Add
12839         unictype/category-LC.
12840         * modules/unictype/category-all (Depends-on): Likewise.
12841
12842 2011-03-25  Eric Blake  <eblake@redhat.com>
12843
12844         xmalloc: revert yesterday's regression
12845         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12846         realloc's underlying behavior (allowing allocation of zero-size
12847         objects, especially if malloc-gnu is also in use).
12848
12849 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12850
12851         maint.mk: add missing version to VC-tag
12852         * top/maint.mk: git tag was missing actual tag name; add it.
12853
12854         valgrind: do leak checking, and exit with code 1 on error (not 0)
12855         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12856         to VALGRIND.
12857
12858 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12859
12860         posix-modules: say what it does.
12861         * posix-modules: Add a line to the --help output saying what it does.
12862
12863 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12864
12865         xmalloc: Do not leak if underlying realloc is C99 compatible.
12866         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12867         This avoids a leak on C99-based systems.  See
12868         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12869
12870 2011-03-24  Eric Blake  <eblake@redhat.com>
12871
12872         realloc: document portability problem
12873         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12874         passing 0 size to realloc.
12875
12876 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12877
12878         doc: update users.txt
12879         * users.txt: Add cvsps, tmpwatch
12880
12881 2011-03-23  Matt Rice  <ratmice@gmail.com>
12882
12883         doc: update users.txt
12884         * users.txt: Add gdb.
12885
12886 2011-03-23  Jim Meyering  <meyering@redhat.com>
12887
12888         doc: update users.txt
12889         Looking through matches up to the following URL (there are still
12890         several more pages), I found several projects that use gnulib:
12891         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12892         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12893         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12894
12895 2011-03-22  Bruno Haible  <bruno@clisp.org>
12896
12897         unictype/bidi*: Rename functions.
12898         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12899         uc_bidi_class, uc_is_bidi_class): New declarations.
12900         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12901         uc_bidi_category_byname.
12902         (uc_bidi_category_byname): New function.
12903         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12904         u_bidi_category_name.
12905         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12906         (uc_bidi_category_name): New function.
12907         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12908         uc_bidi_category.
12909         (uc_bidi_category): New function.
12910         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12911         uc_is_bidi_category. Invoke uc_bidi_class.
12912         (uc_is_bidi_category): New function.
12913         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12914         instead of uc_bidi_category_byname.
12915         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12916         instead of uc_bidi_category_name.
12917         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12918         uc_bidi_category.
12919         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12920         instead of uc_is_bidi_category.
12921
12922 2011-03-21  Bruno Haible  <bruno@clisp.org>
12923
12924         New module 'unictype/joininggroup-all'.
12925         * modules/unictype/joininggroup-all: New file.
12926
12927         Tests for module 'unictype/joininggroup-of'.
12928         * modules/unictype/joininggroup-of-tests: New file.
12929         * tests/unictype/test-joininggroup_of.c: New file.
12930         * tests/unictype/test-joininggroup_of.h: New file, automatically
12931         generated by gen-uni-tables.
12932
12933         New module 'unictype/joininggroup-of'.
12934         * modules/unictype/joininggroup-of: New file.
12935         * lib/unictype/joininggroup_of.c: New file.
12936         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12937         gen-uni-tables.
12938
12939         Tests for module 'unictype/joininggroup-byname'.
12940         * modules/unictype/joininggroup-byname-tests: New file.
12941         * tests/unictype/test-joininggroup_byname.c: New file.
12942
12943         New module 'unictype/joininggroup-byname'.
12944         * modules/unictype/joininggroup-byname: New file.
12945         * lib/unictype/joininggroup_byname.c: New file.
12946         * lib/unictype/joininggroup_byname.gperf: New file.
12947
12948         Tests for module 'unictype/joininggroup-name'.
12949         * modules/unictype/joininggroup-name-tests: New file.
12950         * tests/unictype/test-joininggroup_name.c: New file.
12951
12952         New module 'unictype/joininggroup-name'.
12953         * modules/unictype/joininggroup-name: New file.
12954         * lib/unictype/joininggroup_name.c: New file.
12955         * lib/unictype/joininggroup_name.h: New file.
12956
12957         New module 'unictype/joiningtype-all'.
12958         * modules/unictype/joiningtype-all: New file.
12959
12960         Tests for module 'unictype/joiningtype-of'.
12961         * modules/unictype/joiningtype-of-tests: New file.
12962         * tests/unictype/test-joiningtype_of.c: New file.
12963         * tests/unictype/test-joiningtype_of.h: New file, automatically
12964         generated by gen-uni-tables.
12965
12966         New module 'unictype/joiningtype-of'.
12967         * modules/unictype/joiningtype-of: New file.
12968         * lib/unictype/joiningtype_of.c: New file.
12969         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12970         gen-uni-tables.
12971
12972         Tests for module 'unictype/joiningtype-byname'.
12973         * modules/unictype/joiningtype-byname-tests: New file.
12974         * tests/unictype/test-joiningtype_byname.c: New file.
12975
12976         New module 'unictype/joiningtype-byname'.
12977         * modules/unictype/joiningtype-byname: New file.
12978         * lib/unictype/joiningtype_byname.c: New file.
12979
12980         Tests for module 'unictype/joiningtype-name'.
12981         * modules/unictype/joiningtype-name-tests: New file.
12982         * tests/unictype/test-joiningtype_name.c: New file.
12983
12984         New module 'unictype/joiningtype-name'.
12985         * modules/unictype/joiningtype-name: New file.
12986         * lib/unictype/joiningtype_name.c: New file.
12987
12988         unictype: Add support for Arabic shaping properties.
12989         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12990         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12991         declarations.
12992         (UC_JOINING_GROUP_*): New enumeration values.
12993         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12994         declarations.
12995         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12996         (unicode_joining_type): New variable.
12997         (UC_JOINING_GROUP_*): New enumeration values.
12998         (unicode_joining_group): New variable.
12999         (fill_arabicshaping, joining_type_as_c_identifier,
13000         output_joining_type_test, output_joining_type,
13001         joining_group_as_c_identifier, output_joining_group_test,
13002         output_joining_group): New functions.
13003         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
13004         fill_arabicshaping and output_joining_type_test, output_joining_type,
13005         output_joining_group_test, output_joining_group.
13006         Reported by Simon Josefsson.
13007
13008 2011-03-21  Jim Meyering  <meyering@redhat.com>
13009
13010         strftime: fix a bug in yesterday's change
13011         * lib/strftime.c (add): Accommodate width's initial value of -1.
13012         Otherwise, nstrftime would copy uninitialized data into
13013         the result buffer.
13014
13015 2011-03-21  Jim Meyering  <meyering@redhat.com>
13016
13017         tests: add strftime-tests module
13018         * tests/test-strftime.c: New file.
13019         * modules/strftime-tests: New module.
13020
13021 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13022
13023         strftime: don't assume a byte count fits in 'int'
13024         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
13025         found this problem by static analysis, using gcc -Wstrict-overflow
13026         (GCC 4.5.2, x86-64).  This reported an optimization that depended
13027         on an integer overflow having undefined behavior, but it turns out
13028         that the argument is a size, which might not fit in 'int' anyway,
13029
13030 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13031
13032         stdio: don't require ignore_value around fwrite
13033
13034         This patch works around libc bug 11959
13035         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
13036         Without this patch, applications must often write
13037         ignore_value (fwrite (...)) even though the ignore_value is
13038         not helpful here.  It's common to write many objects, using
13039         fwrite/printf/etc., and then use ferror to detect output error.
13040
13041         I considered making this patch optional, but decided against it,
13042         because libc is obviously being inconsistent here: there is no
13043         reason libc should insist that user code must inspect fwrite
13044         return's value without also insisting that it inspect printf's,
13045         putchar's, etc.  If user code wants to have a strict style where
13046         all these functions' values are checked (so that ferror need not
13047         be checked), we could add support for that style in a new gnulib
13048         module, but in the meantime it's better to be consistent and to
13049         support common usage.
13050
13051         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
13052         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
13053         that we are compiling in checking mode, and if not C++, and
13054         if not already wrapping fwrite for some other reason.
13055         (fwrite): #define to rpl_fwrite if the latter is defined.
13056
13057 2011-03-20  Bruno Haible  <bruno@clisp.org>
13058
13059         verror: Fix compilation error introduced on 2011-02-13.
13060         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
13061         instead of __attribute__.
13062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13063
13064 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13065             Bruno Haible  <bruno@clisp.org>
13066
13067         socklen: do not depend on sys_socket
13068         While trying to modify Emacs to use gnulib's socklen module,
13069         I discovered a circular dependency: socklen depends on sys_socket
13070         and vice versa.  Emacs can use socklen, but it does not need
13071         sys_socket because it has its own substitute for sys/socket.h.
13072         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
13073         gl_TYPE_SOCKLEN_T.
13074         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
13075         gl_PREREQ_SYS_H_SOCKET.
13076         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
13077         gl_PREREQ_SYS_H_SOCKET.
13078         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
13079         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
13080         * modules/socklen (Depends-on): Do not depend on sys_socket.
13081         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
13082
13083 2011-03-20  Jim Meyering  <meyering@redhat.com>
13084
13085         maint.mk: sort file names *after* new transformation
13086         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
13087         prefix would have led to an unwarranted failure in GNU parted.
13088         Sort after that transformation.
13089
13090 2011-03-19  Jim Meyering  <meyering@redhat.com>
13091
13092         maint.mk: fix po-file syntax-check rule
13093         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
13094         Patch by Bruno Haible.
13095
13096 2011-03-19  Bruno Haible  <bruno@clisp.org>
13097
13098         socklen: Update comment.
13099         * m4/socklen.m4: Update comment about platforms.
13100
13101 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13102             Bruno Haible  <bruno@clisp.org>
13103
13104         inet_ntop, inet_pton: Simplify.
13105         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
13106         documented to provide socklen_t and we already depend on sys_socket.
13107         * modules/inet_pton (Depends-on): Likewise.
13108         * lib/arpa_inet.in.h: Adjust comment.
13109
13110 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13111             Bruno Haible  <bruno@clisp.org>
13112
13113         netdb: Simplify.
13114         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
13115         documented to provide socklen_t and we already depend on sys_socket.
13116         * lib/netdb.in.h: Adjust comment.
13117
13118 2011-03-19  Bruno Haible  <bruno@clisp.org>
13119
13120         sys_socket, netdb: Document problem with socklen_t.
13121         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
13122         platforms.
13123         * doc/posix-headers/netdb.texi: Likewise.
13124
13125 2011-03-18  Eric Blake  <eblake@redhat.com>
13126
13127         maint.mk: let po check work in VPATH build
13128         * top/maint.mk (po_file): Allow cfg.mk override.
13129         (sc_po_check): Allow VPATH use.
13130         Reported by Jiri Denemark.
13131
13132 2011-03-16  Jim Meyering  <meyering@redhat.com>
13133
13134         maint.mk: allow fine-grained syntax-check exclusion via Make variables
13135         Before, you would have had to create one .x-sc_ file per rule in order
13136         to exempt offending files.  Now, you may instead use a Make variable --
13137         usually defined in cfg.mk -- whose name identifies the affected rule.
13138         * top/maint.mk (_sc_excl): Define.
13139         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
13140         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
13141
13142 2011-03-13  Bruno Haible  <bruno@clisp.org>
13143
13144         ignore-value tests: Avoid warnings.
13145         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
13146         empty for gcc < 3.4.
13147
13148 2011-03-13  Bruno Haible  <bruno@clisp.org>
13149
13150         passfd: Fix link error on Solaris.
13151         * modules/passfd (Description): Correct.
13152         (Depends-on): Add socketlib.
13153         (Link): New section.
13154         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
13155
13156 2011-03-13  Bruno Haible  <bruno@clisp.org>
13157
13158         passfd: Fix link error on AIX 5.2.
13159         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
13160
13161 2011-03-13  Bruno Haible  <bruno@clisp.org>
13162
13163         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
13164         * lib/sys_socket.in.h: Include <stddef.h>.
13165         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
13166         CMSG_FIRSTHDR. Remove unused variable.
13167
13168 2011-03-13  Bruno Haible  <bruno@clisp.org>
13169
13170         passfd: Fix compilation error on OpenBSD.
13171         * lib/passfd.c: Include <sys/uio.h>.
13172
13173 2011-03-13  Bruno Haible  <bruno@clisp.org>
13174
13175         passfd test: Fix warnings.
13176         * tests/test-passfd.c: Include <sys/wait.h>.
13177         (main): Fix typo.
13178
13179 2011-03-13  Bruno Haible  <bruno@clisp.org>
13180
13181         passfd module, part 4, tweaks.
13182         * tests/test-passfd.c: Reorder includes.
13183         (main): Fix perror and printf calls.
13184
13185 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13186
13187         passfd module, part 4.
13188         * modules/passfd-tests: New file.
13189         * tests/test-passfd.c: New file.
13190
13191 2011-03-13  Jim Meyering  <meyering@redhat.com>
13192
13193         Makefile: rely on GNU make; derive syntax-check rule names
13194         Rather than requiring that each sc_ rule be listed as a dependent
13195         of "check", use features of GNU make to derive the list.
13196         * Makefile (syntax-check-rules): Define.
13197         (check): Depend on the new variable, not the hard-coded list.
13198
13199 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
13200             Bruno Haible  <bruno@clisp.org>
13201
13202         passfd module, part 3.
13203         * lib/passfd.h (recvfd): Add a flags argument.
13204         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
13205         (recvfd): Add a flags argument.
13206         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
13207         exists.
13208         * modules/passfd (Depends-on): Add cloexec.
13209         Suggested by Eric Blake.
13210
13211 2011-03-13  Bruno Haible  <bruno@clisp.org>
13212
13213         passfd module, part 2, tweaks.
13214         * modules/passfd (Files): Reorder.
13215         (Depends-on): Remove errno.
13216         (Include): Remove <sys/socket.h>, <sys/un.h>.
13217         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
13218         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
13219         specification header. Include <sys/socket.h> always. Don't include
13220         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
13221         (sendfd): Clarify that it sets errno when it fails.
13222         (recvfd): Fix specification.
13223
13224 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13225
13226         passfd module, part 2.
13227         * modules/passfd: New file.
13228         * lib/passfd.h: New file.
13229         * lib/passfd.c: New file.
13230
13231 2011-03-12  Bruno Haible  <bruno@clisp.org>
13232
13233         wcswidth, mbswidth: Avoid integer overflow.
13234         * lib/wcswidth.c: Include <limits.h>.
13235         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
13236         * lib/mbswidth.c: Include <limits.h>.
13237         (mbsnwidth): Avoid 'int' overflow.
13238         Reported by Jim Meyering.
13239
13240 2011-03-12  Bruno Haible  <bruno@clisp.org>
13241
13242         futimens, utimensat: Avoid endless recursion on Solaris 10.
13243         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
13244         Solaris.
13245         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
13246         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
13247
13248 2011-03-11  Jim Meyering  <meyering@redhat.com>
13249
13250         maint.mk: relax a regexp to accommodate other formatting styles
13251         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
13252         between "ngettext" and the following "(".
13253
13254 2011-03-11  Pádraig Brady <P@draigBrady.com>
13255
13256         maint.mk: suppress a false positive warning
13257         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
13258         diagnostics are marked with ngettext.
13259
13260 2011-03-10  Eric Blake  <eblake@redhat.com>
13261
13262         wchar: add explicit dependencies, for Tru64
13263         * modules/mbmemcasecoll (Depends-on): Add wchar.
13264         * modules/mbtowc (Depends-on): Likewise.
13265         * modules/vasnprintf (Depends-on): Likewise.
13266         * modules/unistdio/u-printf-args (Depends-on): Likewise.
13267         * modules/wctomb (Depends-on): Likewise.
13268         Reported by Peter O'Gorman.
13269
13270 2011-03-08  Bruno Haible  <bruno@clisp.org>
13271
13272         passfd module, part 1, tweaks.
13273         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
13274         Improve indentation. Improve AC_MSG_CHECKING messages.
13275         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
13276         gl_SOCKET_FAMILIES.
13277
13278 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13279
13280         passfd module, part 1.
13281         * m4/afunix.m4: New file.
13282         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
13283         sockets.
13284
13285 2011-03-08  Bruno Haible  <bruno@clisp.org>
13286
13287         regex-quote: New API.
13288         * lib/regex-quote.h: Include <stdbool.h>.
13289         (struct regex_quote_spec): New type.
13290         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13291         New declarations.
13292         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13293         'const struct regex_quote_spec *' argument.
13294         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
13295         (pcre_special): New constant.
13296         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13297         New functions.
13298         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13299         'const struct regex_quote_spec *' argument.
13300         * modules/regex-quote (Depends-on): Add stdbool.
13301         * tests/test-regex-quote.c (check): Update for new API. Add test for
13302         anchored results.
13303         * NEWS: Mention the API change.
13304         Reported by Reuben Thomas and Eric Blake.
13305
13306 2011-03-06  Bruno Haible  <bruno@clisp.org>
13307
13308         regex-quote: Fix creation of POSIX extended regular expressions.
13309         * lib/regex-quote.c (ere_special): Add grouping and alternation
13310         operators.
13311
13312 2011-03-05  Bruno Haible  <bruno@clisp.org>
13313
13314         doc: Improve doc regarding autopoint vs. gnulib.
13315         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
13316         disable autopoint while running autoreconf.
13317         Suggested by Ralf Wildenhues.
13318
13319 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13320
13321         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
13322         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
13323
13324 2011-03-03  Bruce Korb  <bkorb@gnu.org>
13325
13326         parse-duration: remove xalloc.h dependency
13327         * lib/parse-duration.c (parse_period): handle NULL return from
13328         strdup instead of calling xstrdup().
13329         * modules/parse-duration: remove "xalloc" dependency
13330
13331 2011-03-03  Matthew Booth  <mbooth@redhat.com>
13332
13333         bootstrap: honor m4_base when running aclocal
13334         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
13335
13336 2011-03-02  Jim Meyering  <meyering@redhat.com>
13337
13338         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
13339         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
13340         on request from Matt Booth.
13341
13342 2011-03-01  Eric Blake  <eblake@redhat.com>
13343
13344         test-link: work on Hurd
13345         * tests/test-link.h (test_link): Hurd rejects linking directories
13346         with EISDIR instead of the POSIX-mandated EPERM.
13347
13348 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
13349
13350         stdio: simplify by moving files to printf-posix, sigpipe
13351         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
13352         since this symbol is needed only if printf is replaced.
13353         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
13354         Require gl_ASM_SYMBOL_PREFIX.
13355         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
13356         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
13357         (Depends-on): Add 'raise'.
13358         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
13359         * modules/stdio (Files): Remove lib/stdio-write.c,
13360         m4/asm-underscore.m4.
13361         (Depends-on): Remove 'raise'.
13362
13363         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
13364         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
13365         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
13366         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
13367
13368 2011-02-28  Bruno Haible  <bruno@clisp.org>
13369
13370         localcharset: Assume ANSI C behaviour of free().
13371         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
13372         calling free().
13373         Suggested by Simon Josefsson <simon@josefsson.org>.
13374
13375 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
13376             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
13377             Bruno Haible  <bruno@clisp.org>  (tiny change)
13378
13379         On Cygwin, use /proc file system instead of win32 API.
13380         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
13381         Win32 file names.
13382         (DllMain): Simplify by removing Cygwin specific code.
13383         (find_shared_library_fullname): Use Linux specific implementation also
13384         for Cygwin.
13385         (get_shared_library_fullname): Update accordingly.
13386         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
13387         Win32 file names.
13388         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
13389         Cygwin specific code.
13390
13391 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
13392             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
13393
13394         Fix OpenMP flag detection for various Fortran compilers.
13395         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
13396         OpenMP-conditional compilation construct, to force compile
13397         failure with missing OpenMP flag.
13398         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
13399
13400 2011-02-25  Eric Blake  <eblake@redhat.com>
13401
13402         strstr: expand test coverage
13403         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
13404         compilation.
13405         * tests/test-memmem.c (main): Duplicate tests.
13406         * tests/test-strcasestr.c (main): Likewise.
13407         * tests/test-c-strcasestr.c (main): Likewise.
13408
13409 2011-02-25  Jim Meyering  <meyering@redhat.com>
13410
13411         maint.mk: detect missing-NL-at-EOF, too
13412         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13413         it also detects when a file lacks a newline at EOF.
13414         (require_exactly_one_NL_at_EOF_): Renamed from
13415         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13416         since people may well have .x-sc_... file names tied to the
13417         existing name.  Suggested by Eric Blake.
13418
13419 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13420
13421         dirname: move m4/dos.m4 functionality into lib/dosname.h
13422
13423         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13424         extracts symbols from it, puts them into config.h; but it's much
13425         easier to use the symbols directly.  filename.h already does this,
13426         but it disagrees with dos.m4 in some respects.  This patch
13427         introduces a different include file dosname.h that packages up
13428         dos.m4, and then later we can work on merging filename.h and
13429         dosname.h.  Applications that need only the easy-to-configure
13430         symbols should consider including dosname.h rather than dirname.h.
13431         * NEWS: Mention incompatible changes.
13432         * m4/dos.m4: Remove.
13433         * lib/dosname.h, modules/dosname: New files.
13434         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13435         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13436         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13437         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13438         Include dosname.h, not dirname.h.
13439         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13440         Include dosname.h, for definitions of symbols like ISSLASH
13441         that used to be in config.h.
13442         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13443         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13444         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13445         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13446         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13447         * modules/rmdir (Files): Likewise.
13448         * modules/stat (Files): Likewise.
13449         * modules/unlink (Files): Likewise.
13450         * modules/dirname-lgpl (Depends-on): Add dosname.
13451         * modules/lstat (Depends-on): Likewise.
13452         * modules/openat (Depends-on): Likewise.
13453         * modules/rmdir (Depends-on): Likewise.
13454         * modules/savewd (Depends-on): Likewise.
13455         * modules/stat (Depends-on): Likewise.
13456         * modules/unlink (Depends-on): Likewise.
13457         * modules/openat (Depends-on): Remove dirname-lgpl.
13458         * modules/savewd (Depends-on): Likewise.
13459         * tests/test-dirname.c: Do not use removed symbols like
13460         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13461         the remaining symbols, e.g., ISSLASH ('\\').
13462
13463 2011-02-25  Eric Blake  <eblake@redhat.com>
13464
13465         strstr: revert patches that introduced bug and pessimization
13466         * lib/str-two-way.h: Add another reference.
13467         (two_way_short_needle, two_way_long_needle): Revert changes from
13468         2011-02-24; they pessimize search speed.
13469         (critical_factorization): Partially revert changes from
13470         2010-06-22; they violate the requirement that the left half of the
13471         needle be smaller than the period of the needle.
13472
13473 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13474
13475         filenamecat: remove unnecessary dependency on dirname-lgpl
13476         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13477         is no direct dependency, just an indirect one via filenamecat-lgpl.
13478
13479         remove: remove unnecessary use of m4/dos.m4
13480         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13481         * modules/remove (FILES): Remove m4/dos.m4.
13482
13483         * lib/openat-proc.c: Don't include dirname.h; not needed.
13484
13485         backupfile: remove unnecessary use of m4/dos.m4
13486         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13487         of its symbols are used by the backupfile code.  backupfile.c does
13488         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13489         for the rare case of programs that want all their backup file
13490         names to live within 8+3 limits, and dos.m4 doesn't address that.
13491         * modules/backupfile (Files): Remove m4/dos.m4.
13492
13493 2011-02-24  Jim Meyering  <meyering@redhat.com>
13494
13495         strstr: fix a bug whereby strstr would mistakenly return NULL
13496         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13497         in period calculation.
13498         (two_way_long_needle): Likewise.
13499         The original problem was reported by Mike Stump in
13500         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13501         Ralf Wildenhues provided the short needle and haystack.
13502         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13503         Add a more involved test to trigger the bug in two_way_long_needle.
13504
13505 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13506
13507         gnulib-tool: remove use of bold display in help screen
13508         * gnulib-tool (func_usage): Do not use bold display anymore in the
13509         help screen.  That was just meant to be a temporary emphasis for a
13510         backward-incompatible change.
13511
13512 2011-02-23  Bruno Haible  <bruno@clisp.org>
13513
13514         Fix misindentation of preprocessor directives.
13515         * lib/argp-namefrob.h: Reindent preprocessor directives.
13516         * lib/getopt_int.h (struct _getopt_data): Likewise.
13517         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13518         * lib/vasnprintf.c (decode_long_double): Likewise.
13519         * tests/test-argmatch.c: Insert blank lines, for clarity.
13520         * tests/test-exclude.c: Likewise.
13521
13522 2011-02-22  Bruno Haible  <bruno@clisp.org>
13523
13524         ioctl: Fix for MacOS X in 64-bit mode.
13525         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13526         value.
13527         Suggested by Eric Blake.
13528         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13529
13530 2011-02-22  Jim Meyering  <meyering@redhat.com>
13531
13532         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13533         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13534         in lib/.
13535
13536 2011-02-22  Eric Blake  <eblake@redhat.com>
13537
13538         maint: avoid any CDPATH issue
13539         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13540
13541         maint: adjust cpp indentation for my modules, as well
13542         * Makefile (sc_cpp_indent_check): Add my name.
13543         * lib/fbufmode.c: Filter through cppi.
13544         * lib/fpurge.c: Likewise.
13545         * lib/freadable.c: Likewise.
13546         * lib/freading.c: Likewise.
13547         * lib/fwritable.c: Likewise.
13548         * lib/fwriting.c: Likewise.
13549         * lib/sigaction.c: Likewise.
13550
13551 2011-02-22  Jim Meyering  <meyering@redhat.com>
13552
13553         maint: adjust cpp indentation to reflect nesting depth
13554         I.e., in a block of code that begins with an unnested "#if",
13555         put one space between the "#" in column 1 and following token.
13556         For example,
13557         -#include <sys/vfs.h>
13558         +# include <sys/vfs.h>
13559         Do this only in .c files that are part of a module I maintain.
13560         * lib/linkat.c: Filter through cppi.
13561         * lib/nanosleep.c: Likewise.
13562         * lib/openat.c: Likewise.
13563         * lib/openat-die.c: Likewise.
13564         * lib/dup3.c: Likewise.
13565         * lib/fchownat.c: Likewise.
13566         * lib/flock.c: Likewise.
13567         * lib/fsync.c: Likewise.
13568         * lib/fts.c: Likewise.
13569         * lib/getpass.c: Likewise.
13570         * lib/gettimeofday.c: Likewise.
13571         * lib/userspec.c: Likewise.
13572         * Makefile (sc_cpp_indent_check): New rule, to check this.
13573
13574 2011-02-22  Bruno Haible  <bruno@clisp.org>
13575
13576         New module 'wctomb'.
13577         * lib/stdlib.in.h (wctomb): New declaration.
13578         * lib/wctomb.c: New file.
13579         * lib/wctomb-impl.h: New file.
13580         * m4/wctomb.m4: New file.
13581         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13582         REPLACE_WCTOMB.
13583         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13584         REPLACE_WCTOMB.
13585         * modules/wctomb: New file.
13586         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13587         * doc/posix-functions/wctomb.texi: Mention the new module.
13588         * modules/wctob (Depends-on): Add wctomb.
13589
13590 2011-02-22  Bruno Haible  <bruno@clisp.org>
13591
13592         New module 'mbtowc'.
13593         * lib/stdlib.in.h (mbtowc): New declaration.
13594         * lib/mbtowc.c: New file.
13595         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13596         * m4/mbtowc.m4: New file.
13597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13598         REPLACE_MBTOWC.
13599         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13600         REPLACE_MBTOWC.
13601         * modules/mbtowc: New file.
13602         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13603         * doc/posix-functions/mbtowc.texi: Mention the new module.
13604         * modules/btowc (Depends-on): Add mbtowc.
13605
13606 2011-02-22  Bruno Haible  <bruno@clisp.org>
13607
13608         wcrtomb: Add more tests for native Windows platforms.
13609         * tests/test-wcrtomb-w32-1.sh: New file.
13610         * tests/test-wcrtomb-w32-2.sh: New file.
13611         * tests/test-wcrtomb-w32-3.sh: New file.
13612         * tests/test-wcrtomb-w32-4.sh: New file.
13613         * tests/test-wcrtomb-w32-5.sh: New file.
13614         * tests/test-wcrtomb-w32.c: New file.
13615         * modules/wcrtomb-tests (Files): Add them.
13616         (Makefile.am): Arrange to run these tests.
13617         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13618         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13619
13620 2011-02-20  Bruno Haible  <bruno@clisp.org>
13621
13622         wcrtomb: Enhance test.
13623         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13624
13625 2011-02-20  Bruno Haible  <bruno@clisp.org>
13626
13627         mbrtowc: Tiny optimization.
13628         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13629
13630 2011-02-20  Jim Meyering  <meyering@redhat.com>
13631
13632         test-exclude.c: remove unmatched #endif
13633         * tests/test-exclude.c: Remove stray #endif, left over from
13634         the change of a week ago.
13635
13636 2011-02-19  Jim Meyering  <meyering@redhat.com>
13637
13638         git-version-gen: skip "-dirty" check when appropriate
13639         * build-aux/git-version-gen: Don't run any git commands when the
13640         version string comes from .tarball-version.  Prior to this, we
13641         would run git update-index --refresh even from a just-unpacked
13642         tarball directory, and that could affect a .git/ directory in a
13643         parent of the build directory.  Reported by Mike Frysinger.
13644
13645 2011-02-19  Bruno Haible  <bruno@clisp.org>
13646
13647         unictype/property-byname: Reduce the size of the 'data' segment.
13648         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13649
13650 2011-02-19  Bruno Haible  <bruno@clisp.org>
13651
13652         unictype/scripts: Reduce the size of the 'data' segment.
13653         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13654         '%pic'.
13655         * lib/unictype/scripts_byname.gperf: Regenerated.
13656
13657 2011-02-19  Bruno Haible  <bruno@clisp.org>
13658
13659         stdint: Update documentation.
13660         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13661
13662 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13663
13664         stdint: omit redundant check for wchar.h
13665         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13666         always tests whether wchar.h exists, so remove the now-redundant test.
13667
13668 2011-02-18  Bruno Haible  <bruno@clisp.org>
13669
13670         stdint: Cut dependency to module 'wchar'.
13671         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13672         include the necessary prerequisites.
13673         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13674         * modules/stdint (Depends-on): Remove wchar.
13675         (Makefile.am): Substitute HAVE_WCHAR_H.
13676         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13677
13678 2011-02-18  Eric Blake  <eblake@redhat.com>
13679
13680         longlong: skip, rather than fail, on cross-compilation
13681         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13682         when cross-compiling; regression from 2011-02-16.
13683
13684 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13685
13686         * NEWS: Mention 2011-02-08 change to stdlib.
13687
13688 2011-02-17  Bruno Haible  <bruno@clisp.org>
13689
13690         getloadavg: Add comments about platforms.
13691         * m4/getloadavg.m4: Add comment.
13692         * lib/getloadavg.c: Likewise.
13693
13694 2011-02-17  Bruno Haible  <bruno@clisp.org>
13695
13696         getloadavg: Fix link error on Solaris 2.6.
13697         * modules/getloadavg (Link): New section.
13698         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13699         linking test-getloadavg.
13700         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13701         getloadavg.
13702
13703 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13704
13705         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13706         It was 'int', but this doesn't match the IRIX 6.5 manual.
13707         Suggested by Bruno Haible in
13708         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13709
13710 2011-02-17  Bruno Haible  <bruno@clisp.org>
13711
13712         havelib: Fix comments.
13713         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13714         change.
13715
13716 2011-02-17  Bruno Haible  <bruno@clisp.org>
13717
13718         havelib: Update config.rpath.
13719         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13720
13721 2011-02-17  Bruno Haible  <bruno@clisp.org>
13722
13723         getloadavg test: Add some plausibility checks.
13724         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13725         is improbable.
13726
13727 2011-02-16  Eric Blake  <eblake@redhat.com>
13728
13729         maintainer-makefile: make syntax-check a no-op from tarballs
13730         * top/maint.mk (no-vc-detected): New rule.
13731         (local-checks-available): Use it to avoid hanging if someone tries
13732         'make syntax-check' from a tarball.  Also append to any non-syntax
13733         checks already defined in cfg.mk.
13734
13735 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13736
13737         longlong: tune, particularly for common case of c99
13738
13739         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13740         or running anything if c99, or if unsigned long long int does not
13741         work.  In either case, we know the answer without further tests.
13742         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13743         it at most once, and use its results for both long long int and
13744         unsigned long long int.  This is more likely to be efficient in
13745         the common case where the program wants to check for both long
13746         long int and unsigned long long int.
13747         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13748         since the answer is already known.
13749
13750 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13751
13752         getloadavg: set errno
13753         * lib/getloadavg.c: Set errno when returning -1.  If no other
13754         error number looks appropriate, set it to ENOSYS if the getloadavg
13755         looks like it can't possibly ever work, ENOTSUP otherwise.
13756         Suggested by Bruno Haible in
13757         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13758
13759         getloadavg: trim unused parts and speed up 'configure'
13760         * NEWS: Document this.
13761         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13762         always compiled if getloadavg is absent.
13763         Move test code to ...
13764         * tests/test-getloadavg.c: New file, containing previous
13765         contents of test from lib/getloadavg.c.  It also contains
13766         suggestions by Bruno Haible in
13767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13768         * modules/getloadavg-tests: New file.
13769         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13770         Do tests in the same order as they're needed for getloadavg.c.
13771         Omit setgid-related tests that generate symbols KMEM_GROUP,
13772         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13773         Do only the tests that are needed to see whether the system has
13774         getloadavg, moving the other tests into ...
13775         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13776         NLIST_NAME_UNION; nobody should be using it.  Do not define
13777         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13778         relevant, as the user of this module shouldn't care how getloadavg
13779         is implemented.
13780
13781         getloadavg: omit unused var
13782         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13783
13784 2011-02-15  Jim Meyering  <meyering@redhat.com>
13785
13786         doc: update users.txt
13787         * users.txt: Update iwhd's URL.
13788
13789 2011-02-13  Bruno Haible  <bruno@clisp.org>
13790
13791         Consistent macro naming for macros that use GCC __attribute__.
13792         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13793         _ATTRIBUTE_NONNULL_.
13794         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13795         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13796         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13797         ATTRIBUTE_DEPRECATED.
13798         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13799         ATTRIBUTE_NORETURN.
13800         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13801         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13802         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13803         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13804         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13805         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13806         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13807         ATTRIBUTE_SENTINEL.
13808         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13809         ATTRIBUTE_RETURN_CHECK.
13810         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13811         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13812         ATTRIBUTE_NORETURN.
13813         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13814         Reported by Paul Eggert.
13815
13816 2011-02-13  Bruno Haible  <bruno@clisp.org>
13817
13818         Don't interfere with a program's definition of __attribute__.
13819         * lib/argp.h (__attribute__): Remove definition.
13820         (_GL_ATTRIBUTE_FORMAT): New macro.
13821         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13822         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13823         (_GL_ATTRIBUTE_FORMAT): New macro.
13824         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13825         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13826         GCC 3 or newer.
13827         * lib/error.h (__attribute__): Remove definition.
13828         (_GL_ATTRIBUTE_FORMAT): New macro.
13829         (error, error_at_line): Use it.
13830         * lib/hash.h (__attribute__): Remove definition.
13831         (ATTRIBUTE_WUR): Update definition. Define always.
13832         * lib/openat.h (__attribute__): Remove definition.
13833         (ATTRIBUTE_NORETURN): Update definition. Define always.
13834         * lib/sigpipe-die.h (__attribute__): Remove definition.
13835         (ATTRIBUTE_NORETURN): Update definition. Define always.
13836         * lib/vasnprintf.h (__attribute__): Remove definition.
13837         (_GL_ATTRIBUTE_FORMAT): New macro.
13838         (asnprintf, vasnprintf): Use it.
13839         * lib/xalloc.h (__attribute__): Remove definition.
13840         (ATTRIBUTE_NORETURN): Update definition. Define always.
13841         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13842         * lib/xmemdup0.h (__attribute__): Remove definition.
13843         (ATTRIBUTE_NORETURN): Update definition. Define always.
13844         * lib/xprintf.h (__attribute__): Remove definition.
13845         (_GL_ATTRIBUTE_FORMAT): New macro.
13846         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13847         * lib/xstrtol.h (__attribute__): Remove definition.
13848         (ATTRIBUTE_NORETURN): Update definition. Define always.
13849         * lib/xvasprintf.h (__attribute__): Remove definition.
13850         (_GL_ATTRIBUTE_FORMAT): New macro.
13851         (xasprintf, xvasprintf): Use it.
13852         * tests/test-argmatch.c (__attribute__): Remove definition.
13853         (ATTRIBUTE_NORETURN): Update definition. Define always.
13854         * tests/test-exclude.c (__attribute__): Remove definition.
13855         (ATTRIBUTE_NORETURN): Update definition. Define always.
13856         Reported by Paul Eggert.
13857
13858 2011-02-13  Bruno Haible  <bruno@clisp.org>
13859
13860         mbrtowc: Add more tests for native Windows platforms.
13861         * tests/test-mbrtowc-w32-1.sh: New file.
13862         * tests/test-mbrtowc-w32-2.sh: New file.
13863         * tests/test-mbrtowc-w32-3.sh: New file.
13864         * tests/test-mbrtowc-w32-4.sh: New file.
13865         * tests/test-mbrtowc-w32-5.sh: New file.
13866         * tests/test-mbrtowc-w32.c: New file.
13867         * modules/mbrtowc-tests (Files): Add them.
13868         (Makefile.am): Arrange to run these tests.
13869         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13870         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13871
13872 2011-02-13  Bruno Haible  <bruno@clisp.org>
13873
13874         mbrtowc: Work around native Windows bug.
13875         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13876         guess when no suitable locale for testing was found.
13877         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13878
13879 2011-02-13  Bruno Haible  <bruno@clisp.org>
13880
13881         mbsinit: Work around mingw bug.
13882         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13883         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13884         Windows.
13885         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13886
13887 2011-02-13  Bruno Haible  <bruno@clisp.org>
13888
13889         mbsinit: Don't crash for a NULL argument.
13890         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13891         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13892
13893 2011-02-13  Bruno Haible  <bruno@clisp.org>
13894
13895         Don't interfere with a program's definition of __attribute__.
13896         * lib/stdio.in.h (__attribute__): Remove definition.
13897         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13898         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13899         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13900         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13901         * lib/string.in.h (__attribute__): Remove definition.
13902         Reported by Paul Eggert.
13903
13904 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13905
13906         stdlib: don't get in the way of non-GCC __attribute__
13907         See thread starting at
13908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13909         Revert previous stdlib change, installing the following instead:
13910         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13911         to get in the way of a non-GCC compiler that supports __attribute__.
13912         (_GL_ATTRIBUTE_RETURN): New macro.
13913         (_Exit): Use it instead of __attribute__.
13914
13915 2011-02-12  Bruno Haible  <bruno@clisp.org>
13916
13917         quotearg test: Avoid test failure on mingw.
13918         * tests/test-quotearg.sh: Convert the locale identifier from native
13919         Windows syntax to Unix syntax.
13920
13921 2011-02-12  Bruno Haible  <bruno@clisp.org>
13922
13923         setlocale: Prefer gnulib's override over libintl's override.
13924         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13925         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13926         GNULIB_defined_setlocale is set.
13927
13928 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13929
13930         stdlib: support non-GCC __attribute__
13931
13932         Fix a serious and tricky problem encountered when attempting to
13933         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13934         5.5, but it crashed due to memory corruption on Solaris 10 with
13935         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13936         bits that are otherwise zero.  This tagging is optional inside
13937         Emacs but is preferred and is used when __attribute__ ((__aligned
13938         (8))) works, as it does with both recent-enough GCC and with Sun C
13939         5.11.  However, Sun C 5.11 is not GCC and does not #define
13940         __GNUC__ and __GNUC_MINOR__.
13941
13942         When I added the getloadavg module to Emacs, it brought in
13943         stdlib.in.h, which contained this fragment:
13944
13945            #ifndef __attribute__
13946            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13947            #  define __attribute__(Spec)   /* empty */
13948            # endif
13949            #endif
13950
13951         When files that include <stdlib.h> were compiled with Sun C 5.11,
13952         the above code disabled __attribute__ ((__aligned (8))), which
13953         caused variables to not be properly aligned, which eventually led
13954         to the pointer corruption mentioned above.  (This was a bit hard
13955         to diagnose, unfortunately.)
13956
13957         Several "#define __attribute__(X) /* empty */" code snippets need
13958         to be eradicated from Gnulib to work with non-GCC compilers that
13959         support __attribute__.  The Autoconf way to do this is to test for
13960         each kind of attribute that we want support for, and selectively
13961         enable that in source code.
13962
13963         Fix this problem just for stdlib.h, by adding a test for the
13964         __noreturn__ attribute, and change stdlib.in.h to use that test
13965         when needed.  This technique can be easily generalized to the
13966         other *.in.h files and attributes, and a similar technique can be
13967         used for *.h and *.c files.  This patch is enough to solve the
13968         problem for Emacs + getloadavg, and I thought I'd publish it for
13969         feedback before undertaking further, similar fixes in other
13970         modules.
13971
13972         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13973         because it's not needed for stdlib.h.  It merely substitutes the
13974         value directly into stdlib.h.  We may well need to #define it, or
13975         similar symbols, for other modules, but it's nice to also have an
13976         option to not #define it for applications like Emacs that do not
13977         need it.
13978
13979         * lib/stdlib.in.h (__attribute__): Do not #define.
13980         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13981         be defined only if the _Exit module is also used.
13982         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13983         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13984         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13985         platforms.
13986         * modules/_Exit (Files): Add m4/attribute.m4.
13987         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13988         * m4/attribute.m4: New file.
13989
13990 2011-02-12  Bruno Haible  <bruno@clisp.org>
13991
13992         wcsrtombs: Work around bug on native Windows.
13993         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13994         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13995         instead of len.
13996         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13997
13998 2011-02-12  Bruno Haible  <bruno@clisp.org>
13999
14000         mbsrtowcs: Work around bug on native Windows.
14001         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
14002         against mingw bug.
14003         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
14004
14005 2011-02-12  Bruno Haible  <bruno@clisp.org>
14006
14007         Avoid setlocale bugs in tests.
14008         * modules/btowc (Dependencies): Add setlocale.
14009         * modules/c-strcase (Dependencies): Likewise.
14010         * modules/mbmemcasecmp (Dependencies): Likewise.
14011         * modules/mbmemcasecoll (Dependencies): Likewise.
14012         * modules/mbrtowc (Dependencies): Likewise.
14013         * modules/mbscasecmp (Dependencies): Likewise.
14014         * modules/mbscasestr (Dependencies): Likewise.
14015         * modules/mbschr (Dependencies): Likewise.
14016         * modules/mbscspn (Dependencies): Likewise.
14017         * modules/mbsinit (Dependencies): Likewise.
14018         * modules/mbsncasecmp (Dependencies): Likewise.
14019         * modules/mbsnrtowcs (Dependencies): Likewise.
14020         * modules/mbspbrk (Dependencies): Likewise.
14021         * modules/mbspcasecmp (Dependencies): Likewise.
14022         * modules/mbsrchr (Dependencies): Likewise.
14023         * modules/mbsrtowcs (Dependencies): Likewise.
14024         * modules/mbsspn (Dependencies): Likewise.
14025         * modules/mbsstr (Dependencies): Likewise.
14026         * modules/nl_langinfo (Dependencies): Likewise.
14027         * modules/quotearg (Dependencies): Likewise.
14028         * modules/unicase/locale-language (Dependencies): Likewise.
14029         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
14030         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
14031         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
14032         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
14033         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
14034         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
14035         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
14036         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
14037         * modules/vasnprintf-posix (Dependencies): Likewise.
14038         * modules/wcrtomb (Dependencies): Likewise.
14039         * modules/wcsnrtombs (Dependencies): Likewise.
14040         * modules/wcsrtombs (Dependencies): Likewise.
14041
14042 2011-02-12  Bruno Haible  <bruno@clisp.org>
14043
14044         setlocale: Workaround native Windows bug.
14045         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
14046         succeeds but sets LC_CTYPE to "C", report a failure.
14047         * tests/test-setlocale2.sh: New file.
14048         * tests/test-setlocale2.c: New file.
14049         * modules/setlocale-tests (Files): Add the new files.
14050         (Makefile.am): Enable test-setlocale2.sh test.
14051         * doc/posix-functions/setlocale.texi: Mention workaround.
14052
14053 2011-02-11  Bruno Haible  <bruno@clisp.org>
14054
14055         Tests for module 'setlocale'.
14056         * modules/setlocale-tests: New file.
14057         * tests/test-setlocale1.sh: New file.
14058         * tests/test-setlocale1.c: New file.
14059
14060         New module 'setlocale'.
14061         * lib/locale.in.h (setlocale): New declaration.
14062         * lib/setlocale.c: New file, based on
14063         gettext/gettext-runtime/intl/setlocale.c.
14064         * m4/setlocale.m4: New file.
14065         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
14066         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
14067         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
14068         REPLACE_SETLOCALE.
14069         * modules/setlocale: New file.
14070         * tests/test-locale-c++.cc: Test the declaration of setlocale.
14071         * doc/posix-functions/setlocale.texi: Mention the new module.
14072
14073 2011-02-11  Bruno Haible  <bruno@clisp.org>
14074
14075         Prepare for locale dependent tests on mingw.
14076         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
14077         because it has the wrong locale encoding.
14078         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
14079         French_France.1252 instead of "fr".
14080         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
14081         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
14082         because it has the wrong locale encoding.
14083         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
14084         native Windows, try Turkish_Turkey.65001.
14085         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
14086         Chinese_China.54936.
14087
14088         Prepare for locale dependent tests on mingw.
14089         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
14090         differently.
14091         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
14092         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
14093         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
14094         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
14095
14096 2011-02-11  Eric Blake  <eblake@redhat.com>
14097
14098         strptime: avoid compiler warnings
14099         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
14100         compiler warnings about dead code.
14101         Reported by Daniel P. Berrange.
14102
14103 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
14104
14105         doc: update users.txt
14106         * users.txt: Add rcs.
14107
14108 2011-02-10  John W. Eaton  <jwe@gnu.org>
14109
14110         doc: update users.txt
14111         * users.txt: Add octave.
14112
14113 2011-02-10  Jim Meyering  <meyering@redhat.com>
14114
14115         doc: update users.txt
14116         * users.txt: Add iwhd.
14117
14118 2011-02-09  Bruno Haible  <bruno@clisp.org>
14119
14120         gnulib-tool: Make copyright notice adjustment more robust.
14121         * gnulib-tool (func_import): In sed_transform_main_lib_file,
14122         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
14123         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
14124         License".
14125         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
14126
14127 2011-02-06  Bruno Haible  <bruno@clisp.org>
14128
14129         New module 'towctrans'.
14130         * modules/towctrans: New file.
14131         * lib/wctype.in.h (towctrans): New declaration.
14132         * lib/towctrans.c: New file.
14133         * lib/towctrans-impl.h: New file.
14134         * m4/towctrans.m4: New file.
14135         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
14136         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
14137         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
14138         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
14139         * doc/posix-functions/towctrans.texi: Mention the new module.
14140
14141 2011-02-06  Bruno Haible  <bruno@clisp.org>
14142
14143         New module 'wctrans'.
14144         * modules/wctrans: New file.
14145         * lib/wctype.in.h (wctrans): New declaration.
14146         * lib/wctrans.c: New file.
14147         * lib/wctrans-impl.h: New file.
14148         * m4/wctrans.m4: New file.
14149         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
14150         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
14151         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
14152         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
14153         * doc/posix-functions/wctrans.texi: Mention the new module.
14154
14155 2011-02-06  Bruno Haible  <bruno@clisp.org>
14156
14157         New module 'iswctype'.
14158         * modules/iswctype: New file.
14159         * lib/wctype.in.h (iswctype): New declaration.
14160         * lib/iswctype.c: New file.
14161         * lib/iswctype-impl.h: New file.
14162         * m4/iswctype.m4: New file.
14163         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
14164         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
14165         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
14166         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
14167         * doc/posix-functions/iswctype.texi: Mention the new module and the
14168         HP-UX 11.00 problem.
14169
14170 2011-02-06  Bruno Haible  <bruno@clisp.org>
14171
14172         New module 'wctype'.
14173         * modules/wctype: Change to represent the wctype() substitute.
14174         * lib/wctype.in.h (wctype): New declaration.
14175         * lib/wctype.c: New file.
14176         * lib/wctype-impl.h: New file.
14177         * m4/wctype.m4: New file.
14178         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
14179         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
14180         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
14181         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
14182         * doc/posix-functions/wctype.texi: Mention the new module and the
14183         HP-UX 11.00 problem.
14184
14185 2011-02-06  Bruno Haible  <bruno@clisp.org>
14186
14187         wctype-h: Ensure wctype_t and wctrans_t are defined.
14188         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
14189         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
14190         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
14191         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
14192         HAVE_WCTRANS_T.
14193         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
14194
14195 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
14196
14197         flock: fix license typo
14198
14199         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
14200         omitted.
14201
14202 2011-02-08  Bruno Haible  <bruno@clisp.org>
14203
14204         Split large sed scripts, for HP-UX sed.
14205         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
14206         to avoid HP-UX limit of 99 commands, in the near future.
14207         * modules/stdlib (Makefile.am): Likewise.
14208         * modules/unistd (Makefile.am): Likewise.
14209         * modules/wchar (Makefile.am): Likewise.
14210         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14211         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
14212         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
14213
14214 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14215             Bruno Haible  <bruno@clisp.org>
14216
14217         stdlib: improve random_r modularization
14218         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
14219         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
14220         you also need the random_r module to get this material right.
14221         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
14222         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
14223         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
14224
14225 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14226
14227         stdlib: don't depend on stdint
14228         * lib/stdlib.in.h: Don't include <stdint.h> merely because
14229         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
14230         be independent of whether stdint.h is needed.
14231         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
14232         here, instead of ...
14233         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
14234         struct random_data should be using the random_r module, not just
14235         the stdlib module (which wouldn't make sense: what package needs
14236         just struct random_data without also needing random_r?).
14237         * modules/stdlib (Depends-on): Remove stdint.
14238
14239         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
14240         See the thread rooted at
14241         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
14242         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
14243         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
14244         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
14245         __VMS)); previously it was always included (via fcntl--.h).
14246         (getloadavg): Do not use c_strtod.  Instead, approximate it by
14247         hand; this is good enough for load averages.  Also, do not use
14248         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
14249         flags directly if available and don't bother otherwise.  (Packages
14250         that need the extra reliability should use the modules that define
14251         these flags on older platforms that lack them.)
14252         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
14253         fcntl-safer.
14254
14255 2011-02-08  Jim Meyering  <meyering@redhat.com>
14256
14257         di-set.h, ino-map.h: add multiple-inclusion guard
14258         Technically, the guard is required only for ino-map.h, due to its
14259         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
14260         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
14261         * lib/ino-map.h: Likewise.
14262
14263 2011-02-06  Bruno Haible  <bruno@clisp.org>
14264
14265         iswblank: Ensure declaration on glibc systems.
14266         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
14267         * modules/iswblank (Dependencies): Add 'extensions'.
14268         * doc/posix-functions/iswblank.texi: Document the glibc problem.
14269
14270 2011-02-06  Bruno Haible  <bruno@clisp.org>
14271
14272         New module 'iswblank'.
14273         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
14274         * modules/iswblank: New file.
14275         * modules/wctype-h (Files): Remove lib/iswblank.c.
14276         (Makefile.am): Substitute GNULIB_ISWBLANK.
14277         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
14278         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
14279         (gl_WCTYPE_H_DEFAULTS): New macro.
14280         (gl_WCTYPE_H): Require it. Remove iswblank related code.
14281         * modules/iswblank-tests: New file.
14282         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
14283         * tests/test-wctype-h.c (main): Remove iswblank tests.
14284         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
14285         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
14286         of 'wctype-h'.
14287         * NEWS: Mention the change.
14288         * modules/mbchar (Depends-on): Add iswblank.
14289
14290 2011-02-08  Bruno Haible  <bruno@clisp.org>
14291
14292         di-set tests: Refactor.
14293         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
14294         unnecessary includes.
14295         (ASSERT): Remove macro.
14296         (main): Make C90 compliant by avoiding variable declaration after
14297         statement.
14298         * modules/di-set-tests (Files): Add tests/macros.h.
14299
14300 2011-02-08  Bruno Haible  <bruno@clisp.org>
14301
14302         ino-map tests: Refactor.
14303         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
14304         unnecessary includes.
14305         (ASSERT): Remove macro.
14306         (main): Make C90 compliant by avoiding variable declaration after
14307         statement.
14308         * modules/ino-map-tests (Files): Add tests/macros.h.
14309
14310 2011-02-08  Jim Meyering  <meyering@redhat.com>
14311
14312         di-set: add "const" to a cast
14313         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
14314         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
14315
14316 2011-02-06  Bruno Haible  <bruno@clisp.org>
14317
14318         Rename module 'wctype' to 'wctype-h'.
14319         * modules/wctype-h: Renamed from modules/wctype.
14320         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
14321         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
14322         (Files, Depends-on, Makefile.am): Update.
14323         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
14324         (Files, Makefile.am): Update.
14325         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
14326         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
14327         * doc/posix-headers/wctype.texi: Update.
14328         * doc/posix-functions/iswalnum.texi: Update.
14329         * doc/posix-functions/iswalpha.texi: Update.
14330         * doc/posix-functions/iswblank.texi: Update.
14331         * doc/posix-functions/iswcntrl.texi: Update.
14332         * doc/posix-functions/iswdigit.texi: Update.
14333         * doc/posix-functions/iswgraph.texi: Update.
14334         * doc/posix-functions/iswlower.texi: Update.
14335         * doc/posix-functions/iswprint.texi: Update.
14336         * doc/posix-functions/iswpunct.texi: Update.
14337         * doc/posix-functions/iswspace.texi: Update.
14338         * doc/posix-functions/iswupper.texi: Update.
14339         * doc/posix-functions/iswxdigit.texi: Update.
14340         * doc/posix-functions/towlower.texi: Update.
14341         * doc/posix-functions/towupper.texi: Update.
14342         * NEWS: Mention the change.
14343         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
14344         * modules/mbchar (Dependencies): Likewise.
14345         * modules/mbswidth (Dependencies): Likewise.
14346         * modules/quotearg (Dependencies): Likewise.
14347         * modules/regex (Dependencies): Likewise.
14348         * modules/wcscasecmp (Dependencies): Likewise.
14349         * modules/wcsncasecmp (Dependencies): Likewise.
14350         * modules/wcwidth (Dependencies): Likewise.
14351
14352 2011-02-06  Bruno Haible  <bruno@clisp.org>
14353
14354         New module 'wcswidth'.
14355         * modules/wcswidth: New file.
14356         * lib/wchar.in.h (wcswidth): New declaration.
14357         * lib/wcswidth.c: New file.
14358         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
14359         * m4/wcswidth.m4: New file.
14360         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
14361         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
14362         REPLACE_WCSWIDTH.
14363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
14364         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
14365         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
14366         * doc/posix-functions/wcswidth.texi: Mention the new module.
14367
14368 2011-02-06  Bruno Haible  <bruno@clisp.org>
14369
14370         New module 'wcstok'.
14371         * modules/wcstok: New file.
14372         * lib/wchar.in.h (wcstok): New declaration.
14373         * lib/wcstok.c: New file.
14374         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
14375         * m4/wcstok.m4: New file.
14376         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
14377         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
14378         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
14379         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
14380         * doc/posix-functions/wcstok.texi: Mention the new module.
14381
14382 2011-02-06  Bruno Haible  <bruno@clisp.org>
14383
14384         New module 'wcsstr'.
14385         * modules/wcsstr: New file.
14386         * lib/wchar.in.h (wcsstr): New declaration.
14387         * lib/wcsstr.c: New file.
14388         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
14389         * m4/wcsstr.m4: New file.
14390         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
14391         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
14392         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
14393         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
14394         * doc/posix-functions/wcsstr.texi: Mention the new module.
14395
14396 2011-02-06  Bruno Haible  <bruno@clisp.org>
14397
14398         New module 'wcspbrk'.
14399         * modules/wcspbrk: New file.
14400         * lib/wchar.in.h (wcspbrk): New declaration.
14401         * lib/wcspbrk.c: New file.
14402         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
14403         * m4/wcspbrk.m4: New file.
14404         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
14405         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
14406         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14407         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14408         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14409
14410 2011-02-06  Bruno Haible  <bruno@clisp.org>
14411
14412         New module 'wcsspn'.
14413         * modules/wcsspn: New file.
14414         * lib/wchar.in.h (wcsspn): New declaration.
14415         * lib/wcsspn.c: New file.
14416         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14417         * m4/wcsspn.m4: New file.
14418         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14419         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14420         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14421         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14422         * doc/posix-functions/wcsspn.texi: Mention the new module.
14423
14424 2011-02-06  Bruno Haible  <bruno@clisp.org>
14425
14426         New module 'wcscspn'.
14427         * modules/wcscspn: New file.
14428         * lib/wchar.in.h (wcscspn): New declaration.
14429         * lib/wcscspn.c: New file.
14430         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14431         * m4/wcscspn.m4: New file.
14432         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14433         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14435         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14436         * doc/posix-functions/wcscspn.texi: Mention the new module.
14437
14438 2011-02-06  Bruno Haible  <bruno@clisp.org>
14439
14440         New module 'wcsrchr'.
14441         * modules/wcsrchr: New file.
14442         * lib/wchar.in.h (wcsrchr): New declaration.
14443         * lib/wcsrchr.c: New file.
14444         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14445         * m4/wcsrchr.m4: New file.
14446         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14447         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14448         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14449         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14450         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14451
14452 2011-02-06  Bruno Haible  <bruno@clisp.org>
14453
14454         New module 'wcschr'.
14455         * modules/wcschr: New file.
14456         * lib/wchar.in.h (wcschr): New declaration.
14457         * lib/wcschr.c: New file.
14458         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14459         * m4/wcschr.m4: New file.
14460         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14461         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14462         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14463         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14464         * doc/posix-functions/wcschr.texi: Mention the new module.
14465
14466 2011-02-06  Bruno Haible  <bruno@clisp.org>
14467
14468         New module 'wcsdup'.
14469         * modules/wcsdup: New file.
14470         * lib/wchar.in.h (wcsdup): New declaration.
14471         * lib/wcsdup.c: New file.
14472         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14473         * m4/wcsdup.m4: New file.
14474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14476         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14477         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14478         * doc/posix-functions/wcsdup.texi: Mention the new module.
14479
14480 2011-02-06  Bruno Haible  <bruno@clisp.org>
14481
14482         New module 'wcsxfrm'.
14483         * modules/wcsxfrm: New file.
14484         * lib/wchar.in.h (wcsxfrm): New declaration.
14485         * lib/wcsxfrm.c: New file.
14486         * lib/wcsxfrm-impl.h: New file.
14487         * m4/wcsxfrm.m4: New file.
14488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14490         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14491         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14492         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14493
14494 2011-02-06  Bruno Haible  <bruno@clisp.org>
14495
14496         New module 'wcscoll'.
14497         * modules/wcscoll: New file.
14498         * lib/wchar.in.h (wcscoll): New declaration.
14499         * lib/wcscoll.c: New file.
14500         * lib/wcscoll-impl.h: New file.
14501         * m4/wcscoll.m4: New file.
14502         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14503         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14505         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14506         * doc/posix-functions/wcscoll.texi: Mention the new module.
14507
14508 2011-02-06  Bruno Haible  <bruno@clisp.org>
14509
14510         New module 'wcsncasecmp'.
14511         * modules/wcsncasecmp: New file.
14512         * lib/wchar.in.h (wcsncasecmp): New declaration.
14513         * lib/wcsncasecmp.c: New file.
14514         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14515         * m4/wcsncasecmp.m4: New file.
14516         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14517         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14518         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14519         HAVE_WCSNCASECMP.
14520         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14521         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14522
14523 2011-02-06  Bruno Haible  <bruno@clisp.org>
14524
14525         New module 'wcscasecmp'.
14526         * modules/wcscasecmp: New file.
14527         * lib/wchar.in.h (wcscasecmp): New declaration.
14528         * lib/wcscasecmp.c: New file.
14529         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14530         * m4/wcscasecmp.m4: New file.
14531         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14532         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14533         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14534         HAVE_WCSCASECMP.
14535         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14536         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14537
14538 2011-02-05  Bruno Haible  <bruno@clisp.org>
14539
14540         New module 'wcsncmp'.
14541         * modules/wcsncmp: New file.
14542         * lib/wchar.in.h (wcsncmp): New declaration.
14543         * lib/wcsncmp.c: New file.
14544         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14545         * m4/wcsncmp.m4: New file.
14546         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14547         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14548         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14549         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14550         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14551
14552 2011-02-05  Bruno Haible  <bruno@clisp.org>
14553
14554         New module 'wcscmp'.
14555         * modules/wcscmp: New file.
14556         * lib/wchar.in.h (wcscmp): New declaration.
14557         * lib/wcscmp.c: New file.
14558         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14559         * m4/wcscmp.m4: New file.
14560         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14561         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14562         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14563         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14564         * doc/posix-functions/wcscmp.texi: Mention the new module.
14565
14566 2011-02-05  Bruno Haible  <bruno@clisp.org>
14567
14568         New module 'wcsncat'.
14569         * modules/wcsncat: New file.
14570         * lib/wchar.in.h (wcsncat): New declaration.
14571         * lib/wcsncat.c: New file.
14572         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14573         * m4/wcsncat.m4: New file.
14574         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14575         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14576         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14577         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14578         * doc/posix-functions/wcsncat.texi: Mention the new module.
14579
14580 2011-02-05  Bruno Haible  <bruno@clisp.org>
14581
14582         New module 'wcscat'.
14583         * modules/wcscat: New file.
14584         * lib/wchar.in.h (wcscat): New declaration.
14585         * lib/wcscat.c: New file.
14586         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14587         * m4/wcscat.m4: New file.
14588         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14589         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14590         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14591         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14592         * doc/posix-functions/wcscat.texi: Mention the new module.
14593
14594 2011-02-05  Bruno Haible  <bruno@clisp.org>
14595
14596         New module 'wcpncpy'.
14597         * modules/wcpncpy: New file.
14598         * lib/wchar.in.h (wcpncpy): New declaration.
14599         * lib/wcpncpy.c: New file.
14600         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14601         * m4/wcpncpy.m4: New file.
14602         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14603         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14604         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14605         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14606         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14607
14608 2011-02-05  Bruno Haible  <bruno@clisp.org>
14609
14610         New module 'wcsncpy'.
14611         * modules/wcsncpy: New file.
14612         * lib/wchar.in.h (wcsncpy): New declaration.
14613         * lib/wcsncpy.c: New file.
14614         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14615         * m4/wcsncpy.m4: New file.
14616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14618         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14619         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14620         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14621
14622 2011-02-05  Bruno Haible  <bruno@clisp.org>
14623
14624         New module 'wcpcpy'.
14625         * modules/wcpcpy: New file.
14626         * lib/wchar.in.h (wcpcpy): New declaration.
14627         * lib/wcpcpy.c: New file.
14628         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14629         * m4/wcpcpy.m4: New file.
14630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14632         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14633         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14634         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14635
14636 2011-02-05  Bruno Haible  <bruno@clisp.org>
14637
14638         New module 'wcscpy'.
14639         * modules/wcscpy: New file.
14640         * lib/wchar.in.h (wcscpy): New declaration.
14641         * lib/wcscpy.c: New file.
14642         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14643         * m4/wcscpy.m4: New file.
14644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14646         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14647         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14648         * doc/posix-functions/wcscpy.texi: Mention the new module.
14649
14650 2011-02-05  Bruno Haible  <bruno@clisp.org>
14651
14652         New module 'wcsnlen'.
14653         * modules/wcsnlen: New file.
14654         * lib/wchar.in.h (wcsnlen): New declaration.
14655         * lib/wcsnlen.c: New file.
14656         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14657         * m4/wcsnlen.m4: New file.
14658         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14659         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14660         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14661         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14662         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14663
14664 2011-02-05  Bruno Haible  <bruno@clisp.org>
14665
14666         New module 'wcslen'.
14667         * modules/wcslen: New file.
14668         * lib/wchar.in.h (wcslen): New declaration.
14669         * lib/wcslen.c: New file.
14670         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14671         * m4/wcslen.m4: New file.
14672         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14673         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14675         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14676         * doc/posix-functions/wcslen.texi: Mention the new module.
14677
14678 2011-02-05  Bruno Haible  <bruno@clisp.org>
14679
14680         New module 'wmemset'.
14681         * modules/wmemset: New file.
14682         * lib/wchar.in.h (wmemset): New declaration.
14683         * lib/wmemset.c: New file.
14684         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14685         * m4/wmemset.m4: New file.
14686         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14687         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14688         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14689         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14690         * doc/posix-functions/wmemset.texi: Mention the new module.
14691
14692 2011-02-05  Bruno Haible  <bruno@clisp.org>
14693
14694         New module 'wmemmove'.
14695         * modules/wmemmove: New file.
14696         * lib/wchar.in.h (wmemmove): New declaration.
14697         * lib/wmemmove.c: New file.
14698         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14699         * m4/wmemmove.m4: New file.
14700         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14701         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14702         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14703         HAVE_WMEMMOVE.
14704         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14705         * doc/posix-functions/wmemmove.texi: Mention the new module.
14706
14707 2011-02-05  Bruno Haible  <bruno@clisp.org>
14708
14709         New module 'wmemcpy'.
14710         * modules/wmemcpy: New file.
14711         * lib/wchar.in.h (wmemcpy): New declaration.
14712         * lib/wmemcpy.c: New file.
14713         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14714         * m4/wmemcpy.m4: New file.
14715         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14716         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14717         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14718         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14719         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14720
14721 2011-02-05  Bruno Haible  <bruno@clisp.org>
14722
14723         New module 'wmemcmp'.
14724         * modules/wmemcmp: New file.
14725         * lib/wchar.in.h (wmemcmp): New declaration.
14726         * lib/wmemcmp.c: New file.
14727         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14728         * m4/wmemcmp.m4: New file.
14729         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14730         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14731         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14732         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14733         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14734
14735 2011-02-07  Jim Meyering  <meyering@redhat.com>
14736
14737         di-set, ino-map: new modules, from coreutils
14738         * lib/di-set.c: New file.
14739         * lib/di-set.h: Likewise.
14740         * lib/ino-map.c: Likewise.
14741         * lib/ino-map.h: Likewise.
14742         * modules/di-set: Likewise.
14743         * modules/di-set-tests: Likewise.
14744         * modules/ino-map: Likewise.
14745         * modules/ino-map-tests: Likewise.
14746         * tests/test-di-set.c: Likewise.
14747         * tests/test-ino-map.c: Likewise.
14748
14749 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14750
14751         getloadavg: merge minor changes from Emacs
14752
14753         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14754         (getloadavg): Use memset, not bzero.
14755
14756         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14757         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14758         clash (bug#86).
14759
14760 2010-11-14  Bruno Haible  <bruno@clisp.org>
14761
14762         Allow multiple gnulib generated replacements to coexist.
14763         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14764         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14765         * lib/langinfo.in.h (nl_item): Likewise.
14766         * lib/math.in.h (_NaN, NAN): Likewise.
14767         * lib/netdb.in.h (struct addrinfo): Likewise.
14768         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14769         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14770         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14771         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14772         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14773         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14774         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14775         pthread_mutexattr_init, pthread_mutexattr_settype,
14776         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14777         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14778         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14779         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14780         * lib/sched.in.h (struct sched_param): Likewise.
14781         * lib/se-selinux.in.h (security_class_t, security_context_t,
14782         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14783         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14784         lsetfilecon, fsetfilecon, security_check_context,
14785         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14786         Likewise.
14787         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14788         Likewise.
14789         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14790         _gl_function_taking_int_returning_void_t, union sigval,
14791         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14792         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14793         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14794         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14795         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14796         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14797         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14798         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14799         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14800         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14801         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14802         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14803         socklen_t, rpl_fd_isset): Likewise.
14804         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14805         * lib/sys_time.in.h (struct timeval): Likewise.
14806         * lib/sys_times.in.h (struct tms): Likewise.
14807         * lib/sys_utsname.in.h (struct utsname):
14808         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14809         * lib/unistd.in.h (getpagesize): Likewise.
14810         * lib/wchar.in.h (mbstate_t): Likewise.
14811         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14812         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14813         towlower, towupper): Likewise.
14814         Reported by Sam Steingold <sds@gnu.org>.
14815
14816 2011-02-05  Eric Blake  <eblake@redhat.com>
14817
14818         unsetenv: work around Haiku issues
14819         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14820         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14821
14822 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14823
14824         libposix: avoid calling error() within libposix
14825         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14826         is defined.
14827
14828 2011-02-05  Eric Blake  <eblake@redhat.com>
14829
14830         strerror_r-posix: port to cygwin
14831         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14832         implementation.
14833         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14834         * tests/test-strerror_r.c (main): Fix test.
14835         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14836         issue.
14837
14838 2011-02-05  Bruno Haible  <bruno@clisp.org>
14839
14840         New module 'wmemchr'.
14841         * modules/wmemchr: New file.
14842         * lib/wchar.in.h (wmemchr): New declaration.
14843         * lib/wmemchr.c: New file.
14844         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14845         * m4/wmemchr.m4: New file.
14846         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14847         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14848         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14849         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14850         * doc/posix-functions/wmemchr.texi: Mention the new module.
14851
14852 2011-02-04  Eric Blake  <eblake@redhat.com>
14853
14854         fdopendir: detect FreeBSD bug
14855         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14856         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14857
14858 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14859
14860         stdbool: do not define HAVE_STDBOOL_H
14861         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14862         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14863         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14864         imported from the latest Autoconf git.  It was motivated by Emacs,
14865         which uses gnulib but does not need HAVE_STDBOOL_H.
14866
14867 2011-02-04  Bruno Haible  <bruno@clisp.org>
14868
14869         wcsnrtombs: Prepare for new module wwcsnrtombs.
14870         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14871         * lib/wcsnrtombs.c: Include it.
14872         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14873
14874         wcsrtombs: Prepare for new module wwcsrtombs.
14875         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14876         * lib/wcsrtombs.c: Include it.
14877         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14878
14879         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14880         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14881         * lib/mbsnrtowcs.c: Include it.
14882         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14883
14884         mbsrtowcs: Prepare for new module mbsrtowwcs.
14885         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14886         * lib/mbsrtowcs.c: Include it.
14887         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14888
14889 2011-02-04  Bruno Haible  <bruno@clisp.org>
14890
14891         vasnprintf: Reduce use of malloc for small format strings.
14892         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14893         (arguments): Add room for the first 7 arguments.
14894         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14895         (char_directives, u8_directives, u16_directives, u32_directives): Add
14896         room for the first 7 directives.
14897         * lib/printf-parse.c: Include <string.h>.
14898         (PRINTF_PARSE): Change memory handling code so that it uses the first
14899         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14900         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14901         Reported by Pádraig Brady <P@draigbrady.com>.
14902
14903 2011-01-31  Eric Blake  <eblake@redhat.com>
14904
14905         dup2: work around Haiku bug
14906         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14907         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14908         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14909         * tests/test-dup2.c (main): Enhance test.
14910
14911 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14912
14913         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14914         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14915         declared by eglibc 2.11.2.
14916         * lib/stdio.in.h: Likewise.
14917
14918 2011-01-31  Eric Blake  <eblake@redhat.com>
14919
14920         ignore-value: add missing test dependency
14921         * tests/test-ignore-value.c: Revert previous change; stdio.h
14922         provides off_t.
14923         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14924
14925 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14926
14927         mktime: clarify long_int width checking
14928         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14929         the top level, to make it clearer that the assumption about
14930         long_int width is being checked.  See
14931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14932
14933 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14934
14935         ignore-value: Fix self-test.
14936         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14937
14938 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14939
14940         TYPE_MAXIMUM: avoid theoretically undefined behavior
14941         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14942         negative number, which the C Standard says has undefined behavior.
14943         In practice this is not a problem, but might as well do it by the book.
14944         Reported by Rich Felker and Eric Blake; see
14945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14946         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14947         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14948         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14949         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14950         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14951         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14952
14953         mktime: #undef mktime before #defining it
14954         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14955
14956         mktime: systematically normalize tm_isdst comparisons
14957         * lib/mktime.c (isdst_differ): New function.
14958         (__mktime_internal): Use it systematically for all isdst comparisons.
14959         This completes the fix for libc BZ #6723, and removes the need for
14960         normalizing tm_isdst.  See
14961         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14962         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14963
14964         mktime: fix some integer overflow issues and sidestep the rest
14965
14966         This was prompted by a bug report by Benjamin Lindner for MinGW
14967         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14968         His bug is due to signed integer overflow (0 - INT_MIN), and I
14969         I scanned through mktime.c looking for other integer overflow
14970         problems, fixing all the bugs I found.
14971
14972         Although the C Standard says the resulting code is still not safe
14973         in the presence of integer overflow, in practice it should be good
14974         enough for all real-world two's-complement implementations, except
14975         for debugging environments that deliberately trap on integer
14976         overflow (e.g., gcc -ftrapv).
14977
14978         * lib/mktime.c (WRAPV): New macro.
14979         (SHR): Also check that long_int and time_t shift right in the
14980         usual way, before using the fast-but-unportable method.
14981         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14982         used.  The code already assumed two's complement, so there's
14983         no need to test for alternatives.  All uses removed.
14984         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14985         the C standard.  Problem reported by Rich Felker in
14986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14987         (twos_complement_arithmetic): Also check long_int and time_t.
14988         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14989         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14990         (__mktime_internal): Avoid integer overflow with unary subtraction
14991         in two instances where -1 - X is an adequate replacement for -X,
14992         since the calculations are approximate.
14993
14994 2011-01-29  Eric Blake  <eblake@redhat.com>
14995
14996         mktime: avoid infinite loop
14997         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14998         type; behavior is still undefined but portable to all known targets.
14999         Reported by Rich Felker.
15000
15001 2011-01-29  Simon Josefsson  <simon@josefsson.org>
15002
15003         rename, unlink, same-inode: Relicense.
15004         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
15005         * modules/unlink (License): Likewise.
15006         * modules/same-inode (License): Likewise.
15007
15008 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15009
15010         mktime: avoid problems on NetBSD 5 / i386
15011         * lib/mktime.c (long_int): New type.  This works around a problem
15012         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
15013         but time_t is 64 bits, and where I expect the existing code is
15014         wrong in some cases.
15015         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
15016         (ydhms_diff): Bring back the compile-time check for wide-enough
15017         year and yday.
15018
15019         mktime: fix misspelling in comment
15020         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
15021         This merges all recent glibc changes of importance.
15022
15023 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15024
15025         move-if-change: cope with concurrent mv of identical file.
15026         * build-aux/move-if-change (CMPPROG): Accept environment
15027         variable as an override for `cmp'.
15028         (usage): Document CMPPROG.
15029         Adjust comparison to drop stdout.  Cope with failure of mv if
15030         the target file exists and is identical to the source, for
15031         parallel builds.
15032         Report from H.J. Lu against binutils in PR binutils/12283.
15033
15034 2011-01-28  Bruce Korb  <bkorb@gnu.org>
15035
15036         * users.txt: Mention sharutils.
15037
15038 2011-01-28  Simon Josefsson  <simon@josefsson.org>
15039
15040         * users.txt: Mention OATH Toolkit.
15041
15042 2011-01-27  Bruno Haible  <bruno@clisp.org>
15043
15044         Prepare for supporting FreeBSD 10.
15045         * build-aux/config.libpath: Remove handling of freebsd1*.
15046
15047 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
15048
15049         Prepare for supporting FreeBSD 10.
15050         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
15051         match FreeBSD 10.0.
15052
15053 2011-01-27  Bruno Haible  <bruno@clisp.org>
15054
15055         vma-iter, get-rusage-as: Add OpenBSD support.
15056         * modules/vma-iter (configure.ac): Test for mquery.
15057         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
15058         * lib/vma-iter.c: Include <sys/mman.h>.
15059         (vma_iterate): Add an implementation based on mquery().
15060         * lib/resource-ext.h (get_rusage_as): Update comments.
15061         * lib/get-rusage-as.c: Likewise.
15062         * lib/get-rusage-data.c: Likewise.
15063
15064 2011-01-26  Karl Berry  <karl@gnu.org>
15065
15066         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
15067         variables to make it easier to override the makeinfo program used.
15068
15069 2011-01-26  Eric Blake  <eblake@redhat.com>
15070
15071         fcntl: work around Haiku F_DUPFD bugs
15072         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
15073         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
15074         cloexec bit on duplication.
15075         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
15076
15077 2011-01-26  Bruno Haible  <bruno@clisp.org>
15078
15079         Enable memory leak tests on AIX.
15080         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
15081         * tests/test-fprintf-posix3.c (main): Likewise.
15082
15083 2011-01-26  Bruno Haible  <bruno@clisp.org>
15084
15085         Tests for module 'get-rusage-data'.
15086         * modules/get-rusage-data-tests: New file.
15087         * tests/test-get-rusage-data.c: New file.
15088
15089         New module 'get-rusage-data'.
15090         * lib/resource-ext.h (get_rusage_data): New declaration.
15091         * lib/get-rusage-data.c: New file.
15092         * modules/get-rusage-data: New file.
15093
15094 2011-01-25  Bruno Haible  <bruno@clisp.org>
15095
15096         get-rusage-as: Allow for easier testing.
15097         * lib/resource-ext.h (get_rusage_as): Add comment.
15098         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
15099         (main): New function for interactive testing.
15100
15101 2011-01-25  Bruno Haible  <bruno@clisp.org>
15102
15103         vma-iter: Treat Haiku like BeOS.
15104         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
15105         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
15106
15107 2011-01-25  Eric Blake  <eblake@redhat.com>
15108
15109         c-stack: fix regression on cygwin when libsigsegv is present
15110         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
15111
15112 2011-01-24  Bruno Haible  <bruno@clisp.org>
15113
15114         vma-iter: Avoid empty intervals.
15115         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
15116         on an empty interval.
15117
15118 2011-01-24  Jim Meyering  <meyering@redhat.com>
15119
15120         u64: remove unnecessary #include
15121         * lib/u64.h: Don't include <stddef.h>.  It was not used.
15122
15123 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15124
15125         Allow the user to avoid the HAVE_RAW_DECL_* macros.
15126         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
15127
15128 2011-01-23  Bruno Haible  <bruno@clisp.org>
15129
15130         New module 'vma-iter'.
15131         * lib/vma-iter.h: New file.
15132         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
15133         * modules/vma-iter: New file.
15134         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
15135         for get_rusage_as_via_iterator.
15136         (vma_iterate_callback): New function.
15137         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
15138         * modules/get-rusage-as (Depends-on): Add vma-iter.
15139
15140 2011-01-23  Bruno Haible  <bruno@clisp.org>
15141
15142         uninorm: Tweak includes.
15143         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
15144         Reported by Jim Meyering.
15145
15146 2011-01-23  Bruno Haible  <bruno@clisp.org>
15147
15148         get-rusage-as: Improve on NetBSD.
15149         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
15150         /proc, like on FreeBSD.
15151
15152 2011-01-23  Jim Meyering  <meyering@redhat.com>
15153
15154         xreadlink.h: remove unnecessary #include
15155         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
15156
15157         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
15158         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
15159
15160 2011-01-23  Bruno Haible  <bruno@clisp.org>
15161
15162         get-rusage-as: Fix bug.
15163         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
15164         original limit when aborting the first loop.
15165
15166 2011-01-23  Bruno Haible  <bruno@clisp.org>
15167
15168         wctype: Ensure valid C syntax.
15169         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
15170         unconditionally, instead of gl_NEXT_HEADERS conditionally.
15171
15172 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15173
15174         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
15175         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
15176         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
15177         as they are needed only for configure's test case.
15178         This removes two unnecessary symbols from config.h.
15179
15180         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
15181         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
15182         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
15183         AC_CHECK_HEADERS_ONCE on a header that we also invoke
15184         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
15185         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
15186         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
15187         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
15188         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15189         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15190         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
15191         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15192         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15193         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15194         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
15195         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15196         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
15197         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
15198
15199 2011-01-21  Eric Blake  <eblake@redhat.com>
15200
15201         maintainer-makefile: work with older git for submodule check
15202         * top/maint.mk (public-submodule-commit): Rewrite to avoid
15203         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
15204         Reported by Matthias Bolte.
15205
15206         bootstrap: minor portability fixes
15207         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
15208         (usage): Omit leading capital and trailing . on help phrases, per
15209         GNU Coding Standards.
15210         (check_versions, top level): Prefix messages with script name.
15211
15212 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
15213
15214         bootstrap: support --no-git option
15215         * build-aux/bootstrap: Add --no-git option, to be used when
15216         --gnulib-srcdir points to the exact desired checkout.
15217
15218 2011-01-21  Eric Blake  <eblake@redhat.com>
15219
15220         strerror_r-posix: work with glibc 2.13
15221         * lib/strerror_r.c (strerror_r): Fix return type.
15222
15223 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15224             Bruno Haible  <bruno@clisp.org>
15225
15226         uN_strstr: New unit tests.
15227         * modules/unistr/u8-strstr-tests: New file.
15228         * modules/unistr/u16-strstr-tests: New file.
15229         * modules/unistr/u32-strstr-tests: New file.
15230         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
15231         * tests/unistr/test-u8-strstr.c: New file.
15232         * tests/unistr/test-u16-strstr.c: New file.
15233         * tests/unistr/test-u32-strstr.c: New file.
15234
15235 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15236             Bruno Haible  <bruno@clisp.org>
15237
15238         Make uN_strstr functions O(n) worst-case.
15239         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
15240         16-bit and 32-bit unit cases, use the unibyte algorithm from
15241         lib/mbsstr.c.
15242         * lib/unistr/u8-strstr.c: Include <string.h>.
15243         (UNIT_IS_UINT8_T): New macro.
15244         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
15245         (U_STRLEN, U_STRNLEN): New macros.
15246         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
15247         (U_STRLEN, U_STRNLEN): New macros.
15248         * modules/unistr/u8-strstr (Depends-on): Add strstr.
15249         (configure.ac): Update required libunistring version.
15250         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
15251         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
15252         malloca.
15253         (configure.ac): Update required libunistring version.
15254         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
15255         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
15256         malloca.
15257         (configure.ac): Update required libunistring version.
15258
15259 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15260             Bruno Haible  <bruno@clisp.org>
15261
15262         Prepare for faster uN_strstr functions.
15263         * lib/str-kmp.h: Support definable UNITs.
15264         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
15265         needle_len argument.
15266         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
15267         * lib/mbscasestr.c (mbscasestr): Likewise.
15268
15269 2011-01-21  Pádraig Brady <P@draigBrady.com>
15270
15271         malloca-tests: make faster by unsetting MALLOC_PERTURB_
15272         * tests/test-malloca.c (main): Unset the environment variable
15273         to greatly speed up the test.
15274         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
15275         * modules/malloca-tests: Depend on unsetenv.
15276
15277 2011-01-21  Pádraig Brady <P@draigBrady.com>
15278
15279         ignore-value: remove stdint dependency
15280         * lib/ignore-value.h: Remove <stdint.h>
15281         * modules/ignore-value: Remove stdint dependency.
15282
15283 2011-01-21  Jim Meyering  <meyering@redhat.com>
15284
15285         maint.mk: adjust variable name to be consistent with other gl_ vars
15286         * top/maint.mk (gl_public_submodule_commit): Rename the variable
15287         to be lower case.
15288
15289 2011-01-20  Jim Meyering  <meyering@redhat.com>
15290
15291         maint.mk: make "check" depend on public-submodule-commit by default
15292         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
15293
15294 2011-01-20  Bruno Haible  <bruno@clisp.org>
15295
15296         mbfile, mbiter: Complete change from 2008-12-21.
15297         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
15298         * m4/mbiter.m4 (gl_MBITER): Likewise.
15299
15300 2011-01-20  Jim Meyering  <meyering@redhat.com>
15301
15302         init.sh: insert space between each function name and "()"
15303         * tests/init.sh: Make it a little easier to see that a function's
15304         name is "warn_", and not "warn" when looking at the first part of
15305         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
15306
15307 2011-01-20  Jim Meyering  <meyering@redhat.com>
15308
15309         mountlist: clean up code formatting
15310         * lib/mountlist.c (read_file_system_list): Split a long line,
15311         correct bracing style, use NULL in place of "(struct statfs *)0",
15312         don't parenthesize return value, add spaces around "=" and after
15313         ";-in-for-stmt".
15314
15315 2011-01-14  Markus Duft <mduft@gentoo.org>
15316
15317         mountlist: add support for Interix
15318         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
15319         Apply statvfs to all entries of /dev/fs.
15320         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
15321         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
15322
15323 2011-01-20  Jim Meyering  <meyering@redhat.com>
15324
15325         maint.mk: improve the public-submodule-commit rule
15326         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
15327         to suppress printing of its commands... unless V=1.
15328         Add git submodule's --quiet option to suppress printing of e.g.,
15329         "Entering gnulib" output.
15330         "cd" into $(srcdir) before running git submodule.
15331
15332 2011-01-20  Bruno Haible  <bruno@clisp.org>
15333
15334         include_next: Fix bug introduced on 2011-01-18.
15335         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
15336         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
15337         ac_cv_header_... variable if the second argument is not 'check'.
15338         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
15339         gl_NEXT_HEADERS_INTERNAL.
15340
15341 2011-01-20  Bruno Haible  <bruno@clisp.org>
15342
15343         Allow the user to avoid the GNULIB_TEST_* macros.
15344         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
15345         Suggested by Paul Eggert.
15346
15347 2011-01-14  Jim Meyering  <meyering@redhat.com>
15348
15349         bootstrap: avoid failure when there is no .gitmodules file
15350         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
15351         has been assigned to, even when its value is the empty string.
15352         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
15353         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
15354         Reported by John W. Eaton <jwe@gnu.org>.
15355
15356 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15357
15358         assume <ctype.h>, ..., <time.h> exist
15359         For years gnulib has been assuming the existence of the headers
15360         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
15361         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
15362         them, since they don't appear to be needed.
15363         * README (Portability guidelines): Document this.
15364         * lib/flock.c: Assume <fcntl.h> exists.
15365         * lib/regex_internal.h: Assume <locale.h> exists.
15366         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
15367         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
15368         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
15369         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
15370         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
15371         * m4/regex.m4 (gl_REGEX): Likewise.
15372         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
15373         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
15374         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
15375         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
15376         * tests/test-argp.c: Likewise.
15377         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
15378
15379         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
15380         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
15381         AA_APPLE_UNIVERSAL_BUILD.  See
15382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
15383         * NEWS: Document this.
15384
15385 2011-01-19  Eric Blake  <eblake@redhat.com>
15386
15387         c-stack: assume stack overflow if SA_SIGINFO unsupported
15388         * lib/c-stack.c (SIGACTION_WORKS): Rename...
15389         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
15390         sigaction will work.
15391         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
15392         behavior match Linux.
15393         * tests/test-c-stack.c (main): Prefer NULL for pointers.
15394
15395         stdbool-tests: accomodate Haiku
15396         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
15397
15398         binary-io: fix O_TEXT on Haiku
15399         * modules/binary-io (Depends-on): Add fcntl-h.
15400         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
15401         than blindly undefining O_TEXT.
15402         Reported by Scott McCreary.
15403
15404 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15405
15406         include_next: do not check for standard headers like stddef.h
15407
15408         I found this problem when modifying Emacs to use gnulib.
15409         I noticed that it added HAVE_STDDEF_H to config.h, even though
15410         gnulib always assumes <stddef.h> exists as per README and this
15411         symbol is unnecessary.
15412         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15413         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15414         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15415         faster for headers like stddef.h that are known to exist.
15416         (gl_CHECK_NEXT_HEADERS): Use it.
15417         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15418         rather than gl_CHECK_NEXT_HEADERS.
15419         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15420         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15421
15422 2011-01-18  Eric Blake  <eblake@redhat.com>
15423
15424         ansi-c++-opt: skip C++ dependency style if C++ is unused
15425         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15426         tests when we know C++ compilation is not desired.
15427         Reported by Scott McCreary.
15428
15429 2011-01-18  Bruno Haible  <bruno@clisp.org>
15430
15431         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15432         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15433         (main): Perform test also when getrlimit and setrlimit don't exist or
15434         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15435         limiting the address space size using setrlimit, compare the address
15436         space size before and after the the test.
15437         * tests/test-dprintf-posix2.c: Likewise.
15438         * tests/test-fprintf-posix3.sh: Update skip messages.
15439         * tests/test-dprintf-posix2.sh: Likewise.
15440         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15441         * modules/dprintf-posix-tests (Depends-on): Likewise.
15442         Reported by Bruce Korb <bkorb@gnu.org> and
15443         Gary V. Vaughan <gary@gnu.org>.
15444
15445 2011-01-18  Bruno Haible  <bruno@clisp.org>
15446
15447         get-rusage-as: Improvement for Cygwin.
15448         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15449         areas that are merely reserved.
15450
15451 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15452
15453         strftime: remove dependencies on multibyte modules
15454
15455         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15456         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15457         only if __osf__ is defined, and I suspect OSF doesn't need these
15458         other modules.  If my guess is wrong, we'll need to come up with a
15459         variant of strftime that doesn't need the multibyte modules.
15460
15461         I discovered this problem when attempting modify Emacs to use the
15462         strftime module.  With the previous gnulib, this caused Emacs to
15463         need 31 new files, ranging from lib/config.charset to
15464         m4/wint_t.m4.  This was overkill and I expect would be offputting
15465         to the Emacs maintainers.  After this change, only 6 new files are
15466         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15467         stdbool.m4, and tm_gmtoff.m4.
15468
15469         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15470         Suggested by Bruno Haible in
15471         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15472         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15473         and do not check for wchar.h.
15474         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15475         (Depends-on): Remove mbrlen, mbsinit, wchar.
15476
15477 2011-01-18  Bruno Haible  <bruno@clisp.org>
15478
15479         Tests for module 'get-rusage-as'.
15480         * modules/get-rusage-as-tests: New file.
15481         * tests/test-get-rusage-as.c: New file.
15482
15483         New module 'get-rusage-as'.
15484         * modules/get-rusage-as: New file.
15485         * lib/resource-ext.h: New file.
15486         * lib/get-rusage-as.c: New file.
15487
15488 2011-01-17  Eric Blake  <eblake@redhat.com>
15489
15490         sigaction: relax license from LGPLv3+ to LGPLv2+
15491         * modules/sigaction (License): Relax to LGPLv2+.
15492
15493 2011-01-14  Bruno Haible  <bruno@clisp.org>
15494
15495         filemode: Make function declarations usable in C++ mode.
15496         * lib/filemode.h: Enclose function declarations in extern "C" block.
15497         Reported by John W. Eaton <jwe@gnu.org>.
15498
15499 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15500
15501         save-cwd: no longer include "xgetcwd.h"
15502         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15503         This avoids a compilation failure in projects that use save-cwd
15504         without also using the xgetcwd module.
15505
15506 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15507
15508         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15509         This is so that a program like Emacs, which needs only dtoastr,
15510         does not have to bother with distributing and compiling ftoastr
15511         and ldtoastr.
15512         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15513         * modules/dtoastr, modules/ldtoastr: New files.
15514         * modules/ftoastr: Now works just for 'float'.
15515         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15516         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15517         dtoastr.c, ldtoastr.c.
15518
15519 2011-01-11  Jim Meyering  <meyering@redhat.com>
15520
15521         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15522         There is no need to work around the lack of the fchdir function,
15523         since gnulib can now provide a replacement when required.
15524         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15525         * modules/save-cwd (Depends-on): Add fchdir.
15526
15527 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15528
15529         openat, save-cwd: avoid xmalloc
15530
15531         This removes a direct (but undocumented) dependency of openat on
15532         xalloc, along with an indirect dependency via save-cwd.  It also
15533         removes a dependency of save-cwd on xgetcwd, and thereby
15534         indirectly on xalloc.  This change causes the openat substitute
15535         to fall back on save_cwd when memory is tight, and for save_cwd to
15536         fail instead of dying when memory is tight, but that's good enough.
15537         Problem and initial idea for fix reported by Bastien Roucaries in
15538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15539
15540         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15541         xalloc.h (for xmalloc).
15542         (openat_proc_name): Use malloc, not xmalloc.
15543         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15544         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15545
15546         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15547         This avoids heap allocation for file names whose lengths are in
15548         the range 512..1023, with the upper bound increasing to at most
15549         4031 depending on the platform's PATH_MAX.  (We do not want
15550         pathmax.h here as it might supply a non-constant PATH_MAX.)
15551         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15552         Perhaps they should be moved to malloca.h?
15553         (OPENAT_BUFFER_SIZE): Use them.
15554
15555 2011-01-10  Bruno Haible  <bruno@clisp.org>
15556
15557         doc: Update users.txt.
15558         * users.txt: Add recutils.
15559
15560 2011-01-09  Karl Berry  <karl@gnu.org>
15561
15562         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15563
15564         * doc/configmake.texi: New file.
15565         * doc/gnulib.texi: Include it.
15566         * modules/configmake: Move documentation from here.
15567
15568 2011-01-09  Bruno Haible  <bruno@clisp.org>
15569
15570         Update to Unicode 6.0.0.
15571         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15572         (get_lbp): Update for Unicode 6.0.0.
15573         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15574         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15575         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15576         U+11001, U+11038..U+11046. Remove U+06DE.
15577         (uc_width): Fix bounds of planes.
15578         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15579         lib/uniwidth/width.c.
15580         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15581         trailing whitespace removed.
15582         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15583         without comments, but with the original copyright notice.
15584         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15585         * lib/unicase/ignorable.h: Likewise.
15586         * lib/unicase/tocasefold.h: Likewise.
15587         * lib/unicase/tolower.h: Likewise.
15588         * lib/unicase/totitle.h: Likewise.
15589         * lib/unicase/toupper.h: Likewise.
15590         * lib/unictype/bidi_of.h: Likewise.
15591         * lib/unictype/blocks.h: Likewise.
15592         * lib/unictype/categ_C.h: Likewise.
15593         * lib/unictype/categ_Cn.h: Likewise.
15594         * lib/unictype/categ_L.h: Likewise.
15595         * lib/unictype/categ_Ll.h: Likewise.
15596         * lib/unictype/categ_Lm.h: Likewise.
15597         * lib/unictype/categ_Lo.h: Likewise.
15598         * lib/unictype/categ_Lu.h: Likewise.
15599         * lib/unictype/categ_M.h: Likewise.
15600         * lib/unictype/categ_Mc.h: Likewise.
15601         * lib/unictype/categ_Me.h: Likewise.
15602         * lib/unictype/categ_Mn.h: Likewise.
15603         * lib/unictype/categ_N.h: Likewise.
15604         * lib/unictype/categ_Nd.h: Likewise.
15605         * lib/unictype/categ_No.h: Likewise.
15606         * lib/unictype/categ_P.h: Likewise.
15607         * lib/unictype/categ_Po.h: Likewise.
15608         * lib/unictype/categ_S.h: Likewise.
15609         * lib/unictype/categ_Sc.h: Likewise.
15610         * lib/unictype/categ_Sk.h: Likewise.
15611         * lib/unictype/categ_Sm.h: Likewise.
15612         * lib/unictype/categ_So.h: Likewise.
15613         * lib/unictype/categ_of.h: Likewise.
15614         * lib/unictype/combining.h: Likewise.
15615         * lib/unictype/ctype_alnum.h: Likewise.
15616         * lib/unictype/ctype_alpha.h: Likewise.
15617         * lib/unictype/ctype_graph.h: Likewise.
15618         * lib/unictype/ctype_lower.h: Likewise.
15619         * lib/unictype/ctype_print.h: Likewise.
15620         * lib/unictype/ctype_punct.h: Likewise.
15621         * lib/unictype/ctype_upper.h: Likewise.
15622         * lib/unictype/decdigit.h: Likewise.
15623         * lib/unictype/digit.h: Likewise.
15624         * lib/unictype/numeric.h: Likewise.
15625         * lib/unictype/pr_alphabetic.h: Likewise.
15626         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15627         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15628         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15629         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15630         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15631         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15632         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15633         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15634         * lib/unictype/pr_case_ignorable.h: Likewise.
15635         * lib/unictype/pr_cased.h: Likewise.
15636         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15637         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15638         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15639         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15640         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15641         * lib/unictype/pr_combining.h: Likewise.
15642         * lib/unictype/pr_composite.h: Likewise.
15643         * lib/unictype/pr_currency_symbol.h: Likewise.
15644         * lib/unictype/pr_decimal_digit.h: Likewise.
15645         * lib/unictype/pr_deprecated.h: Likewise.
15646         * lib/unictype/pr_format_control.h: Likewise.
15647         * lib/unictype/pr_grapheme_base.h: Likewise.
15648         * lib/unictype/pr_grapheme_extend.h: Likewise.
15649         * lib/unictype/pr_grapheme_link.h: Likewise.
15650         * lib/unictype/pr_id_continue.h: Likewise.
15651         * lib/unictype/pr_id_start.h: Likewise.
15652         * lib/unictype/pr_ideographic.h: Likewise.
15653         * lib/unictype/pr_lowercase.h: Likewise.
15654         * lib/unictype/pr_math.h: Likewise.
15655         * lib/unictype/pr_numeric.h: Likewise.
15656         * lib/unictype/pr_other_alphabetic.h: Likewise.
15657         * lib/unictype/pr_other_id_continue.h: Likewise.
15658         * lib/unictype/pr_other_math.h: Likewise.
15659         * lib/unictype/pr_punctuation.h: Likewise.
15660         * lib/unictype/pr_sentence_terminal.h: Likewise.
15661         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15662         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15663         * lib/unictype/pr_unified_ideograph.h: Likewise.
15664         * lib/unictype/pr_uppercase.h: Likewise.
15665         * lib/unictype/pr_xid_continue.h: Likewise.
15666         * lib/unictype/pr_xid_start.h: Likewise.
15667         * lib/unictype/scripts.h: Likewise.
15668         * lib/unictype/scripts_byname.gperf: Likewise.
15669         * lib/unictype/sy_java_ident.h: Likewise.
15670         * lib/unigbrk/gbrkprop.h: Likewise.
15671         * lib/unilbrk/lbrkprop1.h: Likewise.
15672         * lib/unilbrk/lbrkprop2.h: Likewise.
15673         * lib/uninorm/decomposition-table2.h: Likewise.
15674         * lib/uniwbrk/wbrkprop.h: Likewise.
15675         * tests/unicase/test-cased.c: Likewise.
15676         * tests/unicase/test-ignorable.c: Likewise.
15677         * tests/unicase/test-uc_tolower.c: Likewise.
15678         * tests/unicase/test-uc_totitle.c: Likewise.
15679         * tests/unicase/test-uc_toupper.c: Likewise.
15680         * tests/unictype/test-categ_C.c: Likewise.
15681         * tests/unictype/test-categ_Cn.c: Likewise.
15682         * tests/unictype/test-categ_L.c: Likewise.
15683         * tests/unictype/test-categ_Ll.c: Likewise.
15684         * tests/unictype/test-categ_Lm.c: Likewise.
15685         * tests/unictype/test-categ_Lo.c: Likewise.
15686         * tests/unictype/test-categ_Lu.c: Likewise.
15687         * tests/unictype/test-categ_M.c: Likewise.
15688         * tests/unictype/test-categ_Mc.c: Likewise.
15689         * tests/unictype/test-categ_Me.c: Likewise.
15690         * tests/unictype/test-categ_Mn.c: Likewise.
15691         * tests/unictype/test-categ_N.c: Likewise.
15692         * tests/unictype/test-categ_Nd.c: Likewise.
15693         * tests/unictype/test-categ_No.c: Likewise.
15694         * tests/unictype/test-categ_P.c: Likewise.
15695         * tests/unictype/test-categ_Po.c: Likewise.
15696         * tests/unictype/test-categ_S.c: Likewise.
15697         * tests/unictype/test-categ_Sc.c: Likewise.
15698         * tests/unictype/test-categ_Sk.c: Likewise.
15699         * tests/unictype/test-categ_Sm.c: Likewise.
15700         * tests/unictype/test-categ_So.c: Likewise.
15701         * tests/unictype/test-ctype_alnum.c: Likewise.
15702         * tests/unictype/test-ctype_alpha.c: Likewise.
15703         * tests/unictype/test-ctype_graph.c: Likewise.
15704         * tests/unictype/test-ctype_lower.c: Likewise.
15705         * tests/unictype/test-ctype_print.c: Likewise.
15706         * tests/unictype/test-ctype_punct.c: Likewise.
15707         * tests/unictype/test-ctype_upper.c: Likewise.
15708         * tests/unictype/test-decdigit.h: Likewise.
15709         * tests/unictype/test-digit.h: Likewise.
15710         * tests/unictype/test-numeric.h: Likewise.
15711         * tests/unictype/test-pr_alphabetic.c: Likewise.
15712         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15713         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15714         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15715         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15716         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15717         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15718         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15719         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15720         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15721         * tests/unictype/test-pr_cased.c: Likewise.
15722         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15723         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15724         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15725         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15726         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15727         * tests/unictype/test-pr_combining.c: Likewise.
15728         * tests/unictype/test-pr_composite.c: Likewise.
15729         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15730         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15731         * tests/unictype/test-pr_deprecated.c: Likewise.
15732         * tests/unictype/test-pr_format_control.c: Likewise.
15733         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15734         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15735         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15736         * tests/unictype/test-pr_id_continue.c: Likewise.
15737         * tests/unictype/test-pr_id_start.c: Likewise.
15738         * tests/unictype/test-pr_ideographic.c: Likewise.
15739         * tests/unictype/test-pr_lowercase.c: Likewise.
15740         * tests/unictype/test-pr_math.c: Likewise.
15741         * tests/unictype/test-pr_numeric.c: Likewise.
15742         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15743         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15744         * tests/unictype/test-pr_other_math.c: Likewise.
15745         * tests/unictype/test-pr_punctuation.c: Likewise.
15746         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15747         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15748         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15749         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15750         * tests/unictype/test-pr_uppercase.c: Likewise.
15751         * tests/unictype/test-pr_xid_continue.c: Likewise.
15752         * tests/unictype/test-pr_xid_start.c: Likewise.
15753         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15754         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15755         changes.
15756         * lib/unictype/categ_Cc.h: Likewise.
15757         * lib/unictype/categ_Cf.h: Likewise.
15758         * lib/unictype/categ_Co.h: Likewise.
15759         * lib/unictype/categ_Cs.h: Likewise.
15760         * lib/unictype/categ_Lt.h: Likewise.
15761         * lib/unictype/categ_Nl.h: Likewise.
15762         * lib/unictype/categ_Pc.h: Likewise.
15763         * lib/unictype/categ_Pd.h: Likewise.
15764         * lib/unictype/categ_Pe.h: Likewise.
15765         * lib/unictype/categ_Pf.h: Likewise.
15766         * lib/unictype/categ_Pi.h: Likewise.
15767         * lib/unictype/categ_Ps.h: Likewise.
15768         * lib/unictype/categ_Z.h: Likewise.
15769         * lib/unictype/categ_Zl.h: Likewise.
15770         * lib/unictype/categ_Zp.h: Likewise.
15771         * lib/unictype/categ_Zs.h: Likewise.
15772         * lib/unictype/ctype_blank.h: Likewise.
15773         * lib/unictype/ctype_cntrl.h: Likewise.
15774         * lib/unictype/ctype_digit.h: Likewise.
15775         * lib/unictype/ctype_space.h: Likewise.
15776         * lib/unictype/ctype_xdigit.h: Likewise.
15777         * lib/unictype/mirror.h: Likewise.
15778         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15779         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15780         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15781         * lib/unictype/pr_bidi_control.h: Likewise.
15782         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15783         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15784         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15785         * lib/unictype/pr_bidi_pdf.h: Likewise.
15786         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15787         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15788         * lib/unictype/pr_dash.h: Likewise.
15789         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15790         * lib/unictype/pr_diacritic.h: Likewise.
15791         * lib/unictype/pr_extender.h: Likewise.
15792         * lib/unictype/pr_hex_digit.h: Likewise.
15793         * lib/unictype/pr_hyphen.h: Likewise.
15794         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15795         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15796         * lib/unictype/pr_ignorable_control.h: Likewise.
15797         * lib/unictype/pr_iso_control.h: Likewise.
15798         * lib/unictype/pr_join_control.h: Likewise.
15799         * lib/unictype/pr_left_of_pair.h: Likewise.
15800         * lib/unictype/pr_line_separator.h: Likewise.
15801         * lib/unictype/pr_logical_order_exception.h: Likewise.
15802         * lib/unictype/pr_non_break.h: Likewise.
15803         * lib/unictype/pr_not_a_character.h: Likewise.
15804         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15805         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15806         * lib/unictype/pr_other_id_start.h: Likewise.
15807         * lib/unictype/pr_other_lowercase.h: Likewise.
15808         * lib/unictype/pr_other_uppercase.h: Likewise.
15809         * lib/unictype/pr_paired_punctuation.h: Likewise.
15810         * lib/unictype/pr_paragraph_separator.h: Likewise.
15811         * lib/unictype/pr_pattern_syntax.h: Likewise.
15812         * lib/unictype/pr_pattern_white_space.h: Likewise.
15813         * lib/unictype/pr_private_use.h: Likewise.
15814         * lib/unictype/pr_quotation_mark.h: Likewise.
15815         * lib/unictype/pr_radical.h: Likewise.
15816         * lib/unictype/pr_soft_dotted.h: Likewise.
15817         * lib/unictype/pr_space.h: Likewise.
15818         * lib/unictype/pr_titlecase.h: Likewise.
15819         * lib/unictype/pr_variation_selector.h: Likewise.
15820         * lib/unictype/pr_white_space.h: Likewise.
15821         * lib/unictype/pr_zero_width.h: Likewise.
15822         * lib/unictype/sy_c_ident.h: Likewise.
15823         * lib/unictype/sy_c_whitespace.h: Likewise.
15824         * lib/unictype/sy_java_whitespace.h: Likewise.
15825         * lib/uninorm/composition-table.gperf: Likewise.
15826         * lib/uninorm/decomposition-table1.h: Likewise.
15827         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15828         LB8.
15829         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15830         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15831         * modules/unictype/*: Bump version number of expected libunistring
15832         version.
15833
15834 2011-01-09  Bruno Haible  <bruno@clisp.org>
15835
15836         Update to Unicode 5.2.0.
15837         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15838         trailing whitespace removed.
15839
15840 2011-01-09  Bruno Haible  <bruno@clisp.org>
15841
15842         New Unicode character properties, from Unicode 5.2.0.
15843         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15844         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15845         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15846         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15847         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15848         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15849         uc_is_property_cased, uc_is_property_case_ignorable,
15850         uc_is_property_changes_when_lowercased,
15851         uc_is_property_changes_when_uppercased,
15852         uc_is_property_changes_when_titlecased,
15853         uc_is_property_changes_when_casefolded,
15854         uc_is_property_changes_when_casemapped): New declarations.
15855         * lib/unictype/pr_byname.gperf: Add the new properties.
15856         * modules/unictype/property-byname (Depends-on): Depend on the new
15857         properties modules.
15858         * modules/unictype/property-all (Depends-on): Likewise.
15859         * MODULES.html.sh (Unicode string functions): Add
15860         unictype/property-case-ignorable, unictype/property-cased,
15861         unictype/property-changes-when-casefolded,
15862         unictype/property-changes-when-casemapped,
15863         unictype/property-changes-when-lowercased,
15864         unictype/property-changes-when-titlecased,
15865         unictype/property-changes-when-uppercased.
15866
15867         New module 'unictype/property-changes-when-casemapped'.
15868         * modules/unictype/property-changes-when-casemapped: New file.
15869         * lib/unictype/pr_changes_when_casemapped.c: New file.
15870         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15871         generated by gen-uni-tables.
15872         * modules/unictype/property-changes-when-casemapped-tests: New file.
15873         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15874         automatically generated by gen-uni-tables.
15875
15876         New module 'unictype/property-changes-when-casefolded'.
15877         * modules/unictype/property-changes-when-casefolded: New file.
15878         * lib/unictype/pr_changes_when_casefolded.c: New file.
15879         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15880         generated by gen-uni-tables.
15881         * modules/unictype/property-changes-when-casefolded-tests: New file.
15882         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15883         automatically generated by gen-uni-tables.
15884
15885         New module 'unictype/property-changes-when-titlecased'.
15886         * modules/unictype/property-changes-when-titlecased: New file.
15887         * lib/unictype/pr_changes_when_titlecased.c: New file.
15888         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15889         generated by gen-uni-tables.
15890         * modules/unictype/property-changes-when-titlecased-tests: New file.
15891         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15892         automatically generated by gen-uni-tables.
15893
15894         New module 'unictype/property-changes-when-uppercased'.
15895         * modules/unictype/property-changes-when-uppercased: New file.
15896         * lib/unictype/pr_changes_when_uppercased.c: New file.
15897         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15898         generated by gen-uni-tables.
15899         * modules/unictype/property-changes-when-uppercased-tests: New file.
15900         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15901         automatically generated by gen-uni-tables.
15902
15903         New module 'unictype/property-changes-when-lowercased'.
15904         * modules/unictype/property-changes-when-lowercased: New file.
15905         * lib/unictype/pr_changes_when_lowercased.c: New file.
15906         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15907         generated by gen-uni-tables.
15908         * modules/unictype/property-changes-when-lowercased-tests: New file.
15909         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15910         automatically generated by gen-uni-tables.
15911
15912         New module 'unictype/property-case-ignorable'.
15913         * modules/unictype/property-case-ignorable: New file.
15914         * lib/unictype/pr_case_ignorable.c: New file.
15915         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15916         by gen-uni-tables.
15917         * modules/unictype/property-case-ignorable-tests: New file.
15918         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15919         generated by gen-uni-tables.
15920
15921         New module 'unictype/property-cased'.
15922         * modules/unictype/property-cased: New file.
15923         * lib/unictype/pr_cased.c: New file.
15924         * lib/unictype/pr_cased.h: New file, automatically generated by
15925         gen-uni-tables.
15926         * modules/unictype/property-cased-tests: New file.
15927         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15928         gen-uni-tables.
15929
15930 2011-01-09  Bruno Haible  <bruno@clisp.org>
15931
15932         Update to Unicode 5.2.0.
15933         * lib/gen-uni-tables.c (output_predicate, output_category,
15934         output_combclass, output_bidi_category, output_decimal_digit_test,
15935         output_decimal_digit, output_digit_test, output_digit,
15936         output_numeric_test, output_numeric, output_mirror, output_scripts,
15937         output_scripts_byname, output_blocks, output_ident_category): Fix
15938         comment header.
15939         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15940         get_wbp.
15941         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15942         items.
15943         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15944         Changes_When_Lowercased, Changes_When_Uppercased,
15945         Changes_When_Titlecased, Changes_When_Casefolded,
15946         Changes_When_Casemapped.
15947         (is_property_alphabetic, is_property_default_ignorable_code_point):
15948         Update for Unicode 5.2.0.
15949         (is_property_cased, is_property_case_ignorable,
15950         is_property_changes_when_lowercased,
15951         is_property_changes_when_uppercased,
15952         is_property_changes_when_titlecased,
15953         is_property_changes_when_casefolded,
15954         is_property_changes_when_casemapped): New functions.
15955         (output_properties): Output also the properties cased, case_ignorable,
15956         changes_when_lowercased, changes_when_uppercased,
15957         changes_when_titlecased, changes_when_casefolded,
15958         changes_when_casemapped.
15959         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15960         Unicode TR#11 revision 17 -> 19.
15961         (LBP_CP): New enumeration value.
15962         (LBP_*): Adjust values accordingly.
15963         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15964         TR#14 revision 22 -> 24.
15965         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15966         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15967         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15968         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15969         is_WBP_MIDLETTER.
15970         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15971         the code1 and code2 of each composition rule.
15972         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15973         * lib/unicase/ignorable.h: Likewise.
15974         * lib/unicase/tocasefold.h: Likewise.
15975         * lib/unicase/tolower.h: Likewise.
15976         * lib/unicase/totitle.h: Likewise.
15977         * lib/unicase/toupper.h: Likewise.
15978         * lib/unictype/bidi_of.h: Likewise.
15979         * lib/unictype/blocks.h: Likewise.
15980         * lib/unictype/categ_C.h: Likewise.
15981         * lib/unictype/categ_Cf.h: Likewise.
15982         * lib/unictype/categ_Cn.h: Likewise.
15983         * lib/unictype/categ_L.h: Likewise.
15984         * lib/unictype/categ_Ll.h: Likewise.
15985         * lib/unictype/categ_Lm.h: Likewise.
15986         * lib/unictype/categ_Lo.h: Likewise.
15987         * lib/unictype/categ_Lu.h: Likewise.
15988         * lib/unictype/categ_M.h: Likewise.
15989         * lib/unictype/categ_Mc.h: Likewise.
15990         * lib/unictype/categ_Mn.h: Likewise.
15991         * lib/unictype/categ_N.h: Likewise.
15992         * lib/unictype/categ_Nd.h: Likewise.
15993         * lib/unictype/categ_Nl.h: Likewise.
15994         * lib/unictype/categ_No.h: Likewise.
15995         * lib/unictype/categ_P.h: Likewise.
15996         * lib/unictype/categ_Pd.h: Likewise.
15997         * lib/unictype/categ_Po.h: Likewise.
15998         * lib/unictype/categ_S.h: Likewise.
15999         * lib/unictype/categ_Sc.h: Likewise.
16000         * lib/unictype/categ_So.h: Likewise.
16001         * lib/unictype/categ_of.h: Likewise.
16002         * lib/unictype/combining.h: Likewise.
16003         * lib/unictype/ctype_alnum.h: Likewise.
16004         * lib/unictype/ctype_alpha.h: Likewise.
16005         * lib/unictype/ctype_graph.h: Likewise.
16006         * lib/unictype/ctype_lower.h: Likewise.
16007         * lib/unictype/ctype_print.h: Likewise.
16008         * lib/unictype/ctype_punct.h: Likewise.
16009         * lib/unictype/ctype_upper.h: Likewise.
16010         * lib/unictype/decdigit.h: Likewise.
16011         * lib/unictype/digit.h: Likewise.
16012         * lib/unictype/numeric.h: Likewise.
16013         * lib/unictype/pr_alphabetic.h: Likewise.
16014         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
16015         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
16016         * lib/unictype/pr_bidi_european_digit.h: Likewise.
16017         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
16018         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
16019         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
16020         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
16021         * lib/unictype/pr_combining.h: Likewise.
16022         * lib/unictype/pr_composite.h: Likewise.
16023         * lib/unictype/pr_currency_symbol.h: Likewise.
16024         * lib/unictype/pr_dash.h: Likewise.
16025         * lib/unictype/pr_decimal_digit.h: Likewise.
16026         * lib/unictype/pr_deprecated.h: Likewise.
16027         * lib/unictype/pr_diacritic.h: Likewise.
16028         * lib/unictype/pr_extender.h: Likewise.
16029         * lib/unictype/pr_grapheme_base.h: Likewise.
16030         * lib/unictype/pr_grapheme_extend.h: Likewise.
16031         * lib/unictype/pr_grapheme_link.h: Likewise.
16032         * lib/unictype/pr_id_continue.h: Likewise.
16033         * lib/unictype/pr_id_start.h: Likewise.
16034         * lib/unictype/pr_ideographic.h: Likewise.
16035         * lib/unictype/pr_ignorable_control.h: Likewise.
16036         * lib/unictype/pr_logical_order_exception.h: Likewise.
16037         * lib/unictype/pr_lowercase.h: Likewise.
16038         * lib/unictype/pr_numeric.h: Likewise.
16039         * lib/unictype/pr_other_alphabetic.h: Likewise.
16040         * lib/unictype/pr_punctuation.h: Likewise.
16041         * lib/unictype/pr_sentence_terminal.h: Likewise.
16042         * lib/unictype/pr_terminal_punctuation.h: Likewise.
16043         * lib/unictype/pr_unassigned_code_value.h: Likewise.
16044         * lib/unictype/pr_unified_ideograph.h: Likewise.
16045         * lib/unictype/pr_uppercase.h: Likewise.
16046         * lib/unictype/pr_xid_continue.h: Likewise.
16047         * lib/unictype/pr_xid_start.h: Likewise.
16048         * lib/unictype/pr_zero_width.h: Likewise.
16049         * lib/unictype/scripts.h: Likewise.
16050         * lib/unictype/scripts_byname.gperf: Likewise.
16051         * lib/unictype/sy_java_ident.h: Likewise.
16052         * lib/unigbrk/gbrkprop.h: Likewise.
16053         * lib/unilbrk/lbrkprop1.h: Likewise.
16054         * lib/unilbrk/lbrkprop2.h: Likewise.
16055         * lib/unilbrk/lbrktables.h: Likewise.
16056         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
16057         LBP_CP. Implement rule LB30.
16058         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
16059         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
16060         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
16061         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
16062         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
16063         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
16064         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
16065         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
16066         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
16067         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
16068         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
16069         bits instead of 16 bits in the code1 and code2 of each composition
16070         rule.
16071         (uc_composition): Update for Unicode 5.2.0.
16072         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
16073         * lib/uninorm/decomposition-table2.h: Likewise.
16074         * lib/uniwbrk/wbrkprop.h: Likewise.
16075         * tests/unicase/test-cased.c: Likewise.
16076         * tests/unicase/test-ignorable.c: Likewise.
16077         * tests/unicase/test-uc_tolower.c: Likewise.
16078         * tests/unicase/test-uc_totitle.c: Likewise.
16079         * tests/unicase/test-uc_toupper.c: Likewise.
16080         * tests/unictype/test-categ_C.c: Likewise.
16081         * tests/unictype/test-categ_Cf.c: Likewise.
16082         * tests/unictype/test-categ_Cn.c: Likewise.
16083         * tests/unictype/test-categ_L.c: Likewise.
16084         * tests/unictype/test-categ_Ll.c: Likewise.
16085         * tests/unictype/test-categ_Lm.c: Likewise.
16086         * tests/unictype/test-categ_Lo.c: Likewise.
16087         * tests/unictype/test-categ_Lu.c: Likewise.
16088         * tests/unictype/test-categ_M.c: Likewise.
16089         * tests/unictype/test-categ_Mc.c: Likewise.
16090         * tests/unictype/test-categ_Mn.c: Likewise.
16091         * tests/unictype/test-categ_N.c: Likewise.
16092         * tests/unictype/test-categ_Nd.c: Likewise.
16093         * tests/unictype/test-categ_Nl.c: Likewise.
16094         * tests/unictype/test-categ_No.c: Likewise.
16095         * tests/unictype/test-categ_P.c: Likewise.
16096         * tests/unictype/test-categ_Pd.c: Likewise.
16097         * tests/unictype/test-categ_Po.c: Likewise.
16098         * tests/unictype/test-categ_S.c: Likewise.
16099         * tests/unictype/test-categ_Sc.c: Likewise.
16100         * tests/unictype/test-categ_So.c: Likewise.
16101         * tests/unictype/test-ctype_alnum.c: Likewise.
16102         * tests/unictype/test-ctype_alpha.c: Likewise.
16103         * tests/unictype/test-ctype_graph.c: Likewise.
16104         * tests/unictype/test-ctype_lower.c: Likewise.
16105         * tests/unictype/test-ctype_print.c: Likewise.
16106         * tests/unictype/test-ctype_punct.c: Likewise.
16107         * tests/unictype/test-ctype_upper.c: Likewise.
16108         * tests/unictype/test-decdigit.h: Likewise.
16109         * tests/unictype/test-digit.h: Likewise.
16110         * tests/unictype/test-numeric.h: Likewise.
16111         * tests/unictype/test-pr_alphabetic.c: Likewise.
16112         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
16113         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
16114         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
16115         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
16116         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
16117         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
16118         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
16119         * tests/unictype/test-pr_combining.c: Likewise.
16120         * tests/unictype/test-pr_composite.c: Likewise.
16121         * tests/unictype/test-pr_currency_symbol.c: Likewise.
16122         * tests/unictype/test-pr_dash.c: Likewise.
16123         * tests/unictype/test-pr_decimal_digit.c: Likewise.
16124         * tests/unictype/test-pr_deprecated.c: Likewise.
16125         * tests/unictype/test-pr_diacritic.c: Likewise.
16126         * tests/unictype/test-pr_extender.c: Likewise.
16127         * tests/unictype/test-pr_grapheme_base.c: Likewise.
16128         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
16129         * tests/unictype/test-pr_grapheme_link.c: Likewise.
16130         * tests/unictype/test-pr_id_continue.c: Likewise.
16131         * tests/unictype/test-pr_id_start.c: Likewise.
16132         * tests/unictype/test-pr_ideographic.c: Likewise.
16133         * tests/unictype/test-pr_ignorable_control.c: Likewise.
16134         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
16135         * tests/unictype/test-pr_lowercase.c: Likewise.
16136         * tests/unictype/test-pr_numeric.c: Likewise.
16137         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
16138         * tests/unictype/test-pr_punctuation.c: Likewise.
16139         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
16140         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
16141         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
16142         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
16143         * tests/unictype/test-pr_uppercase.c: Likewise.
16144         * tests/unictype/test-pr_xid_continue.c: Likewise.
16145         * tests/unictype/test-pr_xid_start.c: Likewise.
16146         * tests/unictype/test-pr_zero_width.c: Likewise.
16147         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
16148         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
16149         changed behaviour: line breaking is now disallowed between a letter
16150         or '=' and '('.
16151         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16152         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16153         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
16154         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
16155         * tests/uniwidth/test-uc_width2.sh: Same updates as in
16156         lib/uniwidth/width.c.
16157         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
16158         without comments, but with the original copyright notice.
16159         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
16160         changes.
16161         * lib/unictype/categ_Cc.h: Likewise.
16162         * lib/unictype/categ_Co.h: Likewise.
16163         * lib/unictype/categ_Cs.h: Likewise.
16164         * lib/unictype/categ_Lt.h: Likewise.
16165         * lib/unictype/categ_Me.h: Likewise.
16166         * lib/unictype/categ_Pc.h: Likewise.
16167         * lib/unictype/categ_Pe.h: Likewise.
16168         * lib/unictype/categ_Pf.h: Likewise.
16169         * lib/unictype/categ_Pi.h: Likewise.
16170         * lib/unictype/categ_Ps.h: Likewise.
16171         * lib/unictype/categ_Sk.h: Likewise.
16172         * lib/unictype/categ_Sm.h: Likewise.
16173         * lib/unictype/categ_Z.h: Likewise.
16174         * lib/unictype/categ_Zl.h: Likewise.
16175         * lib/unictype/categ_Zp.h: Likewise.
16176         * lib/unictype/categ_Zs.h: Likewise.
16177         * lib/unictype/ctype_blank.h: Likewise.
16178         * lib/unictype/ctype_cntrl.h: Likewise.
16179         * lib/unictype/ctype_digit.h: Likewise.
16180         * lib/unictype/ctype_space.h: Likewise.
16181         * lib/unictype/ctype_xdigit.h: Likewise.
16182         * lib/unictype/mirror.h: Likewise.
16183         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
16184         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
16185         * lib/unictype/pr_bidi_block_separator.h: Likewise.
16186         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
16187         * lib/unictype/pr_bidi_common_separator.h: Likewise.
16188         * lib/unictype/pr_bidi_control.h: Likewise.
16189         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
16190         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
16191         * lib/unictype/pr_bidi_pdf.h: Likewise.
16192         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
16193         * lib/unictype/pr_bidi_whitespace.h: Likewise.
16194         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
16195         * lib/unictype/pr_format_control.h: Likewise.
16196         * lib/unictype/pr_hex_digit.h: Likewise.
16197         * lib/unictype/pr_hyphen.h: Likewise.
16198         * lib/unictype/pr_ids_binary_operator.h: Likewise.
16199         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
16200         * lib/unictype/pr_iso_control.h: Likewise.
16201         * lib/unictype/pr_join_control.h: Likewise.
16202         * lib/unictype/pr_left_of_pair.h: Likewise.
16203         * lib/unictype/pr_line_separator.h: Likewise.
16204         * lib/unictype/pr_math.h: Likewise.
16205         * lib/unictype/pr_non_break.h: Likewise.
16206         * lib/unictype/pr_not_a_character.h: Likewise.
16207         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
16208         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
16209         * lib/unictype/pr_other_id_continue.h: Likewise.
16210         * lib/unictype/pr_other_id_start.h: Likewise.
16211         * lib/unictype/pr_other_lowercase.h: Likewise.
16212         * lib/unictype/pr_other_math.h: Likewise.
16213         * lib/unictype/pr_other_uppercase.h: Likewise.
16214         * lib/unictype/pr_paired_punctuation.h: Likewise.
16215         * lib/unictype/pr_paragraph_separator.h: Likewise.
16216         * lib/unictype/pr_pattern_syntax.h: Likewise.
16217         * lib/unictype/pr_pattern_white_space.h: Likewise.
16218         * lib/unictype/pr_private_use.h: Likewise.
16219         * lib/unictype/pr_quotation_mark.h: Likewise.
16220         * lib/unictype/pr_radical.h: Likewise.
16221         * lib/unictype/pr_soft_dotted.h: Likewise.
16222         * lib/unictype/pr_space.h: Likewise.
16223         * lib/unictype/pr_titlecase.h: Likewise.
16224         * lib/unictype/pr_variation_selector.h: Likewise.
16225         * lib/unictype/pr_white_space.h: Likewise.
16226         * lib/unictype/sy_c_ident.h: Likewise.
16227         * lib/unictype/sy_c_whitespace.h: Likewise.
16228         * lib/unictype/sy_java_whitespace.h: Likewise.
16229         * modules/uni*/*: Bump version number of expected libunistring version.
16230         Reported by Simon Josefsson.
16231
16232 2011-01-09  Karl Heuer  <kwzh@gnu.org>
16233
16234         useless-if-before-free: fix typo in --help and make the internal,
16235         automatic version date update process work once again.
16236         --help output contained a NUL character instead of the
16237         backslash-zero that was intended.  Also, the "must lie within
16238         the first 8 lines" line is on line 9, and hence not getting
16239         automatically updated.
16240         * build-aux/useless-if-before-free: Fix the former by adding a
16241         backslash, and the latter by condensing the three lines of what-it-does
16242         to a single line, leaving one line of slack for the future.
16243
16244 2011-01-09  Bruno Haible  <bruno@clisp.org>
16245
16246         uniwidth/width: Fix width of U+1D173..U+1D17A.
16247         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
16248         symbolic_width, output_width_property_test): New functions.
16249         (main): Invoke output_nonspacing_property, output_width_property_test.
16250         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
16251         U+1D173..U+1D17A.
16252         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
16253         1.
16254         * modules/uniwidth/*: Bump version number of expected libunistring
16255         version.
16256         * modules/unilbrk/*: Likewise.
16257
16258 2011-01-08  Bruno Haible  <bruno@clisp.org>
16259
16260         uninorm tests: Preserve copyright of Unicode data file.
16261         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
16262         Mention modifications.
16263
16264 2011-01-08  Bruno Haible  <bruno@clisp.org>
16265
16266         gen-uni-tables: Prepare for Unicode 5.2.0.
16267         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
16268         (debug_output_lbp, output_lbp): Update.
16269
16270 2011-01-08  Bruno Haible  <bruno@clisp.org>
16271
16272         unilbrk: Clarify gen-uni-tables.c code.
16273         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
16274         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
16275         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
16276
16277 2011-01-07  Bruno Haible  <bruno@clisp.org>
16278
16279         strtod: Restore errno when successfully parsing Infinity or NaN.
16280         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
16281         restore the original errno.
16282
16283 2011-01-07  Bruno Haible  <bruno@clisp.org>
16284
16285         remove test: Avoid failure on HP-UX 11.
16286         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
16287
16288 2011-01-07  Bruno Haible  <bruno@clisp.org>
16289
16290         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
16291         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
16292         error code.
16293
16294 2011-01-07  Pádraig Brady <P@draigBrady.com>
16295
16296         ignore-value: fixup comments, and add Eric Blake
16297         as an author since he rewrote the macros.
16298         * lib/ignore-value.h (ignore_value):  State that
16299         we now support aggregates.  Also specify exactly
16300         when the GCC warn_unused_result feature was added.
16301
16302 2011-01-06  Eric Blake  <eblake@redhat.com>
16303
16304         ignore-value: support aggregate types
16305         * lib/ignore-value.h (ignore_value): Provide separate gcc
16306         definition.
16307         * modules/ignore-value-tests: New test module.
16308         * tests/test-ignore-value.c: New test.
16309
16310         maint.mk: improve sc_prohibit_strcmp regex
16311         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
16312         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
16313         definition of STRNEQ.
16314
16315         signal: work around Haiku issue with SIGBUS
16316         * lib/siglist.h: Add comment.
16317         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
16318         strsignal's favoring of SIGSEGV.
16319         * tests/test-signal.c (main): Avoid test failure.
16320         * doc/posix-headers/signal.texi (signal.h): Document the issue.
16321         Reported by Scott McCreary.
16322
16323         maint.mk: add pre-release check to ensure submodule commits are public
16324         * top/maint.mk (public-submodule-commit): New rule.
16325         (submodule-checks): New variable.
16326         (alpha beta stable): Depend on the variable.
16327
16328 2011-01-05  Pádraig Brady <P@draigBrady.com>
16329         and Jim Meyering  <meyering@redhat.com>
16330
16331         ignore-value: make ignore_value more generic; deprecate ignore_ptr
16332         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
16333         (ATTRIBUTE_DEPRECATED): Define.
16334         (_ignore_case): New function.
16335         (ignore_value): New macro, to replace the old function.
16336         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
16337         * modules/ignore-value (Depends-on): Add stdint.
16338
16339 2011-01-04  Eric Blake  <eblake@redhat.com>
16340
16341         doc: regenerate INSTALL
16342         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
16343         @firstparagraphindent support, now that autoconf dropped it.
16344         (INSTALL_PRELUDE): Reinstate old macro.
16345         * doc/install.texi: Resync from autoconf.
16346         * doc/INSTALL: Reflect recent autoconf update.
16347         * doc/INSTALL.ISO: Likewise.
16348         * doc/INSTALL.UTF-8: Likewise.
16349         Reported by Karl Berry.
16350
16351 2011-01-04  Bruce Korb  <address@hidden>
16352
16353         git-version-gen: avoid a sub-shell
16354         * build-aux/git-version-gen: Redirect stderr in `...` via
16355         "exec 2>...", rather than via an added sub-shell.
16356
16357 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
16358
16359         git-version-gen: use (...) rather than sh -c '...'
16360         * build-aux/git-version-gen: Rather than hard-coding a shell's name
16361         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
16362
16363 2011-01-03  Jim Meyering  <meyering@redhat.com>
16364
16365         git-version-gen: convert leading TABs to spaces
16366         * build-aux/git-version-gen: Expand leading TABs.
16367
16368         git-version-gen: handle failed "git rev-list"
16369         * build-aux/git-version-gen: Rather than leaking a "fatal" error
16370         from git and proceeding as if it had succeeded but printed no SHA1
16371         checksums, suppress the diagnostic and handle the failure.
16372         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
16373
16374         git-version-gen: include command name in one more diagnostic
16375         * build-aux/git-version-gen: When the required .tarball-version file
16376         was missing or unreadable, you might see the diagnostic from "cat",
16377         but no trace of the name of the invoking script.  Now, you still see
16378         the diagnostic from cat, but also get one from "git-version-gen: ".
16379         Inspired by a patch from Bruce Korb.
16380
16381         update-copyright: adjust test to match changed code
16382         * tests/test-update-copyright.sh: Change test's expected output
16383         to match new actual output.
16384
16385 2011-01-02  Bruno Haible  <bruno@clisp.org>
16386
16387         getlogin_r: Avoid test failure on HP-UX 11.
16388         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
16389         ERANGE when the second argument is zero.
16390         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
16391         portability problem.
16392
16393 2011-01-02  Bruce Korb  <bkorb@gnu.org>
16394
16395         * build-aux/update-copyright: doc Simon's changes
16396
16397 2011-01-02  Simon Josefsson  <simon@josefsson.org>
16398
16399         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
16400         environment variable.
16401
16402 2011-01-02  Bruno Haible  <bruno@clisp.org>
16403
16404         unigbrk: Avoid gcc warnings.
16405         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
16406         unused variable.
16407         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16408         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16409         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16410         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16411         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16412         Change type of first argument to 'const char *'.
16413         (main): Remove unused variable.
16414         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16415         type of first argument to 'const char *'.
16416         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16417         Likewise.
16418         (main): Change type of variable 's'.
16419         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16420         to 'int'.
16421
16422 2011-01-02  Bruno Haible  <bruno@clisp.org>
16423
16424         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16425         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16426         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16427         bug.
16428         * lib/pwrite.c: Undo 2010-12-31 patch.
16429         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16430
16431 2011-01-02  Bruno Haible  <bruno@clisp.org>
16432
16433         pread: Fix test whether it works.
16434         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16435
16436 2011-01-02  Bruno Haible  <bruno@clisp.org>
16437
16438         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16439         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16440         ends in "6". Don't require a specific month name. Try also the locale
16441         names found on HP-UX 11 and Solaris 7.
16442
16443 2011-01-02  Bruno Haible  <bruno@clisp.org>
16444
16445         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16446         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16447         C linkage.
16448         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16449
16450 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16451
16452         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16453         for consistency, since the "cluster" term is not used elsewhere.
16454         * lib/unigbrk.in.h: Update name.
16455         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16456         * lib/unigbrk/u16-grapheme-next.c: Update name.
16457         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16458         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16459         * lib/unigbrk/u32-grapheme-next.c: Update name.
16460         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16461         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16462         * lib/unigbrk/u8-grapheme-next.c: Update name.
16463         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16464         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16465         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16466         Suggested by Bruno Haible.
16467
16468 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16469
16470         Remove module 'u8-grapheme-len' as too redundant with
16471         'u8-grapheme-next'.
16472         * modules/unigbrk/u8-grapheme-len: Delete file.
16473         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16474         * lib/unigbrk.in.h: Remove prototype for deleted function.
16475         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16476         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16477
16478         Remove module 'u16-grapheme-len' as too redundant with
16479         'u16-grapheme-next'.
16480         * modules/unigbrk/u16-grapheme-len: Delete file.
16481         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16482         * lib/unigbrk.in.h: Remove prototype for deleted function.
16483         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16484         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16485
16486         Remove module 'u32-grapheme-len' as too redundant with
16487         'u32-grapheme-next'.
16488         * modules/unigbrk/u32-grapheme-len: Delete file.
16489         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16490         * lib/unigbrk.in.h: Remove prototype for deleted function.
16491         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16492         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16493
16494         Suggested by Bruno Haible.
16495
16496 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16497
16498         * unigbrk.in.h: Fix typo: "ben" => "been".
16499         Reported by Bruno Haible.
16500
16501 2011-01-01  Jim Meyering  <meyering@redhat.com>
16502
16503         maint: update almost all copyright ranges to include 2011
16504         Run the new "make update-copyright" rule.
16505
16506 2011-01-01  Jim Meyering  <meyering@redhat.com>
16507
16508         maint: update-copyright: exempt doc/INSTALL*
16509         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16510         since they are generated.  Suggested by Bruno Haible.
16511
16512 2011-01-01  Jim Meyering  <meyering@redhat.com>
16513
16514         maint: refine the update-copyright rule
16515         * Makefile (update-copyright): Also exclude any file that includes
16516         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16517         code that merely generates the comment.
16518
16519 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16520
16521         New module 'u8-grapheme-len'.
16522         * modules/unigbrk/u8-grapheme-len: New file.
16523         * modules/unigbrk/u8-grapheme-len-tests: New file.
16524         * lib/unigbrk.in.h: Add prototype for new function.
16525         * lib/unigbrk/u8-grapheme-len.c: New file.
16526         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16527
16528         New module 'u16-grapheme-len'.
16529         * modules/unigbrk/u16-grapheme-len: New file.
16530         * modules/unigbrk/u16-grapheme-len-tests: New file.
16531         * lib/unigbrk.in.h: Add prototype for new function.
16532         * lib/unigbrk/u16-grapheme-len.c: New file.
16533         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16534
16535         New module 'u32-grapheme-len'.
16536         * modules/unigbrk/u32-grapheme-len: New file.
16537         * modules/unigbrk/u32-grapheme-len-tests: New file.
16538         * lib/unigbrk.in.h: Add prototype for new function.
16539         * lib/unigbrk/u32-grapheme-len.c: New file.
16540         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16541
16542         New module 'u8-grapheme-next'.
16543         * modules/unigbrk/u8-grapheme-next: New file.
16544         * modules/unigbrk/u8-grapheme-next-tests: New file.
16545         * lib/unigbrk.in.h: Add prototype for new function.
16546         * lib/unigbrk/u8-grapheme-next.c: New file.
16547         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16548
16549         New module 'u16-grapheme-next'.
16550         * modules/unigbrk/u16-grapheme-next: New file.
16551         * modules/unigbrk/u16-grapheme-next-tests: New file.
16552         * lib/unigbrk.in.h: Add prototype for new function.
16553         * lib/unigbrk/u16-grapheme-next.c: New file.
16554         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16555
16556         New module 'u32-grapheme-next'.
16557         * modules/unigbrk/u32-grapheme-next: New file.
16558         * modules/unigbrk/u32-grapheme-next-tests: New file.
16559         * lib/unigbrk.in.h: Add prototype for new function.
16560         * lib/unigbrk/u32-grapheme-next.c: New file.
16561         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16562
16563         New module 'u8-grapheme-prev'.
16564         * modules/unigbrk/u8-grapheme-prev: New file.
16565         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16566         * lib/unigbrk.in.h: Add prototype for new function.
16567         * lib/unigbrk/u8-grapheme-prev.c: New file.
16568         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16569
16570         New module 'u16-grapheme-prev'.
16571         * modules/unigbrk/u16-grapheme-prev: New file.
16572         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16573         * lib/unigbrk.in.h: Add prototype for new function.
16574         * lib/unigbrk/u16-grapheme-prev.c: New file.
16575         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16576
16577         New module 'u32-grapheme-prev'.
16578         * modules/unigbrk/u32-grapheme-prev: New file.
16579         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16580         * lib/unigbrk.in.h: Add prototype for new function.
16581         * lib/unigbrk/u32-grapheme-prev.c: New file.
16582         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16583
16584         New module 'u8-grapheme-breaks'.
16585         * modules/unigbrk/u8-grapheme-breaks: New file.
16586         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16587         * lib/unigbrk.in.h: Add prototype for new function.
16588         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16589         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16590
16591         New module 'u16-grapheme-breaks'.
16592         * modules/unigbrk/u16-grapheme-breaks: New file.
16593         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16594         * lib/unigbrk.in.h: Add prototype for new function.
16595         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16596         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16597
16598         New module 'u32-grapheme-breaks'.
16599         * modules/unigbrk/u32-grapheme-breaks: New file.
16600         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16601         * lib/unigbrk.in.h: Add prototype for new function.
16602         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16603         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16604
16605         New module 'ulc-grapheme-breaks'.
16606         * modules/unigbrk/ulc-grapheme-breaks: New file.
16607         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16608         * m4/locale-ar.m4: New file.
16609         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16610         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16611         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16612
16613 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16614
16615         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16616         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16617         modified how this file was generated before I initially submitted
16618         the module, but failed to regenerate it.  This meant that several
16619         of the level2 entries were wrong.
16620         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16621         Remove the division-by-2 that is folded into the table now that
16622         gbrkprop.h has been regenerated properly.  Now -1 entries are
16623         handled correctly.
16624
16625         New module 'unigbrk/uc-gbrk-prop-tests'.
16626         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16627         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16628         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16629         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16630
16631 2011-01-01  Bruno Haible  <bruno@clisp.org>
16632
16633         Avoid use of hexadecimal escapes.
16634         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16635         instead of hexadecimal escapes.
16636
16637 2011-01-01  Jim Meyering  <meyering@redhat.com>
16638
16639         maint: new rule to update copyright year ranges
16640         * Makefile (update-copyright): New rule.
16641
16642         maint: indent with TABs in Makefile
16643         * Makefile: Expand leading sequences of spaces to TABs
16644
16645         version-etc: update the copyright year it reports
16646         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16647
16648 2010-12-31  Bruno Haible  <bruno@clisp.org>
16649
16650         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16651         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16652         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16653         zero.
16654
16655 2010-12-31  Bruno Haible  <bruno@clisp.org>
16656
16657         pwrite: Work around HP-UX 11.11 bug.
16658         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16659         works and set REPLACE_PWRITE if not.
16660         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16661         function.
16662         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16663
16664 2010-12-31  Bruno Haible  <bruno@clisp.org>
16665
16666         pread: Work around HP-UX 11 bugs.
16667         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16668         and set REPLACE_PREAD if not.
16669         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16670
16671 2010-12-31  Eric Blake  <eblake@redhat.com>
16672
16673         nl_langinfo: fix YESEXPR on Irix 6.5
16674         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16675         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16676         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16677         it.
16678
16679 2010-12-31  Bruno Haible  <bruno@clisp.org>
16680
16681         iconv: Document HP-UX 11 bug.
16682         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16683
16684 2010-12-31  Bruno Haible  <bruno@clisp.org>
16685
16686         ldexpl: Fix link error on HP-UX 11.
16687         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16688         LDEXPL_LIBM, using $ISNANL_LIBM.
16689
16690 2010-12-31  Eric Blake  <eblake@redhat.com>
16691
16692         ftello: avoid compilation failure with SunStudio c89
16693         * lib/ftello.c (ftello): Use lseek, not llseek.
16694
16695         tests: avoid failing coreutils tests on cygwin
16696         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16697         (create_exe_shims_): Return 0 when skipping.
16698
16699 2010-12-31  Bruno Haible  <bruno@clisp.org>
16700
16701         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16702         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16703
16704 2010-12-31  Bruno Haible  <bruno@clisp.org>
16705
16706         waitpid: Fix link error in C++ mode.
16707         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16708
16709 2010-12-31  Bruno Haible  <bruno@clisp.org>
16710
16711         isnan: Use GCC built-ins when possible.
16712         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16713         __builtin_isnan.
16714         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16715         (isnan): Define using GCC built-ins for GCC >= 4.0.
16716
16717 2010-12-31  Bruno Haible  <bruno@clisp.org>
16718
16719         isnand: Fix mistake.
16720         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16721         __builtin_isnand.
16722
16723 2010-12-31  Bruno Haible  <bruno@clisp.org>
16724
16725         open: Avoid C++ error on HP-UX 11.
16726         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16727
16728 2010-12-31  Bruno Haible  <bruno@clisp.org>
16729
16730         time_r: Add missing declarations on HP-UX 11.
16731         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16732         instead of HAVE_LOCALTIME_R.
16733         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16734         HAVE_LOCALTIME_R always.
16735         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16736         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16737         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16738         HAVE_LOCALTIME_R.
16739         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16740         * doc/posix-functions/localtime_r.texi: Likewise.
16741
16742 2010-12-29  Eric Blake  <eblake@redhat.com>
16743
16744         mountlist: tweak previous commit
16745         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16746         Reported by Paul Eggert.
16747
16748         mountlist: fix local drive detection on cygwin
16749         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16750         that works for cygwin.
16751
16752 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16753
16754         ftoastr, snprintf: ftoastr + snprintf module
16755         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16756         since the snprintf module now should be good enough here.
16757         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16758         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16759         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16760         GNULIB_SNPRINTF only for the test directory, and the latter
16761         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16762         seems to suffice by itself.
16763
16764 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16765
16766         alloca: one step towards thread-safety
16767         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16768         need for a static variable.  All callers changed.  This does not
16769         make the alloca replacement thread-safe, but it's one step.
16770
16771         tests: minor indenting change
16772         * tests/init.sh: Sync from coreutils housekeeping patch
16773         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16774         to keep lines within 80 columns.
16775
16776 2010-12-28  Jim Meyering  <meyering@redhat.com>
16777
16778         regex: don't infloop on persistent failing calloc
16779         * lib/regexec.c (build_trtable): Return failure indication upon
16780         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16781         In glibc, this was fixed for version 2.13:
16782         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16783
16784 2010-12-28  Bruno Haible  <bruno@clisp.org>
16785             Paul Eggert <eggert@cs.ucla.edu>
16786
16787         linkat: Make implementation robust against system behaviour variations.
16788         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16789         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16790         way, and to -2 if it needs a generic runtime test.
16791         * lib/linkat.c (solaris_optimized_link_immediate,
16792         solaris_optimized_link_follow): New functions.
16793         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16794         (check_same_link): Use it.
16795
16796 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16797
16798         New module 'unigbrk/base'.
16799         * modules/unigbrk/base: New file.
16800         * lib/unigbrk.in.h: New file.
16801
16802         New module 'unigbrk/uc-gbrk-prop'.
16803         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16804         * modules/unigbrk/uc-gbrk-prop: New file.
16805         * lib/unigbrk/gbrkprop.h: New file.
16806         * lib/unigbrk/uc-gbrk-prop.c: New file.
16807
16808         New module 'unigbrk/uc-is-grapheme-break'.
16809         * modules/unigbrk/uc-is-grapheme-break: New file.
16810         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16811         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16812         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16813         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16814         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16815
16816         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16817
16818 2010-12-27  Bruno Haible  <bruno@clisp.org>
16819
16820         linkat test: Avoid failure on Solaris 11 2010-11.
16821         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16822
16823 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16824
16825         utimens: work around glibc rounding bug on more platforms
16826         * lib/utimens.c (fdutimens): Work around rounding bug even if
16827         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16828         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16829
16830 2010-12-27  Bruno Haible  <bruno@clisp.org>
16831
16832         select tests: Improve comments.
16833         * tests/test-select.c (do_select): Add comments.
16834
16835 2010-12-27  Bruno Haible  <bruno@clisp.org>
16836
16837         select tests: Safer way of handling timeout.
16838         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16839         at every invocation.
16840
16841 2010-12-27  Bruno Haible  <bruno@clisp.org>
16842
16843         select tests: Use 'bool' where appropriate.
16844         * tests/test-select.c (connect_to_socket): Change argument type to
16845         'bool'.
16846
16847 2010-12-27  Bruno Haible  <bruno@clisp.org>
16848
16849         select tests: Use existing modules.
16850         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16851         (configure.ac): Don't test for unistd.h.
16852         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16853         declared in <unistd.h>.
16854
16855 2010-12-27  Bruno Haible  <bruno@clisp.org>
16856
16857         mbrtowc: Work around a Solaris 7 bug.
16858         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16859         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16860         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16861         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16862         MBRTOWC_NULL_ARG1_BUG.
16863         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16864         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16865         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16866         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16867
16868 2010-12-27  Jim Meyering  <meyering@redhat.com>
16869
16870         read-file.c: tweak syntax
16871         * lib/read-file.c (fread_file): Remove space after "*" in function
16872         definitions.
16873
16874 2010-12-27  Bruno Haible  <bruno@clisp.org>
16875
16876         times test: Avoid gcc warnings on OSF/1.
16877         * tests/test-times.c (main): Cast printf arguments from clock_t to
16878         'long int'.
16879
16880 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16881
16882         utimens: work around glibc rounding bug on older Linux kernels
16883         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16884         on Linux with a glibc whose utimes might not work, then work
16885         around a longstanding glibc bug involving rounding rather than
16886         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16887         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16888
16889 2010-12-26  Bruno Haible  <bruno@clisp.org>
16890
16891         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16892         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16893         _GL_CXXALIAS_SYS.
16894         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16895
16896 2010-12-26  Bruno Haible  <bruno@clisp.org>
16897
16898         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16899         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16900         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16901         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16902         looking for the declaration.
16903         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16904         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16905         problem.
16906         * doc/posix-functions/inet_pton.texi: Likewise.
16907
16908 2010-12-26  Bruno Haible  <bruno@clisp.org>
16909
16910         arpa_inet: Use the common idioms with C++ support.
16911         * lib/arpa_inet.in.h: Include c++defs.h.
16912         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16913         support.
16914         * modules/arpa_inet (Depends-on): Add c++defs.
16915         (Makefile.am): Substitute the contents of c++defs.h.
16916         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16917         * modules/arpa_inet-c++-tests: New file.
16918         * tests/test-arpa_inet-c++.cc: New file.
16919
16920 2010-12-25  Bruno Haible  <bruno@clisp.org>
16921
16922         Fix more C++ link errors on Solaris 8.
16923         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16924         $(LIB_EACCESS).
16925         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16926         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16927         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16928         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16929         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16930
16931 2010-12-25  Bruno Haible  <bruno@clisp.org>
16932
16933         printf-posix: Fix link error when a non-GCC compiler is used.
16934         * lib/stdio.in.h (printf): When not using GCC, override printf
16935         correctly.
16936         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16937
16938 2010-12-25  Bruno Haible  <bruno@clisp.org>
16939
16940         strerror_r-posix: Update doc.
16941         * doc/posix-functions/strerror_r.texi: Update doc about the return
16942         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16943
16944 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16945
16946         utimens: simplify the logic of the previous change
16947         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16948         This should not affect whether the test succeeds or fails.
16949
16950         utimens: configure better on hosts with NFS clock skew
16951         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16952         uses the clock of the local host.  It might use the clock of the
16953         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16954         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16955
16956 2010-12-25  Bruno Haible  <bruno@clisp.org>
16957
16958         ptsname test: Avoid failure on Solaris.
16959         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16960         open a pseudo-terminal; don't use BSD-style ptys.
16961         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16962
16963 2010-12-25  Bruno Haible  <bruno@clisp.org>
16964
16965         ptsname: Avoid ERANGE failure on some systems.
16966         * lib/ptsname.c (buffer): Increase size.
16967
16968 2010-12-25  Bruno Haible  <bruno@clisp.org>
16969
16970         rename, renameat: Avoid test failures at NFS mounted locations.
16971         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16972         so that subsequent mkdir calls succeed.
16973
16974 2010-12-25  Bruno Haible  <bruno@clisp.org>
16975
16976         iswblank: Fix C++ link error on Solaris 8.
16977         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16978         _GL_FUNCDECL_SYS.
16979
16980 2010-12-25  Bruno Haible  <bruno@clisp.org>
16981
16982         unistd: Fix C++ link error on Solaris 8.
16983         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16984
16985 2010-12-25  Bruno Haible  <bruno@clisp.org>
16986
16987         readlink doc: Mention an old glibc bug.
16988         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16989
16990 2010-12-25  Bruno Haible  <bruno@clisp.org>
16991
16992         fcntl-h: Fix for use of C++ on glibc systems.
16993         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16994         also on glibc systems in C++ mode.
16995         Reported by Gary V. Vaughan <gary@gnu.org>.
16996
16997 2010-12-25  Bruno Haible  <bruno@clisp.org>
16998
16999         roundl-ieee: Make it work on OSF/1 5.1 with cc.
17000         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
17001
17002 2010-12-25  Bruno Haible  <bruno@clisp.org>
17003
17004         truncl-ieee: Make it work on OSF/1 5.1 with cc.
17005         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
17006         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
17007         test whether truncl works according to ISO C 99 with IEC 60559.
17008         * m4/truncl-ieee.m4: New file.
17009         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
17010         m4/signbit.m4.
17011         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
17012
17013 2010-12-25  Bruno Haible  <bruno@clisp.org>
17014
17015         ceill-ieee: Make it work on OSF/1 5.1 with cc.
17016         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
17017         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
17018         test whether ceill works according to ISO C 99 with IEC 60559.
17019         * m4/ceill-ieee.m4: New file.
17020         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
17021         m4/signbit.m4.
17022         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
17023
17024 2010-12-25  Bruno Haible  <bruno@clisp.org>
17025
17026         Ensure all prerequisites of <wchar.h> are included.
17027         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
17028         before <wchar.h>.
17029         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
17030         gl_MBRLEN_NUL_RETVAL): Likewise.
17031         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17032         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
17033         AC_FUNC_MBRTOWC): Likewise.
17034         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17035         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17036         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17037         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17038         Likewise.
17039         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17040         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
17041         (gl_WCHAR_H): Improve comments.
17042         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17043
17044 2010-12-25  Bruno Haible  <bruno@clisp.org>
17045
17046         strtok_r: Fix C syntax error in autoconf macro.
17047         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
17048         characters in test program.
17049
17050 2010-12-24  Bruno Haible  <bruno@clisp.org>
17051
17052         ceil, trunc, round: Fix gcc warnings.
17053         * lib/ceil.c (MIN): Undefine before redefining.
17054         * lib/trunc.c (MIN): Likewise.
17055         * lib/round.c (MIN): Likewise.
17056         Include <math.h> first.
17057
17058 2010-12-24  Bruno Haible  <bruno@clisp.org>
17059
17060         select tests: Avoid failures on OSF/1 5.1.
17061         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
17062         failure of closing the last socket; it may fail with ECONNRESET.
17063
17064 2010-12-24  Eric Blake  <eblake@redhat.com>
17065
17066         stdint: avoid HP-UX 10.20 preprocessor bug
17067         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
17068         than #if.
17069         * tests/test-floor2.c (main): Likewise.
17070         Reported by Peter O'Gorman.
17071
17072         pipe: make obsoletion transition easier
17073         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
17074         * modules/pipe (Files): Include revived file.
17075         (Include): Drop reference, to mirror getdate's behavior.
17076
17077 2010-12-24  Bruno Haible  <bruno@clisp.org>
17078
17079         sys_socket: Hide mismatch of declarations on NonStop Kernel.
17080         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
17081         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
17082         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17083
17084 2010-12-24  Bruno Haible  <bruno@clisp.org>
17085
17086         gethostname: Ensure declaration on NonStop Kernel.
17087         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
17088         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17089
17090 2010-12-24  Bruno Haible  <bruno@clisp.org>
17091
17092         sys_select: Ensure all necessary types on NonStop Kernel.
17093         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
17094         include <sys/time.h>.
17095         * doc/posix-headers/sys_select.texi: Mention that it's missing on
17096         NonStop Kernel.
17097         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17098
17099 2010-12-24  Bruno Haible  <bruno@clisp.org>
17100
17101         sys_select: Remove unneeded include.
17102         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
17103         have <sys/select.h>.
17104
17105 2010-12-24  Bruno Haible  <bruno@clisp.org>
17106
17107         gethostname: Provide a fallback for HOST_NAME_MAX.
17108         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
17109         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
17110         instead.
17111         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17112
17113 2010-12-24  Bruno Haible  <bruno@clisp.org>
17114
17115         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
17116         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
17117         (SA_RESTART): Likewise.
17118         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17119
17120 2010-12-24  Bruno Haible  <bruno@clisp.org>
17121
17122         signal: Define NSIG.
17123         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
17124         * tests/test-signal.c (nsig): New variable.
17125         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17126
17127 2010-12-24  Bruno Haible  <bruno@clisp.org>
17128
17129         rename, renameat: Avoid test failures on OSF/1 5.1.
17130         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
17131         alternative error codes.
17132         * tests/test-renameat.c (main): Likewise.
17133
17134 2010-12-24  Bruno Haible  <bruno@clisp.org>
17135
17136         *printf: Detect large precisions bug on Solaris 10/SPARC.
17137         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
17138         by Paul Eggert.
17139         * tests/test-snprintf-posix.h (test_function): Add this test code here
17140         too.
17141         * tests/test-sprintf-posix.h (test_function): Likewise.
17142         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17143         * tests/test-vasprintf-posix.c (test_function): Likewise.
17144         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
17145         around by gnulib.
17146         * doc/posix-functions/printf.texi: Likewise.
17147         * doc/posix-functions/snprintf.texi: Likewise.
17148         * doc/posix-functions/sprintf.texi: Likewise.
17149         * doc/posix-functions/vfprintf.texi: Likewise.
17150         * doc/posix-functions/vprintf.texi: Likewise.
17151         * doc/posix-functions/vsnprintf.texi: Likewise.
17152         * doc/posix-functions/vsprintf.texi: Likewise.
17153         * doc/posix-functions/dprintf.texi: Undo last commit.
17154         * doc/posix-functions/vdprintf.texi: Likewise.
17155
17156 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
17157
17158         tests: port test-fdutimensat.c to Solaris 8
17159         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
17160         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
17161         On Solaris 8, it fails with errno == ENOSYS, because there is no
17162         futimens (so it can't use the fd), and there is no lutimens (so it
17163         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
17164
17165         vsnprintf: make more consistent with snprintf; doc fixes
17166
17167         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
17168         the byte count return problem was promoted from the snprintf-posix
17169         to the snprintf module.
17170         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17171         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
17172         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
17173         * tests/test-snprintf.c (main): Check the byte count returned.
17174         * tests/test-vsnprintf.c (main): Likewise.
17175
17176 2010-12-23  Eric Blake  <eblake@redhat.com>
17177
17178         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
17179         * modules/sigpipe (License): Relax license.
17180
17181 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17182
17183         doc: document Solaris printf bug with large float precisions
17184         * doc/posix-functions/dprintf.texi (dprintf):
17185         * doc/posix-functions/fprintf.texi (fprintf):
17186         * doc/posix-functions/printf.texi (printf):
17187         * doc/posix-functions/snprintf.texi (snprintf):
17188         * doc/posix-functions/sprintf.texi (sprintf):
17189         * doc/posix-functions/vdprintf.texi (vdprintf):
17190         * doc/posix-functions/vfprintf.texi (vfprintf):
17191         * doc/posix-functions/vprintf.texi (vprintf):
17192         * doc/posix-functions/vsnprintf.texi (vsnprintf):
17193         * doc/posix-functions/vsprintf.texi (vsprintf):
17194         Mention that these functions mishandle large floating point
17195         precisions on Solaris 10.  The same bug is also present in Solaris
17196         8, and I assume earlier.  This causes "cd gnulib-tests; make
17197         check" to fail on Solaris 8 (and I assume, later) when building
17198         the latest coreutils, in test-vasprintf-posix's call to
17199         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
17200         the wide flavors (e.g., wprintf) so this patch just updates the
17201         documentation for the narrow ones.
17202
17203         test-posixtm.c: add two tests
17204         * tests/test-posixtm.c: Add two tests, to highlight the
17205         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
17206         around this bug; this is merely to document it.
17207
17208 2010-12-22  Bruno Haible  <bruno@clisp.org>
17209
17210         getlogin_r: Work around portability problem on OSF/1.
17211         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
17212         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
17213         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
17214         test for a truncated result.
17215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
17216         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
17217         * modules/getlogin_r (Depends-on): Add memchr.
17218         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
17219
17220 2010-12-22  Bruno Haible  <bruno@clisp.org>
17221
17222         ptsname: Avoid test failure on OSF/1 5.1.
17223         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
17224         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
17225         (same_slave): New function.
17226         (main): Use it to compare ptsname's result with the expected file name.
17227
17228 2010-12-22  Bruno Haible  <bruno@clisp.org>
17229
17230         Port extended stdio modules to HP NonStop Kernel.
17231         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
17232         macros.
17233         * lib/fbufmode.c: Update comments.
17234         * lib/fflush.c: Likewise.
17235         * lib/fpurge.c: Likewise.
17236         * lib/freadable.c: Likewise.
17237         * lib/freadahead.c: Likewise.
17238         * lib/freading.c: Likewise.
17239         * lib/freadptr.c: Likewise.
17240         * lib/freadseek.c: Likewise.
17241         * lib/fseeko.c: Likewise.
17242         * lib/fseterr.c: Likewise.
17243         * lib/fwritable.c: Likewise.
17244         * lib/fwriting.c: Likewise.
17245         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
17246
17247 2010-12-22  Bruno Haible  <bruno@clisp.org>
17248
17249         ttyname_r: Work around bug on OSF/1 5.1.
17250         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
17251         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
17252         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
17253         present.
17254         * lib/ttyname_r.c (ttyname_r): Update comments.
17255
17256 2010-12-22  Bruno Haible  <bruno@clisp.org>
17257
17258         round: Implement result sign according to IEEE 754.
17259         * lib/round.c (MIN, MINUS_ZERO): New macros.
17260         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
17261         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
17262         * tests/test-round-ieee.c (main): Likewise.
17263         * tests/test-roundl-ieee.c (main): Likewise.
17264
17265         trunc: Implement result sign according to IEEE 754.
17266         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
17267         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
17268         * tests/test-trunc2.c: Include minus-zero.h.
17269         (MINUS_ZERO): New macro.
17270         (trunc_reference): Keep in sync with lib/trunc.c.
17271         * tests/test-truncf2.c: Include minus-zero.h.
17272         (MINUS_ZERO): New macro.
17273         (truncf_reference): Keep in sync with lib/trunc.c.
17274         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
17275         * tests/test-trunc-ieee.c (main): Likewise.
17276         * tests/test-truncl-ieee.c (main): Likewise.
17277
17278         ceil: Implement result sign according to IEEE 754.
17279         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
17280         (FUNC): Return -0.0 for -1 < x < 0.
17281         * tests/test-ceil2.c: Include minus-zero.h.
17282         (MINUS_ZERO): New macro.
17283         (ceil_reference): Keep in sync with lib/ceil.c.
17284         * tests/test-ceilf2.c: Include minus-zero.h.
17285         (MINUS_ZERO): New macro.
17286         (ceilf_reference): Keep in sync with lib/ceil.c.
17287         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
17288         * tests/test-ceil-ieee.c (main): Likewise.
17289         * tests/test-ceill-ieee.c (main): Likewise.
17290
17291         floor: Implement result sign according to IEEE 754.
17292         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
17293         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
17294         * tests/test-floorf2.c (floorf_reference): Likewise.
17295         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
17296         * tests/test-floor-ieee.c (main): Likewise.
17297         * tests/test-floorl-ieee.c (main): Likewise.
17298
17299 2010-12-22  Bruno Haible  <bruno@clisp.org>
17300
17301         getaddrinfo: Update doc.
17302         * doc/posix-functions/gai_strerror.texi: Return type is also different
17303         on AIX and HP-UX.
17304
17305 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17306
17307         getaddrinfo, inet_ntop: Update doc for Solaris.
17308         * doc/posix-functions/gai_strerror.texi: Return type is also an
17309         issue on Solaris 9 and earlier.
17310         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
17311         on Solaris 10 and earlier.
17312
17313 2010-12-21  Bruno Haible  <bruno@clisp.org>
17314
17315         New module 'roundl-ieee'.
17316         * modules/roundl-ieee: New file.
17317         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
17318         test whether roundl works according to ISO C 99 with IEC 60559.
17319         * m4/roundl-ieee.m4: New file.
17320         * modules/roundl-ieee-tests: New file.
17321         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
17322         * tests/test-roundl.c (main): Remove signbit tests.
17323         * modules/roundl-tests (Depends-on): Remove signbit.
17324         * doc/posix-functions/roundl.texi: Mention the new module.
17325
17326 2010-12-21  Bruno Haible  <bruno@clisp.org>
17327
17328         New module 'truncl-ieee'.
17329         * modules/truncl-ieee: New file.
17330         * modules/truncl-ieee-tests: New file.
17331         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
17332         * tests/test-truncl.c (main): Remove signbit tests.
17333         * modules/truncl-tests (Depends-on): Remove signbit.
17334         * doc/posix-functions/truncl.texi: Mention the new module.
17335
17336 2010-12-21  Bruno Haible  <bruno@clisp.org>
17337
17338         New module 'ceill-ieee'.
17339         * modules/ceill-ieee: New file.
17340         * modules/ceill-ieee-tests: New file.
17341         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
17342         * tests/test-ceill.c (main): Remove signbit tests.
17343         * modules/ceill-tests (Depends-on): Remove signbit.
17344         * doc/posix-functions/ceill.texi: Mention the new module.
17345
17346 2010-12-21  Bruno Haible  <bruno@clisp.org>
17347
17348         New module 'floorl-ieee'.
17349         * modules/floorl-ieee: New file.
17350         * modules/floorl-ieee-tests: New file.
17351         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
17352         * tests/test-floorl.c (main): Remove signbit tests.
17353         * modules/floorl-tests (Depends-on): Remove signbit.
17354         * doc/posix-functions/floorl.texi: Mention the new module.
17355
17356 2010-12-21  Bruno Haible  <bruno@clisp.org>
17357
17358         New module 'round-ieee'.
17359         * modules/round-ieee: New file.
17360         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
17361         whether round works according to ISO C 99 with IEC 60559.
17362         * m4/round-ieee.m4: New file.
17363         * modules/round-ieee-tests: New file.
17364         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
17365         * tests/test-round1.c (main): Remove signbit tests.
17366         * modules/round-tests (Depends-on): Remove 'signbit'.
17367         * doc/posix-functions/round.texi: Mention the new module.
17368
17369 2010-12-21  Bruno Haible  <bruno@clisp.org>
17370
17371         New module 'trunc-ieee'.
17372         * modules/trunc-ieee: New file.
17373         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
17374         whether trunc works according to ISO C 99 with IEC 60559.
17375         * m4/trunc-ieee.m4: New file.
17376         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
17377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
17378         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
17379         * modules/trunc-ieee-tests: New file.
17380         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
17381         * tests/test-trunc1.c (main): Remove signbit tests.
17382         * modules/trunc-tests (Depends-on): Remove 'signbit'.
17383         * doc/posix-functions/trunc.texi: Mention the new module.
17384
17385 2010-12-21  Bruno Haible  <bruno@clisp.org>
17386
17387         New module 'ceil-ieee'.
17388         * modules/ceil-ieee: New file.
17389         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
17390         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
17391         ISO C 99 with IEC 60559.
17392         * m4/ceil-ieee.m4: New file.
17393         * modules/ceil (Files): Add lib/ceil.c.
17394         (Depends-on): Add 'float'.
17395         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17396         * lib/math.in.h (ceil): New declaration.
17397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
17398         REPLACE_CEIL.
17399         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
17400         * modules/ceil-ieee-tests: New file.
17401         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
17402         * tests/test-math-c++.cc: Check the signature of 'ceil'.
17403         * doc/posix-functions/ceil.texi: Mention the new module.
17404
17405 2010-12-21  Bruno Haible  <bruno@clisp.org>
17406
17407         New module 'floor-ieee'.
17408         * modules/floor-ieee: New file.
17409         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17410         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17411         ISO C 99 with IEC 60559.
17412         * m4/floor-ieee.m4: New file.
17413         * modules/floor (Files): Add lib/floor.c.
17414         (Depends-on): Add 'float'.
17415         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17416         * lib/math.in.h (floor): New declaration.
17417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17418         REPLACE_FLOOR.
17419         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17420         * modules/floor-ieee-tests: New file.
17421         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17422         * tests/test-math-c++.cc: Check the signature of 'floor'.
17423         * doc/posix-functions/floor.texi: Mention the new module.
17424
17425 2010-12-21  Bruno Haible  <bruno@clisp.org>
17426
17427         New module 'roundf-ieee'.
17428         * modules/roundf-ieee: New file.
17429         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17430         test whether roundf works according to ISO C 99 with IEC 60559.
17431         * m4/roundf-ieee.m4: New file.
17432         * modules/roundf-ieee-tests: New file.
17433         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17434         * tests/test-roundf1.c (main): Remove signbit tests.
17435         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17436         * doc/posix-functions/roundf.texi: Mention the new module.
17437
17438 2010-12-21  Bruno Haible  <bruno@clisp.org>
17439
17440         New module 'truncf-ieee'.
17441         * modules/truncf-ieee: New file.
17442         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17443         test whether truncf works according to ISO C 99 with IEC 60559.
17444         * m4/truncf-ieee.m4: New file.
17445         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17446         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17447         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17448         * modules/truncf-ieee-tests: New file.
17449         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17450         * tests/test-truncf1.c (main): Remove signbit tests.
17451         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17452         * doc/posix-functions/truncf.texi: Mention the new module.
17453
17454 2010-12-21  Bruno Haible  <bruno@clisp.org>
17455
17456         New module 'ceilf-ieee'.
17457         * modules/ceilf-ieee: New file.
17458         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17459         test whether ceilf works according to ISO C 99 with IEC 60559.
17460         * m4/ceilf-ieee.m4: New file.
17461         * modules/ceilf-ieee-tests: New file.
17462         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17463         * tests/test-ceilf1.c (main): Remove signbit tests.
17464         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17465         * doc/posix-functions/ceilf.texi: Mention the new module.
17466
17467 2010-12-21  Bruno Haible  <bruno@clisp.org>
17468
17469         New module 'floorf-ieee'.
17470         * modules/floorf-ieee: New file.
17471         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17472         test whether floorf works according to ISO C 99 with IEC 60559.
17473         * m4/floorf-ieee.m4: New file.
17474         * modules/floorf-ieee-tests: New file.
17475         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17476         * tests/test-floorf1.c (main): Remove signbit tests.
17477         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17478         * doc/posix-functions/floorf.texi: Mention the new module.
17479
17480 2010-12-21  Bruno Haible  <bruno@clisp.org>
17481
17482         Support for minus zero in autoconf macros.
17483         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17484         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17485         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17486         * tests/minus-zero.h: Update comments.
17487
17488 2010-12-21  Bruno Haible  <bruno@clisp.org>
17489
17490         Tests for module 'ceil'.
17491         * modules/ceil-tests: New file.
17492         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17493         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17494
17495 2010-12-21  Bruno Haible  <bruno@clisp.org>
17496
17497         Tests for module 'floor'.
17498         * modules/floor-tests: New file.
17499         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17500         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17501
17502 2010-12-21  Bruno Haible  <bruno@clisp.org>
17503
17504         math: Fix indentation.
17505         * lib/math.in.h (floorf): Fix indentation.
17506
17507 2010-12-21  Bruno Haible  <bruno@clisp.org>
17508
17509         Fix cross-compilation guesses on Solaris.
17510         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17511         not match "solaris2.10".
17512         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17513         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17514         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17515
17516 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17517
17518         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17519         This fixes a problem observed with the latest coreutils snapshot
17520         that caused a test to fail on Solaris 8.  src/csplit.c's call
17521         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17522         earlier, instead of returning the number of bytes that would have
17523         been generated; this causes csplit to incorrectly report memory
17524         exhaustion.
17525         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17526         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17527         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17528         comments to match.
17529         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17530         Fix typo in matching older versions of Solaris: "solaris2.10"
17531         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17532         only for guessing while cross-compiling.
17533         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17534
17535 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17536
17537         ftoastr: fix comment again
17538         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17539         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17540         Also, simplify example a bit by using flags = 0.
17541
17542 2010-12-20  Bruno Haible  <bruno@clisp.org>
17543
17544         round*, trunc*: Update documentation regarding glibc.
17545         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17546         * doc/posix-functions/round.texi: Likewise.
17547         * doc/posix-functions/roundl.texi: Likewise.
17548         * doc/posix-functions/truncf.texi: Likewise.
17549         * doc/posix-functions/trunc.texi: Likewise.
17550         * doc/posix-functions/truncl.texi: Likewise.
17551
17552 2010-12-20  Bruno Haible  <bruno@clisp.org>
17553
17554         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17555         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17556         * doc/posix-functions/round.texi: Likewise.
17557         * doc/posix-functions/roundl.texi: Likewise.
17558
17559 2010-12-20  Bruno Haible  <bruno@clisp.org>
17560
17561         ttyname_r: Add missing declaration on HP-UX 11.
17562         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17563         HAVE_TTYNAME_R.
17564         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17565         declared. Set HAVE_TTYNAME_R always.
17566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17567         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17568         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17569         HAVE_TTYNAME_R.
17570         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17571
17572 2010-12-20  Bruno Haible  <bruno@clisp.org>
17573
17574         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17575         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17576         * doc/posix-functions/getlogin_r.texi: Likewise.
17577         * tests/test-getlogin.c: Include <errno.h>.
17578         (main): Avoid test failure on HP-UX 11.11.
17579         * tests/test-getlogin_r.c (main): Likewise.
17580
17581 2010-12-20  Bruno Haible  <bruno@clisp.org>
17582
17583         getlogin_r: Add missing declaration on HP-UX 11.
17584         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17585         declared also when it exists as a function.
17586         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17587
17588 2010-12-20  Bruno Haible  <bruno@clisp.org>
17589
17590         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17591         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17592         through wcrtomb.
17593
17594 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17595
17596         ftoastr: fix comment
17597         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17598         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17599
17600 2010-12-19  Bruno Haible  <bruno@clisp.org>
17601
17602         isnan: Ensure it is a macro.
17603         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17604         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17605         Solaris.
17606
17607 2010-12-19  Bruno Haible  <bruno@clisp.org>
17608
17609         ldexpl test: Fix link error on OSF/1 5.1.
17610         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17611
17612 2010-12-19  Bruno Haible  <bruno@clisp.org>
17613
17614         wctype: Make it work in C++ mode on OSF/1 5.1.
17615         * lib/wctype.in.h (iswblank): Declare but not define here.
17616         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17617         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17618         * modules/wctype (Files): Add lib/iswblank.c.
17619
17620 2010-12-19  Bruno Haible  <bruno@clisp.org>
17621
17622         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17623         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17624         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17625
17626 2010-12-19  Bruno Haible  <bruno@clisp.org>
17627
17628         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17629         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17630         _POSIX_PII_SOCKET.
17631         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17632         * doc/posix-functions/recvfrom.texi: Likewise.
17633         * doc/posix-functions/send.texi: Likewise.
17634         * doc/posix-functions/sendto.texi: Likewise.
17635
17636 2010-12-19  Bruno Haible  <bruno@clisp.org>
17637
17638         tcgetsid: Add missing declaration on OSF/1 5.1.
17639         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17640         HAVE_TCGETSID.
17641         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17642         Don't set HAVE_TCGETSID.
17643         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17644         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17645         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17646         HAVE_TCGETSID.
17647         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17648
17649 2010-12-19  Bruno Haible  <bruno@clisp.org>
17650
17651         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17652         * lib/stdio.in.h: During the include_next statement, let recursive
17653         includes of this file include only the system header file.
17654
17655 2010-12-19  Bruno Haible  <bruno@clisp.org>
17656
17657         iconv_open: Fix regression from 2010-12-04.
17658         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17659         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17660
17661 2010-12-19  Bruno Haible  <bruno@clisp.org>
17662
17663         stdbool test: Avoid a gcc warning.
17664         * tests/test-stdbool.c (main): Fail if e1 is false.
17665         Reported by Jim Meyering.
17666
17667 2010-12-19  Jim Meyering  <meyering@redhat.com>
17668
17669         setenv: restore to working order
17670         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17671         mistakenly removed.
17672         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17673         HAVE_SETENV.
17674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17675         HAVE_SETENV.
17676
17677 2010-12-19  Bruno Haible  <bruno@clisp.org>
17678
17679         Document some different function declarations on OSF/1 5.1.
17680         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17681         * doc/posix-functions/inet_ntop.texi: Likewise.
17682         * doc/posix-functions/gethostname.texi: Likewise.
17683         * lib/unistd.in.h (gethostname): Update comment.
17684
17685 2010-12-19  Bruno Haible  <bruno@clisp.org>
17686
17687         doc: Mention vasprintf-posix module.
17688         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17689         the 'vasprintf-posix' module.
17690         * doc/glibc-functions/vasprintf.texi: Likewise.
17691
17692 2010-12-19  Bruno Haible  <bruno@clisp.org>
17693
17694         unsetenv: Add missing declaration on OSF/1 5.1.
17695         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17696         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17697         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17698         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17699         not HAVE_UNSETENV.
17700         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17701         HAVE_UNSETENV.
17702         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17703
17704 2010-12-19  Bruno Haible  <bruno@clisp.org>
17705
17706         setenv: Add missing declaration on OSF/1 5.1.
17707         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17708         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17709         declared. Don't set HAVE_SETENV.
17710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17711         not HAVE_SETENV.
17712         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17713         HAVE_SETENV.
17714         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17715
17716 2010-12-19  Bruno Haible  <bruno@clisp.org>
17717
17718         nl_langinfo tests: Avoid gcc warning.
17719         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17720
17721 2010-12-19  Bruno Haible  <bruno@clisp.org>
17722
17723         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17724         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17725         _GL_CXXALIAS_SYS.
17726
17727 2010-12-19  Bruno Haible  <bruno@clisp.org>
17728
17729         stdbool: Relax test.
17730         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17731         address to 'bool' work in static initializer, for compilers other than
17732         GCC.
17733
17734 2010-12-19  Bruno Haible  <bruno@clisp.org>
17735
17736         ftello: Add missing declaration on OSF/1 5.1.
17737         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17738         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17740         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17741         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17742
17743 2010-12-19  Bruno Haible  <bruno@clisp.org>
17744
17745         fseeko: Add missing declaration on OSF/1 5.1.
17746         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17747         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17749         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17750         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17751
17752 2010-12-19  Bruno Haible  <bruno@clisp.org>
17753
17754         fchdir: Add missing declaration on OSF/1 5.1.
17755         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17756         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17757         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17758         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17759         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17760
17761 2010-12-19  Bruno Haible  <bruno@clisp.org>
17762
17763         relocatable-prog-wrapper: Separate from relocatable-prog.
17764         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17765         uninstall-relocwrapper rule here.
17766         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17767         Reported by Ian Beckwith <ianb@erislabs.net>.
17768
17769 2010-12-19  Bruno Haible  <bruno@clisp.org>
17770
17771         unistr/u8-mbsnlen: Add missing dependency.
17772         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17773         Reported by Ian Beckwith <ianb@erislabs.net>.
17774
17775 2010-12-19  Bruno Haible  <bruno@clisp.org>
17776
17777         iconv: Make it possible again to use this module without 'iconv-h'.
17778         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17779         if it is not defined.
17780         Reported by Ian Beckwith <ianb@erislabs.net>.
17781
17782 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17783
17784         acl: port to Solaris 8 when copying from tmpfs to ufs
17785         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17786         error number.  Problem observed on Solaris 8 with latest
17787         coreutils, with "mv A B", where A is on a tmpfs file system and B
17788         is on a ufs file system.  This caused coreutils' mv/part-symlink
17789         test to fail.
17790
17791         tests: set fail=0 at start
17792         * tests/init.sh (setup_): Move fail=0 initialization here ...
17793         (mktempd_): ... from here, so that tests can rely on fail being
17794         set to 0 initially.  This fixes a problem in coreutils; see:
17795         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17796
17797 2010-12-18  Bruno Haible  <bruno@clisp.org>
17798
17799         memmem-simple: Stylistic changes.
17800         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17801         Fix preprocessor directive indentation.
17802
17803 2010-12-15  Pádraig Brady <P@draigBrady.com>
17804
17805         memmem, memmem-simple: reorganize and expand empty needle check
17806         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17807         functional checks to memmem-simple so that one has a fully functional
17808         memmem by using just this module.
17809         Restrict the performance only check to the memmem module.
17810         Also expand the empty needle check to ensure the correct
17811         pointer is returned, not just a non NULL pointer.
17812         * doc/glibc-functions/memmem.texi: Rearrange the portability
17813         documentation to correlate with the rearranged checks.
17814         Clarify exactly how the memmem and memmem-simple modules
17815         relate to each other.
17816
17817 2010-12-15  Pádraig Brady <P@draigBrady.com>
17818             Bruno Haible  <bruno@clisp.org>
17819
17820         Improve cross-compilation guesses for uClibc.
17821         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17822         that uClibc does not have the glibc bug.
17823         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17824         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17825
17826 2010-12-14  Eric Blake  <eblake@redhat.com>
17827
17828         configmake: provide fallbacks for oldest supported autotools
17829         * m4/configmake.m4: New file.
17830         * modules/configmake (Files): Ship it.
17831         (configure.ac): Use it to guarantee fallbacks.
17832
17833 2010-12-13  Pádraig Brady <P@draigBrady.com>
17834
17835         read-file: Improve handling of large files
17836         * lib/read-file.c (fread_file): Minimize realloc()s
17837         for regular files, and better manage sizes around SIZE_MAX.
17838
17839 2010-12-13  Eric Blake  <eblake@redhat.com>
17840
17841         cloexec, fcntl: relax license
17842         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17843         consent from all contributors.
17844         * modules/fcntl (License): Likewise.
17845
17846 2010-12-10  Bruno Haible  <bruno@clisp.org>
17847
17848         Tests for module 'pipe-posix'.
17849         * modules/pipe-posix-tests: New file.
17850         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17851
17852 2010-12-10  Bruno Haible  <bruno@clisp.org>
17853
17854         pipe-posix: Make it work in C++ mode.
17855         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17856         (pipe): Use common idiom, not a macro definition.
17857         * lib/pipe.c: New file.
17858         * m4/pipe.m4: New file.
17859         * modules/pipe-posix (Description): Enhance.
17860         (Files): Add lib/pipe.c, m4/pipe.m4.
17861         (configure.ac): Invoke gl_FUNC_PIPE.
17862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17863         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17864         * tests/test-unistd-c++.cc: Check the signature of pipe.
17865
17866 2010-12-10  Bruno Haible  <bruno@clisp.org>
17867
17868         Rename module 'pipe' to 'spawn-pipe'.
17869         * modules/spawn-pipe: New file, renamed from modules/pipe.
17870         (Files, configure.ac, Makefile.am): Update.
17871         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17872         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17873         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17874         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17875         "spawn-pipe.h" instead of "pipe.h".
17876         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17877         to gl_SPAWN_PIPE.
17878         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17879         (Files, Makefile.am): Update.
17880         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17881         Update.
17882         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17883         Include "spawn-pipe.h" instead of "pipe.h".
17884         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17885         * lib/javacomp.c: Likewise.
17886         * lib/javaversion.c: Likewise.
17887         * lib/pipe-filter-gi.c: Likewise.
17888         * lib/pipe-filter-ii.c: Likewise.
17889         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17890         * modules/javacomp (Depends-on): Likewise.
17891         * modules/javaversion (Depends-on): Likewise.
17892         * modules/pipe-filter-gi (Depends-on): Likewise.
17893         * modules/pipe-filter-ii (Depends-on): Likewise.
17894         * MODULES.html.sh (Executing programs): Update.
17895         * NEWS: Mention the change.
17896
17897 2010-12-10  Eric Blake  <eblake@redhat.com>
17898
17899         pipe-posix: new module
17900         * modules/pipe-posix: New file.
17901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17902         (gl_UNISTD_H): Check for declaration.
17903         * modules/unistd (Makefile.am): Substitute it.
17904         * lib/unistd.in.h (pipe): Provide it for mingw.
17905         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17906         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17907
17908 2010-12-07  Bruno Haible  <bruno@clisp.org>
17909
17910         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17911         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17912         u8_strcmp_gnu.
17913         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17914
17915 2010-12-06  Bruno Haible  <bruno@clisp.org>
17916
17917         Update internal documentation.
17918         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17919
17920 2010-12-04  Bruno Haible  <bruno@clisp.org>
17921
17922         Put more information about failed tests into the test return codes.
17923         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17924         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17925         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17926         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17927         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17928         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17929         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17930         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17931         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17933         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17934         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17935         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17936         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17937         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17938         returns a bit mask.
17939         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17940         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17941         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17942         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17943         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17944         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17945         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17947         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17948         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17949         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17950         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17951         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17952         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17953         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17954         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17955         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17956         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17957         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17958         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17959         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17960         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17961         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17962         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17963         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17964         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17965         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17966         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17967         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17968         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17969         gl_PRINTF_PRECISION): Likewise.
17970         * m4/regex.m4 (gl_REGEX): Likewise.
17971         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17972         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17973         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17974         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17975         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17976         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17977         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17978         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17979         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17980         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17981         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17982         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17983         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17984         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17985         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17986         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17987         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17988         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17989         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17990         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17991         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17992         enumerated value.
17993         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17994
17995 2010-12-04  Bruno Haible  <bruno@clisp.org>
17996
17997         Update for Solaris 11 2010-11.
17998         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17999         Express, released in November 2010.
18000
18001 2010-12-04  Bruno Haible  <bruno@clisp.org>
18002
18003         nproc: Relax license.
18004         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
18005         and Paul Eggert.
18006         Requested by Ludovic Courtès <ludo@gnu.org>.
18007
18008 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
18009
18010         utimecmp: fine-grained src to nearby coarse-grained dest
18011
18012         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
18013         and the source is on a file system with higher-resolution time
18014         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
18015         not work, and the time stamps are close together, the algorithm to
18016         determine the exact resolution from the read-back mtime was buggy:
18017         it had a "!=" where it should have had an "==".  This bug has been
18018         in the code ever since it was introduced to gnulib.
18019         Problem reported by Dan Jacobson in
18020         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
18021
18022 2010-11-30  Bruno Haible  <bruno@clisp.org>
18023
18024         strerror_r-posix: Fix autoconf test.
18025         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
18026
18027 2010-11-28  Bruno Haible  <bruno@clisp.org>
18028             Paul Eggert  <eggert@cs.ucla.edu>
18029
18030         Tests for module 'getdomainname'.
18031         * modules/getdomainname-tests: New file.
18032         * tests/test-getdomainname.c: New file, based on
18033         tests/test-gethostname.c.
18034
18035 2010-11-28  Bruno Haible  <bruno@clisp.org>
18036             Paul Eggert  <eggert@cs.ucla.edu>
18037
18038         getdomainname: Use the system function when possible.
18039         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
18040         (getdomainname): Replace if needed. Provide the declaration if it is
18041         missing. Don't use _GL_CXXALIAS_SYS_CAST.
18042         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
18043         (getdomainname): When the system has getdomainname, call the system
18044         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
18045         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18046         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
18047         found in libnsl. Look for the declaration also in <netdb.h>. Replace
18048         the function if its second argument is of type 'int' or if it is found
18049         in libnsl.
18050         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
18051         <sys/systeminfo.h> and sysinfo().
18052         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
18053         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18054         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
18055         HAVE_GETDOMAINNAME.
18056         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
18057         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
18058         * doc/glibc-functions/getdomainname.texi: Document the problems with
18059         the getdomainname declaration.
18060
18061 2010-11-28  Bruno Haible  <bruno@clisp.org>
18062
18063         sys_socket: Ensure ss_family field on AIX.
18064         * lib/sys_socket.in.h (ss_family): New macro definition.
18065         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
18066         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
18067         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18068         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
18069         * modules/sys_socket (Makefile.am): Substitute
18070         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
18071         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
18072
18073 2010-11-27  Bruno Haible  <bruno@clisp.org>
18074
18075         readline: Improve configure output.
18076         * m4/readline.m4 (gl_FUNC_READLINE): Make the
18077         "checking for readline..." result understandable.
18078
18079 2010-11-27  Bruno Haible  <bruno@clisp.org>
18080
18081         *printf-posix: Detect a bug on Solaris 10/x86.
18082         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
18083         for floating-point output.
18084         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
18085         directive.
18086         * tests/test-snprintf-posix.h (test_function): Likewise.
18087         * tests/test-sprintf-posix.h (test_function): Likewise.
18088         * tests/test-vasprintf-posix.c (test_function): Likewise.
18089         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
18090         * doc/posix-functions/printf.texi: Likewise.
18091         * doc/posix-functions/snprintf.texi: Likewise.
18092         * doc/posix-functions/sprintf.texi: Likewise.
18093         * doc/posix-functions/vfprintf.texi: Likewise.
18094         * doc/posix-functions/vprintf.texi: Likewise.
18095         * doc/posix-functions/vsnprintf.texi: Likewise.
18096         * doc/posix-functions/vsprintf.texi: Likewise.
18097         * doc/glibc-functions/obstack_printf.texi: Likewise.
18098         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
18099
18100 2010-11-27  Bruno Haible  <bruno@clisp.org>
18101
18102         Fix link error when module libunistring-optional is in use.
18103         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
18104         * modules/striconveha-tests (Makefile.am): Likewise.
18105
18106 2010-11-27  Bruno Haible  <bruno@clisp.org>
18107
18108         regex: Mention link dependencies.
18109         * modules/regex (Link): New section.
18110         * modules/rpmatch (Link): Likewise.
18111         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
18112
18113 2010-11-27  Bruno Haible  <bruno@clisp.org>
18114
18115         ftoastr: Fix compilation error on Solaris.
18116         * lib/ftoastr.c: Include <config.h>.
18117
18118 2010-11-27  Bruno Haible  <bruno@clisp.org>
18119
18120         getloadavg: Update documentation.
18121         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
18122
18123 2010-11-27  Bruno Haible  <bruno@clisp.org>
18124
18125         sys_socket: Fix test whether the functions are declared.
18126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
18127         not <sys/select.h>.
18128
18129 2010-11-27  Bruno Haible  <bruno@clisp.org>
18130
18131         getpass: Make sure to get system declaration on some platforms.
18132         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
18133         gl_USE_SYSTEM_EXTENSIONS.
18134         * modules/getpass (Depends-on): Add extensions.
18135
18136 2010-11-26  Bruno Haible  <bruno@clisp.org>
18137
18138         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
18139         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
18140         'iconv' module is present.
18141         (ICONV_CONST): New macro.
18142         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
18143         ICONV_CONST.
18144         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
18145         set ICONV_CONST.
18146         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
18147         here.
18148         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
18149         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
18150         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
18151         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
18152         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
18153         present.
18154
18155 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18156
18157         ftoastr: comment fix
18158         * lib/ftoastr.c: "little" -> "little or no" in comment
18159
18160 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
18161
18162         stdint: port to GCC 4.3 + OSX + Octave
18163         On this platform, stdint.h is buggy and defines int64_t to long
18164         long int.  The replacement defined it to long int, causing
18165         problems with C++ style name mangling.  Instead, trust the system
18166         definition if INT64_MAX is defined, and likewise for the unsigned
18167         variant.   Problem reported by Jarno Rajahalme in
18168         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
18169         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
18170         and don't mess with int64_t and INT64_MAX in this case.
18171         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
18172
18173 2010-11-24  Bruno Haible  <bruno@clisp.org>
18174
18175         doc: Corrections regarding MacOS X 10.4 and 10.5.
18176         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
18177         MacOS X.
18178         Reported by Simon Josefsson.
18179
18180 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
18181
18182         Uninstall ".bin" files installed by relocwrapper.
18183         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
18184         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
18185         unless it is already there.
18186
18187 2010-11-21  Bruno Haible  <bruno@clisp.org>
18188
18189         Update for NetBSD 5.0.
18190         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18191         NetBSD; the test fails on NetBSD 5.0.
18192         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18193         about NetBSD.
18194
18195 2010-11-21  Bruno Haible  <bruno@clisp.org>
18196
18197         Update for HP-UX 11.23 and HP-UX 11.31.
18198         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
18199         HP-UX.
18200
18201 2010-11-21  Bruno Haible  <bruno@clisp.org>
18202
18203         Update for MacOS X 10.5.
18204         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
18205         MacOS X; the test fails on MacOS X 10.5.8.
18206         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
18207         about MacOS X.
18208
18209 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
18210
18211         bootstrap: add bootstrap_sync option.
18212         See discussion at
18213         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
18214         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
18215         * build-aux/bootstrap: Accept --bootstrap-sync to update
18216         bootstrap if it is not identical to the local gnulib's
18217         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
18218         enable this by default.  Accept --no-bootstrap-sync to disable
18219         it.
18220
18221 2010-11-20  Bruno Haible  <bruno@clisp.org>
18222
18223         Ensure that <features.h> is included before __GLIBC__ is tested.
18224         * lib/printf-parse.h: Include <features.h>.
18225         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
18226         Reported by Mike Frysinger <vapier@gentoo.org>.
18227
18228         Ensure that <features.h> is included before __GLIBC__ is tested.
18229         * lib/wchar.in.h: Include <features.h>.
18230         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
18231         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
18232         Reported by Mike Frysinger <vapier@gentoo.org>.
18233
18234         Ensure that <features.h> is included before __GLIBC__ is tested.
18235         * lib/arpa_inet.in.h: Include <features.h>.
18236         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
18237         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
18238         Reported by Mike Frysinger <vapier@gentoo.org>.
18239
18240         Ensure that <features.h> is included before __GLIBC__ is tested.
18241         * build-aux/link-warning.h: Include <features.h>.
18242         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
18243         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
18244         Reported by Mike Frysinger <vapier@gentoo.org>.
18245
18246         Ensure that <features.h> is included before __GLIBC__ is tested.
18247         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
18248         Reported by Mike Frysinger <vapier@gentoo.org>.
18249
18250 2010-11-20  Bruno Haible  <bruno@clisp.org>
18251
18252         memmem: Fix autoconf test.
18253         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
18254
18255 2010-11-20  Bruno Haible  <bruno@clisp.org>
18256
18257         Port to uClibc.
18258         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
18259         * lib/fcntl.in.h: Likewise.
18260         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
18261         * lib/mbrtowc.c (mbrtowc): Likewise.
18262         * lib/relocatable.c (find_shared_library_fullname): Likewise.
18263         * lib/strerror_r.c: Likewise.
18264         * lib/unistr/u8-strnlen.c: Likewise.
18265         * lib/vasnprintf.c (decimal_point_char): Likewise.
18266         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18267         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18268         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
18269         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18270         * tests/test-sigaction.c (handler, main): Likewise.
18271         * lib/freading.h: Treat uClibc like a non-glibc platform.
18272         * lib/freading.c: Likewise.
18273         * lib/gettext.h: Likewise.
18274         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
18275         Likewise.
18276         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
18277         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
18278         * lib/propername.c (proper_name_utf8): Likewise.
18279         * lib/spawn.in.h: Likewise.
18280         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
18281         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
18282         mem_cd_iconveh_internal): Likewise.
18283         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
18284         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18285         strstr, strcasestr): Likewise.
18286         * lib/unicodeio.c (unicode_to_mb): Likewise.
18287         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
18288         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
18289         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
18290         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
18291         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
18292         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
18293         * lib/unistr/u8-stpncpy.c: Likewise.
18294         * lib/vasnprintf.c (VASNPRINTF): Likewise.
18295         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
18296         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18297         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18298         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18299         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
18300         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
18301         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
18302         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18303         Likewise.
18304         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18305         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18306         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18307         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18308         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18309         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18310         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18311         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18312         * tests/test-getopt.h (OPTIND_MIN): Likewise.
18313         * tests/test-striconveha.c (main): Likewise.
18314         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18315         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
18316         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
18317         * doc/posix-functions/getline.texi: Likewise.
18318         Reported by Mike Frysinger <vapier@gentoo.org>.
18319
18320 2010-11-20  Bruno Haible  <bruno@clisp.org>
18321
18322         nproc: Fix condition.
18323         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
18324         HAVE_PTHREAD_AFFINITY_NP.
18325
18326 2010-11-20  Bruno Haible  <bruno@clisp.org>
18327
18328         Fix a comment.
18329         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
18330
18331 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
18332
18333         ftoastr: don't assume snprintf
18334         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
18335         Implement a subset of snprintf here, by using sprintf safely.
18336         * modules/ftoastr (Depends-on): Remove snprintf.
18337
18338 2010-11-19  Jim Meyering  <meyering@redhat.com>
18339
18340         test-rename.h: fix compilation failure
18341         * tests/test-rename.h (test_rename): Add omitted "}".
18342
18343 2010-11-17  Jim Meyering  <meyering@redhat.com>
18344
18345         maint.mk: add a URL discussing the no-@acronym policy
18346         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
18347
18348 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
18349
18350         ftoastr: depend on snprintf, improve comments
18351         * lib/ftoastr.c: Also mention Loitsch's draft.
18352         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
18353         needed in the current implementation, but it might simplify
18354         speeding up the code later.
18355         * modules/ftoastr: Depend on snprintf; this improves portability.
18356         Suggested by Bruno Haible in the same email.
18357
18358         ftoastr: port to hosts lacking strtof and strtold
18359         Problem reported by Bruno Haible in
18360         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
18361         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
18362         environment and strtold (and presumably strtof) are not available.
18363         * modules/ftoastr (Files): Add m4/c-strtod.m4.
18364         (configure.ac): Require gl_C99_STRTOLD.
18365
18366 2010-11-18  Bruno Haible  <bruno@clisp.org>
18367
18368         c-strtold: Avoid link error on AIX 7.
18369         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
18370         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
18371         (gl_C_STRTOLD): Test whether strtold_l exists.
18372         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18373
18374 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18375
18376         intprops: new macro INT_BITS_STRLEN_BOUND
18377         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
18378         ftoastr.h.  This exposes an internal of intprops.h that was formerly
18379         not exposed.  Also, it uses a slightly tighter bound than before;
18380         though this makes no practical difference, we might as well be as
18381         tight as we easily can.
18382
18383         ftoastr: new module, for lossless conversion of floats to short strings
18384         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
18385         * modules/ftoastr: New files.
18386
18387 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18388
18389         bootstrap: port to Solaris sed
18390         * build-aux/bootstrap (get_version): Port to Solaris sed.
18391         See Ralf Wildenhues's note in
18392         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
18393
18394 2010-11-14  Jim Meyering  <meyering@redhat.com>
18395
18396         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
18397         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
18398         and move definition closer to sole use.
18399
18400 2010-11-13  Jim Meyering  <meyering@redhat.com>
18401
18402         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
18403         Now we require at least autoconf-2.59, which means the work-around
18404         is no longer needed.
18405         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
18406         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18407         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18408         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18409         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18410
18411 2010-11-13  Bruno Haible  <bruno@clisp.org>
18412
18413         rename, renameat: Avoid test failures at NFS mounted locations.
18414         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18415         functions.
18416         (test_rename): Use assert_nonexistent.
18417         * tests/test-rename.c: Include <dirent.h>.
18418         * tests/test-renameat.c: Likewise.
18419         Reported by Gary V. Vaughan <gary@gnu.org>.
18420
18421         rename, renameat: Document Linux bug with NFS
18422         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18423         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18424         * doc/posix-functions/renameat.texi: Likewise.
18425         Suggested by Eric Blake.
18426
18427 2010-11-13  Bruno Haible  <bruno@clisp.org>
18428
18429         rename test: Add comments.
18430         * tests/test-rename.h (test_rename): Add structure and comments.
18431
18432 2010-11-13  Eric Blake  <eblake@redhat.com>
18433
18434         maintainer-makefile: cover a few more files
18435         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18436         scripts generated within C files, for libvirt.
18437
18438 2010-11-13  Bruno Haible  <bruno@clisp.org>
18439
18440         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18441         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18442         character, return the number of bytes that belong together, not always
18443         1.
18444         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18445         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18446         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18447         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18448         number of bytes of an invalid character.
18449         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18450         (main): Invoke it.
18451         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18452         results.
18453         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18454         malformed byte sequences.
18455         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18456         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18457         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18458         Reported by Ben Pfaff and Paolo Bonzini.
18459
18460 2010-11-13  Bruno Haible  <bruno@clisp.org>
18461
18462         openat: Work around glibc bug with fchownat() and empty file names.
18463         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18464         (gl_FUNC_FCHOWNAT): Invoke it.
18465         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18466         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18467         Reported by Gary V. Vaughan <gary@gnu.org>.
18468
18469 2010-11-13  Bruno Haible  <bruno@clisp.org>
18470
18471         openat: Ensure autoconf macro ordering.
18472         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18473         gl_USE_SYSTEM_EXTENSIONS.
18474         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18475
18476 2010-11-13  Bruno Haible  <bruno@clisp.org>
18477
18478         Update comments.
18479         * lib/unistr/u8-check.c: Update file name in comments.
18480         * lib/unistr/u8-mblen.c: Likewise.
18481         * lib/unistr/u8-prev.c: Likewise.
18482         * lib/unistr/u8-strmblen.c: Likewise.
18483         * lib/unistr/u8-strmbtouc.c: Likewise.
18484
18485 2010-11-13  Jim Meyering  <meyering@redhat.com>
18486
18487         tests: avoid test failure on Solaris 10 due to lack of PATH export
18488         * tests/test-update-copyright.sh: Don't forget to export PATH.
18489
18490         init.sh: ensure that IFS is defined, just in case...
18491         * tests/init.sh (setup_): Ensure that IFS is defined,
18492         so that saving and restoring it works as expected.  This
18493         appears to be useful at least for an old version of dash
18494         from a long time ago (RH 6).  See here for details:
18495         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18496
18497         maint.mk: tighten "test a == b" check
18498         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18499         test to files that contain something like #!/bin/sh.
18500         Without this, coreutils would get two false positives in
18501         the comments of C source files.
18502
18503 2010-11-12  Eric Blake  <eblake@redhat.com>
18504
18505         bootstrap: fix typo in previous attempt
18506         * build-aux/bootstrap (buildreq): Correct the grouping.
18507         Reported by Paul Eggert.
18508
18509         maintainer-makefile: prohibit test x == x
18510         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18511         Based on a report by Matthias Bolte.
18512
18513         bootstrap: allow FreeBSD gzip
18514         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18515         which has no '.' and goes to stderr.
18516         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18517         Reported by Matthias Bolte.
18518
18519         maintainer-makefile: check for i18n setup
18520         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18521         will likely work.
18522
18523 2010-11-12  Bruno Haible  <bruno@clisp.org>
18524
18525         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18526         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18527         * lib/nanosleep.c (nanosleep): Likewise.
18528
18529 2010-11-11  Bruno Haible  <bruno@clisp.org>
18530
18531         fcntl-h: Fix for use of C++ on glibc systems.
18532         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18533         also on glibc systems in C++ mode.
18534         Reported by Gary V. Vaughan <gary@gnu.org>.
18535
18536 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18537
18538         mknod: avoid false failure with dash
18539         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18540
18541 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18542
18543         unlink: Fix "is it should" typo in diagnostic.
18544         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18545         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18546
18547 2010-11-11  Bruno Haible  <bruno@clisp.org>
18548
18549         Tests for module 'strerror_r-posix'.
18550         * modules/strerror_r-posix-tests: New file.
18551         * tests/test-strerror_r.c: New file.
18552         * tests/test-string-c++.cc: Check the signature of strerror_r.
18553
18554         New module 'strerror_r-posix'.
18555         * lib/string.in.h (strerror_r): New declaration.
18556         * lib/strerror_r.c: New file.
18557         * m4/strerror_r.m4: New file.
18558         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18559         of strerror_r.
18560         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18561         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18562         * modules/strerror_r-posix: New file.
18563         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18564         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18565         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18566         portability problems.
18567
18568 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18569
18570         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18571         line is also considered for output. Quoted function name in shell
18572         command, so temporary files for functions like MyClass::operator()
18573         are removed correctly without errors.
18574
18575 2010-11-09  Bruno Haible  <bruno@clisp.org>
18576
18577         * doc/posix-functions/strerror.texi: List more failing platforms.
18578
18579         * doc/posix-functions/strerror.texi: Add a comment.
18580
18581 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18582
18583         fdopendir: fix bug on MacOS X when low on file descriptors
18584
18585         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18586         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18587         All callers changed.
18588         (fdopendir): Invoke save_cwd at the top level, not after using
18589         multiple dup() calls to use up file descriptors.  Then retry
18590         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18591         less than the maximum number of open file descriptors, because
18592         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18593         on Mac OS X 10.6.4 for tar 1.24
18594         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18595         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18596         and for tar 1.25
18597         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18598
18599 2010-11-07  Bruno Haible  <bruno@clisp.org>
18600
18601         vasnprintf: Support I flag on glibc systems.
18602         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18603         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18604         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18605         snprintf function.
18606         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18607         glibc systems.
18608         * tests/test-vasnprintf-posix3.c: New file.
18609         * modules/vasnprintf-posix-tests (Files): Add it.
18610         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18611
18612 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18613
18614         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18615         * MODULES.html.sh: For compiler warnings, use name
18616         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18617
18618 2010-11-05  Eric Blake  <eblake@redhat.com>
18619
18620         ceil, floor: avoid spurious failure with icc
18621         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18622         [denormals-as-zero] when optimizing without -mieee-fp option.
18623         * tests/test-floorf2.c (floorf_reference): Likewise.
18624         * tests/test-ceilf1.c (dummy): New function.
18625         (main): Use it to outsmart icc's optimization.
18626         * tests/test-floorf1.c (dummy, main): Likewise.
18627
18628         tests: require working signbit
18629         * modules/ceilf-tests (Depends-on): Add signbit.
18630         * modules/ceill-tests (Depends-on): Likewise.
18631         * modules/floorf-tests (Depends-on): Likewise.
18632         * modules/floorl-tests (Depends-on): Likewise.
18633         * modules/round-tests (Depends-on): Likewise.
18634         * modules/roundf-tests (Depends-on): Likewise.
18635         * modules/roundl-tests (Depends-on): Likewise.
18636         * modules/trunc-tests (Depends-on): Likewise.
18637         * modules/truncf-tests (Depends-on): Likewise.
18638         * modules/truncl-tests (Depends-on): Likewise.
18639
18640         strtod: work around icc bug
18641         * lib/strtod.c (minus_zero): Define to working value.
18642         (strtod): Use it to avoid icc bug.
18643
18644         copysign: enhance tests
18645         * modules/copysign-tests (Files): Add minus-zero.h.
18646         * tests/test-copysign.c (main): Also test zeros.
18647
18648 2010-11-04  Eric Blake  <eblake@redhat.com>
18649
18650         ceil, floor, round, trunc: enhance tests of -0
18651         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18652         * tests/test-ceill.c (main): Likewise.
18653         * tests/test-floorf1.c (main): Likewise.
18654         * tests/test-floorl.c (main): Likewise.
18655         * tests/test-round1.c (main): Likewise.
18656         * tests/test-roundf1.c (main): Likewise.
18657         * tests/test-roundl.c (main): Likewise.
18658         * tests/test-trunc1.c (main): Likewise.
18659         * tests/test-truncf1.c (main): Likewise.
18660         * tests/test-truncl.c (main): Likewise.
18661
18662 2010-11-04  Eric Blake  <eblake@redhat.com>
18663
18664         frexp, tests: work around ICC bug with -zero
18665         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18666         works with more compilers.
18667         * tests/minus-zero.h: New file.
18668         * modules/ceilf-tests (Files): Include it.
18669         * modules/ceill-tests (Files): Likewise.
18670         * modules/floorf-tests (Files): Likewise.
18671         * modules/floorl-tests (Files): Likewise.
18672         * modules/frexp-nolibm-tests (Files): Likewise.
18673         * modules/frexp-tests (Files): Likewise.
18674         * modules/frexpl-nolibm-tests (Files): Likewise.
18675         * modules/frexpl-tests (Files): Likewise.
18676         * modules/isnan-tests (Files): Likewise.
18677         * modules/isnand-nolibm-tests (Files): Likewise.
18678         * modules/isnand-tests (Files): Likewise.
18679         * modules/isnanf-nolibm-tests (Files): Likewise.
18680         * modules/isnanf-tests (Files): Likewise.
18681         * modules/isnanl-nolibm-tests (Files): Likewise.
18682         * modules/isnanl-tests (Files): Likewise.
18683         * modules/round-tests (Files): Likewise.
18684         * modules/roundf-tests (Files): Likewise.
18685         * modules/roundl-tests (Files): Likewise.
18686         * modules/ldexpl-tests (Files): Likewise.
18687         * modules/signbit-tests (Files): Likewise.
18688         * modules/snprintf-posix-tests (Files): Likewise.
18689         * modules/sprintf-posix-tests (Files): Likewise.
18690         * modules/strtod-tests (Files): Likewise.
18691         * modules/trunc-tests (Files): Likewise.
18692         * modules/truncf-tests (Files): Likewise.
18693         * modules/truncl-tests (Files): Likewise.
18694         * modules/vsnprintf-posix-tests (Files): Likewise.
18695         * modules/vsprintf-posix-tests (Files): Likewise.
18696         * modules/vasnprintf-posix-tests (Files): Likewise.
18697         * modules/vasprintf-posix-tests (Files): Likewise.
18698         * tests/test-ceilf1.c (main): Use it.
18699         * tests/test-ceill.c (main): Likewise.
18700         * tests/test-floorf1.c (main): Likewise.
18701         * tests/test-floorl.c (main): Likewise.
18702         * tests/test-frexp.c (main): Likewise.
18703         * tests/test-frexpl.c (main): Likewise.
18704         * tests/test-isnan.c (main): Likewise.
18705         * tests/test-isnand.h (main): Likewise.
18706         * tests/test-isnanf.h (main): Likewise.
18707         * tests/test-isnanl.h (main): Likewise.
18708         * tests/test-ldexpl.c (main): Likewise.
18709         * tests/test-round.c (main): Likewise.
18710         * tests/test-roundf.c (main): Likewise.
18711         * tests/test-roundl.c (main): Likewise.
18712         * tests/test-signbit.c (test_signbitf, test_signbitd)
18713         (test_signbitl): Likewise.
18714         * tests/test-snprintf-posix.h (test_function): Likewise.
18715         * tests/test-sprintf-posix.h (test_function): Likewise.
18716         * tests/test-strtod.c (main): Likewise.
18717         * tests/test-trunc1.c (main): Likewise.
18718         * tests/test-truncf1.c (main): Likewise.
18719         * tests/test-truncl.c (main): Likewise.
18720
18721         isnanl: work around icc bug
18722         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18723
18724 2010-11-03  Eric Blake  <eblake@redhat.com>
18725
18726         tests: fix compiler warnings
18727         * tests/test-getopt.h (test_getopt): Fix condition.
18728         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18729         * tests/test-pipe2.c (main): Likewise.
18730         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18731
18732         utimens: fix broken m4 test
18733         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18734
18735 2010-10-28  Bruno Haible  <bruno@clisp.org>
18736
18737         posix_spawn*, getdtablesize: Relax license.
18738         * modules/posix_spawn (License): Change to LGPLv2+.
18739         * modules/posix_spawnp (License): Likewise.
18740         * modules/posix_spawn-internal (License): Likewise.
18741         * modules/posix_spawnattr_init (License): Likewise.
18742         * modules/posix_spawnattr_getflags (License): Likewise.
18743         * modules/posix_spawnattr_setflags (License): Likewise.
18744         * modules/posix_spawnattr_getpgroup (License): Likewise.
18745         * modules/posix_spawnattr_setpgroup (License): Likewise.
18746         * modules/posix_spawnattr_getschedparam (License): Likewise.
18747         * modules/posix_spawnattr_setschedparam (License): Likewise.
18748         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18749         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18750         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18751         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18752         * modules/posix_spawnattr_getsigmask (License): Likewise.
18753         * modules/posix_spawnattr_setsigmask (License): Likewise.
18754         * modules/posix_spawnattr_destroy (License): Likewise.
18755         * modules/posix_spawn_file_actions_init (License): Likewise.
18756         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18757         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18758         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18759         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18760         * modules/getdtablesize (License): Likewise.
18761         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18762
18763 2010-10-26  Bruno Haible  <bruno@clisp.org>
18764
18765         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18766         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18767         Cygwin and mingw.
18768         Suggested by Eric Blake.
18769
18770 2010-10-26  Bruno Haible  <bruno@clisp.org>
18771
18772         stdio: Work around compilation error due to renameat() on Solaris 10.
18773         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18774         * lib/renameat.c: Don't include <unistd.h> here.
18775         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18776         Reported by Paul Eggert and Eric Blake.
18777
18778 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18779
18780         renameat: port to Solaris 10, which declares renameat in unistd.h
18781
18782         * lib/renameat.c: Include unistd.h before stdio.h, because
18783         Solaris 10 declares renameat in unistd.h.  Problem encountered
18784         when building GNU tar 1.24 on Solaris 10.
18785
18786 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18787
18788         fdopendir: fix C89 compilation
18789         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18790         compilers.
18791
18792 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18793
18794         inttostr: simplify by removing unnecessary redundancy
18795         * lib/anytostr.c: Don't include verify.h.
18796         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18797         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18798         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18799         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18800         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18801         Likewise.
18802         * modules/inttostr (Depends-on): Remove 'verify'.
18803
18804 2010-10-23  Bruno Haible  <bruno@clisp.org>
18805
18806         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18807         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18808         Reported by Eric Blake.
18809
18810 2010-10-23  Bruno Haible  <bruno@clisp.org>
18811
18812         Tests: Fix LOCALE_JA on MirBSD 10.
18813         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18814         to an UTF-8 locale.
18815         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18816         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18817         Reported by Eric Blake.
18818
18819 2010-10-21  Bruno Haible  <bruno@clisp.org>
18820
18821         nl_langinfo test: Avoid test failure on NetBSD 5.
18822         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18823         Reported by Eric Blake.
18824
18825 2010-10-21  Eric Blake  <eblake@redhat.com>
18826
18827         c-stack: work around libsigsegv 2.8 bug
18828         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18829         overflow on at least PowerPC64.
18830
18831 2010-10-17  Bruno Haible  <bruno@clisp.org>
18832
18833         userspec: Drop redundant file.
18834         * modules/userspec (Files): Remove lib/inttostr.h.
18835
18836 2010-10-17  Bruno Haible  <bruno@clisp.org>
18837
18838         nl_langinfo tests: Silence some warnings.
18839         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18840         Reported by Jim Meyering.
18841
18842 2010-10-17  Bruno Haible  <bruno@clisp.org>
18843
18844         Make use of GCC's attribute __alloc_size__.
18845         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18846         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18847         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18848         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18849         __alloc_size__.
18850         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18851         Suggested by Jim Meyering.
18852
18853 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18854
18855         bootstrap: anchor .gitignore entries.
18856         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18857         with...
18858         (insert_vc_ignore): ... this new function, which prepends `/' to
18859         all .gitignore entries before passing them to
18860         insert_sorted_if_absent.
18861
18862 2010-10-16  Bruno Haible  <bruno@clisp.org>
18863
18864         nextafter: Fix configure check.
18865         * modules/nextafter (configure.ac): Correct expected prototype.
18866
18867 2010-10-16  Bruno Haible  <bruno@clisp.org>
18868
18869         termios: Update documentation.
18870         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18871
18872 2010-10-16  Bruno Haible  <bruno@clisp.org>
18873
18874         tests: Make them compile with TinyCC.
18875         * tests/test-strstr.c (main): Remove parentheses around array
18876         initializer.
18877
18878 2010-10-15  Eric Blake  <eblake@redhat.com>
18879
18880         ignore-value: make header idempotent
18881         * lib/ignore-value.h: Add double-inclusion guards.
18882         Reported by Stefan Berger.
18883
18884 2010-10-15  Jim Meyering  <meyering@redhat.com>
18885
18886         GNUmakefile: handle "stable" target, not "major"
18887         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18888         lists in maint.mk and announce-gen.  Without this, "make stable"
18889         would fail to ensure that $(VERSION) is up to date.
18890
18891 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18892
18893         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18894         & co.
18895
18896 2010-10-14  Bruno Haible  <bruno@clisp.org>
18897
18898         vasnprintf: Don't set errno to 0.
18899         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18900         block that sets it to 0.
18901         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18902
18903 2010-10-14  Bruno Haible  <bruno@clisp.org>
18904
18905         socketlib: Fix.
18906         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18907         gl_PREREQ_SYS_H_WINSOCK2.
18908         Reported by Ian Beckwith <ianb@erislabs.net>.
18909
18910 2010-10-13  Jim Meyering  <meyering@redhat.com>
18911
18912         test-select-stdin.c: avoid warn_unused_result warnings
18913         * tests/test-select-stdin.c: Include "macros.h".
18914         ASSERT that read and fflush succeed.
18915
18916 2010-10-13  Jim Meyering  <meyering@redhat.com>
18917
18918         git-version-gen: do require git-VC'd files in cwd
18919         * build-aux/git-version-gen: Reject a git version string
18920         if there are no commits associated with the current directory.
18921         This avoids an unlikely false-positive (unrelated dir whose parent
18922         repository also contains a tag matching v*), as pointed out
18923         by Giuseppe Scrivano in
18924         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18925
18926 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18927
18928         argv-iter: omit nonconforming declaration
18929         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18930         enum arg_iter_err declaration, which doesn't conform to C99.
18931         Solaris 10 cc warns about this.
18932
18933 2010-10-13  Eric Blake  <eblake@redhat.com>
18934
18935         termios: fix compilation on mingw
18936         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18937         (gl_TERMIOS_H): Adjust it on mingw.
18938         * modules/termios (Makefile.am): Substitute new key.
18939         * lib/termios.in.h (includes): Make include_next conditional.
18940         * doc/posix-headers/termios.texi (termios.h): Update
18941         documentation.
18942         Reported by Daniel P. Berrange.
18943
18944 2010-10-13  Jim Meyering  <meyering@redhat.com>
18945
18946         git-version-gen: don't require that .git/ be in the current dir
18947         * build-aux/git-version-gen: Adjust this script so that it works
18948         when run from any working directory beneath the top-level .git/-
18949         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18950         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18951
18952         test-select: avoid warn_unused_result warnings
18953         * tests/test-select.c: Include "macros.h".
18954         ASSERT that each call to read, write, and pipe succeeds.
18955         While not technically required, also check each "close".
18956         * modules/select-tests (Files): Add tests/macros.h.
18957
18958         test-symlinkat: remove declaration of unused local
18959         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18960
18961         test-inttostr: avoid shadowing warnings
18962         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18963         and use malloc rather than the stack for the same reason as
18964         mentioned in the comment justifying the other allocation.
18965
18966 2010-10-11  Bruno Haible  <bruno@clisp.org>
18967
18968         stdlib: Allow multiple gnulib generated replacements to coexist.
18969         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18970         Reported by Sam Steingold <sds@gnu.org>.
18971
18972 2010-10-11  Jim Meyering  <meyering@redhat.com>
18973
18974         fix a documentation typo
18975         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18976
18977 2010-10-11  Eric Blake  <eblake@redhat.com>
18978
18979         futimens: work around Solaris 11 bug
18980         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18981         * tests/test-futimens.h (test_futimens): Enhance, rather than
18982         weaken test.
18983         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18984
18985 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18986
18987         Indentation.
18988         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18989         higher-level operators more to the left.
18990
18991 2010-10-11  Jim Meyering  <meyering@redhat.com>
18992
18993         test-futimens: avoid unwarranted test failure on Solaris 5.11
18994         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18995         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18996         because it tries to dereference the NULL name argument.
18997
18998 2010-10-11  Bruno Haible  <bruno@clisp.org>
18999
19000         Indentation.
19001         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
19002         indentation.
19003
19004 2010-10-11  Jim Meyering  <meyering@redhat.com>
19005
19006         spawn.in.h: make indentation consistent with parentheses
19007         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
19008         Make indentation consistent with parentheses.
19009
19010 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
19011
19012         Fix mismatched parens in previous commit
19013         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
19014         parens.
19015
19016 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
19017
19018         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
19019
19020         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
19021         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
19022         * lib/malloca.c: Include "verify.h".
19023         (verify1): Remove, replacing with a verify call.
19024         * lib/relocwrapper.c (verify1): Likewise.
19025         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
19026         Likewise.
19027         * modules/malloca (Depends-on): Add 'verify'.
19028         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
19029         * modules/vasnprintf (Depends-on): Add 'verify'.
19030         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19031         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19032         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19033         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19034         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19035         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19036         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19037
19038         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
19039
19040         Formerly the style was sometimes 2*X - 1, because the C standard
19041         was wrongly thought to disallow ?: in integral constant expressions.
19042         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
19043         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
19044         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19045         * lib/stdint.in.h (_verify_intmax_size): Likewise.
19046         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
19047         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
19048         verify that time_t cannot be floating.
19049
19050 2010-10-08  Eric Blake  <eblake@redhat.com>
19051
19052         time: enforce recent POSIX ruling that time_t is integral
19053         * lib/time.in.h (__time_t_must_be_integral): Detect any
19054         problematic systems, allowing the rest of gnulib to assume POSIX.
19055
19056 2010-10-08  Jim Meyering  <meyering@redhat.com>
19057
19058         fdopendir: fix a bug on systems lacking openat and /proc support
19059         OpenBSD 4.7 is one such system.  The most noticeable effect was
19060         failure of any application making nontrivial use of fts: rm, du,
19061         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
19062           ./rm: traversal failed: `a': Bad file descriptor
19063         Debugging that, you see that even though FD 6 was closed just
19064         prior to the opendir call in fd_clone_opendir, its resulting
19065         dir->dd_fd was 8, rather than the expected value of 6:
19066
19067         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
19068         93                close (fd);
19069         (gdb) n
19070         94                dir = fd_clone_opendir (dupfd);
19071         (gdb) n
19072         95                saved_errno = errno;
19073         (gdb) p dir->dd_fd
19074         $11 = 8
19075
19076         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
19077         The problem is that on OpenBSD, fd_clone_opendir has to resort
19078         to using the old-style save/restore CWD mechanism, due to its
19079         lack of openat/proc support, and *that* would steal the FD (6)
19080         that opendir was supposed to use.
19081
19082         The fix is to squirrel away the desired FD so that save_cwd uses a
19083         different one, and then free the dest FD right before calling opendir.
19084         That guarantees opendir will use the required file descriptor.
19085
19086         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
19087
19088 2010-10-08  Bruno Haible  <bruno@clisp.org>
19089
19090         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
19091         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
19092
19093 2010-10-08  Bruno Haible  <bruno@clisp.org>
19094
19095         nanosleep: Make replacement POSIX compliant.
19096         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
19097         is out of range.
19098         Reported by Jim Meyering.
19099
19100 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
19101
19102         bootstrap: add hook for altering gnulib.mk, for Bison
19103         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
19104         the Bison bootstrapping process can rewrite file names and variables
19105         in this file before later parts of 'bootstrap' use the file.
19106         Bison wants to include lib/gnulib.mk from the top-level makefile,
19107         so it needs the file names in this file to be relative to the top
19108         level, not relative to lib; plus it needs variable names to be
19109         rewritten.
19110         (slurp): Use the new function.
19111
19112         bootstrap: reformat for readability
19113         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
19114
19115 2010-10-08  Eric Blake  <eblake@redhat.com>
19116
19117         docs: update cygwin progress
19118         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
19119         1.7.7.
19120         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
19121         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
19122         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
19123         * doc/posix-functions/carg.texi (carg): Likewise.
19124         * doc/posix-functions/cargf.texi (cargf): Likewise.
19125         * doc/posix-functions/casin.texi (casin): Likewise.
19126         * doc/posix-functions/casinf.texi (casinf): Likewise.
19127         * doc/posix-functions/casinh.texi (casinh): Likewise.
19128         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
19129         * doc/posix-functions/catan.texi (catan): Likewise.
19130         * doc/posix-functions/catanf.texi (catanf): Likewise.
19131         * doc/posix-functions/catanh.texi (catanh): Likewise.
19132         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
19133         * doc/posix-functions/ccos.texi (ccos): Likewise.
19134         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
19135         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
19136         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
19137         * doc/posix-functions/cexp.texi (cexp): Likewise.
19138         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
19139         * doc/posix-functions/cimag.texi (cimag): Likewise.
19140         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
19141         * doc/posix-functions/clog.texi (clog): Likewise.
19142         * doc/posix-functions/clogf.texi (clogf): Likewise.
19143         * doc/posix-functions/conj.texi (conj): Likewise.
19144         * doc/posix-functions/conjf.texi (conjf): Likewise.
19145         * doc/posix-functions/cpow.texi (cpow): Likewise.
19146         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
19147         * doc/posix-functions/cproj.texi (cproj): Likewise.
19148         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
19149         * doc/posix-functions/creal.texi (creal): Likewise.
19150         * doc/posix-functions/crealf.texi (crealf): Likewise.
19151         * doc/posix-functions/csin.texi (csin): Likewise.
19152         * doc/posix-functions/csinf.texi (csinf): Likewise.
19153         * doc/posix-functions/csinh.texi (csinh): Likewise.
19154         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
19155         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
19156         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
19157         * doc/posix-functions/ctan.texi (ctan): Likewise.
19158         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
19159         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
19160         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
19161         * doc/posix-headers/complex.texi (complex.h): Likewise.
19162
19163 2010-10-07  Jim Meyering  <meyering@redhat.com>
19164
19165         parse-datetime: avoid compilation failure on OpenBSD 4.7
19166         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
19167         This works around a compilation failure on OpenBSD 4.7:
19168         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
19169
19170 2010-10-07  Eric Blake  <eblake@redhat.com>
19171
19172         docs: update cygwin progress
19173         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
19174         1.7.6.
19175         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
19176         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
19177         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
19178         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
19179         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
19180         Likewise.
19181         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
19182         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
19183         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
19184         Likewise.
19185         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
19186         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
19187         Likewise.
19188         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
19189         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
19190         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
19191         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
19192         Likewise.
19193         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
19194         Likewise.
19195         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
19196
19197         docs: update parse-datetime history
19198         * doc/parse-datetime.texi (Authors of parse_datetime): Better
19199         documentation of this function's history and alternatives.
19200
19201         cygwin: use more robust version check
19202         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
19203         exclude an eventual cygwin 1.9.1.
19204         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19205         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19206         (gl_FUNC_STRCASESTR): Likewise.
19207         Reported by Bruno Haible.
19208
19209 2010-10-06  Bruno Haible  <bruno@clisp.org>
19210
19211         string, sys_select: Avoid #including large headers unless necessary.
19212         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
19213         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
19214         OSF/1, BeOS, Haiku.
19215         Reported by Jim Meyering.
19216
19217 2010-10-05  Eric Blake  <eblake@redhat.com>
19218
19219         memmem, strstr, strcasestr: fix bug with long periodic needle
19220         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
19221         periodic needle having false positive.
19222         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
19223         and cygwin 1.7.7.
19224         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
19225         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
19226         (gl_FUNC_STRCASESTR): Likewise.
19227         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19228         * tests/test-memmem.c (main): Expose the bug.
19229         * tests/test-strcasestr.c (main): Likewise.
19230         * tests/test-strstr.c (main): Likewise.
19231         * tests/test-c-strcasestr.c (main): Likewise.
19232         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
19233         * doc/posix-functions/strstr.texi (strstr): Likewise.
19234         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19235         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
19236
19237 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19238
19239         parse-datetime: do some more renaming
19240         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
19241         parse_datetime, not get_date.  Mention the renaming.
19242         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
19243         in comments.
19244         * m4/bison.m4: Likewise.
19245
19246 2010-10-05  Eric Blake  <eblake@redhat.com>
19247
19248         parse-datetime: better name than get_date
19249         * NEWS: Reword the deprecation notice.
19250         * modules/get_date: Rename to modules/parse-datetime.
19251         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
19252         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
19253         * lib/get_date.y: Rename to lib/parse-datetime.y.
19254         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
19255         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
19256         * doc/getdate.texi: Provide fallback wrapper.
19257         * lib/getdate.h: Move guts, and wrap...
19258         * lib/parse-datetime.h: ...new file.
19259         * lib/parse-datetime.y (get_date): Rename...
19260         (parse_datetime): ...to this.
19261         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
19262         (gl_PARSE_DATETIME): ...to this.
19263         * doc/posix-functions/getdate.texi (get_date): Provide fallback
19264         documentation.
19265         * modules/getdate (Files): Provide fallback docs and header.
19266         (Notice, Depends-on): Update references.
19267         * tests/test-parse-datetime.c: Likewise.
19268         * DEPENDENCIES: Likewise.
19269         * MODULES.html.sh (Date and time <time.h>): Likewise.
19270         * doc/parse-datetime.texi (Date input formats)
19271         (Authors of parse_datetime): Likewise.
19272         * modules/parse-datetime (Files, configure.ac, Makefile.am)
19273         (Include): Likewise.
19274         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
19275         * gnulib-tool: Likewise.
19276         * m4/bison.m4 (gl_BISON): Likewise.
19277         Suggested by Bruno Haible.
19278
19279 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19280
19281         more ports to Solaris tr, which needs [] around ranges
19282         * gnulib-tool: Solaris tr needs [] around ranges.
19283         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19284         * tests/test-pipe-filter-gi1.c (main): Likewise.
19285         * tests/test-pipe-filter-ii1.c (main): Likewise.
19286
19287 2010-10-05  Eric Blake  <eblake@redhat.com>
19288
19289         bootstrap: fix Solaris regression
19290         * build-aux/bootstrap (check_versions): Solaris tr still needs []
19291         around ranges.
19292         Reported by Pádraig Brady.
19293
19294         bootstrap: work with pkg-config
19295         * build-aux/bootstrap (check_versions): Also transliterate - in
19296         prerequisite name.
19297         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
19298         prerequisites that were already found, to avoid confusion.
19299         Reported by Justin Clift.
19300
19301         faccessat: remove unused wrappers
19302         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
19303         presence of these wrappers dragged in -lgen on Solaris.
19304         Reported by Clemens Brogi; fix suggested by Paul Eggert.
19305
19306 2010-10-05  Jim Meyering  <meyering@redhat.com>
19307
19308         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
19309         * Makefile (sc_pragma_columns): New syntax-check rule.
19310
19311 2010-10-04  Bruno Haible  <bruno@clisp.org>
19312
19313         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
19314         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
19315         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
19316         Reported by Bruce Korb and Eric Blake.
19317
19318 2010-10-04  Bruno Haible  <bruno@clisp.org>
19319
19320         threadlib: Make option --with-libpth-prefix work.
19321         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
19322         use $LIBPTH, not just -lpth.
19323
19324 2010-10-04  Bruno Haible  <bruno@clisp.org>
19325
19326         Avoid line length limitation from HP NonStop system header files.
19327         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
19328         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
19329         * lib/ctype.in.h: Likewise.
19330         * lib/dirent.in.h: Likewise.
19331         * lib/errno.in.h: Likewise.
19332         * lib/fcntl.in.h: Likewise.
19333         * lib/float.in.h: Likewise.
19334         * lib/getopt.in.h: Likewise.
19335         * lib/iconv.in.h: Likewise.
19336         * lib/inttypes.in.h: Likewise.
19337         * lib/langinfo.in.h: Likewise.
19338         * lib/locale.in.h: Likewise.
19339         * lib/math.in.h: Likewise.
19340         * lib/netdb.in.h: Likewise.
19341         * lib/netinet_in.in.h: Likewise.
19342         * lib/poll.in.h: Likewise.
19343         * lib/pthread.in.h: Likewise.
19344         * lib/pty.in.h: Likewise.
19345         * lib/sched.in.h: Likewise.
19346         * lib/se-selinux.in.h: Likewise.
19347         * lib/search.in.h: Likewise.
19348         * lib/signal.in.h: Likewise.
19349         * lib/spawn.in.h: Likewise.
19350         * lib/stdarg.in.h: Likewise.
19351         * lib/stddef.in.h: Likewise.
19352         * lib/stdint.in.h: Likewise.
19353         * lib/stdio.in.h: Likewise.
19354         * lib/stdlib.in.h: Likewise.
19355         * lib/string.in.h: Likewise.
19356         * lib/strings.in.h: Likewise.
19357         * lib/sys_file.in.h: Likewise.
19358         * lib/sys_ioctl.in.h: Likewise.
19359         * lib/sys_select.in.h: Likewise.
19360         * lib/sys_socket.in.h: Likewise.
19361         * lib/sys_stat.in.h: Likewise.
19362         * lib/sys_time.in.h: Likewise.
19363         * lib/sys_times.in.h: Likewise.
19364         * lib/sys_utsname.in.h: Likewise.
19365         * lib/sys_wait.in.h: Likewise.
19366         * lib/sysexits.in.h: Likewise.
19367         * lib/termios.in.h: Likewise.
19368         * lib/time.in.h: Likewise.
19369         * lib/unistd.in.h: Likewise.
19370         * lib/wchar.in.h: Likewise.
19371         * lib/wctype.in.h: Likewise.
19372         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
19373         * modules/ctype (Makefile.am): Likewise.
19374         * modules/dirent (Makefile.am): Likewise.
19375         * modules/errno (Makefile.am): Likewise.
19376         * modules/fcntl-h (Makefile.am): Likewise.
19377         * modules/float (Makefile.am): Likewise.
19378         * modules/getopt-posix (Makefile.am): Likewise.
19379         * modules/iconv-h (Makefile.am): Likewise.
19380         * modules/inttypes (Makefile.am): Likewise.
19381         * modules/langinfo (Makefile.am): Likewise.
19382         * modules/locale (Makefile.am): Likewise.
19383         * modules/math (Makefile.am): Likewise.
19384         * modules/netdb (Makefile.am): Likewise.
19385         * modules/netinet_in (Makefile.am): Likewise.
19386         * modules/poll-h (Makefile.am): Likewise.
19387         * modules/pthread (Makefile.am): Likewise.
19388         * modules/pty (Makefile.am): Likewise.
19389         * modules/sched (Makefile.am): Likewise.
19390         * modules/search (Makefile.am): Likewise.
19391         * modules/selinux-h (Makefile.am): Likewise.
19392         * modules/signal (Makefile.am): Likewise.
19393         * modules/spawn (Makefile.am): Likewise.
19394         * modules/stdarg (Makefile.am): Likewise.
19395         * modules/stddef (Makefile.am): Likewise.
19396         * modules/stdint (Makefile.am): Likewise.
19397         * modules/stdio (Makefile.am): Likewise.
19398         * modules/stdlib (Makefile.am): Likewise.
19399         * modules/string (Makefile.am): Likewise.
19400         * modules/strings (Makefile.am): Likewise.
19401         * modules/sys_file (Makefile.am): Likewise.
19402         * modules/sys_ioctl (Makefile.am): Likewise.
19403         * modules/sys_select (Makefile.am): Likewise.
19404         * modules/sys_socket (Makefile.am): Likewise.
19405         * modules/sys_stat (Makefile.am): Likewise.
19406         * modules/sys_time (Makefile.am): Likewise.
19407         * modules/sys_times (Makefile.am): Likewise.
19408         * modules/sys_utsname (Makefile.am): Likewise.
19409         * modules/sys_wait (Makefile.am): Likewise.
19410         * modules/sysexits (Makefile.am): Likewise.
19411         * modules/termios (Makefile.am): Likewise.
19412         * modules/time (Makefile.am): Likewise.
19413         * modules/unistd (Makefile.am): Likewise.
19414         * modules/wchar (Makefile.am): Likewise.
19415         * modules/wctype (Makefile.am): Likewise.
19416
19417 2010-10-04  Bruno Haible  <bruno@clisp.org>
19418
19419         read-file tests: Avoid a test failure on NonStop Kernel.
19420         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19421         a regular file.
19422         Reported by Joachim Schmitz <schmitz@hp.com>.
19423
19424 2010-10-03  Bruno Haible  <bruno@clisp.org>
19425
19426         gnulib-tool: Fixes for --create-testdir with --libtool.
19427         * gnulib-tool (func_get_automake_snippet): Don't augment
19428         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19429         an executable.
19430         (func_create_testdir): Handle module 'alloca' like func_import.
19431         Reported by Bruce Korb <bruce.korb@gmail.com>.
19432
19433 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19434
19435         Avoid some lines longer than 80 characters.
19436         * lib/stdint.in.h: Break long comment lines.
19437         * lib/math.in.h: Likewise.
19438         (_GL_NUM_UINT_WORDS): New macro, for readability.
19439         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19440         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19441         * lib/stdlib.in.h: Likewise.
19442         * lib/spawn.in.h: Likewise.
19443         * lib/sys_socket.in.h: Update an URL.
19444         * lib/sys_stat.in.h: Break long line.
19445
19446 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19447
19448         Improve pmccabe2html.
19449         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19450         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19451         when the sources change. Remove the line in the HTML about "Used
19452         ranges" (which implied that there might be other unused ranges),
19453         rename "Resume" to "Summary" (easier to understand for more users).
19454         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19455         styles, and some unnecessary blank lines.
19456
19457 2010-10-03  Bruno Haible  <bruno@clisp.org>
19458             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19459
19460         acl: Add support for ACLs on NonStop Kernel.
19461         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19462         Check whether the function aclsort() exists.
19463         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19464         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19465         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19466         (acl_nontrivial [HAVE_ACLSORT]: New function.
19467         (file_has_acl): Implement for NonStop Kernel.
19468         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19469         (qset_acl): Implement for NonStop Kernel.
19470         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19471         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19472         (main): Implement for NonStop Kernel.
19473         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19474         Kernel. Handle this flavor.
19475         * tests/test-set-mode-acl.sh: Likewise.
19476         * tests/test-copy-acl.sh: Likewise.
19477         * tests/test-copy-file.sh: Likewise.
19478
19479 2010-10-03  Bruno Haible  <bruno@clisp.org>
19480
19481         Info about ACLs on NonStop Kernel.
19482         * doc/acl-resources.txt: Add info about NonStop Kernel.
19483         References by Joachim Schmitz <schmitz@hp.com>.
19484
19485 2010-10-02  Bruno Haible  <bruno@clisp.org>
19486
19487         Define missing EDQUOT on NonStop Kernel.
19488         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19489         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19490         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19491         missing.
19492         * doc/posix-headers/errno.texi: Mention the NSK bug.
19493         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19494         Reported by Joachim Schmitz <schmitz@hp.com>.
19495
19496 2010-10-02  Bruno Haible  <bruno@clisp.org>
19497
19498         Update doc for POSIX:2008.
19499         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19500         Update URL of POSIX specification.
19501
19502 2010-10-02  Bruno Haible  <bruno@clisp.org>
19503
19504         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19505         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19506         from gnulib, not from Automake.
19507
19508 2010-10-02  Bruno Haible  <bruno@clisp.org>
19509
19510         New module 'system-posix'.
19511         * modules/system-posix: New file.
19512         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19513         module is present.
19514         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19515         GNULIB_SYSTEM_POSIX.
19516         * modules/stdlib (Depends-on): Remove sys_wait.
19517         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19518         * doc/posix-functions/system.texi: Mention the new module.
19519         * doc/posix-headers/stdlib.texi: Likewise.
19520         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19521         define test_sys_wait_macros to a no-op.
19522         Reported by Sam Steingold <sds@gnu.org>.
19523
19524 2010-09-30  Bruno Haible  <bruno@clisp.org>
19525
19526         More renaming from 'getdate' to 'get_date'.
19527         * doc/get_date.texi: Renamed from doc/getdate.texi.
19528         * modules/get_date (Files): Update.
19529         * MODULES.html.sh (Date and time <time.h>): Update.
19530         * DEPENDENCIES: Update.
19531         * gnulib-tool: Update comment.
19532         * m4/bison.m4 (gl_BISON): Likewise.
19533         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19534
19535 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19536
19537         bootstrap: support ACLOCAL_FLAGS during aclocal
19538         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19539         can add additional -I dir for third-party .m4 files.
19540
19541 2010-09-30  Eric Blake  <eblake@redhat.com>
19542
19543         bootstrap: use glibtoolize on MacOS
19544         * build-aux/bootstrap (check_versions): Convert libtool into
19545         libtoolize.
19546         (tool search): Move libtool check earlier, and look for
19547         glibtoolize for MacOS.
19548         (gnulib_tool_options): Auto-add --libtool when appropriate.
19549         Reported by Justin Clift.
19550
19551         poll: fix typo that broke test on MacOS
19552         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19553         Reported by Justin Clift.
19554
19555         getdate: rename to get_date
19556         Note: getdate.h is not renamed, to minimize client impact.
19557         * modules/getdate: Mark obsolete.  Move old contents...
19558         * modules/get_date: ...to new module name.
19559         * modules/getdate-tests: Move...
19560         * modules/get_date-tests: ...here.
19561         * m4/getdate.m4: Move...
19562         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19563         * lib/getdate.y: Move...
19564         * lib/get_date.y: ...here.
19565         * tests/test-getdate.c: Move...
19566         * tests/test-get_date.c: ...here.
19567         * doc/posix-functions/getdate.texi (getdate): Update name.
19568         * NEWS: Mention the change.
19569
19570 2010-09-29  Bruno Haible  <bruno@clisp.org>
19571
19572         Separate the module 'waitpid' from the module 'sys_wait'.
19573         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19574         present.
19575         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19576         gl_MODULE_INDICATOR_FOR_TESTS.
19577         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19578         * modules/sys_wait (Depends-on): Remove waitpid.
19579         (Makefile.am): Substitute GNULIB_WAITPID.
19580         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19581         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19582         signature only if the 'waitpid' module is present.
19583         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19584         * NEWS: Mention the change.
19585         * modules/grantpt (Depends-on): Add waitpid.
19586         * modules/wait-process (Depends-on): Likewise.
19587
19588 2010-09-29  Bruno Haible  <bruno@clisp.org>
19589
19590         More tests for module 'sys_wait'.
19591         * modules/sys_wait-c++-tests: New file.
19592         * tests/test-sys_wait-c++.cc: New file.
19593         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19594         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19595
19596 2010-09-29  Bruno Haible  <bruno@clisp.org>
19597
19598         New module 'waitpid'.
19599         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19600         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19601         Don't include <process.h>.
19602         (waitpid): Declare only, using modern idiom.
19603         * m4/waitpid.m4: New file.
19604         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19605         * modules/waitpid: New file.
19606         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19607         (Makefile.am): Update.
19608         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19609
19610 2010-09-28  Bruno Haible  <bruno@clisp.org>
19611
19612         poll: Assume ANSI C.
19613         * lib/poll.c (poll): Use an ANSI C declaration.
19614
19615 2010-09-28  Bruno Haible  <bruno@clisp.org>
19616
19617         poll-h: Create poll.h on all platforms.
19618         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19619         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19620         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19621         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19622         (gl_REPLACE_POLL_H): Don't set POLL_H.
19623         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19624         * modules/poll-h (Depends-on): Add include_next.
19625         (Makefile.am): Create poll.h unconditionally. Substitute also
19626         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19627
19628 2010-09-28  Bruno Haible  <bruno@clisp.org>
19629
19630         Tests for module 'poll-h'.
19631         * modules/poll-h-c++-tests: New file.
19632         * tests/test-poll-h-c++.cc: New file.
19633
19634         Tests for module 'poll-h'.
19635         * modules/poll-h-tests: New file.
19636         * tests/test-poll-h.c: New file.
19637
19638 2010-09-28  Bruno Haible  <bruno@clisp.org>
19639
19640         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19641         * modules/poll-h (Depends-on): Add 'extensions'.
19642
19643 2010-09-28  Bruno Haible  <bruno@clisp.org>
19644
19645         New module 'poll-h'.
19646         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19647         (poll): Use modern idiom.
19648         * modules/poll-h: New file.
19649         * modules/poll (Files): Remove lib/poll.in.h.
19650         (Depends-on): Add poll-h.
19651         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19652         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19653         * m4/poll_h.m4: New file.
19654         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19655         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19656         and invoke gl_REPLACE_POLL_H.
19657         * lib/poll.c: Use common idiom.
19658         * tests/test-poll.c: Likewise.
19659         * doc/posix-headers/poll.texi: Mention the poll-h module.
19660         Suggested by Eric Blake.
19661
19662 2010-09-26  Bruno Haible  <bruno@clisp.org>
19663
19664         sys_wait: Implement WSTOPSIG.
19665         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19666         Reported by Simon Josefsson.
19667
19668 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19669
19670         stdlib, sys_wait: Avoid compilation error on mingw.
19671         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19672
19673 2010-09-26  Bruno Haible  <bruno@clisp.org>
19674
19675         stdlib tests: Avoid code duplication.
19676         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19677         * modules/sys_wait-tests (Files): Likewise.
19678         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19679         * tests/test-stdlib.c: Include test-sys_wait.h.
19680         (main): Invoke test_sys_wait_macros.
19681         * tests/test-sys_wait.c: Include test-sys_wait.h.
19682         (main): Invoke test_sys_wait_macros.
19683
19684 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19685
19686         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19687         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19688         sure Windows sockets are working before calling getaddrinfo.
19689         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19690         * doc/gnulib.texi (Windows sockets): Fix typo.
19691
19692 2010-09-25  Bruno Haible  <bruno@clisp.org>
19693
19694         Tests for module 'regex-quote'.
19695         * modules/regex-quote-tests: New file.
19696         * tests/test-regex-quote.c: New file.
19697
19698         New module 'regex-quote'.
19699         * lib/regex-quote.h: New file.
19700         * lib/regex-quote.c: New file.
19701         * modules/regex-quote: New file.
19702         Suggested by Reuben Thomas <rrt@sc3d.org>.
19703
19704 2010-09-24  Bruno Haible  <bruno@clisp.org>
19705
19706         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19707         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19708
19709 2010-09-23  Bruno Haible  <bruno@clisp.org>
19710
19711         setenv: Relax license.
19712         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19713         Blake.
19714         Requested by Eric Blake.
19715
19716 2010-09-22  Bruno Haible  <bruno@clisp.org>
19717
19718         termios: Relax license.
19719         * modules/termios (License): Change to LGPLv2+.
19720         Requested by Eric Blake.
19721
19722 2010-09-22  Bruno Haible  <bruno@clisp.org>
19723
19724         threadlib: Allow the package to change the default to 'no'.
19725         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19726         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19727         Reported by Paul Eggert.
19728
19729 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19730             Bruno Haible  <bruno@clisp.org>
19731
19732         Fix endless loop in mbmemcasecoll.
19733         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19734         byte.
19735         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19736
19737 2010-09-22  Bruno Haible  <bruno@clisp.org>
19738
19739         Tests for module 'memcoll'.
19740         * modules/memcoll-tests: New file.
19741         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19742
19743         memcoll, xmemcoll: Clarify size vs. length.
19744         * modules/memcoll.c (memcoll0): Clarify specification.
19745         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19746         passed to collate_error.
19747
19748 2010-09-22  Bruno Haible  <bruno@clisp.org>
19749
19750         Tests for module 'memcasecmp'.
19751         * modules/memcasecmp-tests: New file.
19752         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19753
19754 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19755
19756         * lib/pthread.in.h: Add split double-inclusion guard, and include
19757         system <pthread.h> if there is one.  Use @@-style as in other
19758         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19759         pthread.h doesn't.
19760         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19761         (pthread_mutexattr_settype, pthread_mutex_trylock):
19762         New static inline functions, if there's no system <pthread.h>.
19763         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19764         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19765         Approximate with mutexes if the system lacks spinlocks, as in
19766         MacOS.
19767         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19768         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19769         @@-style.  Check for spinlocks separately.
19770         (gl_PTHREAD_DEFAULTS): New macro.
19771         * modules/pthread: Redo to use a more typical style for in.h files.
19772
19773 2010-09-21  Eric Blake  <eblake@redhat.com>
19774
19775         net_if: enhance tests
19776         * tests/test-net_if.c (main): Move signature checks earlier.
19777         Print failures to stderr.
19778         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19779         Document the bug that we do not yet fix.
19780
19781 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19782
19783         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19784         about gnulib, not GSS.
19785
19786 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19787
19788         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19789         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19790         for Emacs.
19791         * build-aux/pmccabe2html: Make Makefile.am example code more
19792         cut-and-paste friendly.
19793
19794 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19795
19796         * tests/test-net_if.c: New file.
19797         * modules/net_if-tests: New file.
19798
19799 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19800
19801         pthread: add pthread_spin_destroy
19802         * lib/pthread.in.h (pthread_spin_destroy): New function.
19803
19804 2010-09-19  Bruno Haible  <bruno@clisp.org>
19805
19806         gnulib-tool: Fix --help output.
19807         * gnulib-tool (func_usage): Fix help message.
19808         Reported by Reuben Thomas <rrt@sc3d.org>.
19809
19810 2010-09-18  Jim Meyering  <meyering@redhat.com>
19811
19812         maint.mk: avoid unexpanded \n in two diagnostics
19813         * top/maint.mk (sc_prohibit_always_true_header_tests):
19814         Don't use a literal \n in a halt=... assignment.  It would not be
19815         expanded, and the two \n bytes would appear in the diagnostic output
19816         rather than the desired newline.  Use halt=$$(printf ... instead.
19817         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19818
19819 2010-09-18  Bruno Haible  <bruno@clisp.org>
19820
19821         netinet_in: Doc tweak.
19822         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19823         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19824
19825 2010-09-18  Jim Meyering  <meyering@redhat.com>
19826
19827         init.sh: correct an outdated comment
19828         * tests/init.sh (create_exe_shims_):  s/function/alias/
19829
19830         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19831         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19832         a file named "*.exe" is removed between the glob expansion and the
19833         processing of that oddly named file.
19834
19835 2010-09-17  Eric Blake  <eblake@redhat.com>
19836
19837         mirbsd: add some more support
19838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19839         in BSD family.
19840         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19841         devices as OpenBSD.
19842         * m4/host-os.m4 (mirbsd): Add MirBSD.
19843
19844         tests: fix unportable assumption on sys/wait.h
19845         * tests/test-sys_wait.c (main): Relax test.
19846         * tests/test-stdlib.c (main): Likewise.
19847
19848         init.sh: accomodate directory with no .exes
19849         * tests/init.sh: Accomodate directory containing only scripts.
19850
19851         tests: avoid compiler warning
19852         * tests/test-stdlib.c (main): Use the variable.
19853
19854         fdutimens, fdutimensat: update signature, again
19855         * lib/utimens.h (gl_futimens): Delete, and move signature...
19856         (fdutimens): ...here.
19857         (fdutimensat): Rearrange signature.
19858         (lutimensat): Rename variable for clarity.
19859         * lib/fdutimensat.c (fdutimensat): Update signature.
19860         * lib/utimens.c (fdutimens): Likewise.
19861         (gl_futimens): Delete.
19862         (utimens, lutimens): Update callers.
19863         * lib/futimens.c (futimens): Likewise.
19864         * tests/test-fdutimensat.c: Likewise.
19865         * tests/test-utimens.c: Likewise.
19866         * tests/test-futimens.h: Update comment.
19867         * NEWS: Mention this.
19868         Suggested by Paul Eggert.
19869
19870 2010-09-17  Bruno Haible  <bruno@clisp.org>
19871
19872         Take over the maintenance of some older macros from Autoconf.
19873         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19874         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19875         GNU Autoconf.
19876         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19877         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19878
19879 2010-09-17  Eric Blake  <eblake@redhat.com>
19880
19881         fdutimensat: drop atflag validation
19882         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19883         with valid fd, to close a race scenario where futimens is
19884         unsupported and FILE was replaced by a symlink.
19885         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19886         accordingly.
19887         Suggested by Paul Eggert.
19888
19889 2010-09-16  Bruno Haible  <bruno@clisp.org>
19890
19891         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19892         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19893
19894 2010-09-16  Bruno Haible  <bruno@clisp.org>
19895
19896         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19897         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19898         login_tty exists.
19899         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19900
19901 2010-09-16  Bruno Haible  <bruno@clisp.org>
19902
19903         login_tty: Make the replacement code work on BSD systems.
19904         * lib/login_tty.c: Include <sys/ioctl.h>.
19905         (login_tty): Use ioctl TIOCSCTTY when available.
19906         * modules/login_tty (Depends-on): Add sys_ioctl.
19907         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19908
19909 2010-09-16  Bruno Haible  <bruno@clisp.org>
19910
19911         login_tty: Stricter unit test.
19912         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19913         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19914         and tcgetsid() after login_tty.
19915         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19916
19917 2010-09-16  Bruno Haible  <bruno@clisp.org>
19918
19919         New module 'tcgetsid'.
19920         * lib/tcgetsid.c: New file.
19921         * m4/tcgetsid.m4: New file.
19922         * modules/tcgetsid: New file.
19923         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19924         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19925         GNULIB_TCGETSID, HAVE_TCGETSID.
19926         * lib/termios.in.h: Include <sys/types.h>.
19927         (tcgetsid): New declaration.
19928         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19929         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19930         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19931         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19932
19933 2010-09-16  Bruno Haible  <bruno@clisp.org>
19934
19935         Tests for module 'termios'.
19936         * modules/termios-c++-tests: New file.
19937         * modules/termios-tests: New file.
19938         * tests/test-termios-c++.cc: New file.
19939         * tests/test-termios.c: New file.
19940
19941         New module 'termios'.
19942         * modules/termios: New file.
19943         * lib/termios.in.h: New file.
19944         * m4/termios_h.m4: New file.
19945         * doc/posix-headers/termios.texi: Mention the new module.
19946
19947 2010-09-16  Eric Blake  <eblake@redhat.com>
19948
19949         fdutimensat: add an atflag parameter
19950         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19951         * lib/utimens.h (fdutimensat): Update prototype.
19952         * tests/test-fdutimensat.c: Adjust test to match.
19953         * NEWS: Document the change.
19954         Suggested by Paul Eggert.
19955
19956 2010-09-16  Bruno Haible  <bruno@clisp.org>
19957
19958         Fix typos in comments.
19959         * lib/striconveh.h: Fix typo in comment.
19960         * lib/login_tty.c (login_tty): Likewise.
19961
19962 2010-09-15  Bruno Haible  <bruno@clisp.org>
19963
19964         stdlib: clarify MirBSD WEXITSTATUS bug
19965         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19966         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19967
19968 2010-09-15  Eric Blake  <eblake@redhat.com>
19969
19970         stdlib: work around MirBSD WEXITSTATUS bug
19971         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19972         * modules/stdlib (Depends-on): Add sys_wait.
19973         * tests/test-sys_wait.c (main): Enhance test.
19974         * tests/test-stdlib.c (main): Likewise.
19975         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19976
19977         docs: mention MacOS issue with WEXITSTATUS(constant)
19978         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19979         issue.
19980         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19981
19982         strnlen: add tests
19983         * modules/strnlen-tests: New file.
19984         * tests/test-strnlen.c: Likewise.
19985
19986 2010-09-14  Bruno Haible  <bruno@clisp.org>
19987
19988         unistr/base: Avoid link errors when module 'libunistring' is also used.
19989         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19990         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19991         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19992         Declare also when HAVE_LIBUNISTRING is set.
19993         Reported by Pádraig Brady <P@draigbrady.com>.
19994
19995 2010-09-14  Eric Blake  <eblake@redhat.com>
19996
19997         test-rawmemchr: make more robust
19998         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19999         (Depends-on, configure.ac): Add needed prerequisites to use it.
20000         * modules/memchr-tests (Files, Depends-on, configure.ac):
20001         Likewise, to avoid implicit reliance on memchr module prereqs.
20002         * tests/test-memchr.c (main): Ensure proper masking.
20003         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
20004         reads.
20005
20006         memchr: detect glibc Alpha bug
20007         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
20008         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
20009         Alpha.
20010         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
20011         * tests/test-memchr.c (main): Enhance test.
20012         Reported by Nelson H. F. Beebe.
20013
20014 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20015
20016         fts, getcwd, glob: audit for dirfd returning -1
20017         * lib/fts.c (opendir): Remove #define; no longer used.
20018         (opendirat): New arg PDIR_FD.  All callers changed.
20019         (fts_build, _opendir2): Use new opendirat to avoid the need for
20020         dirfd, or for checking whether dirfd returns a negative value.
20021         Don't use opendir; always use openat followed by fdopendir.
20022         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
20023         it.
20024         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
20025         returns -1 here.
20026         * modules/fts (Depends-on): Remove dirfd.
20027         * modules/getcwd (Depends-on): Likewise.
20028
20029 2010-09-13  Eric Blake  <eblake@redhat.com>
20030
20031         float: fix broken MirBSD header
20032         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
20033         * doc/posix-headers/float.texi (float.h): Document it.
20034
20035 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20036
20037         fts: use O_NOFOLLOW to avoid race condition when opening a directory
20038         * lib/fts.c (opendirat): New arg extra_flags.
20039         (__opendir2): Use it to avoid following symlinks when opening
20040         a directory, if symlinks are not supposed to be followed.  See
20041         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
20042
20043         fdopendir: preserve argument fd before returning
20044         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
20045         (fdopendir_with_dup, fd_clone_opendir): New static functions.
20046         (fdopendir): Use them, arranging for FD to be open to the same
20047         directory that it was when it started.  (It might be temporarily
20048         closed while fdopendir is running, so this not thread- or
20049         signal-safe.)  Be careful to do the right thing even when file
20050         descriptors are scarce and dup fails with errno == EMFILE.  See
20051         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
20052
20053 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
20054
20055         regex: Pass the system regex if its only problem is 32-bit regoff_t.
20056         * NEWS: Document change.
20057         * m4/regex.m4: Disable test for regoff_t size.
20058
20059 2010-09-13  Jim Meyering  <meyering@redhat.com>
20060
20061         fts: don't operate on an invalid file descriptor after failed dup
20062         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
20063         negative file descriptor.
20064
20065 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
20066
20067         savedir: add streamsavedir, deprecate fdsavedir
20068         * NEWS: Mention deprecation of fdsavedir.
20069         * lib/savedir.c (streamsavedir): New extern function, whose name
20070         ends in "savedir" to be consistent with the others.  This differs
20071         from savedirstream in that it doesn't close its argument.  The
20072         next version of GNU tar will use this instead of fdsavedir, to
20073         avoid some race conditions and conserve file descriptors.
20074         (savedirstream): Reimplement as a wrapper around streamsavedir.
20075         (fdsavedir): Add a comment deprecating this function.  As far as
20076         I know, only GNU tar used it, and GNU tar doesn't need it any more.
20077         * lib/savedir.h (streamsavedir): New decl.
20078         (fdsavedir): Add a comment deprecating this.
20079
20080 2010-09-10  Bruno Haible  <bruno@clisp.org>
20081
20082         langinfo: Fix last commit.
20083         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
20084         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
20085         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20086
20087 2010-09-10  Bruno Haible  <bruno@clisp.org>
20088
20089         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
20090         * lib/progreloc.c (O_EXEC): Define fallback.
20091
20092 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20093
20094         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
20095         * NEWS: Document recent changes to fcntl-h.
20096         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
20097         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
20098         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
20099         Similarly for O_SEARCH; this last was already true, but not documented.
20100         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
20101         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
20102         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
20103         Likewise.
20104         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
20105         is zero, not whether it is defined.
20106         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
20107         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
20108         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
20109
20110 2010-09-10  Bruno Haible  <bruno@clisp.org>
20111
20112         langinfo, nl_langinfo: Fix for IRIX 5.3.
20113         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
20114         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
20115         HAVE_LANGINFO_YESEXPR.
20116         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
20117         HAVE_LANGINFO_YESEXPR.
20118         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
20119         HAVE_LANGINFO_T_FMT_AMPM is 0.
20120         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
20121         HAVE_LANGINFO_YESEXPR is 0.
20122         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
20123         NOEXPR.
20124         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
20125         * doc/posix-functions/nl_langinfo.texi: Likewise.
20126         Reported by Eric Blake.
20127
20128 2010-09-10  Bruno Haible  <bruno@clisp.org>
20129
20130         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
20131         * doc/glibc-functions/login_tty.texi: Mention the include file problem
20132         on FreeBSD 8.0 and OpenBSD 4.6.
20133         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
20134         * m4/pty_h.m4 (gl_PTY_H): Likewise.
20135         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
20136         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
20137         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
20138         ac_includes_default.
20139         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
20140
20141 2010-09-09  Eric Blake  <eblake@redhat.com>
20142
20143         strsignal: work around NetBSD bug
20144         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
20145         * lib/string.in.h (includes): Likewise.
20146         * doc/posix-functions/strsignal.texi (strsignal): Document the
20147         bug.
20148         Reported by Nelson H. F. Beebe.
20149
20150         gnulib-tool: work with NetBSD /bin/sh
20151         * gnulib-tool (func_cache_var, func_cache_lookup_module)
20152         (func_get_description, func_get_comment, func_get_status)
20153         (func_get_notice, func_get_applicability, func_get_filelist)
20154         (func_get_dependencies, func_get_autoconf_early_snippet)
20155         (func_get_autoconf_snippet, func_get_automake_snippet)
20156         (func_get_include_directive, func_get_link_directive)
20157         (func_get_license, func_get_maintainer, func_import): Avoid
20158         shell syntax errors from parsing syntax extensions.
20159
20160 2010-09-09  Bruno Haible  <bruno@clisp.org>
20161
20162         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20163         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
20164         a reliable way to determine whether the 'alias' command works.
20165
20166 2010-09-08  Jim Meyering  <meyering@redhat.com>
20167
20168         init.sh: penalize a set-x-impaired shell; don't disqualify it
20169         * tests/init.sh: Too many shells corrupt application stderr when
20170         you set -x, so we can't afford to disqualify them, since at least
20171         on Irix-6.5, that would disqualify all bourne shells.
20172         Instead, use a two-pass approach.
20173         On the first pass, try to find a shell that meets the stricter
20174         condition that set -x does not corrupt stderr.
20175         If no shell meets the stricter condition, retest each candidate
20176         shell, but without that extra condition.  Finally, when
20177         VERBOSE=yes is requested and set -x might cause trouble, simply
20178         issue a warning and refrain from enabling debug output.
20179
20180 2010-09-08  Eric Blake  <eblake@redhat.com>
20181
20182         unsetenv: fix OpenBSD bug
20183         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
20184         * doc/posix-functions/unsetenv.texi (unsetenv): Update
20185         documentation.
20186         Reported by Jim Meyering.
20187
20188         strtod: work around IRIX 6.5 bug
20189         * lib/strtod.c (strtod): Reparse number on shorter string if
20190         exponent parse was invalid.
20191         * tests/test-strtod.c (main): Add check for "0x1p 2".
20192         Reported by Tom G. Christensen.
20193
20194         getopt: optimize previous patch
20195         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
20196         empty variable.  Speed up awk script.
20197         Reported by Paolo Bonzini.
20198
20199 2010-09-08  Jim Meyering  <meyering@redhat.com>
20200
20201         test.sh: disqualify shells for which set -x corrupts stderr
20202         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
20203         and OpenBSD 4.7.  They make it so with "set -x", environment settings
20204         appear in stderr output.  For example, this command:
20205             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
20206         prints "P=1" on those two systems:
20207
20208 2010-09-08  Bruno Haible  <bruno@clisp.org>
20209
20210         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
20211         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
20212         commands, because some shells ignore redirections when there is an
20213         error in the command lookup.
20214         Reported by Eric Blake.
20215
20216 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
20217
20218         * lib/regex.h: Fix a mention of `regex_compile' (should be
20219         `re_compile_pattern').
20220         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
20221         (re_set_registers): Correct name of parameter in comment.
20222
20223         * doc/regex.texi: Add documentation for missing syntax flags.
20224         Remove commented-out documentation of defunct syntax option
20225         RE_NO_EMPTY_ALTS.
20226         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
20227         Add documentation of re_set_registers.
20228         Document trick to re-use a pattern buffer by setting fastmap manually.
20229         Update documentation of struct re_pattern_buffer per public members.
20230         Uncomment documentation of equivalence class operators and
20231         collating symbol operators, since they are now implemented,
20232         Explain leftmost-longest matching in relation to alternatives.
20233         Tidy documentation of substring matching.
20234         Remove POSIX documentation, which is done better in
20235         glibc, and refer the reader there. Keep BSD API documentation, as
20236         that is not readily available elsewhere.
20237
20238 2010-09-07  Eric Blake  <eblake@redhat.com>
20239
20240         getopt: handle POSIXLY_CORRECT set but not exported
20241         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
20242         export state of POSIXLY_CORRECT, due to bash set -o posix.
20243         Reported by Dustin J. Mitchell.
20244
20245 2010-09-05  Bruno Haible  <bruno@clisp.org>
20246
20247         gnulib-tool: Highlight the changed options.
20248         * gnulib-tool (func_usage): Display the --import, --add-import,
20249         --remove-import explanations in bold font.
20250
20251 2010-09-06  Karl Berry  <karl@gnu.org>
20252
20253         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
20254
20255 2010-09-05  Bruno Haible  <bruno@clisp.org>
20256
20257         uniwidth/width: Update comment.
20258         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
20259         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
20260
20261 2010-09-05  Bruno Haible  <bruno@clisp.org>
20262
20263         isinf, isnan: Relax license.
20264         * modules/isinf (License): Change from GPL to LGPL, with consent from
20265         Ben Pfaff.
20266         * modules/isnan (License): Likewise.
20267         Requested by Ludovic Courtès.
20268
20269 2010-09-04  Bruno Haible  <bruno@clisp.org>
20270
20271         gnulib-tool: Help migration from --import to --add-import or --update.
20272         * gnulib-tool: Emit a verbose error message when --import is used
20273         without any module name.
20274
20275 2010-09-04  Bruno Haible  <bruno@clisp.org>
20276
20277         Update doc about gnulib-tool.
20278         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
20279         'gnulib-tool --update' in more detail.
20280         Reported by Eric Blake.
20281
20282 2010-09-04  Bruno Haible  <bruno@clisp.org>
20283
20284         gnulib-tool: Change --import. New options --add/remove-import.
20285         * gnulib-tool: New options --add-import, --remove-import.
20286         (func_usage): Document them.
20287         (have_associative): Define always.
20288         (func_import): In import mode, don't merge the specified settings with
20289         the cached settings. Implement remove-import mode.
20290         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
20291         Explain when to use them versus --import.
20292         (Simple update): Use --add-import instead of --import.
20293         * NEWS: Mention the change.
20294
20295 2010-09-04  Bruno Haible  <bruno@clisp.org>
20296
20297         * doc/gnulib-tool.texi (Initial import): Update paragraph about
20298         separate gnulib.mk.
20299
20300 2010-09-04  Bruno Haible  <bruno@clisp.org>
20301
20302         gnulib-tool: Don't talk about CVS any more.
20303         * gnulib-tool (func_usage, func_import): Write "version control"
20304         instead of CVS.
20305
20306 2010-09-04  Jim Meyering  <meyering@redhat.com>
20307
20308         maint.mk: avoid obscure sc_copyright_check failure in coreutils
20309         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
20310         false positives (whose names may be ill-chosen) when searching
20311         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
20312         would cause a false-positive.
20313
20314         avoid coreutils "make distcheck" failure
20315         Coreutils tests with an absolute build directory name that contains
20316         a space.  Not quoting this directory name caused a failure.
20317         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
20318         * tests/test-vc-list-files-cvs.sh: Likewise.
20319
20320 2010-09-04  Bruno Haible  <bruno@clisp.org>
20321
20322         gnulib-tool: Avoid error when run in a package without Makefile.am.
20323         * gnulib-tool: When collecting the m4dirs in a package that does not
20324         have a Makefile.am, eliminate those directories that contain no
20325         gnulib-cache.m4. Fix expression that counts these directories.
20326
20327 2010-09-04  Bruno Haible  <bruno@clisp.org>
20328
20329         update-copyright test: Improve output when perl is missing or too old.
20330         * tests/test-update-copyright.sh: Move test of Perl version down after
20331         the test whether Perl exists. Provide an explanation relating Perl's
20332         error message to Automake's SKIP: message.
20333
20334 2010-09-04  Bruno Haible  <bruno@clisp.org>
20335
20336         Don't augment PATH in TESTS_ENVIRONMENT.
20337         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
20338         set abs_aux_dir instead of augmenting PATH.
20339         * modules/vc-list-files-tests (Makefile.am): Likewise.
20340         * tests/test-update-copyright.sh: Augment PATH here.
20341         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
20342         path_prepend_.
20343         * tests/test-vc-list-files-git.sh: Likewise.
20344
20345 2010-09-04  Jim Meyering  <meyering@redhat.com>
20346
20347         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
20348         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
20349
20350 2010-09-04  Bruno Haible  <bruno@clisp.org>
20351
20352         strdup: Fix compilation error in C++ mode.
20353         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
20354         the macro.
20355
20356 2010-09-04  Bruno Haible  <bruno@clisp.org>
20357
20358         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
20359         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
20360         macro into a function.
20361         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20362
20363 2010-09-04  Bruno Haible  <bruno@clisp.org>
20364
20365         Set PATH_SEPARATOR the same way autoconf does.
20366         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
20367         the value of PATH_SEPARATOR the same way autoconf-generated configure
20368         scripts do.
20369         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
20370         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20371
20372 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20373
20374         Set PATH_SEPARATOR the same way autoconf does.
20375         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
20376         the same way autoconf-generated configure scripts do.
20377         * posix-modules: Likewise.
20378
20379 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20380
20381         hash: fix safe_hasher const typo
20382         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
20383         const; otherwise, there is a type error later.
20384
20385 2010-09-02  Jim Meyering  <meyering@redhat.com>
20386
20387         test-update-copyright.sh: require perl 5.8.0
20388         * tests/test-update-copyright.sh: Require 5.8.0,
20389         which Tom G. Christensen has confirmed is adequate,
20390         while 5.6.1 is not.
20391
20392 2010-09-02  Eric Blake  <eblake@redhat.com>
20393
20394         tests: init.sh improvements for re-exec'ing with zsh
20395         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
20396         -vx through shell re-exec.
20397         Reported by Tom G. Christensen.
20398
20399         wctype: fix typo in previous commit
20400         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
20401         Reported by Ludovic Courtès.
20402
20403 2010-09-02  Jim Meyering  <meyering@redhat.com>
20404
20405         test-update-copyright.sh: skip test if Perl is too old
20406         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20407         Reported by Tom G. Christensen.
20408
20409 2010-09-02  Bruno Haible  <bruno@clisp.org>
20410
20411         wctype: Avoid compilation error on IRIX 6.5.30.
20412         * lib/wctype.in.h (iswblank): Declare with a replacement if
20413         REPLACE_ISWBLANK is set.
20414         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20415         declared. Set REPLACE_ISWBLANK.
20416         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20417         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20418         * doc/posix-headers/wctype.texi: Likewise.
20419         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20420
20421 2010-09-01  Bruno Haible  <bruno@clisp.org>
20422
20423         New module 'socketlib'.
20424         * modules/socketlib: New file.
20425         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20426         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20427         * modules/sockets (Depends-on): Add socketlib.
20428         Suggested by Sam Steingold <sds@gnu.org>.
20429
20430 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20431
20432         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20433
20434         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20435         when one needs search access to a directory but not read access.
20436         On systems where it is available, it works in some cases where
20437         O_RDONLY does not, namely on directories that are searchable but
20438         not readable, and which need only to be searchable.  If O_SEARCH
20439         is not available, fall back to the traditional method of using
20440         O_RDONLY.
20441
20442         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20443         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20444         when opening a directory that needs only to be searchable.
20445         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20446         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20447         * lib/openat-proc.c (openat_proc_name): Likewise.
20448         * lib/openat.c (openat_needs_fchdir): Likewise.
20449         * lib/save-cwd.c (save_cwd): Likewise.
20450         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20451
20452 2010-08-28  Bruno Haible  <bruno@clisp.org>
20453
20454         New module 'host-cpu-c-abi'.
20455         * modules/host-cpu-c-abi: New file.
20456         * m4/host-cpu-c-abi.m4: New file, based on part of
20457         clisp/src/m4/general.m4.
20458         Requested by Sam Steingold <sds@gnu.org>.
20459
20460 2010-08-31  Eric Blake  <eblake@redhat.com>
20461         and Jim Meyering  <meyering@redhat.com>
20462
20463         hash: factor, and guard against misbehaving hasher function
20464         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20465         of table->hasher's return value.  Also protect against a hash value
20466         so large that adding it to table->bucket results in a NULL pointer.
20467         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20468         Use it in place of open-coded check-and-abort.
20469
20470 2010-08-30  Bruno Haible  <bruno@clisp.org>
20471
20472         hash: silence spurious clang warning
20473         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20474         Reported by Eric Blake.
20475
20476 2010-08-30  Eric Blake  <eblake@redhat.com>
20477
20478         strstr, memmem, strcasestr: avoid leaked shell message
20479         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20480         FreeBSD.
20481         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20482         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20483
20484         tests: silence clang warning
20485         * tests/test-malloca.c (do_allocation): Avoid dead store.
20486
20487 2010-08-29  Bruno Haible  <bruno@clisp.org>
20488
20489         gettext: Fix recent mistake.
20490         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20491
20492 2010-08-29  Bruno Haible  <bruno@clisp.org>
20493
20494         selinux-h: Offer a --without-selinux option.
20495         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20496         --without-selinux was specified, skip all tests and define
20497         HAVE_SELINUX_SELINUX_H to 0.
20498         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20499         set LIB_SELINUX to empty.
20500         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20501         gl_LIBSELINUX. If --without-selinux was specified, replace
20502         selinux/context.h.
20503         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20504
20505 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20506             Bruno Haible  <bruno@clisp.org>
20507
20508         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20509         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20510         of HAVE_REALLOC.
20511         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20512         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20513         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20514         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20515
20516 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20517             Bruno Haible  <bruno@clisp.org>
20518
20519         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20520         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20521         HAVE_CALLOC.
20522         * lib/xmalloc.c: Update accordingly.
20523         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20524         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20525         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20526
20527 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20528             Bruno Haible  <bruno@clisp.org>
20529
20530         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20531         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20532         HAVE_MALLOC.
20533         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20534         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20535         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20536
20537 2010-08-29  Bruno Haible  <bruno@clisp.org>
20538
20539         Update modules list.
20540         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20541         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20542         (String handling <string.h>): Add astrxfrm.
20543         (File system functions): Add readlinkat.
20544
20545 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20546
20547         Tests for module 'realloc-gnu'.
20548         * modules/realloc-gnu-tests: New file.
20549         * tests/test-realloc-gnu.c: New file.
20550
20551         Tests for module 'calloc-gnu'.
20552         * modules/calloc-gnu-tests: New file.
20553         * tests/test-calloc-gnu.c: New file.
20554
20555         Tests for module 'malloc-gnu'.
20556         * modules/malloc-gnu-tests: New file.
20557         * tests/test-malloc-gnu.c: New file.
20558
20559 2010-08-28  Bruno Haible  <bruno@clisp.org>
20560
20561         Rename module 'realloc' -> 'realloc-gnu'.
20562         * modules/realloc-gnu: New file, copied from modules/realloc.
20563         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20564         obsolete.
20565         * modules/mgetgroups (Depends-on): Update.
20566         * doc/posix-functions/realloc.texi: Update.
20567         * NEWS: Mention the change.
20568
20569         Rename module 'calloc' -> 'calloc-gnu'.
20570         * modules/calloc-gnu: New file, copied from modules/calloc.
20571         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20572         obsolete.
20573         * doc/posix-functions/calloc.texi: Update.
20574         * NEWS: Mention the change.
20575
20576         Rename module 'malloc' -> 'malloc-gnu'.
20577         * modules/malloc-gnu: New file, copied from modules/malloc.
20578         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20579         obsolete.
20580         * modules/argp (Depends-on): Update.
20581         * modules/regex (Depends-on): Update.
20582         * doc/posix-functions/malloc.texi: Update.
20583         * NEWS: Mention the change.
20584
20585 2010-08-28  Eric Blake  <eblake@redhat.com>
20586
20587         pread, pwrite: add missing dependency
20588         * modules/pread (Depends-on): Add extensions.
20589         * modules/pwrite (Depends-on): Likewise.
20590
20591 2010-08-28  Bruno Haible  <bruno@clisp.org>
20592
20593         unistr/u*-strchr: Fix tests dependencies.
20594         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20595         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20596         Reported by Ian Beckwith <ianb@erislabs.net>.
20597
20598 2010-08-28  Bruno Haible  <bruno@clisp.org>
20599
20600         read-file: Don't occupy too much unused memory.
20601         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20602
20603 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20604             Eric Blake  <eblake@redhat.com>
20605             Bruno Haible  <bruno@clisp.org>
20606
20607         read-file: Avoid memory reallocations with regular files.
20608         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20609         (fread_file): With regular files, use the remaining length as the
20610         initial buffer size.  Check against overflow.
20611         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20612         sys_stat.
20613
20614 2010-08-28  Bruno Haible  <bruno@clisp.org>
20615
20616         ftello: Relax license.
20617         * modules/ftello (License): Relax to LGPLv2+.
20618         Reported by Eric Blake.
20619
20620 2010-08-28  Bruno Haible  <bruno@clisp.org>
20621
20622         Avoid relocwrapper link errors due to gnulib replacement functions.
20623         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20624         function.
20625         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20626
20627 2010-08-28  Bruno Haible  <bruno@clisp.org>
20628
20629         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20630         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20631         defined.
20632         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20633         Suggested by Eric Blake.
20634
20635 2010-08-28  Bruno Haible  <bruno@clisp.org>
20636
20637         sys_socket, netdb: Ensure socklen_t gets defined.
20638         * modules/sys_socket (Depends-on): Add socklen.
20639         * modules/netdb (Depends-on): Likewise.
20640         * modules/getaddrinfo (Depends-on): Remove socklen.
20641         * modules/getsockopt (Depends-on): Likewise.
20642         * modules/setsockopt (Depends-on): Likewise.
20643         * tests/test-sys_socket.c: Check that socklen_t is defined.
20644         * tests/test-netdb.c: Likewise.
20645         * m4/socklen.m4: Update comments.
20646         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20647
20648 2010-08-27  Eric Blake  <eblake@redhat.com>
20649
20650         login_tty: add missing dependency
20651         * modules/login_tty (Depends-on): Add pty.
20652
20653 2010-08-26  Eric Blake  <eblake@redhat.com>
20654
20655         lib-symbol-versions: fix m4 quoting
20656         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20657         format for AC_LINK_IFELSE.
20658
20659         glob: fix compile test
20660         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20661
20662         btowc: fix missing file
20663         * modules/btowc (Files): Also ship locale-fr.m4.
20664
20665         lseek: fix link test
20666         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20667         AC_LINK_IFELSE.
20668
20669         include_next: silence autoconf 2.68 warning
20670         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20671         AC_COMPILE_IFELSE as special.
20672         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20673         autoconf < 2.68.
20674
20675         acl: fix compilation test
20676         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20677         AC_COMPILE_IFELSE.
20678
20679 2010-08-26  Bruno Haible  <bruno@clisp.org>
20680
20681         Modernize AC_TRY_RUN invocations.
20682         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20683         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20684         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20685         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20686         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20687         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20688         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20689         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20690         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20691         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20692         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20693         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20694         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20695         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20696         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20697         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20698         gl_MBRLEN_NUL_RETVAL): Likewise.
20699         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20700         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20701         Likewise.
20702         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20703         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20704         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20705         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20706         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20707         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20708         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20709         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20710         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20711         Likewise.
20712         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20713         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20714         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20715         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20716         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20717         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20718         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20719         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20720         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20722
20723 2010-08-26  Bruno Haible  <bruno@clisp.org>
20724
20725         Modernize AC_TRY_LINK invocations.
20726         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20727         AC_TRY_LINK.
20728         * m4/argp.m4 (gl_ARGP): Likewise.
20729         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20730         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20731         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20732         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20733         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20734         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20735         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20736         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20737         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20738         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20739         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20740         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20741         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20742         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20743         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20744         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20745         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20746         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20747         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20748         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20749         Likewise.
20750         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20751         Likewise.
20752         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20753         Likewise.
20754         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20755         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20756         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20757         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20758         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20759         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20760         * m4/servent.m4 (gl_SERVENT): Likewise.
20761         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20762         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20763         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20764         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20765         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20766         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20767         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20768         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20769         * modules/tsearch-tests (configure.ac): Likewise.
20770
20771 2010-08-26  Bruno Haible  <bruno@clisp.org>
20772
20773         Modernize AC_TRY_COMPILE invocations.
20774         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20775         AC_TRY_COMPILE.
20776         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20777         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20778         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20779         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20780         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20781         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20782         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20783         * m4/lock.m4 (gl_LOCK): Likewise.
20784         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20785         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20786         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20787         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20788         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20789         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20790         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20791         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20792         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20793         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20794         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20795         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20796         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20797         extraneous semicolon.
20798
20799 2010-08-26  Jim Meyering  <meyering@redhat.com>
20800
20801         stat-time: relax license LGPL
20802         * modules/stat-time (License): Change from GPL to LGPL,
20803         with consent from all contributors, for use in libguile.
20804         Requested by Ludovic Courtès.
20805
20806 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20807
20808         poll: return immediately on POLLHUP.
20809         * lib/poll.c (poll): Always set timeout before wait_timeout is
20810         computed.
20811
20812 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20813
20814         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20815         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20816         rmdir ("dir/.//"), unlinkat.
20817
20818 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20819
20820         stdbool: avoid spurious failure with modern xlc
20821         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20822
20823 2010-08-24  Bruno Haible  <bruno@clisp.org>
20824
20825         getloadavg: simplify code
20826         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20827         gl_have_func. Update comments.
20828
20829 2010-08-24  Eric Blake  <eblake@redhat.com>
20830
20831         getloadavg: don't define SVR4 on cygwin
20832         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20833         only define SVR4 when -lkvm is required.
20834         Reported by Yaakov Selkowitz.
20835
20836 2010-08-24  Bruno Haible  <bruno@clisp.org>
20837
20838         priv-set: fix comment
20839         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20840
20841 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20842
20843         priv-set: fix comments
20844         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20845         to match code, as suggested by David Bartley in:
20846         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20847
20848 2010-08-23  Eric Blake  <eblake@redhat.com>
20849
20850         stdbool: avoid rejecting clang
20851         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20852         * tests/test-stdbool.c: Enable more tests if using the system
20853         <stdbool.h> instead of the gnulib replacement.
20854         (main): Move xlc bug test to a runtime test for all compilers.
20855         Reported by Anders Kaseorg.
20856
20857         argz: fix shell quoting issue
20858         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20859         Reported by Charles Wilson.
20860
20861 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20862             Erik Faye-Lund <kusmabite@gmail.com>
20863
20864         poll, select: handle ERROR_BROKEN_PIPE.
20865         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20866         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20867         * lib/select.c (win32_compute_revents): Do not mark a pipe
20868         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20869
20870 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20871
20872         fts: allow compilation with C++
20873         * lib/fts_.h: Specify extern "C" linkage with C++.
20874
20875 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20876
20877         Fix gnulib-tool sed script de-commentation for AIX sed.
20878         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20879         sed.
20880
20881 2010-08-17  Eric Blake  <eblake@redhat.com>
20882
20883         test-stddef: test for (some) offsetof bugs
20884         * tests/test-stddef.c: Enhance test to ensure correct type of
20885         offsetof.
20886         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20887         that we are not fixing at this time.
20888
20889 2010-08-15  Bruno Haible  <bruno@clisp.org>
20890
20891         stpncpy: Allow stpncpy to be defined as a macro.
20892         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20893         if it's already correctly declared.
20894         * lib/string.in.h (stpncpy): Undefine before redefining.
20895         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20896
20897 2010-08-14  Bruno Haible  <bruno@clisp.org>
20898
20899         Rename module 'memxfrm' to 'amemxfrm'.
20900         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20901         (amemxfrm): Renamed from memxfrm.
20902         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20903         (amemxfrm): Renamed from memxfrm.
20904         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20905         * NEWS: Mention the change.
20906         * MODULES.html.sh (String handling <string.h>): Update.
20907         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20908         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20909         * lib/unicase/u16-casexfrm.c: Likewise.
20910         * lib/unicase/u32-casexfrm.c: Likewise.
20911         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20912         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20913         * lib/uninorm/u16-normxfrm.c: Likewise.
20914         * lib/uninorm/u32-normxfrm.c: Likewise.
20915         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20916         memxfrm.
20917         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20918         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20919         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20920         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20921         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20922         Suggested by Paul Eggert.
20923
20924 2010-08-14  Bruno Haible  <bruno@clisp.org>
20925
20926         Tests for module 'astrxfrm'.
20927         * modules/astrxfrm-tests: New file.
20928         * tests/test-astrxfrm.c: New file.
20929
20930         New module 'astrxfrm'.
20931         * lib/astrxfrm.h: New file.
20932         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20933         * modules/astrxfrm: New file.
20934
20935 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20936
20937         regex: Tweak doc.
20938         * doc/regex.texi (Overview): Don't mention regex.c.
20939         (GNU Regular Expression Compiling): Likewise.
20940         (Match-end-of-line Operator): Mention 'not_eol'.
20941
20942 2010-08-14  Brian Gough  <bjg@gnu.org>
20943             Bruno Haible  <bruno@clisp.org>
20944
20945         git-merge-changelog: add doc relating to use with bzr and hg.
20946         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20947
20948 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20949
20950         pthread: fix pthread.h creation for srcdir != builddir
20951         * modules/pthread (Makefile.am): Fix the rule to work also in a
20952         non-srcdir build.
20953
20954 2010-08-13  Karl Berry  <karl@gnu.org>
20955
20956         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20957         * doc/posix-*/*: force line break before @url of POSIX
20958         specifications.
20959         Suggested by Werner Lemberg.
20960
20961 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20962
20963         strtod: fix const diagnostic
20964         * lib/strtod.c (strtod): Don't assign const char * to char *,
20965         as this elicits a warning from GCC when warnings are enabled.
20966
20967 2010-08-10  Pádraig Brady <P@draigbrady.com>
20968         and Eric Blake  <eblake@redhat.com>
20969
20970         copy-acl: ignore ENOTSUP on HP-UX
20971         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20972         so that it is available for HP-UX.
20973         * lib/copy-acl.c (qcopy_acl): Use it.
20974         Reported by Patrick M. Callahan.
20975
20976 2010-08-10  Eric Blake  <eblake@redhat.com>
20977
20978         open, chown: relax license
20979         * modules/open (License): Change to LGPLv2+, with consent by all
20980         authors, for use in augeas.
20981         * modules/chown (License): Likewise.
20982         * modules/lchown (Likewise): Likewise.
20983         Requested by Adam Stokes.
20984
20985 2010-08-09  Karl Berry  <karl@gnu.org>
20986
20987         * build-aux/ar-lib: new file, import from Automake.
20988         * config/srclist.txt: autocheck for updates.
20989
20990 2010-08-09  Eric Blake  <eblake@redhat.com>
20991
20992         readlinkat: adjust client modules
20993         * modules/areadlinkat (Depends-on): Use readlinkat, not
20994         symlinkat.
20995         * modules/areadlinkat-with-size (Depends-on): Likewise.
20996
20997         mknod: be more vocal about danger of running tests as root
20998         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20999         root, since that is just asking for problems.
21000         Suggested by Bruno Haible, based on a report by Rainer Tammer.
21001
21002         readlinkat: split into its own module
21003         * modules/symlinkat: Split readlinkat...
21004         * modules/readlinkat: ...into separate module.
21005         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
21006         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
21007         * lib/symlinkat.c (readlinkat): Move...
21008         * lib/readlinkat.c: ...into new file.
21009         * modules/symlinkat-tests: Split readlinkat test...
21010         * modules/readlinkat-tests: ...into separate module.
21011         * tests/test-symlinkat.c: Split...
21012         * tests/test-readlinkat.c: ...into new file.
21013         * NEWS: Document the split.
21014         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
21015         * lib/unistd.in.h (readlinkat): Likewise.
21016         Suggested by Bruno Haible.
21017
21018 2010-08-08  Bruno Haible  <bruno@clisp.org>
21019
21020         memxfrm: Speed up.
21021         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
21022         that usually only one call to strxfrm is necessary for each string
21023         part.
21024         Reported by Paul Eggert <eggert@cs.ucla.edu>.
21025
21026 2010-08-07  Karl Berry  <karl@gnu.org>
21027
21028         * doc/posix-headers/limits.texi,
21029         * doc/posix-functions/malloc.texi,
21030         * doc/posix-functions/strsignal.texi: missing @item.
21031         * doc/ld-version-script.texi: spurious leading i.
21032         * doc/regex.texi (Interval Operators): no commas inside @var.
21033
21034 2010-08-01  Bruno Haible  <bruno@clisp.org>
21035
21036         Integrate the regex documentation.
21037         * doc/gnulib.texi: Define 'cn' index.
21038         (Regular expressions): New a chapter that includes regex.texi and
21039         regexprops-generic.texi.
21040         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
21041         syntax.
21042
21043         Whitespace cleanup.
21044         * doc/regex.texi: Remove trailing spaces.
21045
21046         Add regex documentation.
21047         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
21048         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
21049         Written by Kathy A. Hargreaves and Karl Berry.
21050
21051 2010-08-01  Bruno Haible  <bruno@clisp.org>
21052
21053         link: Update documentation.
21054         * doc/posix-functions/link.texi: Update regarding Solaris.
21055
21056 2010-07-31  Bruno Haible  <bruno@clisp.org>
21057
21058         Update modules list.
21059         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
21060         (String handling <string.h>): Add memcmp2, memxfrm.
21061         (Container data structures): Add xlist, xsublist, xoset.
21062         (Core language properties): Add alignof, unused-parameter.
21063         (Process control, Numeric conversion functions <stdlib.h>): Renamed
21064         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
21065         (Unibyte characters <ctype.h>): New section.
21066         (String handling <string.h>): New section.
21067         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
21068         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
21069         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
21070         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
21071         tan, tanh, tanl, y0, y1, yn.
21072         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
21073         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
21074         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
21075         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
21076         unlockpt, vdprintf, vdprintf-posix.
21077         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
21078         (File system functions): Add concat-filename, sys_file, sys_ioctl,
21079         xconcat-filename.
21080         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
21081         getdtablesize, pipe2, pipe2-safer.
21082         (Security): New section.
21083         (Networking functions): Add accept4.
21084         (Signal handling): Add sigpipe.
21085         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
21086         mbmemcasecoll.
21087         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
21088         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
21089         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
21090         pipe-filter-ii.
21091         (Misc): Add argp-version-etc, login_tty, parse-duration.
21092
21093 2010-07-31  Bruno Haible  <bruno@clisp.org>
21094
21095         Improve doc in MODULES.html.
21096         * modules/linkat (Description): Add the word "function".
21097         * modules/mkfifo (Description): Likewise.
21098         * modules/mknod (Description): Likewise.
21099         * modules/remove (Description): Likewise.
21100         * modules/renameat (Description): Likewise.
21101         * modules/stat (Description): Likewise.
21102         * modules/symlink (Description): Likewise.
21103         * modules/unlink (Description): Likewise.
21104
21105 2010-07-31  Bruno Haible  <bruno@clisp.org>
21106
21107         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
21108         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
21109         option --enable/disable-c++ instead of --enable/disable-cxx.
21110         * NEWS: Mention the change.
21111
21112 2010-07-31  Bruno Haible  <bruno@clisp.org>
21113
21114         readlink, areadlink: Relax test a bit.
21115         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
21116         alternative to ENOTDIR.
21117         * tests/test-areadlink.h (test_areadlink): Likewise.
21118         Reported by Rainer Tammer.
21119
21120 2010-07-31  Bruno Haible  <bruno@clisp.org>
21121
21122         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
21123         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
21124         character, perform the search using U_STRCHR.
21125         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
21126         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
21127         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
21128         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
21129         Suggested by Paolo Bonzini.
21130
21131 2010-07-31  Bruno Haible  <bruno@clisp.org>
21132
21133         unistr/u*-strstr: Fix dependencies.
21134         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
21135         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
21136         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
21137
21138 2010-07-31  Bruno Haible  <bruno@clisp.org>
21139
21140         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
21141         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
21142         the beginning of the loop.
21143         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
21144         cases in 'switch' statement.
21145
21146         unistr/u8-strchr: Fix several bugs.
21147         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
21148         the string. When not found, return NULL, not a pointer near the end.
21149
21150         More tests for unistr/u8-strchr.
21151         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
21152         that the function does not read past the first occurrence of the byte
21153         being searched.
21154         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
21155         * tests/unistr/test-u16-strchr.c (main): New function.
21156         * tests/unistr/test-u32-strchr.c (main): New function.
21157
21158 2010-07-31  Bruno Haible  <bruno@clisp.org>
21159
21160         posix-modules: Ignore backup files of documentation files.
21161         * posix-modules: grep only through files named *.texi.
21162
21163 2010-07-31  Bruno Haible  <bruno@clisp.org>
21164
21165         symlinkat: Fix documentation.
21166         * doc/posix-functions/readlinkat.texi: Fix module name.
21167
21168 2010-07-31  Bruno Haible  <bruno@clisp.org>
21169
21170         fchownat: Replace also when chown has the trailing slash bug.
21171         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
21172         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
21173         introduced on 2010-04-10.
21174         Reported by Rainer Tammer.
21175
21176 2010-07-31  Bruno Haible  <bruno@clisp.org>
21177
21178         linkat: Work around AIX 7.1 bug.
21179         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
21180         whether linkat handles trailing slash correctly. If not, replace linkat
21181         and define LINKAT_TRAILING_SLASH_BUG.
21182         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
21183         check whether (fd1,file1) points to a directory if file1 or file2 ends
21184         in a slash. Code taken from lib/link.c.
21185         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
21186         Reported by Rainer Tammer.
21187
21188 2010-07-31  Bruno Haible  <bruno@clisp.org>
21189
21190         Correctly determine whether pow is available in libc on AIX 7 with xlc.
21191         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
21192         This disables an xlc optimization that was causing wrong test results.
21193         Reported by Rainer Tammer.
21194
21195 2010-07-31  Bruno Haible  <bruno@clisp.org>
21196
21197         iconv: Work around AIX 6.1..7.1 bug.
21198         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
21199         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
21200         cross-compiling, guess no on all versions of AIX.
21201         Reported by Rainer Tammer.
21202
21203 2010-07-31  Bruno Haible  <bruno@clisp.org>
21204
21205         readlink: Relax test a bit.
21206         * tests/test-readlink.h (test_readlink): Allow different errno value
21207         when readlink is called with a file name that ends in / and refers to
21208         a file.
21209         Suggested by Eric Blake.
21210         Reported by Rainer Tammer.
21211
21212 2010-07-31  Bruno Haible  <bruno@clisp.org>
21213
21214         copysign: Does not require -lm on glibc systems.
21215         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
21216         gl_COMMON_DOUBLE_MATHFUNC.
21217         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
21218
21219 2010-07-31  Bruno Haible  <bruno@clisp.org>
21220
21221         duplocale: Work around AIX 7.1 bug.
21222         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
21223         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
21224         * lib/duplocale.c (rpl_duplocale): Update comment.
21225         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
21226         Reported by Rainer Tammer.
21227
21228 2010-07-30  Bruno Haible  <bruno@clisp.org>
21229
21230         dirfd: Avoid link error on AIX 7.1.
21231         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
21232         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
21233         exist, set REPLACE_DIRFD.
21234         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
21235         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
21236         * doc/posix-functions/dirfd.texi: Update.
21237         Reported by Rainer Tammer.
21238
21239 2010-07-30  Eric Blake  <eblake@redhat.com>
21240
21241         strtod: next round of AIX fixes
21242         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
21243         exponent.
21244         * tests/test-strtod.c (main): Enhance tests.
21245         * doc/posix-functions/strtod.texi (strtod): Document next bug.
21246         Reported by Rainer Tammer.
21247
21248         futimens: fix configure check
21249         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
21250         Reported by Bruno Haible.
21251
21252 2010-07-30  Bruno Haible  <bruno@clisp.org>
21253
21254         getline: Update regarding AIX.
21255         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
21256         Reported by Rainer Tammer.
21257
21258 2010-07-30  Bruno Haible  <bruno@clisp.org>
21259
21260         wcwidth: Drop replacement on AIX 7.
21261         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
21262         AIX 7.
21263         Reported by Rainer Tammer.
21264
21265 2010-07-30  Bruno Haible  <bruno@clisp.org>
21266
21267         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
21268         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
21269         a 'char *'.
21270         Reported by Rainer Tammer.
21271
21272 2010-07-30  Bruno Haible  <bruno@clisp.org>
21273
21274         unlink: Update regarding AIX.
21275         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
21276         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
21277         Reported by Rainer Tammer.
21278
21279 2010-07-30  Bruno Haible  <bruno@clisp.org>
21280
21281         symlink: Update regarding AIX.
21282         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
21283         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
21284         Reported by Rainer Tammer.
21285
21286 2010-07-30  Bruno Haible  <bruno@clisp.org>
21287
21288         strndup: Update regarding AIX.
21289         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
21290         AIX 7.
21291         Reported by Rainer Tammer.
21292
21293 2010-07-30  Bruno Haible  <bruno@clisp.org>
21294
21295         stat: Update regarding AIX.
21296         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
21297         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
21298         Reported by Rainer Tammer.
21299
21300 2010-07-30  Bruno Haible  <bruno@clisp.org>
21301
21302         truncl: Fix autoconf test.
21303         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
21304         whether truncl works.
21305         Reported by Rainer Tammer.
21306
21307 2010-07-30  Bruno Haible  <bruno@clisp.org>
21308
21309         round: Update regarding AIX.
21310         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
21311         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
21312         Reported by Rainer Tammer.
21313
21314 2010-07-30  Bruno Haible  <bruno@clisp.org>
21315
21316         rename: Update regarding AIX.
21317         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
21318         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
21319         Reported by Rainer Tammer.
21320
21321 2010-07-30  Bruno Haible  <bruno@clisp.org>
21322
21323         printf.m4: Update regarding AIX.
21324         * m4/printf.m4: Update comments regarding AIX.
21325         Reported by Rainer Tammer.
21326
21327 2010-07-30  Bruno Haible  <bruno@clisp.org>
21328
21329         iconv: Update regarding AIX.
21330         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
21331         AIX 7.
21332         Reported by Rainer Tammer.
21333
21334 2010-07-30  Bruno Haible  <bruno@clisp.org>
21335
21336         getopt: Update regarding AIX.
21337         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
21338         no on AIX.
21339         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
21340         Reported by Rainer Tammer.
21341
21342 2010-07-30  Bruno Haible  <bruno@clisp.org>
21343
21344         ldexpl; Update regarding AIX.
21345         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
21346         on AIX 7.
21347         Reported by Rainer Tammer.
21348
21349 2010-07-30  Bruno Haible  <bruno@clisp.org>
21350
21351         frexpl: Update regarding AIX.
21352         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
21353         on AIX 7.
21354         Reported by Rainer Tammer.
21355
21356 2010-07-30  Bruno Haible  <bruno@clisp.org>
21357
21358         open, fopen: Update regarding AIX.
21359         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
21360         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21361         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
21362         * doc/posix-functions/fopen.texi: Likewise.
21363         Reported by Rainer Tammer.
21364
21365 2010-07-30  Bruno Haible  <bruno@clisp.org>
21366
21367         chown: Update doc regarding AIX.
21368         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
21369         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
21370         Reported by Rainer Tammer.
21371
21372 2010-07-30  Eric Blake  <eblake@redhat.com>
21373
21374         strtod: fix bug in replacement function on AIX
21375         * lib/strtod.c (strtod): Special case broken "0x" parse in
21376         underlying strtod.
21377         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
21378         * doc/posix-functions/strtod.texi (strtod): Likewise.
21379         Reported by Rainer Tammer.
21380
21381 2010-07-30  Bruno Haible  <bruno@clisp.org>
21382
21383         mbrlen: Fix cross-compilation guess for AIX.
21384         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
21385         guess. Leftover from 2008-12-22.
21386
21387 2010-07-30  Bruno Haible  <bruno@clisp.org>
21388
21389         mbrtowc: Fix cross-compilation guess for AIX.
21390         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
21391         guess. Leftover from 2008-12-21.
21392
21393 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
21394
21395         init.sh: work around trap limitation of some shells
21396         * tests/init.sh (setup_): Move exit trap outside of shell function.
21397
21398 2010-07-29  Eric Blake  <eblake@redhat.com>
21399
21400         strtod: aid debugging
21401         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
21402         understanding why strtod is rejected.
21403
21404 2010-07-28  Bruno Haible  <bruno@clisp.org>
21405
21406         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21407         * lib/unistr/u8-chr.c: Include <string.h>.
21408         * tests/unistr/test-u8-chr.c: Likewise.
21409         * tests/unistr/test-u16-chr.c: Likewise.
21410         * tests/unistr/test-u32-chr.c: Likewise.
21411         * tests/unistr/test-u8-strchr.c: Likewise.
21412         * tests/unistr/test-u16-strchr.c: Likewise.
21413         * tests/unistr/test-u32-strchr.c: Likewise.
21414         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21415         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21416         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21417         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21418
21419 2010-07-28  Bruno Haible  <bruno@clisp.org>
21420
21421         Use spaces for indentation, not tabs.
21422         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21423
21424 2010-07-27  Bruno Haible  <bruno@clisp.org>
21425
21426         mbspcasecmp: Fix function specification.
21427         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21428         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21429         Reported by Eric Blake <eblake@redhat.com>.
21430
21431 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21432
21433         timespec: use cast and not conditional, as truncation isn't possible
21434         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21435         instead of a conditional.  Comment about the situation in more detail.
21436         This undoes most of the 2009-10-29 patch.
21437
21438 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21439
21440         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21441         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21442         * lib/unistr/u8-strchr.c: Likewise.
21443         * modules/unistr/u8-chr: Depend on memchr.
21444
21445         unistr/u*-strchr: add tests
21446         * modules/unistr/u8-strchr-tests: New file.
21447         * modules/unistr/u16-strchr-tests: New file.
21448         * modules/unistr/u32-strchr-tests: New file.
21449         * tests/unistr/test-strchr.h: New file.
21450         * tests/unistr/test-u8-strchr.c: New file.
21451         * tests/unistr/test-u16-strchr.c: New file.
21452         * tests/unistr/test-u32-strchr.c: New file.
21453
21454         unistr/u*-chr: test multibyte sequences more
21455         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21456         test vector.
21457         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21458         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21459         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21460
21461         unistr/u*-chr: test multibyte sequences
21462         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21463
21464         unistr/u*-chr: prepare for multibyte tests
21465         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21466         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21467         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21468         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21469         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21470         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21471
21472 2010-07-18  Bruno Haible  <bruno@clisp.org>
21473
21474         unistr/u8-strchr: Optimize non-ASCII argument case.
21475         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21476         because the first byte often matches anyway.
21477         Reported by Pádraig Brady <P@draigbrady.com>.
21478
21479 2010-07-15  Karl Berry  <karl@gnu.org>
21480
21481         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21482
21483 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21484
21485         getcwd: on Solaris, work better if ancestors are inaccessible
21486         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21487         buffer and size, try again with a large buffer.  This works better
21488         on Solaris, since its getcwd succeeds even if the path to the root
21489         is inaccessible, and this is helpful in common cases such as .zfs
21490         hidden directories.  Problem reported by J Chapman Flack in
21491         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21492         Use system getcwd if it's declared, not merely if it's partly
21493         working; use the partly-working test only to avoid needless effort
21494         if the system getcwd fails.
21495         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21496         comment that was already obsolete and is now even more obsolete.
21497         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21498         now might call strdup.
21499
21500 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21501
21502         pthread: Add enough so that coreutils/src/sort.c compiles.
21503         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21504         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21505         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21506         Include <sys/types.h>, in case it defines pthread_t.
21507         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21508         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21509         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21510         (pthread_rwlockattr_t, pthread_spinlock_t):
21511         New typedefs, if HAVE_PTHREAD_T is not defined.
21512         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21513         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21514         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21515         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21516         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21517         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21518         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21519         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21520         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21521         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21522         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21523         New macros.
21524         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21525         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21526         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21527         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21528         (pthread_spin_unlock): New dummy functions.
21529         (pthread_create): Return EAGAIN; don't set errno.
21530         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21531         require AC_C_INLINE.
21532         * modules/pthread (Depends-on): Add sched, time.
21533         (pthread.h): Use AM_V_GEN.
21534
21535 2010-07-13  Bruno Haible  <bruno@clisp.org>
21536
21537         striconveh: Don't malloc memory if the result buffer is sufficient.
21538         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21539         buffer if its size is sufficient.
21540         Reported by Ludovic Courtès <ludo@gnu.org>.
21541
21542 2010-07-13  Bruno Haible  <bruno@clisp.org>
21543
21544         strtod: Add safety check.
21545         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21546
21547 2010-07-12  Bruno Haible  <bruno@clisp.org>
21548
21549         Unify tests that set gl_cv_func_ldexpl_no_libm.
21550         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21551         gl_FUNC_LDEXPL.
21552         (gl_FUNC_LDEXPL): Invoke it.
21553         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21554
21555 2010-07-12  Bruno Haible  <bruno@clisp.org>
21556
21557         Unify tests that set gl_cv_func_ldexp_no_libm.
21558         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21559         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21560         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21561         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21562         * modules/strtod (Files): Add m4/ldexp.m4.
21563
21564 2010-07-12  Bruno Haible  <bruno@clisp.org>
21565
21566         Unify tests that set gl_cv_func_frexpl_no_libm.
21567         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21568         gl_FUNC_FREXPL_NO_LIBM.
21569         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21570         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21571
21572 2010-07-12  Bruno Haible  <bruno@clisp.org>
21573
21574         Unify tests that set gl_cv_func_frexp_no_libm.
21575         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21576         gl_FUNC_FREXP_NO_LIBM.
21577         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21578         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21579
21580 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21581
21582         memcoll: clarify sizes versus lengths, document better, and tweak perf
21583         * lib/memcoll.c (strcoll_loop, memcoll0):
21584         Improve quality of descriptive comments.  Name variables
21585         consistently as to whether they are lengths (which do not include
21586         terminating null) versus sizes (which do).
21587         * lib/xmemcoll.c (xmemcoll0): Likewise.
21588         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21589         returned when s1size == 0; this is easier to compile and saves
21590         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21591
21592 2010-07-12  Bruno Haible  <bruno@clisp.org>
21593
21594         Tests for module '_Exit'.
21595         * modules/_Exit-tests: New file.
21596         * tests/test-_Exit.sh: New file.
21597         * tests/test-_Exit.c: New file.
21598
21599         New module '_Exit'.
21600         * lib/stdlib.in.h (__attribute__): New macro.
21601         (_Exit): New declaration.
21602         * lib/_Exit.c: New file.
21603         * m4/_Exit.m4: New file.
21604         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21605         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21606         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21607         * modules/_Exit: New file.
21608         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21609         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21610
21611 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21612
21613         strtod: make it more-accurate typically, and don't require libm
21614         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21615         Include limits.h.  Don't include string.h.
21616         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21617         (locale_isspace): New function, so that no casts are needed to
21618         check whether *s is a space.
21619         (ldexp): Provide an unused dummy if not available.
21620         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21621         (strtod): Use them.  This implementation prefers to use the
21622         underlying strtod if available, falling back on our own code
21623         only to fix known bugs.  This is more likely to produce an
21624         accurate result.  Also, it avoids the use of libm functions.
21625         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21626         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21627         was absent, but it caused a test failure with coreutils.
21628         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21629         with libm.
21630         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21631         * modules/strtod-tests (Makefile.am): Likewise.
21632
21633 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21634             Bruno Haible  <bruno@clisp.org>
21635
21636         unistr/u8-strchr: Optimize ASCII argument case.
21637         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21638
21639 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21640
21641         (x)memcoll: minor tweaks
21642         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21643         is after the type that it qualifies.
21644         (memcoll0): Likewise.
21645         * lib/memcoll.h (memcoll0): Likewise.
21646         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21647         * lib/xmemcoll.h (xmemcoll0): Likewise.
21648         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21649         differs from memcoll in that the NUL byte is part of the argument.
21650         Omit the abort-checks, as performance is a real issue here.  Plus,
21651         the checks were wrong anyway (an off-by-one error).  Omit local
21652         variable 'diff', as it's a bit clearer that way.
21653         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21654         no longer needed.
21655
21656 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21657
21658         (x)memcoll: speedup when input is known to be NUL delimited
21659         * lib/memcoll.c: Include stdlib.
21660         (memcoll0): New function.
21661         (strcoll_loop): New function, refactored for use in both memcoll
21662         and memcoll0.
21663         * lib/memcoll.h (memcoll0): Add prototype.
21664         * lib/xmemcoll.c (xmemcoll0): New function.
21665         (collate_error): New function, refactored for use in both xmemcoll
21666         and xmemcoll0.
21667         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21668         * m4/memcoll.m4: add inline invocation.
21669
21670 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21671
21672         * build-aux/bootstrap: Remove any local translations
21673         from the translation project synchronization directory,
21674         so that local only translations are not distributed.
21675
21676 2010-07-04  Bruno Haible  <bruno@clisp.org>
21677
21678         fsusage: Clarify which code applies to which platforms.
21679         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21680         platform.
21681         * lib/fsusage.c (get_fs_usage): Likewise.
21682
21683 2010-07-04  Bruno Haible  <bruno@clisp.org>
21684
21685         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21686         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21687         Reported by Martin Lambers <marlam@marlam.de>.
21688
21689 2010-07-04  Jim Meyering  <meyering@redhat.com>
21690
21691         hash: once again explicitly disallow insertion of NULL
21692         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21693         inserting a NULL pointer cannot work with these functions.
21694         Add a comment with details.
21695         This reverts part of the 2010-07-01 commit, 5bef1a35
21696         "hash: extend module to deal with non-pointer keys".
21697
21698 2010-07-01  Bruno Haible  <bruno@clisp.org>
21699
21700         stdbool: Update doc.
21701         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21702         Info from Christian Weisgerber <naddy@mips.inka.de>.
21703
21704 2010-07-01  Jim Meyering  <meyering@redhat.com>
21705
21706         hash: extend module to deal with non-pointer keys
21707         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21708         but that allows insertion of non-pointer entries.
21709         Do not disallow an ENTRY value of NULL.
21710         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21711         * lib/hash.h (hash_insert0): Declare.
21712
21713 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21714
21715         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21716         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21717         not present (i.e. with autoconf 2.59 and when using gettextize, not
21718         gnulib), require AC_GNU_SOURCE instead.
21719
21720 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21721
21722         idpriv-drop: Fix tests.
21723         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21724         not to the test-idpriv-droptemp program.
21725
21726 2010-06-29  Bruno Haible  <bruno@clisp.org>
21727
21728         string: Fix syntax error with g++ 2.96.
21729         * lib/string.in.h (__pure__): Remove definition.
21730         (_GL_ATTRIBUTE_PURE): New macro.
21731         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21732         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21733         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21734
21735 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21736
21737         unitypes: Fix bug introduced on 2010-05-18.
21738         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21739
21740 2010-06-22  Eric Blake  <eblake@redhat.com>
21741
21742         memmem: slight optimization
21743         * lib/str-two-way.h (critical_factorization): Update comments.
21744         Reduce work during factorization phase.
21745         Reported by Carlos Bueno <carlos@bueno.org>.
21746
21747 2010-06-21  Bruno Haible  <bruno@clisp.org>
21748
21749         Fix HAVE_CALLOC_POSIX misnomer.
21750         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21751         !HAVE_CALLOC_POSIX.
21752         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21753         HAVE_CALLOC_POSIX.
21754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21755         instead of HAVE_CALLOC_POSIX.
21756         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21757         HAVE_CALLOC_POSIX.
21758
21759         Use modern idiom for calloc() replacement.
21760         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21761         AC_FUNC_CALLOC.
21762         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21763         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21764         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21765         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21766         (gl_REPLACE_CALLOC): New macro.
21767
21768 2010-06-21  Bruno Haible  <bruno@clisp.org>
21769
21770         Fix HAVE_REALLOC_POSIX misnomer.
21771         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21772         !HAVE_REALLOC_POSIX.
21773         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21774         HAVE_REALLOC_POSIX.
21775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21776         instead of HAVE_REALLOC_POSIX.
21777         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21778         HAVE_REALLOC_POSIX.
21779
21780         Use modern idiom for realloc() replacement.
21781         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21782         AC_FUNC_REALLOC.
21783         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21784         Autoconf's AC_FUNC_REALLOC.
21785         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21786         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21787         (gl_REPLACE_REALLOC): New macro.
21788         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21789
21790 2010-06-21  Bruno Haible  <bruno@clisp.org>
21791
21792         Fix HAVE_MALLOC_POSIX misnomer.
21793         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21794         !HAVE_MALLOC_POSIX.
21795         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21796         HAVE_MALLOC_POSIX.
21797         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21798         instead of HAVE_MALLOC_POSIX.
21799         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21800         HAVE_MALLOC_POSIX.
21801
21802         Use modern idiom for malloc() replacement.
21803         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21804         AC_FUNC_MALLOC.
21805         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21806         Autoconf's AC_FUNC_MALLOC.
21807         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21808         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21809         (gl_REPLACE_MALLOC): New macro.
21810         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21811
21812 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21813
21814         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21815         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21816         This macro takes 3 arguments, not 4.
21817
21818 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21819
21820         ipv6: fix detection under mingw
21821         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21822         in6_addr.
21823
21824 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21825
21826         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21827         that strtod() works when cross-compiling to a glibc version known
21828         to work.
21829
21830 2010-06-15  Bruno Haible  <bruno@clisp.org>
21831
21832         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21833
21834 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21835
21836         select: Correct timeout.
21837         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21838
21839 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21840
21841         git-version-gen: init shell var to avoid env var influence
21842         * build-aux/git-version-gen (v): Init shell var to empty.
21843
21844 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21845
21846         priv-set: Don't assume that priv.h exists merely because getppriv does.
21847         See Jan Andersen's bug report about AIX 5L in
21848         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21849         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21850         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21851         * lib/priv-set.h: Likewise.
21852         * tests/test-priv-set.c: Likewise.
21853
21854 2010-06-13  Bruno Haible  <bruno@clisp.org>
21855
21856         relocatable: Make it easier to test whether to install wrappers.
21857         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21858         RELOCATABLE_VIA_WRAPPER.
21859
21860 2010-06-13  Bruno Haible  <bruno@clisp.org>
21861
21862         gnulib-tool: Display specified modules and dependencies differently.
21863         * gnulib-tool (func_show_module_list): New function.
21864         (func_import, func_create_testdir): Invoke it.
21865         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21866
21867 2010-06-13  Bruno Haible  <bruno@clisp.org>
21868
21869         gnulib-tool: Align code of func_import and func_create_testdir.
21870         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21871         specified_modules.
21872
21873 2010-06-12  Jim Meyering  <meyering@redhat.com>
21874
21875         test-inttostr: avoid spurious failure on Solaris 9
21876         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21877         to accept "%ju".  Reported by Bruno Haible.
21878
21879 2010-06-11  Jim Meyering  <meyering@redhat.com>
21880
21881         test-sys_socket: mark variables as used more readably
21882         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21883         as "used" explicitly via (void) statement casts.  This is more
21884         readable than using them in an artificial return expression.
21885         Suggestion from Bruno Haible.
21886
21887 2010-06-11  Bruno Haible  <bruno@clisp.org>
21888
21889         Avoid some more warnings from "gcc -Wwrite-strings".
21890         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21891         to 'const char *'.
21892         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21893         * tests/test-c-strcasestr.c (main): Likewise.
21894         * tests/test-mbscasestr1.c (main): Likewise.
21895         * tests/test-mbscasestr2.c (main): Likewise.
21896         * tests/test-memmem.c (main): Likewise.
21897         * tests/test-strstr.c (main): Likewise.
21898         * tests/test-strcasestr.c (main): Likewise.
21899
21900 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21901
21902         init.sh: change framework_failure_ to fail with status 99, not 1
21903         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21904         automake's parallel-tests rule that this is an unexpected failure,
21905         even if the test is listed in XFAIL_TESTS.
21906
21907 2010-06-11  Jim Meyering  <meyering@redhat.com>
21908
21909         test-inttostr: avoid warnings about 4-6KB literal strings
21910         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21911         Include "macros.h", for its definition of ASSERT.
21912         (CK): s/assert/ASSERT/
21913         * modules/inttostr-tests (Files): Add macros.h.
21914
21915         init.sh: don't use $ME_ or skip_ before they are defined
21916         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21917         their first uses.  Also hoist their companions: warn_, fail_,
21918         framework_failure_, $stderr_fileno.  Prompted by a patch from
21919         Stefano Lattarini.
21920
21921         test-sys_socket: avoid set-but-not-used warnings from gcc
21922         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21923         avoid warning about set-but-not-used variables.
21924
21925         test-xvasprintf: avoid 'const' discard warnings
21926         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21927         "const" when assigning from literal strings.
21928         (test_xasprintf): Add "void" in function argument list to placate
21929         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21930
21931         tests: avoid compilation warnings in argmatch and exclude tests...
21932         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21933         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21934         Since it always exits, declare with the "noreturn" attribute.
21935         * tests/test-argmatch.c: Likewise.
21936
21937         tests: avoid 'const' discard warnings in mbsstr tests
21938         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21939         * tests/test-mbsstr2.c (main): Likewise.
21940
21941         test-verify: avoid warning from gcc's -Wmissing-declarations
21942         * tests/test-verify.c (function): Declare to be static.
21943
21944         test-inttostr.c: include <string.h> for use of strcmp
21945         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21946
21947         test-linkat: avoid failed assertion on "other" architectures
21948         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21949         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21950         sparc: https://bugs.launchpad.net/bugs/591968
21951
21952 2010-06-11  Jim Meyering  <meyering@redhat.com>
21953
21954         printf.m4: avoid autoconf's "Expanded Before Required" warning
21955         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21956         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21957         autoconf warning.
21958
21959 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21960
21961         Replacement header templates are now named with ".in", not "_".
21962         * doc/gnulib-intro.texi: Correct.
21963
21964 2010-06-10  Jim Meyering  <meyering@redhat.com>
21965
21966         inttostr-tests: depend on snprintf, not snprintf-posix
21967         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21968         snprintf-posix, to avoid this aclocal failure:
21969           missing file gnulib-tests/vasnprintf.c
21970           configure.ac:45: error: expected source file, required through \
21971           AC_LIBSOURCES, not found
21972
21973 2010-06-10  Jim Meyering  <meyering@redhat.com>
21974
21975         inttostr: add a new function, inttostr, and tests
21976         The namesake function was not available.  The existence of the
21977         template file, inttostr.c makes its addition nontrivial.
21978         * lib/anytostr.c: Rename from inttostr.c.
21979         (anytostr): Rename from inttostr.
21980         * lib/inttostr.c: New file.
21981         * modules/inttostr (Files): Add anytostr.c.
21982         (Makefile.am): Set lib_SOURCES instead of ...
21983         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21984         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21985         * lib/offtostr.c: Likewise.
21986         * lib/uinttostr.c: Likewise.
21987         * lib/umaxtostr.c: Likewise.
21988         * modules/inttostr-tests: New file.
21989         * tests/test-inttostr.c: New file.  Test these functions.
21990
21991 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21992             Bruno Haible  <bruno@clisp.org>
21993
21994         Add "Extending Gnulib" chapter to manual.
21995         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21996         chapter.
21997         (Extending Gnulib): New chapter.
21998         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21999         chapter.
22000
22001 2010-06-09  Bruno Haible  <bruno@clisp.org>
22002
22003         Avoid relocwrapper link errors due to gnulib replacement functions.
22004         * lib/areadlink.c: Use the system's malloc, realloc functions.
22005         (areadlink): Set errno to ENOMEM explicitly.
22006         * modules/areadlink (Depends-on): Remove malloc-posix.
22007         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22008
22009 2010-06-09  Bruno Haible  <bruno@clisp.org>
22010
22011         Avoid relocwrapper link errors due to gnulib replacement functions.
22012         * lib/canonicalize-lgpl.c: Use the system's malloc function.
22013         * lib/malloca.c: Likewise.
22014         * lib/relocatable.c: Likewise.
22015         * lib/progreloc.c: Use the system's malloc, sprintf functions.
22016         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
22017         * lib/setenv.c: Use the system's malloc, realloc functions.
22018         * lib/strerror.c: Use the system's sprintf function.
22019         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22020
22021 2010-06-04  Bruno Haible  <bruno@clisp.org>
22022
22023         Prefer documented low-level autoconf macro names.
22024         * m4/lib-link.m4: Use m4_translit instead of translit.
22025         * m4/environ.m4: Likewise.
22026         * m4/mathfunc.m4: Likewise.
22027         * m4/onceonly.m4: Likewise.
22028         * m4/stdint.m4: Likewise.
22029         Suggested by Eric Blake.
22030
22031 2010-06-04  Martin Lambers  <marlam@marlam.de>
22032             Bruno Haible  <bruno@clisp.org>
22033
22034         havelib: Allow library names with '+' characters.
22035         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
22036         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
22037
22038 2010-06-09  Bruno Haible  <bruno@clisp.org>
22039
22040         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
22041         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
22042         realloc failed.
22043
22044 2010-06-08  Peter Simons  <simons@cryp.to>
22045
22046         maint.mk: make the news-check rule more configurable
22047         * top/maint.mk (news-check-lines-spec): New variable.
22048         (news-check): Use "sed -n 1,10p" in place of "head".
22049
22050 2010-06-07  Jim Meyering  <meyering@redhat.com>
22051
22052         do-release-commit-and-tag: fix typo in --help
22053         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
22054
22055         regex: avoid new dead-code warning with gcc-4.6.0
22056         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
22057         if-block containing a while-loop.  It's been unused for at least
22058         5 years.
22059
22060 2010-06-05  Bruno Haible  <bruno@clisp.org>
22061
22062         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
22063         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
22064
22065 2010-06-04  Bruno Haible  <bruno@clisp.org>
22066
22067         Update to GNU gettext 0.18.1.
22068         * modules/gettext (configure.ac): Require gettext infrastructure from
22069         version 0.18.1.
22070
22071 2010-06-03  Bruno Haible  <bruno@clisp.org>
22072
22073         Don't use AC_LIBOBJ with file names in subdirectories.
22074         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
22075         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
22076         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
22077         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
22078         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
22079         gl_LIBUNISTRING_LIBSOURCE.
22080         (Makefile.am): Augment lib_SOURCES here, conditionally.
22081         * NEWS: Drop requirement for Automake option 'subdir-objects'.
22082
22083 2010-06-03  Bruno Haible  <bruno@clisp.org>
22084
22085         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
22086         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
22087         expansion does not end with a newline.
22088         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
22089         unnecessary newline.
22090
22091 2010-06-03  Bruno Haible  <bruno@clisp.org>
22092
22093         Reduce dependencies.
22094         * tests/test-quotearg.h: New file, extracted from
22095         tests/test-quotearg.c.
22096         * tests/test-quotearg-simple.c: New file, extracted from
22097         tests/test-quotearg.c.
22098         * tests/test-quotearg.c: Don't include <ctype.h>.
22099         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
22100         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
22101         use_quote_double_quotes, use_quotearg_colon): Moved to
22102         tests/test-quotearg.h.
22103         (results_g, flag_results, custom_quotes, custom_results): Moved
22104         to tests/test-quotearg-simple.c.
22105         (main): Moved the part that does not depend on gettext to
22106         tests/test-quotearg-simple.c. Return 77 if the test cannot be
22107         performed.
22108         * modules/quotearg-simple: New file.
22109         * modules/quotearg-simple-tests: New file.
22110         * modules/quotearg (Depends-on): Add quotearg-simple.
22111         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
22112         (Files): Add tests/test-quotearg.h.
22113         Reported by Paolo Bonzini.
22114
22115 2010-06-03  Bruno Haible  <bruno@clisp.org>
22116
22117         Reduce dependencies.
22118         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
22119
22120 2010-06-03  Bruno Haible  <bruno@clisp.org>
22121
22122         time: Undefine more broken macros.
22123         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
22124         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
22125         Reported by Eric Blake.
22126
22127 2010-06-03  Bruno Haible  <bruno@clisp.org>
22128
22129         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
22130         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
22131         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
22132         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
22133         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
22134         Reported by Ludovic Courtès <ludo@gnu.org>.
22135
22136 2010-06-02  Eric Blake  <eblake@redhat.com>
22137
22138         time: work with mingw + pthreads-win32 library
22139         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
22140         if timespec is defined only in pthread.h.
22141         * modules/time (Makefile.am): Substitute it.
22142         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
22143         <pthread.h>, when needed.
22144         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
22145         from the library.
22146
22147 2010-05-31  Bruno Haible  <bruno@clisp.org>
22148
22149         Avoid expanding two macros in the wrong order.
22150         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
22151         gl_LIBUNISTRING if it is defined.
22152         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
22153         autoconf >= 2.64.
22154         Reported by Ludovic Courtès <ludo@gnu.org>.
22155
22156 2010-05-27  Jim Meyering  <meyering@redhat.com>
22157
22158         maint.mk: also prohibit "#undef" of always-defined symbols
22159         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
22160         Allow more than one space before the symbol name.
22161         (sc_prohibit_always-defined_macros): Use grep's -E, now that
22162         the regexp uses alternation.
22163
22164 2010-05-26  Eric Blake  <eblake@redhat.com>
22165
22166         maint.mk: avoid echo -e
22167         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
22168         Convert all uses of echo -* to printf.
22169         Reported by Matthias Bolte.
22170
22171 2010-05-25  Bruno Haible  <bruno@clisp.org>
22172
22173         Update to GNU gettext 0.18, part 2.
22174         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
22175         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
22176
22177 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22178
22179         Add missing include in test-pwrite.c.
22180         * tests/test-pwrite.c: Include string.h, for strcmp.
22181
22182 2010-05-24  Bruno Haible  <bruno@clisp.org>
22183
22184         * NEWS: Mention requirement for Automake option 'subdir-objects'.
22185
22186 2010-05-24  Bruno Haible  <bruno@clisp.org>
22187
22188         Don't use conversion with transliteration in u{8,16,32}_strcoll.
22189         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
22190         iconveh_error argument.
22191         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
22192         U_STRCONV_TO_LOCALE.
22193         * lib/unistr/u16-strcoll.c: Likewise.
22194         * lib/unistr/u32-strcoll.c: Likewise.
22195         * modules/unistr/u8-strcoll (Depends-on): Add
22196         uniconv/u8-strconv-to-enc, localcharset. Remove
22197         uniconv/u8-strconv-to-locale.
22198         (configure.ac): Bump version number.
22199         * modules/unistr/u16-strcoll (Depends-on): Add
22200         uniconv/u16-strconv-to-enc, localcharset. Remove
22201         uniconv/u16-strconv-to-locale.
22202         (configure.ac): Bump version number.
22203         * modules/unistr/u32-strcoll (Depends-on): Add
22204         uniconv/u32-strconv-to-enc, localcharset. Remove
22205         uniconv/u32-strconv-to-locale.
22206         (configure.ac): Bump version number.
22207
22208 2010-05-24  Bruno Haible  <bruno@clisp.org>
22209
22210         Avoid a test failure on NetBSD 5.0.
22211         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
22212         an iconv() bug.
22213
22214 2010-05-24  Bruno Haible  <bruno@clisp.org>
22215
22216         Adjust #include directive style.
22217         * modules/regex (Includes): Recommend to write <regex.h>.
22218
22219 2010-05-24  Bruno Haible  <bruno@clisp.org>
22220
22221         regex: Don't require alloca.
22222         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
22223         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
22224         only inside if (0).
22225
22226 2010-05-23  Jim Meyering  <meyering@redhat.com>
22227
22228         test-renameat.c: include <sys/stat.h>
22229         * tests/test-renameat.c: Include <sys/stat.h>; required for
22230         definition of S_IS* macros.
22231
22232 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
22233
22234         Update maintainer documentation for 'relocatable-prog' module.
22235         * doc/relocatable-maint.texi: Update.
22236         Comments by Bruno Haible.
22237
22238 2010-05-23  Bruno Haible  <bruno@clisp.org>
22239
22240         git-merge-changelog: Enable --split-merged-entry by default.
22241         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
22242         (usage): Don't mention this option any more.
22243         Reported by Ralf Wildenhues.
22244
22245 2010-05-23  Jim Meyering  <meyering@redhat.com>
22246
22247         test-pwrite: do not leave behind a test file named "out"
22248         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
22249         The trivial-looking use of init.sh is really necessary.
22250         It ensures that the temporary file, "out", is created in
22251         a temporary directory, and removed upon termination.
22252         * tests/test-pwrite.sh: Re-add file.
22253         * modules/pwrite-tests: Reference it.
22254
22255 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22256
22257         Fix output redirection buglet in init.sh.
22258         * tests/init.sh: Fix redirection of stderr.
22259
22260 2010-05-20  Simon Josefsson  <simon@josefsson.org>
22261
22262         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
22263
22264 2010-05-17  Simon Josefsson  <simon@josefsson.org>
22265
22266         * modules/valgrind-tests: New file.
22267         * m4/valgrind-tests.m4: New file.
22268         * doc/valgrind-tests.texi: New file.
22269         * doc/gnulib.texi (Running self-tests under valgrind): New
22270         section.
22271
22272 2010-05-19  Bruno Haible  <bruno@clisp.org>
22273
22274         Clean up dead code in recent commit.
22275         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
22276         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
22277         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
22278         Suggested by Paolo Bonzini.
22279
22280 2010-05-19  Bruno Haible  <bruno@clisp.org>
22281
22282         Avoid valgrind error reports from libunistring.
22283         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
22284         * modules/libunistring (Files): Add it.
22285         * modules/libunistring-optional (Files): Likewise.
22286
22287 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
22288             Bruno Haible  <bruno@clisp.org>
22289
22290         New module 'libunistring-optional'.
22291         * modules/libunistring-optional: New file.
22292         * m4/libunistring-base.m4: New file.
22293         * m4/libunistring-optional.m4: New file.
22294         * lib/unicase.in.h: Renamed from lib/unicase.h.
22295         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
22296         * lib/unictype.in.h: Renamed from lib/unictype.h.
22297         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
22298         * lib/uniname.in.h: Renamed from lib/uniname.h.
22299         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
22300         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
22301         * lib/unistr.in.h: Renamed from lib/unistr.h.
22302         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
22303         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
22304         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
22305         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
22306         gl_LIBUNISTRING. If the library was found, determine the installed
22307         version and set LIBUNISTRING_VERSION.
22308         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
22309         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
22310         handle a configuration option --with-included-libunistring.
22311         * modules/libunistring (Files): Add m4/absolute-header.m4.
22312         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
22313         Add m4/libunistring-base.m4.
22314         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22315         (Makefile.am): Build unicase.h from unicase.in.h.
22316         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
22317         Add m4/libunistring-base.m4.
22318         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22319         (Makefile.am): Build uniconv.h from uniconv.in.h.
22320         * modules/unictype/base (Files): Use unictype.in.h instead of
22321         unictype.h. Add m4/libunistring-base.m4.
22322         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22323         (Makefile.am): Build unictype.h from unictype.in.h.
22324         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
22325         Add m4/libunistring-base.m4.
22326         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22327         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
22328         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
22329         Add m4/libunistring-base.m4.
22330         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22331         (Makefile.am): Build uniname.h from uniname.in.h.
22332         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
22333         Add m4/libunistring-base.m4.
22334         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22335         (Makefile.am): Build uninorm.h from uninorm.in.h.
22336         * modules/unistdio/base (Files): Use unistdio.in.h instead of
22337         unistdio.h. Add m4/libunistring-base.m4.
22338         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22339         (Makefile.am): Build unistdio.h from unistdio.in.h.
22340         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
22341         Add m4/libunistring-base.m4.
22342         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22343         (Makefile.am): Build unistr.h from unistr.in.h.
22344         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
22345         Add m4/libunistring-base.m4.
22346         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22347         (Makefile.am): Build unitypes.h from unitypes.in.h.
22348         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
22349         Add m4/libunistring-base.m4.
22350         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22351         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
22352         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
22353         uniwidth.h. Add m4/libunistring-base.m4.
22354         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22355         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
22356         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
22357         instead of augmenting lib_SOURCES.
22358         * modules/unicase/empty-suffix-context: Likewise.
22359         * modules/unicase/locale-language: Likewise.
22360         * modules/unicase/tolower: Likewise.
22361         * modules/unicase/totitle: Likewise.
22362         * modules/unicase/toupper: Likewise.
22363         * modules/unicase/u8-casecmp: Likewise.
22364         * modules/unicase/u8-casecoll: Likewise.
22365         * modules/unicase/u8-casefold: Likewise.
22366         * modules/unicase/u8-casexfrm: Likewise.
22367         * modules/unicase/u8-ct-casefold: Likewise.
22368         * modules/unicase/u8-ct-tolower: Likewise.
22369         * modules/unicase/u8-ct-totitle: Likewise.
22370         * modules/unicase/u8-ct-toupper: Likewise.
22371         * modules/unicase/u8-is-cased: Likewise.
22372         * modules/unicase/u8-is-casefolded: Likewise.
22373         * modules/unicase/u8-is-lowercase: Likewise.
22374         * modules/unicase/u8-is-titlecase: Likewise.
22375         * modules/unicase/u8-is-uppercase: Likewise.
22376         * modules/unicase/u8-prefix-context: Likewise.
22377         * modules/unicase/u8-suffix-context: Likewise.
22378         * modules/unicase/u8-tolower: Likewise.
22379         * modules/unicase/u8-totitle: Likewise.
22380         * modules/unicase/u8-toupper: Likewise.
22381         * modules/unicase/u16-casecmp: Likewise.
22382         * modules/unicase/u16-casecoll: Likewise.
22383         * modules/unicase/u16-casefold: Likewise.
22384         * modules/unicase/u16-casexfrm: Likewise.
22385         * modules/unicase/u16-ct-casefold: Likewise.
22386         * modules/unicase/u16-ct-tolower: Likewise.
22387         * modules/unicase/u16-ct-totitle: Likewise.
22388         * modules/unicase/u16-ct-toupper: Likewise.
22389         * modules/unicase/u16-is-cased: Likewise.
22390         * modules/unicase/u16-is-casefolded: Likewise.
22391         * modules/unicase/u16-is-lowercase: Likewise.
22392         * modules/unicase/u16-is-titlecase: Likewise.
22393         * modules/unicase/u16-is-uppercase: Likewise.
22394         * modules/unicase/u16-prefix-context: Likewise.
22395         * modules/unicase/u16-suffix-context: Likewise.
22396         * modules/unicase/u16-tolower: Likewise.
22397         * modules/unicase/u16-totitle: Likewise.
22398         * modules/unicase/u16-toupper: Likewise.
22399         * modules/unicase/u32-casecmp: Likewise.
22400         * modules/unicase/u32-casecoll: Likewise.
22401         * modules/unicase/u32-casefold: Likewise.
22402         * modules/unicase/u32-casexfrm: Likewise.
22403         * modules/unicase/u32-ct-casefold: Likewise.
22404         * modules/unicase/u32-ct-tolower: Likewise.
22405         * modules/unicase/u32-ct-totitle: Likewise.
22406         * modules/unicase/u32-ct-toupper: Likewise.
22407         * modules/unicase/u32-is-cased: Likewise.
22408         * modules/unicase/u32-is-casefolded: Likewise.
22409         * modules/unicase/u32-is-lowercase: Likewise.
22410         * modules/unicase/u32-is-titlecase: Likewise.
22411         * modules/unicase/u32-is-uppercase: Likewise.
22412         * modules/unicase/u32-prefix-context: Likewise.
22413         * modules/unicase/u32-suffix-context: Likewise.
22414         * modules/unicase/u32-tolower: Likewise.
22415         * modules/unicase/u32-totitle: Likewise.
22416         * modules/unicase/u32-toupper: Likewise.
22417         * modules/unicase/ulc-casecmp: Likewise.
22418         * modules/unicase/ulc-casecoll: Likewise.
22419         * modules/unicase/ulc-casexfrm: Likewise.
22420         * modules/uniconv/u8-conv-from-enc: Likewise.
22421         * modules/uniconv/u8-conv-to-enc: Likewise.
22422         * modules/uniconv/u8-strconv-from-enc: Likewise.
22423         * modules/uniconv/u8-strconv-from-locale: Likewise.
22424         * modules/uniconv/u8-strconv-to-enc: Likewise.
22425         * modules/uniconv/u8-strconv-to-locale: Likewise.
22426         * modules/uniconv/u16-conv-from-enc: Likewise.
22427         * modules/uniconv/u16-conv-to-enc: Likewise.
22428         * modules/uniconv/u16-strconv-from-enc: Likewise.
22429         * modules/uniconv/u16-strconv-from-locale: Likewise.
22430         * modules/uniconv/u16-strconv-to-enc: Likewise.
22431         * modules/uniconv/u16-strconv-to-locale: Likewise.
22432         * modules/uniconv/u32-conv-from-enc: Likewise.
22433         * modules/uniconv/u32-conv-to-enc: Likewise.
22434         * modules/uniconv/u32-strconv-from-enc: Likewise.
22435         * modules/uniconv/u32-strconv-from-locale: Likewise.
22436         * modules/uniconv/u32-strconv-to-enc: Likewise.
22437         * modules/uniconv/u32-strconv-to-locale: Likewise.
22438         * modules/unictype/bidicategory-byname: Likewise.
22439         * modules/unictype/bidicategory-name: Likewise.
22440         * modules/unictype/bidicategory-of: Likewise.
22441         * modules/unictype/bidicategory-test: Likewise.
22442         * modules/unictype/block-list: Likewise.
22443         * modules/unictype/block-test: Likewise.
22444         * modules/unictype/category-C: Likewise.
22445         * modules/unictype/category-Cc: Likewise.
22446         * modules/unictype/category-Cf: Likewise.
22447         * modules/unictype/category-Cn: Likewise.
22448         * modules/unictype/category-Co: Likewise.
22449         * modules/unictype/category-Cs: Likewise.
22450         * modules/unictype/category-L: Likewise.
22451         * modules/unictype/category-Ll: Likewise.
22452         * modules/unictype/category-Lm: Likewise.
22453         * modules/unictype/category-Lo: Likewise.
22454         * modules/unictype/category-Lt: Likewise.
22455         * modules/unictype/category-Lu: Likewise.
22456         * modules/unictype/category-M: Likewise.
22457         * modules/unictype/category-Mc: Likewise.
22458         * modules/unictype/category-Me: Likewise.
22459         * modules/unictype/category-Mn: Likewise.
22460         * modules/unictype/category-N: Likewise.
22461         * modules/unictype/category-Nd: Likewise.
22462         * modules/unictype/category-Nl: Likewise.
22463         * modules/unictype/category-No: Likewise.
22464         * modules/unictype/category-P: Likewise.
22465         * modules/unictype/category-Pc: Likewise.
22466         * modules/unictype/category-Pd: Likewise.
22467         * modules/unictype/category-Pe: Likewise.
22468         * modules/unictype/category-Pf: Likewise.
22469         * modules/unictype/category-Pi: Likewise.
22470         * modules/unictype/category-Po: Likewise.
22471         * modules/unictype/category-Ps: Likewise.
22472         * modules/unictype/category-S: Likewise.
22473         * modules/unictype/category-Sc: Likewise.
22474         * modules/unictype/category-Sk: Likewise.
22475         * modules/unictype/category-Sm: Likewise.
22476         * modules/unictype/category-So: Likewise.
22477         * modules/unictype/category-Z: Likewise.
22478         * modules/unictype/category-Zl: Likewise.
22479         * modules/unictype/category-Zp: Likewise.
22480         * modules/unictype/category-Zs: Likewise.
22481         * modules/unictype/category-and: Likewise.
22482         * modules/unictype/category-and-not: Likewise.
22483         * modules/unictype/category-byname: Likewise.
22484         * modules/unictype/category-name: Likewise.
22485         * modules/unictype/category-none: Likewise.
22486         * modules/unictype/category-of: Likewise.
22487         * modules/unictype/category-or: Likewise.
22488         * modules/unictype/category-test: Likewise.
22489         * modules/unictype/combining-class: Likewise.
22490         * modules/unictype/ctype-alnum: Likewise.
22491         * modules/unictype/ctype-alpha: Likewise.
22492         * modules/unictype/ctype-blank: Likewise.
22493         * modules/unictype/ctype-cntrl: Likewise.
22494         * modules/unictype/ctype-digit: Likewise.
22495         * modules/unictype/ctype-graph: Likewise.
22496         * modules/unictype/ctype-lower: Likewise.
22497         * modules/unictype/ctype-print: Likewise.
22498         * modules/unictype/ctype-punct: Likewise.
22499         * modules/unictype/ctype-space: Likewise.
22500         * modules/unictype/ctype-upper: Likewise.
22501         * modules/unictype/ctype-xdigit: Likewise.
22502         * modules/unictype/decimal-digit: Likewise.
22503         * modules/unictype/digit: Likewise.
22504         * modules/unictype/mirror: Likewise.
22505         * modules/unictype/numeric: Likewise.
22506         * modules/unictype/property-alphabetic: Likewise.
22507         * modules/unictype/property-ascii-hex-digit: Likewise.
22508         * modules/unictype/property-bidi-arabic-digit: Likewise.
22509         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22510         * modules/unictype/property-bidi-block-separator: Likewise.
22511         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22512         * modules/unictype/property-bidi-common-separator: Likewise.
22513         * modules/unictype/property-bidi-control: Likewise.
22514         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22515         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22516         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22517         * modules/unictype/property-bidi-european-digit: Likewise.
22518         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22519         * modules/unictype/property-bidi-left-to-right: Likewise.
22520         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22521         * modules/unictype/property-bidi-other-neutral: Likewise.
22522         * modules/unictype/property-bidi-pdf: Likewise.
22523         * modules/unictype/property-bidi-segment-separator: Likewise.
22524         * modules/unictype/property-bidi-whitespace: Likewise.
22525         * modules/unictype/property-byname: Likewise.
22526         * modules/unictype/property-combining: Likewise.
22527         * modules/unictype/property-composite: Likewise.
22528         * modules/unictype/property-currency-symbol: Likewise.
22529         * modules/unictype/property-dash: Likewise.
22530         * modules/unictype/property-decimal-digit: Likewise.
22531         * modules/unictype/property-default-ignorable-code-point: Likewise.
22532         * modules/unictype/property-deprecated: Likewise.
22533         * modules/unictype/property-diacritic: Likewise.
22534         * modules/unictype/property-extender: Likewise.
22535         * modules/unictype/property-format-control: Likewise.
22536         * modules/unictype/property-grapheme-base: Likewise.
22537         * modules/unictype/property-grapheme-extend: Likewise.
22538         * modules/unictype/property-grapheme-link: Likewise.
22539         * modules/unictype/property-hex-digit: Likewise.
22540         * modules/unictype/property-hyphen: Likewise.
22541         * modules/unictype/property-id-continue: Likewise.
22542         * modules/unictype/property-id-start: Likewise.
22543         * modules/unictype/property-ideographic: Likewise.
22544         * modules/unictype/property-ids-binary-operator: Likewise.
22545         * modules/unictype/property-ids-trinary-operator: Likewise.
22546         * modules/unictype/property-ignorable-control: Likewise.
22547         * modules/unictype/property-iso-control: Likewise.
22548         * modules/unictype/property-join-control: Likewise.
22549         * modules/unictype/property-left-of-pair: Likewise.
22550         * modules/unictype/property-line-separator: Likewise.
22551         * modules/unictype/property-logical-order-exception: Likewise.
22552         * modules/unictype/property-lowercase: Likewise.
22553         * modules/unictype/property-math: Likewise.
22554         * modules/unictype/property-non-break: Likewise.
22555         * modules/unictype/property-not-a-character: Likewise.
22556         * modules/unictype/property-numeric: Likewise.
22557         * modules/unictype/property-other-alphabetic: Likewise.
22558         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22559         * modules/unictype/property-other-grapheme-extend: Likewise.
22560         * modules/unictype/property-other-id-continue: Likewise.
22561         * modules/unictype/property-other-id-start: Likewise.
22562         * modules/unictype/property-other-lowercase: Likewise.
22563         * modules/unictype/property-other-math: Likewise.
22564         * modules/unictype/property-other-uppercase: Likewise.
22565         * modules/unictype/property-paired-punctuation: Likewise.
22566         * modules/unictype/property-paragraph-separator: Likewise.
22567         * modules/unictype/property-pattern-syntax: Likewise.
22568         * modules/unictype/property-pattern-white-space: Likewise.
22569         * modules/unictype/property-private-use: Likewise.
22570         * modules/unictype/property-punctuation: Likewise.
22571         * modules/unictype/property-quotation-mark: Likewise.
22572         * modules/unictype/property-radical: Likewise.
22573         * modules/unictype/property-sentence-terminal: Likewise.
22574         * modules/unictype/property-soft-dotted: Likewise.
22575         * modules/unictype/property-space: Likewise.
22576         * modules/unictype/property-terminal-punctuation: Likewise.
22577         * modules/unictype/property-test: Likewise.
22578         * modules/unictype/property-titlecase: Likewise.
22579         * modules/unictype/property-unassigned-code-value: Likewise.
22580         * modules/unictype/property-unified-ideograph: Likewise.
22581         * modules/unictype/property-uppercase: Likewise.
22582         * modules/unictype/property-variation-selector: Likewise.
22583         * modules/unictype/property-white-space: Likewise.
22584         * modules/unictype/property-xid-continue: Likewise.
22585         * modules/unictype/property-xid-start: Likewise.
22586         * modules/unictype/property-zero-width: Likewise.
22587         * modules/unictype/scripts: Likewise.
22588         * modules/unictype/syntax-c-ident: Likewise.
22589         * modules/unictype/syntax-c-whitespace: Likewise.
22590         * modules/unictype/syntax-java-ident: Likewise.
22591         * modules/unictype/syntax-java-whitespace: Likewise.
22592         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22593         * modules/unilbrk/u8-width-linebreaks: Likewise.
22594         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22595         * modules/unilbrk/u16-width-linebreaks: Likewise.
22596         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22597         * modules/unilbrk/u32-width-linebreaks: Likewise.
22598         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22599         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22600         * modules/uniname/uniname: Likewise.
22601         * modules/uninorm/canonical-decomposition: Likewise.
22602         * modules/uninorm/composition: Likewise.
22603         * modules/uninorm/decomposing-form: Likewise.
22604         * modules/uninorm/decomposition: Likewise.
22605         * modules/uninorm/filter: Likewise.
22606         * modules/uninorm/nfc: Likewise.
22607         * modules/uninorm/nfd: Likewise.
22608         * modules/uninorm/nfkc: Likewise.
22609         * modules/uninorm/nfkd: Likewise.
22610         * modules/uninorm/u8-normalize: Likewise.
22611         * modules/uninorm/u8-normcmp: Likewise.
22612         * modules/uninorm/u8-normcoll: Likewise.
22613         * modules/uninorm/u8-normxfrm: Likewise.
22614         * modules/uninorm/u16-normalize: Likewise.
22615         * modules/uninorm/u16-normcmp: Likewise.
22616         * modules/uninorm/u16-normcoll: Likewise.
22617         * modules/uninorm/u16-normxfrm: Likewise.
22618         * modules/uninorm/u32-normalize: Likewise.
22619         * modules/uninorm/u32-normcmp: Likewise.
22620         * modules/uninorm/u32-normcoll: Likewise.
22621         * modules/uninorm/u32-normxfrm: Likewise.
22622         * modules/unistdio/u8-asnprintf: Likewise.
22623         * modules/unistdio/u8-asprintf: Likewise.
22624         * modules/unistdio/u8-snprintf: Likewise.
22625         * modules/unistdio/u8-sprintf: Likewise.
22626         * modules/unistdio/u8-u8-asnprintf: Likewise.
22627         * modules/unistdio/u8-u8-asprintf: Likewise.
22628         * modules/unistdio/u8-u8-snprintf: Likewise.
22629         * modules/unistdio/u8-u8-sprintf: Likewise.
22630         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22631         * modules/unistdio/u8-u8-vasprintf: Likewise.
22632         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22633         * modules/unistdio/u8-u8-vsprintf: Likewise.
22634         * modules/unistdio/u8-vasnprintf: Likewise.
22635         * modules/unistdio/u8-vasprintf: Likewise.
22636         * modules/unistdio/u8-vsnprintf: Likewise.
22637         * modules/unistdio/u8-vsprintf: Likewise.
22638         * modules/unistdio/u16-asnprintf: Likewise.
22639         * modules/unistdio/u16-asprintf: Likewise.
22640         * modules/unistdio/u16-snprintf: Likewise.
22641         * modules/unistdio/u16-sprintf: Likewise.
22642         * modules/unistdio/u16-u16-asnprintf: Likewise.
22643         * modules/unistdio/u16-u16-asprintf: Likewise.
22644         * modules/unistdio/u16-u16-snprintf: Likewise.
22645         * modules/unistdio/u16-u16-sprintf: Likewise.
22646         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22647         * modules/unistdio/u16-u16-vasprintf: Likewise.
22648         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22649         * modules/unistdio/u16-u16-vsprintf: Likewise.
22650         * modules/unistdio/u16-vasnprintf: Likewise.
22651         * modules/unistdio/u16-vasprintf: Likewise.
22652         * modules/unistdio/u16-vsnprintf: Likewise.
22653         * modules/unistdio/u16-vsprintf: Likewise.
22654         * modules/unistdio/u32-asnprintf: Likewise.
22655         * modules/unistdio/u32-asprintf: Likewise.
22656         * modules/unistdio/u32-snprintf: Likewise.
22657         * modules/unistdio/u32-sprintf: Likewise.
22658         * modules/unistdio/u32-u32-asnprintf: Likewise.
22659         * modules/unistdio/u32-u32-asprintf: Likewise.
22660         * modules/unistdio/u32-u32-snprintf: Likewise.
22661         * modules/unistdio/u32-u32-sprintf: Likewise.
22662         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22663         * modules/unistdio/u32-u32-vasprintf: Likewise.
22664         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22665         * modules/unistdio/u32-u32-vsprintf: Likewise.
22666         * modules/unistdio/u32-vasnprintf: Likewise.
22667         * modules/unistdio/u32-vasprintf: Likewise.
22668         * modules/unistdio/u32-vsnprintf: Likewise.
22669         * modules/unistdio/u32-vsprintf: Likewise.
22670         * modules/unistdio/ulc-asnprintf: Likewise.
22671         * modules/unistdio/ulc-asprintf: Likewise.
22672         * modules/unistdio/ulc-fprintf: Likewise.
22673         * modules/unistdio/ulc-snprintf: Likewise.
22674         * modules/unistdio/ulc-sprintf: Likewise.
22675         * modules/unistdio/ulc-vasnprintf: Likewise.
22676         * modules/unistdio/ulc-vasprintf: Likewise.
22677         * modules/unistdio/ulc-vfprintf: Likewise.
22678         * modules/unistdio/ulc-vsnprintf: Likewise.
22679         * modules/unistdio/ulc-vsprintf: Likewise.
22680         * modules/unistr/u8-check: Likewise.
22681         * modules/unistr/u8-chr: Likewise.
22682         * modules/unistr/u8-cmp: Likewise.
22683         * modules/unistr/u8-cmp2: Likewise.
22684         * modules/unistr/u8-cpy: Likewise.
22685         * modules/unistr/u8-cpy-alloc: Likewise.
22686         * modules/unistr/u8-endswith: Likewise.
22687         * modules/unistr/u8-mblen: Likewise.
22688         * modules/unistr/u8-mbsnlen: Likewise.
22689         * modules/unistr/u8-mbtouc: Likewise.
22690         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22691         * modules/unistr/u8-mbtoucr: Likewise.
22692         * modules/unistr/u8-move: Likewise.
22693         * modules/unistr/u8-next: Likewise.
22694         * modules/unistr/u8-prev: Likewise.
22695         * modules/unistr/u8-set: Likewise.
22696         * modules/unistr/u8-startswith: Likewise.
22697         * modules/unistr/u8-stpcpy: Likewise.
22698         * modules/unistr/u8-stpncpy: Likewise.
22699         * modules/unistr/u8-strcat: Likewise.
22700         * modules/unistr/u8-strchr: Likewise.
22701         * modules/unistr/u8-strcmp: Likewise.
22702         * modules/unistr/u8-strcoll: Likewise.
22703         * modules/unistr/u8-strcpy: Likewise.
22704         * modules/unistr/u8-strcspn: Likewise.
22705         * modules/unistr/u8-strdup: Likewise.
22706         * modules/unistr/u8-strlen: Likewise.
22707         * modules/unistr/u8-strmblen: Likewise.
22708         * modules/unistr/u8-strmbtouc: Likewise.
22709         * modules/unistr/u8-strncat: Likewise.
22710         * modules/unistr/u8-strncmp: Likewise.
22711         * modules/unistr/u8-strncpy: Likewise.
22712         * modules/unistr/u8-strnlen: Likewise.
22713         * modules/unistr/u8-strpbrk: Likewise.
22714         * modules/unistr/u8-strrchr: Likewise.
22715         * modules/unistr/u8-strspn: Likewise.
22716         * modules/unistr/u8-strstr: Likewise.
22717         * modules/unistr/u8-strtok: Likewise.
22718         * modules/unistr/u8-to-u16: Likewise.
22719         * modules/unistr/u8-to-u32: Likewise.
22720         * modules/unistr/u8-uctomb: Likewise.
22721         * modules/unistr/u16-check: Likewise.
22722         * modules/unistr/u16-chr: Likewise.
22723         * modules/unistr/u16-cmp: Likewise.
22724         * modules/unistr/u16-cmp2: Likewise.
22725         * modules/unistr/u16-cpy: Likewise.
22726         * modules/unistr/u16-cpy-alloc: Likewise.
22727         * modules/unistr/u16-endswith: Likewise.
22728         * modules/unistr/u16-mblen: Likewise.
22729         * modules/unistr/u16-mbsnlen: Likewise.
22730         * modules/unistr/u16-mbtouc: Likewise.
22731         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22732         * modules/unistr/u16-mbtoucr: Likewise.
22733         * modules/unistr/u16-move: Likewise.
22734         * modules/unistr/u16-next: Likewise.
22735         * modules/unistr/u16-prev: Likewise.
22736         * modules/unistr/u16-set: Likewise.
22737         * modules/unistr/u16-startswith: Likewise.
22738         * modules/unistr/u16-stpcpy: Likewise.
22739         * modules/unistr/u16-stpncpy: Likewise.
22740         * modules/unistr/u16-strcat: Likewise.
22741         * modules/unistr/u16-strchr: Likewise.
22742         * modules/unistr/u16-strcmp: Likewise.
22743         * modules/unistr/u16-strcoll: Likewise.
22744         * modules/unistr/u16-strcpy: Likewise.
22745         * modules/unistr/u16-strcspn: Likewise.
22746         * modules/unistr/u16-strdup: Likewise.
22747         * modules/unistr/u16-strlen: Likewise.
22748         * modules/unistr/u16-strmblen: Likewise.
22749         * modules/unistr/u16-strmbtouc: Likewise.
22750         * modules/unistr/u16-strncat: Likewise.
22751         * modules/unistr/u16-strncmp: Likewise.
22752         * modules/unistr/u16-strncpy: Likewise.
22753         * modules/unistr/u16-strnlen: Likewise.
22754         * modules/unistr/u16-strpbrk: Likewise.
22755         * modules/unistr/u16-strrchr: Likewise.
22756         * modules/unistr/u16-strspn: Likewise.
22757         * modules/unistr/u16-strstr: Likewise.
22758         * modules/unistr/u16-strtok: Likewise.
22759         * modules/unistr/u16-to-u32: Likewise.
22760         * modules/unistr/u16-to-u8: Likewise.
22761         * modules/unistr/u16-uctomb: Likewise.
22762         * modules/unistr/u32-check: Likewise.
22763         * modules/unistr/u32-chr: Likewise.
22764         * modules/unistr/u32-cmp: Likewise.
22765         * modules/unistr/u32-cmp2: Likewise.
22766         * modules/unistr/u32-cpy: Likewise.
22767         * modules/unistr/u32-cpy-alloc: Likewise.
22768         * modules/unistr/u32-endswith: Likewise.
22769         * modules/unistr/u32-mblen: Likewise.
22770         * modules/unistr/u32-mbsnlen: Likewise.
22771         * modules/unistr/u32-mbtouc: Likewise.
22772         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22773         * modules/unistr/u32-mbtoucr: Likewise.
22774         * modules/unistr/u32-move: Likewise.
22775         * modules/unistr/u32-next: Likewise.
22776         * modules/unistr/u32-prev: Likewise.
22777         * modules/unistr/u32-set: Likewise.
22778         * modules/unistr/u32-startswith: Likewise.
22779         * modules/unistr/u32-stpcpy: Likewise.
22780         * modules/unistr/u32-stpncpy: Likewise.
22781         * modules/unistr/u32-strcat: Likewise.
22782         * modules/unistr/u32-strchr: Likewise.
22783         * modules/unistr/u32-strcmp: Likewise.
22784         * modules/unistr/u32-strcoll: Likewise.
22785         * modules/unistr/u32-strcpy: Likewise.
22786         * modules/unistr/u32-strcspn: Likewise.
22787         * modules/unistr/u32-strdup: Likewise.
22788         * modules/unistr/u32-strlen: Likewise.
22789         * modules/unistr/u32-strmblen: Likewise.
22790         * modules/unistr/u32-strmbtouc: Likewise.
22791         * modules/unistr/u32-strncat: Likewise.
22792         * modules/unistr/u32-strncmp: Likewise.
22793         * modules/unistr/u32-strncpy: Likewise.
22794         * modules/unistr/u32-strnlen: Likewise.
22795         * modules/unistr/u32-strpbrk: Likewise.
22796         * modules/unistr/u32-strrchr: Likewise.
22797         * modules/unistr/u32-strspn: Likewise.
22798         * modules/unistr/u32-strstr: Likewise.
22799         * modules/unistr/u32-strtok: Likewise.
22800         * modules/unistr/u32-to-u16: Likewise.
22801         * modules/unistr/u32-to-u8: Likewise.
22802         * modules/unistr/u32-uctomb: Likewise.
22803         * modules/uniwbrk/u8-wordbreaks: Likewise.
22804         * modules/uniwbrk/u16-wordbreaks: Likewise.
22805         * modules/uniwbrk/u32-wordbreaks: Likewise.
22806         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22807         * modules/uniwbrk/wordbreak-property: Likewise.
22808         * modules/uniwidth/u8-strwidth: Likewise.
22809         * modules/uniwidth/u8-width: Likewise.
22810         * modules/uniwidth/u16-strwidth: Likewise.
22811         * modules/uniwidth/u16-width: Likewise.
22812         * modules/uniwidth/u32-strwidth: Likewise.
22813         * modules/uniwidth/u32-width: Likewise.
22814         * modules/uniwidth/width: Likewise.
22815         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22816         with $(LIBUNISTRING).
22817         * modules/unicase/ignorable-tests: Likewise.
22818         * modules/unicase/locale-language-tests: Likewise.
22819         * modules/unicase/tolower-tests: Likewise.
22820         * modules/unicase/totitle-tests: Likewise.
22821         * modules/unicase/toupper-tests: Likewise.
22822         * modules/unicase/u8-casecmp-tests: Likewise.
22823         * modules/unicase/u8-casecoll-tests: Likewise.
22824         * modules/unicase/u8-casefold-tests: Likewise.
22825         * modules/unicase/u8-is-cased-tests: Likewise.
22826         * modules/unicase/u8-is-casefolded-tests: Likewise.
22827         * modules/unicase/u8-is-lowercase-tests: Likewise.
22828         * modules/unicase/u8-is-titlecase-tests: Likewise.
22829         * modules/unicase/u8-is-uppercase-tests: Likewise.
22830         * modules/unicase/u8-tolower-tests: Likewise.
22831         * modules/unicase/u8-totitle-tests: Likewise.
22832         * modules/unicase/u8-toupper-tests: Likewise.
22833         * modules/unicase/u16-casecmp-tests: Likewise.
22834         * modules/unicase/u16-casecoll-tests: Likewise.
22835         * modules/unicase/u16-casefold-tests: Likewise.
22836         * modules/unicase/u16-is-cased-tests: Likewise.
22837         * modules/unicase/u16-is-casefolded-tests: Likewise.
22838         * modules/unicase/u16-is-lowercase-tests: Likewise.
22839         * modules/unicase/u16-is-titlecase-tests: Likewise.
22840         * modules/unicase/u16-is-uppercase-tests: Likewise.
22841         * modules/unicase/u16-tolower-tests: Likewise.
22842         * modules/unicase/u16-totitle-tests: Likewise.
22843         * modules/unicase/u16-toupper-tests: Likewise.
22844         * modules/unicase/u32-casecmp-tests: Likewise.
22845         * modules/unicase/u32-casecoll-tests: Likewise.
22846         * modules/unicase/u32-casefold-tests: Likewise.
22847         * modules/unicase/u32-is-cased-tests: Likewise.
22848         * modules/unicase/u32-is-casefolded-tests: Likewise.
22849         * modules/unicase/u32-is-lowercase-tests: Likewise.
22850         * modules/unicase/u32-is-titlecase-tests: Likewise.
22851         * modules/unicase/u32-is-uppercase-tests: Likewise.
22852         * modules/unicase/u32-tolower-tests: Likewise.
22853         * modules/unicase/u32-totitle-tests: Likewise.
22854         * modules/unicase/u32-toupper-tests: Likewise.
22855         * modules/unicase/ulc-casecmp-tests: Likewise.
22856         * modules/unicase/ulc-casecoll-tests: Likewise.
22857         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22858         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22859         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22860         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22861         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22862         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22863         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22864         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22865         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22866         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22867         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22868         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22869         * modules/unictype/bidicategory-byname-tests: Likewise.
22870         * modules/unictype/bidicategory-name-tests: Likewise.
22871         * modules/unictype/bidicategory-of-tests: Likewise.
22872         * modules/unictype/bidicategory-test-tests: Likewise.
22873         * modules/unictype/block-list-tests: Likewise.
22874         * modules/unictype/block-of-tests: Likewise.
22875         * modules/unictype/block-test-tests: Likewise.
22876         * modules/unictype/category-C-tests: Likewise.
22877         * modules/unictype/category-Cc-tests: Likewise.
22878         * modules/unictype/category-Cf-tests: Likewise.
22879         * modules/unictype/category-Cn-tests: Likewise.
22880         * modules/unictype/category-Co-tests: Likewise.
22881         * modules/unictype/category-Cs-tests: Likewise.
22882         * modules/unictype/category-L-tests: Likewise.
22883         * modules/unictype/category-Ll-tests: Likewise.
22884         * modules/unictype/category-Lm-tests: Likewise.
22885         * modules/unictype/category-Lo-tests: Likewise.
22886         * modules/unictype/category-Lt-tests: Likewise.
22887         * modules/unictype/category-Lu-tests: Likewise.
22888         * modules/unictype/category-M-tests: Likewise.
22889         * modules/unictype/category-Mc-tests: Likewise.
22890         * modules/unictype/category-Me-tests: Likewise.
22891         * modules/unictype/category-Mn-tests: Likewise.
22892         * modules/unictype/category-N-tests: Likewise.
22893         * modules/unictype/category-Nd-tests: Likewise.
22894         * modules/unictype/category-Nl-tests: Likewise.
22895         * modules/unictype/category-No-tests: Likewise.
22896         * modules/unictype/category-P-tests: Likewise.
22897         * modules/unictype/category-Pc-tests: Likewise.
22898         * modules/unictype/category-Pd-tests: Likewise.
22899         * modules/unictype/category-Pe-tests: Likewise.
22900         * modules/unictype/category-Pf-tests: Likewise.
22901         * modules/unictype/category-Pi-tests: Likewise.
22902         * modules/unictype/category-Po-tests: Likewise.
22903         * modules/unictype/category-Ps-tests: Likewise.
22904         * modules/unictype/category-S-tests: Likewise.
22905         * modules/unictype/category-Sc-tests: Likewise.
22906         * modules/unictype/category-Sk-tests: Likewise.
22907         * modules/unictype/category-Sm-tests: Likewise.
22908         * modules/unictype/category-So-tests: Likewise.
22909         * modules/unictype/category-Z-tests: Likewise.
22910         * modules/unictype/category-Zl-tests: Likewise.
22911         * modules/unictype/category-Zp-tests: Likewise.
22912         * modules/unictype/category-Zs-tests: Likewise.
22913         * modules/unictype/category-and-not-tests: Likewise.
22914         * modules/unictype/category-and-tests: Likewise.
22915         * modules/unictype/category-byname-tests: Likewise.
22916         * modules/unictype/category-name-tests: Likewise.
22917         * modules/unictype/category-none-tests: Likewise.
22918         * modules/unictype/category-of-tests: Likewise.
22919         * modules/unictype/category-or-tests: Likewise.
22920         * modules/unictype/category-test-withtable-tests: Likewise.
22921         * modules/unictype/combining-class-tests: Likewise.
22922         * modules/unictype/ctype-alnum-tests: Likewise.
22923         * modules/unictype/ctype-alpha-tests: Likewise.
22924         * modules/unictype/ctype-blank-tests: Likewise.
22925         * modules/unictype/ctype-cntrl-tests: Likewise.
22926         * modules/unictype/ctype-digit-tests: Likewise.
22927         * modules/unictype/ctype-graph-tests: Likewise.
22928         * modules/unictype/ctype-lower-tests: Likewise.
22929         * modules/unictype/ctype-print-tests: Likewise.
22930         * modules/unictype/ctype-punct-tests: Likewise.
22931         * modules/unictype/ctype-space-tests: Likewise.
22932         * modules/unictype/ctype-upper-tests: Likewise.
22933         * modules/unictype/ctype-xdigit-tests: Likewise.
22934         * modules/unictype/decimal-digit-tests: Likewise.
22935         * modules/unictype/digit-tests: Likewise.
22936         * modules/unictype/mirror-tests: Likewise.
22937         * modules/unictype/numeric-tests: Likewise.
22938         * modules/unictype/property-alphabetic-tests: Likewise.
22939         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22940         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22941         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22942         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22943         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22944         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22945         * modules/unictype/property-bidi-control-tests: Likewise.
22946         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22947         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22948         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22949         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22950         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22951         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22952         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22953         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22954         * modules/unictype/property-bidi-pdf-tests: Likewise.
22955         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22956         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22957         * modules/unictype/property-byname-tests: Likewise.
22958         * modules/unictype/property-combining-tests: Likewise.
22959         * modules/unictype/property-composite-tests: Likewise.
22960         * modules/unictype/property-currency-symbol-tests: Likewise.
22961         * modules/unictype/property-dash-tests: Likewise.
22962         * modules/unictype/property-decimal-digit-tests: Likewise.
22963         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22964         * modules/unictype/property-deprecated-tests: Likewise.
22965         * modules/unictype/property-diacritic-tests: Likewise.
22966         * modules/unictype/property-extender-tests: Likewise.
22967         * modules/unictype/property-format-control-tests: Likewise.
22968         * modules/unictype/property-grapheme-base-tests: Likewise.
22969         * modules/unictype/property-grapheme-extend-tests: Likewise.
22970         * modules/unictype/property-grapheme-link-tests: Likewise.
22971         * modules/unictype/property-hex-digit-tests: Likewise.
22972         * modules/unictype/property-hyphen-tests: Likewise.
22973         * modules/unictype/property-id-continue-tests: Likewise.
22974         * modules/unictype/property-id-start-tests: Likewise.
22975         * modules/unictype/property-ideographic-tests: Likewise.
22976         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22977         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22978         * modules/unictype/property-ignorable-control-tests: Likewise.
22979         * modules/unictype/property-iso-control-tests: Likewise.
22980         * modules/unictype/property-join-control-tests: Likewise.
22981         * modules/unictype/property-left-of-pair-tests: Likewise.
22982         * modules/unictype/property-line-separator-tests: Likewise.
22983         * modules/unictype/property-logical-order-exception-tests: Likewise.
22984         * modules/unictype/property-lowercase-tests: Likewise.
22985         * modules/unictype/property-math-tests: Likewise.
22986         * modules/unictype/property-non-break-tests: Likewise.
22987         * modules/unictype/property-not-a-character-tests: Likewise.
22988         * modules/unictype/property-numeric-tests: Likewise.
22989         * modules/unictype/property-other-alphabetic-tests: Likewise.
22990         * modules/unictype/property-other-default-ignorable-code-point-tests:
22991         Likewise.
22992         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22993         * modules/unictype/property-other-id-continue-tests: Likewise.
22994         * modules/unictype/property-other-id-start-tests: Likewise.
22995         * modules/unictype/property-other-lowercase-tests: Likewise.
22996         * modules/unictype/property-other-math-tests: Likewise.
22997         * modules/unictype/property-other-uppercase-tests: Likewise.
22998         * modules/unictype/property-paired-punctuation-tests: Likewise.
22999         * modules/unictype/property-paragraph-separator-tests: Likewise.
23000         * modules/unictype/property-pattern-syntax-tests: Likewise.
23001         * modules/unictype/property-pattern-white-space-tests: Likewise.
23002         * modules/unictype/property-private-use-tests: Likewise.
23003         * modules/unictype/property-punctuation-tests: Likewise.
23004         * modules/unictype/property-quotation-mark-tests: Likewise.
23005         * modules/unictype/property-radical-tests: Likewise.
23006         * modules/unictype/property-sentence-terminal-tests: Likewise.
23007         * modules/unictype/property-soft-dotted-tests: Likewise.
23008         * modules/unictype/property-space-tests: Likewise.
23009         * modules/unictype/property-terminal-punctuation-tests: Likewise.
23010         * modules/unictype/property-test-tests: Likewise.
23011         * modules/unictype/property-titlecase-tests: Likewise.
23012         * modules/unictype/property-unassigned-code-value-tests: Likewise.
23013         * modules/unictype/property-unified-ideograph-tests: Likewise.
23014         * modules/unictype/property-uppercase-tests: Likewise.
23015         * modules/unictype/property-variation-selector-tests: Likewise.
23016         * modules/unictype/property-white-space-tests: Likewise.
23017         * modules/unictype/property-xid-continue-tests: Likewise.
23018         * modules/unictype/property-xid-start-tests: Likewise.
23019         * modules/unictype/property-zero-width-tests: Likewise.
23020         * modules/unictype/scripts-tests: Likewise.
23021         * modules/unictype/syntax-c-ident-tests: Likewise.
23022         * modules/unictype/syntax-c-whitespace-tests: Likewise.
23023         * modules/unictype/syntax-java-ident-tests: Likewise.
23024         * modules/unictype/syntax-java-whitespace-tests: Likewise.
23025         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
23026         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
23027         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
23028         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
23029         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
23030         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
23031         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
23032         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
23033         * modules/uniname/uniname-tests: Likewise.
23034         * modules/uninorm/canonical-decomposition-tests: Likewise.
23035         * modules/uninorm/compat-decomposition-tests: Likewise.
23036         * modules/uninorm/composition-tests: Likewise.
23037         * modules/uninorm/decomposing-form-tests: Likewise.
23038         * modules/uninorm/decomposition-tests: Likewise.
23039         * modules/uninorm/filter-tests: Likewise.
23040         * modules/uninorm/nfc-tests: Likewise.
23041         * modules/uninorm/nfd-tests: Likewise.
23042         * modules/uninorm/nfkc-tests: Likewise.
23043         * modules/uninorm/nfkd-tests: Likewise.
23044         * modules/uninorm/u8-normcmp-tests: Likewise.
23045         * modules/uninorm/u8-normcoll-tests: Likewise.
23046         * modules/uninorm/u16-normcmp-tests: Likewise.
23047         * modules/uninorm/u16-normcoll-tests: Likewise.
23048         * modules/uninorm/u32-normcmp-tests: Likewise.
23049         * modules/uninorm/u32-normcoll-tests: Likewise.
23050         * modules/unistdio/u8-asnprintf-tests: Likewise.
23051         * modules/unistdio/u8-vasnprintf-tests: Likewise.
23052         * modules/unistdio/u8-vasprintf-tests: Likewise.
23053         * modules/unistdio/u8-vsnprintf-tests: Likewise.
23054         * modules/unistdio/u8-vsprintf-tests: Likewise.
23055         * modules/unistdio/u16-asnprintf-tests: Likewise.
23056         * modules/unistdio/u16-vasnprintf-tests: Likewise.
23057         * modules/unistdio/u16-vasprintf-tests: Likewise.
23058         * modules/unistdio/u16-vsnprintf-tests: Likewise.
23059         * modules/unistdio/u16-vsprintf-tests: Likewise.
23060         * modules/unistdio/u32-asnprintf-tests: Likewise.
23061         * modules/unistdio/u32-vasnprintf-tests: Likewise.
23062         * modules/unistdio/u32-vasprintf-tests: Likewise.
23063         * modules/unistdio/u32-vsnprintf-tests: Likewise.
23064         * modules/unistdio/u32-vsprintf-tests: Likewise.
23065         * modules/unistdio/ulc-asnprintf-tests: Likewise.
23066         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
23067         * modules/unistdio/ulc-vasprintf-tests: Likewise.
23068         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
23069         * modules/unistdio/ulc-vsprintf-tests: Likewise.
23070         * modules/unistr/u8-check-tests: Likewise.
23071         * modules/unistr/u8-chr-tests: Likewise.
23072         * modules/unistr/u8-cmp-tests: Likewise.
23073         * modules/unistr/u8-cmp2-tests: Likewise.
23074         * modules/unistr/u8-cpy-alloc-tests: Likewise.
23075         * modules/unistr/u8-cpy-tests: Likewise.
23076         * modules/unistr/u8-mblen-tests: Likewise.
23077         * modules/unistr/u8-mbsnlen-tests: Likewise.
23078         * modules/unistr/u8-mbtouc-tests: Likewise.
23079         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
23080         * modules/unistr/u8-mbtoucr-tests: Likewise.
23081         * modules/unistr/u8-move-tests: Likewise.
23082         * modules/unistr/u8-next-tests: Likewise.
23083         * modules/unistr/u8-prev-tests: Likewise.
23084         * modules/unistr/u8-set-tests: Likewise.
23085         * modules/unistr/u8-stpcpy-tests: Likewise.
23086         * modules/unistr/u8-stpncpy-tests: Likewise.
23087         * modules/unistr/u8-strcat-tests: Likewise.
23088         * modules/unistr/u8-strcmp-tests: Likewise.
23089         * modules/unistr/u8-strcoll-tests: Likewise.
23090         * modules/unistr/u8-strcpy-tests: Likewise.
23091         * modules/unistr/u8-strdup-tests: Likewise.
23092         * modules/unistr/u8-strlen-tests: Likewise.
23093         * modules/unistr/u8-strmblen-tests: Likewise.
23094         * modules/unistr/u8-strmbtouc-tests: Likewise.
23095         * modules/unistr/u8-strncat-tests: Likewise.
23096         * modules/unistr/u8-strncmp-tests: Likewise.
23097         * modules/unistr/u8-strncpy-tests: Likewise.
23098         * modules/unistr/u8-strnlen-tests: Likewise.
23099         * modules/unistr/u8-to-u16-tests: Likewise.
23100         * modules/unistr/u8-to-u32-tests: Likewise.
23101         * modules/unistr/u8-uctomb-tests: Likewise.
23102         * modules/unistr/u16-check-tests: Likewise.
23103         * modules/unistr/u16-chr-tests: Likewise.
23104         * modules/unistr/u16-cmp-tests: Likewise.
23105         * modules/unistr/u16-cmp2-tests: Likewise.
23106         * modules/unistr/u16-cpy-alloc-tests: Likewise.
23107         * modules/unistr/u16-cpy-tests: Likewise.
23108         * modules/unistr/u16-mblen-tests: Likewise.
23109         * modules/unistr/u16-mbsnlen-tests: Likewise.
23110         * modules/unistr/u16-mbtouc-tests: Likewise.
23111         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
23112         * modules/unistr/u16-mbtoucr-tests: Likewise.
23113         * modules/unistr/u16-move-tests: Likewise.
23114         * modules/unistr/u16-next-tests: Likewise.
23115         * modules/unistr/u16-prev-tests: Likewise.
23116         * modules/unistr/u16-set-tests: Likewise.
23117         * modules/unistr/u16-stpcpy-tests: Likewise.
23118         * modules/unistr/u16-stpncpy-tests: Likewise.
23119         * modules/unistr/u16-strcat-tests: Likewise.
23120         * modules/unistr/u16-strcmp-tests: Likewise.
23121         * modules/unistr/u16-strcoll-tests: Likewise.
23122         * modules/unistr/u16-strcpy-tests: Likewise.
23123         * modules/unistr/u16-strdup-tests: Likewise.
23124         * modules/unistr/u16-strlen-tests: Likewise.
23125         * modules/unistr/u16-strmblen-tests: Likewise.
23126         * modules/unistr/u16-strmbtouc-tests: Likewise.
23127         * modules/unistr/u16-strncat-tests: Likewise.
23128         * modules/unistr/u16-strncmp-tests: Likewise.
23129         * modules/unistr/u16-strncpy-tests: Likewise.
23130         * modules/unistr/u16-strnlen-tests: Likewise.
23131         * modules/unistr/u16-to-u32-tests: Likewise.
23132         * modules/unistr/u16-to-u8-tests: Likewise.
23133         * modules/unistr/u16-uctomb-tests: Likewise.
23134         * modules/unistr/u32-check-tests: Likewise.
23135         * modules/unistr/u32-chr-tests: Likewise.
23136         * modules/unistr/u32-cmp-tests: Likewise.
23137         * modules/unistr/u32-cmp2-tests: Likewise.
23138         * modules/unistr/u32-cpy-alloc-tests: Likewise.
23139         * modules/unistr/u32-cpy-tests: Likewise.
23140         * modules/unistr/u32-mblen-tests: Likewise.
23141         * modules/unistr/u32-mbsnlen-tests: Likewise.
23142         * modules/unistr/u32-mbtouc-tests: Likewise.
23143         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
23144         * modules/unistr/u32-mbtoucr-tests: Likewise.
23145         * modules/unistr/u32-move-tests: Likewise.
23146         * modules/unistr/u32-next-tests: Likewise.
23147         * modules/unistr/u32-prev-tests: Likewise.
23148         * modules/unistr/u32-set-tests: Likewise.
23149         * modules/unistr/u32-stpcpy-tests: Likewise.
23150         * modules/unistr/u32-stpncpy-tests: Likewise.
23151         * modules/unistr/u32-strcat-tests: Likewise.
23152         * modules/unistr/u32-strcmp-tests: Likewise.
23153         * modules/unistr/u32-strcoll-tests: Likewise.
23154         * modules/unistr/u32-strcpy-tests: Likewise.
23155         * modules/unistr/u32-strdup-tests: Likewise.
23156         * modules/unistr/u32-strlen-tests: Likewise.
23157         * modules/unistr/u32-strmblen-tests: Likewise.
23158         * modules/unistr/u32-strmbtouc-tests: Likewise.
23159         * modules/unistr/u32-strncat-tests: Likewise.
23160         * modules/unistr/u32-strncmp-tests: Likewise.
23161         * modules/unistr/u32-strncpy-tests: Likewise.
23162         * modules/unistr/u32-strnlen-tests: Likewise.
23163         * modules/unistr/u32-to-u16-tests: Likewise.
23164         * modules/unistr/u32-to-u8-tests: Likewise.
23165         * modules/unistr/u32-uctomb-tests: Likewise.
23166         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
23167         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
23168         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
23169         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
23170         * modules/uniwidth/u8-strwidth-tests: Likewise.
23171         * modules/uniwidth/u8-width-tests: Likewise.
23172         * modules/uniwidth/u16-strwidth-tests: Likewise.
23173         * modules/uniwidth/u16-width-tests: Likewise.
23174         * modules/uniwidth/u32-strwidth-tests: Likewise.
23175         * modules/uniwidth/u32-width-tests: Likewise.
23176         * modules/uniwidth/width-tests: Likewise.
23177
23178 2010-05-18  Richard Jones  <rjones@redhat.com>
23179
23180         doc: users.txt: list hivex
23181         * users.txt: Add hivex.
23182
23183 2010-05-18  Richard Jones  <rjones@redhat.com>
23184
23185         doc: users.txt: list febootstrap
23186         * users.txt: Add febootstrap.
23187
23188 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
23189
23190         bootstrap: fix an error when gnulib is not used as a git submodule
23191         * build-aux/bootstrap (gnulib_path): If its length is zero then
23192         assign "gnulib" to it.
23193         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
23194
23195 2010-05-16  Bruno Haible  <bruno@clisp.org>
23196
23197         Avoid autoconf warnings about AM_ICONV.
23198         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
23199         2.64.
23200
23201 2010-05-16  Bruno Haible  <bruno@clisp.org>
23202
23203         absolute-header: Make the macro usable in more situations.
23204         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
23205         from gl_ABSOLUTE_HEADER.
23206         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
23207
23208 2010-05-16  James Youngman  <jay@gnu.org>
23209
23210         doc: update users.txt
23211         * users.txt: Add CSSC.
23212
23213 2010-05-16  Jim Meyering  <meyering@redhat.com>
23214
23215         init.sh: fix an error in the previous change; add more comments
23216         * tests/init.sh: Compare exit code in loop against 9, not 2.
23217         Patch by Bruno Haible.
23218         Make the two tests more similar by adding an empty "then" clause.
23219         Add comments.
23220
23221         init.sh: avoid unnecessary shell re-exec
23222         * tests/init.sh: Improve the re-exec-required check to first test the
23223         current shell.  If it passes the test, do not search for a shell that
23224         does pass, and do not re-exec.  This test is particularly contorted to
23225         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
23226         of $(...) evokes a syntax error and causes immediate shell exit with
23227         status 2.  Bruno Haible reported that the re-exec made it impossible
23228         to single-step through any init.sh-using script.
23229
23230 2010-05-16  Bruno Haible  <bruno@clisp.org>
23231
23232         Fix collision between gnulib's and libintl's printf replacements.
23233         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
23234         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
23235         (printf): When using GNU C, map the __printf__ function to rpl_printf
23236         via __asm__. When not using GNU C, define rpl_printf instead of
23237         __printf__.
23238         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
23239         commit.
23240         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
23241         commit.
23242         * m4/asm-underscore.m4: New file.
23243         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
23244         * modules/stdio (Files): Add m4/asm-underscore.m4.
23245         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
23246         Reported by Ben Pfaff.
23247
23248 2010-05-16  Bruno Haible  <bruno@clisp.org>
23249
23250         verify: Avoid skipping the test on openSUSE 11.0.
23251         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
23252
23253 2010-05-13  Bruno Haible  <bruno@clisp.org>
23254
23255         Avoid useless warnings from G++.
23256         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
23257         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
23258         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23259
23260 2010-05-11  Jim Meyering  <meyering@redhat.com>
23261
23262         maint.mk: tweak preceding change
23263         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
23264         regexps tighter by anchoring at EOL, and make the new group "shy"
23265         for slightly decreased overhead.
23266
23267 2010-05-11  Eric Blake  <eblake@redhat.com>
23268
23269         maint.mk: gnulib doesn't guarantee NSIG
23270         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
23271
23272 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23273
23274         test-pwrite.c: Remove unused variable declaration.
23275         * tests/test-pwrite.c (main): Remove read_buf declaration.
23276
23277         Remove useless test-pwrite.sh file.
23278         * tests/test-pwrite.sh: Delete file.
23279         * modules/pwrite-tests: Remove references.
23280         Reported by Bruno Haible.
23281
23282 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23283
23284         init.sh: fix a typo
23285         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
23286
23287 2010-05-10  Jim Meyering  <meyering@redhat.com>
23288
23289         maint.mk: avoid using a temporary file in the always-defined-macros check
23290         * top/maint.mk (.re-defmac): Remove rule.
23291         (gl_trap_): Remove definition.
23292         (sc_prohibit_always-defined_macros): Rewrite not to create and
23293         depend on a temporary file.  Instead, depend on GNU grep's ability
23294         to read a list of regular expressions from stdin when given "-f -".
23295
23296 2010-05-09  Bruno Haible  <bruno@clisp.org>
23297
23298         Update to GNU gettext 0.18, part 1.
23299         * m4/gettext.m4: Update to GNU gettext 0.18.
23300         * m4/intl.m4: Likewise.
23301         * m4/po.m4: Likewise.
23302         * modules/gettext (Files): Add m4/fcntl-o.m4.
23303         (configure.ac): Require gettext infrastructure from version 0.18.
23304
23305 2010-05-09  Jim Meyering  <meyering@redhat.com>
23306
23307         init.sh: enable MALLOC_PERTURB_
23308         * tests/init.sh: Enable glibc's malloc-perturbing option.
23309
23310         maint.mk: improve sc_cross_check_PATH_usage_in_tests
23311         With my recent change in init.sh from the two-line form:
23312             -#   : ${srcdir=.}
23313             -#   . "$srcdir/init.sh"; path_prepend_ .
23314             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
23315         I noticed that using the one-line form would cause this test
23316         to fail with a false-positive, or to stop working altogether,
23317         depending on whether help-version changed or all the tests did.
23318         * top/maint.mk (_hv_regex): Remove this definition.
23319         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
23320         (_hv_regex_strong): Use a stronger regex to check for conformance.
23321         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
23322         Give a separate diagnostic for lack of conforming use.
23323
23324         maint.mk: prohibit definition of symbols defined by gnulib
23325         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
23326         definition of symbols defined by gnulib.
23327
23328 2010-05-09  Bruno Haible  <bruno@clisp.org>
23329
23330         acl: Avoid test failure on Cygwin-hosted mingw.
23331         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
23332
23333 2010-05-09  Bruno Haible  <bruno@clisp.org>
23334
23335         error: Use system's fcntl function.
23336         * lib/error.c (fcntl): Undefine.
23337
23338 2010-05-09  Jim Meyering  <meyering@redhat.com>
23339
23340         verify: adjust formatting to be more consistent
23341         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
23342         argument-list '('s, and after one comma.
23343
23344 2010-05-09  Bruno Haible  <bruno@clisp.org>
23345
23346         error: More reliable output on mingw.
23347         * lib/error.c: Include <windows.h>.
23348         (is_open): New function.
23349         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
23350         defined.
23351
23352 2010-05-09  Bruno Haible  <bruno@clisp.org>
23353
23354         vasnprintf: Fix syntax errors in libintl build on mingw.
23355         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
23356         pad_ourselves and prec_ourselves after use.
23357
23358 2010-05-08  Bruno Haible  <bruno@clisp.org>
23359
23360         * lib/config.charset: Update comments for Cygwin 1.7.
23361         * lib/localcharset.c: Likewise.
23362
23363 2010-05-07  Jim Meyering  <meyering@redhat.com>
23364
23365         init.sh: improve comments
23366         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
23367         . "${srcdir=.}/init.sh"; path_prepend_ .
23368         Add a note about path_prepend_ and the alternative of using
23369         TESTS_ENVIRONMENT.
23370
23371 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23372
23373         exclude: Unescape hashed patterns in wildcard mode.
23374         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
23375         to the hash list.
23376         * tests/test-exclude8.sh: New test case.
23377         * modules/exclude-tests: Add new test.
23378
23379 2010-05-05  Eric Blake  <eblake@redhat.com>
23380
23381         verify: automate tests
23382         * modules/verify-tests: New module.
23383         * tests/test-verify.sh: New file.
23384         * tests/test-verify.c: Guard each negative test with a unique id.
23385         Also avoid warning about unused left hand of comma expressions.
23386
23387 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
23388
23389         Further improvements to verify.h, suggested by Eric Blake.
23390         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
23391         the GL_* versions, to avoid collision with OpenGL.
23392         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
23393         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
23394         than testing merely whether it's defined.
23395
23396         Modify verify.h to pacify gcc -Wredundant_decls.
23397         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
23398         These use the prefix "GL_" since they're likely to be useful elsewhere.
23399         We may need to break them out into a different .h file.
23400         (__COUNTER__): Define to 0 if the compiler doesn't support it.
23401         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
23402         of verify_function__.
23403
23404 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23405
23406         Tests for module pwrite.
23407         * modules/pwrite-tests: New file.
23408         * tests/test-pwrite.sh: New file.
23409         * tests/test-pwrite.c: New file.
23410
23411         New module pwrite.
23412         * lib/unistd.in.h (pwrite): New declaration.
23413         * lib/pwrite.c: New file, from glibc with modifications.
23414         * m4/pwrite.m4: New file.
23415         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23416         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23417         REPLACE_PWRITE.
23418         * modules/pwrite: New file.
23419         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23420         REPLACE_PWRITE.
23421         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23422         * doc/posix-functions/pwrite.texi: Mention the new module.
23423
23424 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23425
23426         pread: Update documentation.
23427         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23428
23429 2010-05-04  Eric Blake  <eblake@redhat.com>
23430
23431         docs: update cygwin progress
23432         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23433         this bug.
23434         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23435         Added in cygwin 1.7.2.
23436         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23437         Likewise.
23438         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23439         Likewise.
23440         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23441         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23442         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23443         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23444         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23445         Mention nproc module.
23446         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23447         bug in cygwin 1.7.5 addition.
23448         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23449         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23450         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23451         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23452         1.7.5.
23453         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23454         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23455         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23456         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23457         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23458         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23459         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23460         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23461         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23462         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23463         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23464         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23465         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23466         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23467         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23468         Likewise.
23469         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23470         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23471         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23472         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23473         Likewise.
23474         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23475         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23476         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23477         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23478         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23479         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23480         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23481         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23482         Likewise.
23483         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23484         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23485         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23486         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23487         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23488         Likewise.
23489         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23490         Likewise.
23491         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23492         Likewise.
23493         * doc/glibc-functions/xdrrec_endofrecord.texi
23494         (xdrrec_endofrecord): Likewise.
23495         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23496         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23497         Likewise.
23498         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23499         Likewise.
23500
23501 2010-05-04  Jim Meyering  <meyering@redhat.com>
23502
23503         gendocs.sh: make its "-s FILE" option more useful
23504         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23505         $PACKAGE to reflect the probably-different basename of "FILE".
23506
23507 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23508
23509         bootstrap: don't ignore download_po_files failure
23510         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23511         failure.
23512
23513 2010-05-03  Jim Meyering  <meyering@redhat.com>
23514
23515         maint.mk: allow to pass options to gendocs.sh
23516         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23517         (gendocs_options_): New overridable variable.
23518
23519         gnu-web-doc-update: don't ignore configure or build failure
23520         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23521
23522         announce-gen: backslash-escape '@'s in --help output
23523         * build-aux/announce-gen: Fix syntax errors.
23524
23525         maint.mk, announce-gen: allow project-specific announcement mail headers
23526         * top/maint.mk (translation_project_): Define default.
23527         (announcement_Cc_, announcement_mail_headers_): Likewise.
23528         (announcement): Invoke announce-gen with new --mail-headers option.
23529         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23530
23531         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23532         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23533         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23534         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23535         line in the "err2" output file when running "make check" in verbose
23536         mode (i.e., with set -x enabled).
23537
23538 2010-05-03  Bruno Haible  <bruno@clisp.org>
23539
23540         wctob: Fix for weird platforms.
23541         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23542         argument value.
23543
23544 2010-05-03  Jim Meyering  <meyering@redhat.com>
23545
23546         maint.mk: prohibit unwarranted use of <strings.h>
23547         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23548         strings.h in a file that does not also use strcasecmp, strncasecmp,
23549         ffs or ffsll.
23550
23551         maint.mk: remove obsolete comments
23552         * top/maint.mk: Remove stale, commented-out rules.
23553
23554 2010-05-02  Bruno Haible  <bruno@clisp.org>
23555
23556         wcwidth: Declare also when it's aliased.
23557         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23558         macro.
23559
23560 2010-05-02  Bruno Haible  <bruno@clisp.org>
23561
23562         Fix regression from 2010-04-25.
23563         * gnulib-tool (func_modules_transitive_closure): Check the status of
23564         all modules, not only of the tests that are of the form foo-tests where
23565         foo is a module.
23566
23567 2010-05-02  Bruno Haible  <bruno@clisp.org>
23568
23569         wctob: Work around nasty Cygwin 1.7.2 bug.
23570         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23571         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23572
23573 2010-05-01  Bruno Haible  <bruno@clisp.org>
23574
23575         fpurge: Sharper test.
23576         * tests/test-fpurge.c (main): Add one more ftell check.
23577         * modules/fpurge-tests (Depends-on): Add ftell.
23578         Suggested by Eric Blake.
23579
23580 2010-05-01  Bruno Haible  <bruno@clisp.org>
23581
23582         ftello: Another test.
23583         * tests/test-ftello3.c: New file.
23584         * modules/ftello-tests (Files): Add it.
23585         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23586         MOSTLYCLEANFILES.
23587
23588         ftell: Another test.
23589         * tests/test-ftell3.c: New file.
23590         * modules/ftell-tests (Files): Add it.
23591         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23592         MOSTLYCLEANFILES.
23593
23594 2010-05-01  Bruno Haible  <bruno@clisp.org>
23595
23596         ftell, ftello: Work around Solaris bug.
23597         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23598         * lib/ftello.c: Include stdio-impl.h.
23599         (ftello): On Solaris, when _IOWRT is set, compute the result without
23600         looking at _IOREAD.
23601         * modules/ftello (Files): Add lib/stdio-impl.h.
23602         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23603         * doc/posix-functions/ftello.texi: Likewise.
23604         Reported by Eric Blake.
23605
23606 2010-05-01  Bruno Haible  <bruno@clisp.org>
23607
23608         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23609         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23610         the _IOWRT flag is also set.
23611
23612 2010-05-01  Bruno Haible  <bruno@clisp.org>
23613
23614         Fix doc about a HP-UX stdio bug.
23615         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23616         * doc/posix-functions/ftello.texi: Likewise.
23617
23618 2010-05-01  Bruno Haible  <bruno@clisp.org>
23619
23620         lseek test: Fix failure on Solaris.
23621         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23622         output.
23623
23624 2010-04-30  Jim Meyering  <meyering@redhat.com>
23625
23626         bootstrap: don't ignore failure to generate po*/Makevars
23627         * build-aux/bootstrap (with_gettext): Don't ignore failure
23628         to create po/Makevars or runtime-po/Makevars.
23629
23630 2010-04-29  Eric Blake  <eblake@redhat.com>
23631
23632         headers: relax license to LGPLv2+
23633         * modules/fcntl-h (License): Relax license.
23634         * modules/getopt-posix (License): Likewise.
23635         * modules/locale (License): Likewise.
23636         * modules/math (License): Likewise.
23637         * modules/pty (License): Likewise.
23638         * modules/sched (License): Likewise.
23639         * modules/search (License): Likewise.
23640         * modules/spawn (License): Likewise.
23641         * modules/stdarg (License): Likewise.
23642         * modules/sysexits (License): Likewise.
23643
23644 2010-04-29  Jim Meyering  <meyering@redhat.com>
23645
23646         inttypes: relax license to LGPLv2+
23647         * modules/inttypes (License): Relax license.
23648
23649 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23650
23651         * top/maint.mk (indent): Run twice to produce idempotent results.
23652
23653 2010-04-28  Bruno Haible  <bruno@clisp.org>
23654
23655         getdate: Generate getdate.c in the source directory.
23656         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23657         MOSTLYCLEANFILES.
23658         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23659
23660 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23661
23662         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23663         is not declared as a const *; avoid warnings in that case.
23664
23665 2010-04-28  Eric Blake  <eblake@redhat.com>
23666
23667         canonicalize-lgpl: avoid compiler warning
23668         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23669         declaration' / 'extraneous semicolon' warning with some compilers.
23670         Reported by Andreas Gruenbacher.
23671
23672 2010-04-28  Jim Meyering  <meyering@redhat.com>
23673
23674         init.sh: ensure a more reliable exit status when exiting via trap
23675         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23676         Inspired by patches from Dmitry V. Levin.
23677         Also trap on signal 3 (SIGQUIT).
23678
23679 2010-04-27  Bruno Haible  <bruno@clisp.org>
23680
23681         Update doc about utimes().
23682         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23683         'utimens' module.
23684         Reported by Andreas Gruenbacher <agruen@suse.de>.
23685
23686 2010-04-27  Eric Blake  <eblake@redhat.com>
23687
23688         full-read, full-write: relax license
23689         * modules/full-read (License): Drop to LGPLv2+.
23690         * modules/full-write (License): Likewise.
23691         * modules/safe-read (License): Likewise.
23692         * modules/safe-write (License): Likewise.
23693
23694         pthread: mention library for linking
23695         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23696
23697 2010-04-27  Jim Meyering  <meyering@redhat.com>
23698
23699         maint.mk: fix a bug introduced in last change
23700         * top/maint.mk (gl_assured_headers_): Now that all names are on
23701         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23702         is not anchored to end of word, it should be adequate.
23703
23704         maint.mk: avoid side-effect in latest syntax-check
23705         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23706         to run commands via $(shell...), and hence to incur cost only when
23707         the new rule is actually run.
23708
23709         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23710         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23711         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23712         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23713         (gl_assured_headers_, az_, AZ_): Define.
23714         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23715
23716 2010-04-26  Jim Meyering  <jim@meyering.net>
23717             Bruno Haible  <bruno@clisp.org>
23718
23719         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23720         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23721         Prompted by an exchange with Gilles Espinasse.
23722
23723 2010-04-26  Jim Meyering  <meyering@redhat.com>
23724
23725         git-version-gen: aesthetic tweak
23726         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23727         so that the command remains on a single line.
23728
23729 2010-04-26  Eric Blake  <eblake@redhat.com>
23730
23731         git-version-gen: allow use on EBCDIC hosts
23732         * build-aux/git-version-gen (dirty): Use literal rather than tying
23733         ourselves to ascii.
23734         Reported by Steve Goetze.
23735
23736 2010-04-25  Bruno Haible  <bruno@clisp.org>
23737
23738         netdb: Add support for GNULIB_POSIXCHECK.
23739         * lib/netdb.in.h: Include warn-on-use.h.
23740         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23741         functions are used when GNULIB_POSIXCHECK is defined and the
23742         getaddrinfo module is not in use.
23743         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23744         freeaddrinfo, gai_strerror, getnameinfo are declared.
23745         * modules/netdb (Depends-on): Add warn-on-use.
23746         (Makefile.am): Include warn-on-use.h in netdb.h.
23747
23748 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23749
23750         build: avoid "make check" failure without .git/ directory
23751         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23752         there is no .git/ directory.
23753
23754 2010-04-25  Bruno Haible  <bruno@clisp.org>
23755
23756         ptsname: Fix misuse of ttyname_r.
23757         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23758         of errno.
23759
23760 2010-04-25  Bruno Haible  <bruno@clisp.org>
23761
23762         ttyname_r: Make it work on Solaris 10.
23763         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23764         if the system function has the POSIX declaration. Test whether the
23765         function fails if the buffer is less than 128 bytes large.
23766         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23767         system's ttyname_r function. Provide a reasonably large buffer.
23768         * modules/ttyname_r (Depends-on): Add extensions.
23769         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23770
23771 2010-04-25  Bruno Haible  <bruno@clisp.org>
23772
23773         Use the 'extensions' module for some more functions on Solaris.
23774         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23775         module.
23776         * doc/posix-functions/ctime_r.texi: Likewise.
23777         * doc/posix-functions/getgrgid_r.texi: Likewise.
23778         * doc/posix-functions/getgrnam_r.texi: Likewise.
23779         * doc/posix-functions/getpwnam_r.texi: Likewise.
23780         * doc/posix-functions/getpwuid_r.texi: Likewise.
23781         * doc/posix-functions/readdir_r.texi: Likewise.
23782         * doc/posix-functions/sigwait.texi: Likewise.
23783         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23784         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23785
23786 2010-04-25  Bruno Haible  <bruno@clisp.org>
23787
23788         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23789         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23790         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23791         * lib/ttyname_r.c: Include <limits.h>.
23792         (ttyname_r): Define using the system's ttyname_r function, if it exists
23793         and not on Solaris.
23794         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23795         set.
23796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23797         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23798         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23799         Reported by Simon Josefsson.
23800
23801 2010-04-25  Bruno Haible  <bruno@clisp.org>
23802
23803         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23804         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23805         * doc/posix-functions/ctime_r.texi: Likewise.
23806         * doc/posix-functions/getgrgid_r.texi: Likewise.
23807         * doc/posix-functions/getgrnam_r.texi: Likewise.
23808         * doc/posix-functions/getlogin_r.texi: Likewise.
23809         * doc/posix-functions/getpwnam_r.texi: Likewise.
23810         * doc/posix-functions/getpwuid_r.texi: Likewise.
23811         * doc/posix-functions/readdir_r.texi: Likewise.
23812         * doc/posix-functions/sigwait.texi: Likewise.
23813         * doc/posix-functions/ttyname_r.texi: Likewise.
23814         Reported by Simon Josefsson.
23815
23816 2010-04-25  Bruno Haible  <bruno@clisp.org>
23817
23818         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23819         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23820         also to --create-testdir.
23821         (func_acceptable): Don't consider the status of *-tests modules here.
23822         (func_modules_transitive_closure): Consider it here, before including a
23823         test module.
23824         (func_import, func_create_testdir): Set inc_all_direct_tests,
23825         inc_all_indirect_tests.
23826         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23827         --create-testdir and --create-megatestdir.
23828
23829 2010-04-25  Bruno Haible  <bruno@clisp.org>
23830
23831         gnulib-tool: Add --without-*-tests options.
23832         * gnulib-tool (func_usage): Document the --without-*-tests options.
23833         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23834         excl_unportable_tests): New variables.
23835         Fail if they are specified with --import or --update.
23836         (func_acceptable): Respect the excl_*_tests variables.
23837         (func_import): Set the excl_*_tests variables to empty.
23838
23839 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23840             Bruno Haible  <bruno@clisp.org>
23841
23842         Work around a MacOS X 10.4 bug with openpty.
23843         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23844         * tests/test-openpty.c (main): Close the master side explicitly.
23845
23846 2010-04-25  Bruno Haible  <bruno@clisp.org>
23847
23848         strnlen: Fix a C++ test error on MacOS X and Solaris.
23849         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23850         the function is not declared.
23851         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23852         Simon Josefsson.
23853
23854 2010-04-24  Bruno Haible  <bruno@clisp.org>
23855
23856         Avoid a gcc warning.
23857         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23858         of correct type for %08lx directive.
23859         Reported by Eric Blake.
23860
23861 2010-04-24  Bruno Haible  <bruno@clisp.org>
23862
23863         vasnprintf: Correct errno value in case of out-of-memory.
23864         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23865         or sprintf. Use the errno value from SNPRINTF or sprintf.
23866         Reported by Ian Beckwith <ianb@erislabs.net>.
23867
23868 2010-04-24  Bruno Haible  <bruno@clisp.org>
23869
23870         ansi-c++-opt: Find correct compiler when cross-compiling.
23871         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23872         AC_CHECK_PROGS.
23873         Reported by Simon Josefsson.
23874
23875 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23876
23877         vc-list-files: Add support for subversion
23878         * build-aux/vc-list-files: Use "svn list" to generate the list of
23879         files controlled by subversion.
23880
23881 2010-04-23  Jim Meyering  <meyering@redhat.com>
23882
23883         vc-list-files tests: convert to use init.sh
23884         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23885         path_prepend_.
23886         Use Exit, not exit.
23887         Use skip_ rather than open coding it.
23888         Remove trap set-up and compare definitions.
23889         * tests/test-vc-list-files-git.sh: Likewise.
23890         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23891
23892 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23893
23894         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23895         backup files.
23896
23897 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23898
23899         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23900
23901 2010-04-20  Eric Blake  <eblake@redhat.com>
23902
23903         tests: be robust to ignored SIGPIPE
23904         * tests/test-select-in.sh: Consume all output.
23905         * tests/test-lseek.sh: Check correct exit status, while avoiding
23906         EPIPE.
23907
23908 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23909             Bruno Haible  <bruno@clisp.org>
23910
23911         visibility: Don't use -fvisibility if it leads to a warning.
23912         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23913         yes, don't pretend that visibility works if it leads to a warning.
23914         Reported by Mike Gran <spk121@yahoo.com>.
23915
23916 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23917
23918         * build-aux/bootstrap: Use "git -h" for testing for supported options
23919         instead of "git --help".  The short-form option only shows a summary,
23920         and doesn't layout the full man page.  Grep for the full option name
23921         in the summary, too.
23922
23923 2010-04-19  Bruno Haible  <bruno@clisp.org>
23924
23925         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23926         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23927         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23928         mention of RELOCATABLE_STRIP.
23929         Reported by Sylvain Beucler <beuc@beuc.net>.
23930
23931 2010-04-19  Bruno Haible  <bruno@clisp.org>
23932
23933         * lib/diffseq.h: Fix typo in comment.
23934         Reported by Eric Blake.
23935
23936 2010-04-19  Bruno Haible  <bruno@clisp.org>
23937
23938         ioctl: Move autoconf macro to a .m4 file.
23939         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23940         * modules/ioctl (Files): Add it.
23941         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23942         Reported by Ian Beckwith <ianb@erislabs.net>.
23943
23944 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23945             Bruno Haible  <bruno@clisp.org>
23946
23947         diffseq: Accommodate use-case with abstract arrays.
23948         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23949         is not defined.
23950         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23951         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23952
23953 2010-04-18  Bruno Haible  <bruno@clisp.org>
23954
23955         * doc/posix-headers/stdbool.texi: More precise wording.
23956
23957 2010-04-17  Jim Meyering  <meyering@redhat.com>
23958
23959         maint.mk: use gnu-style indentation in an embedded perl script
23960         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23961         Rename variable: s/two/last_two_bytes/
23962
23963 2010-04-16  Eric Blake  <eblake@redhat.com>
23964
23965         test-stdbool: skip test that fails with Solaris CC
23966         * tests/test-stdbool.c (f): Skip test that causes compilation
23967         error under buggy C++ compiler.
23968         * lib/stdbool.in.h: Document the limitation.
23969         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23970
23971         setenv: allow compilation with C++
23972         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23973         register keyword.
23974
23975         stdint: allow test to pass with C++
23976         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23977
23978         getopt: allow compilation with C++
23979         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23980         struct.
23981         * lib/getopt.c (_getopt_internal_r): Use correct type.
23982         Reported by Dagobert Michelson, via Joel E. Denny.
23983
23984 2010-04-16  Bruno Haible  <bruno@clisp.org>
23985
23986         Override netdb.h always.
23987         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23988         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23989         Reported by Ludovic Courtès <ludo@gnu.org>.
23990
23991 2010-04-15  Bruno Haible  <bruno@clisp.org>
23992
23993         openpty: Fix mistake from 2010-03-21.
23994         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23995         Reported by Simon Josefsson.
23996
23997 2010-04-15  Eric Blake  <eblake@redhat.com>
23998
23999         test-forkpty: fix expected signature
24000         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
24001         Reported by Simon Josefsson.
24002
24003 2010-04-15  Jim Meyering  <meyering@redhat.com>
24004
24005         maint.mk: texinfo_suffix_re_: correct the default regexp
24006         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
24007
24008         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
24009         make it configurable via texinfo_suffix_re_.
24010
24011 2010-04-14  Eric Blake  <eblake@redhat.com>
24012
24013         strtok_r: relax license to LGPLv2+
24014         * modules/strtok_r (License): Relax license.
24015         Reported by Matthias Bolte.
24016
24017 2010-04-14  Simon Josefsson  <simon@josefsson.org>
24018
24019         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
24020         version 1.4.4 by default instead of requiring the libgcrypt
24021         version used during build.  This makes it possible to use the
24022         application with older but still binary compatible libgcrypt
24023         versions.
24024
24025 2010-04-13  Eric Blake  <eblake@redhat.com>
24026
24027         getopt-gnu: match recent glibc fixes and posix ruling
24028         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
24029         '+' handling, when requesting extensions.
24030         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
24031         'W;' handling.
24032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
24033         * doc/posix-functions/getopt.texi (getopt): Document this.
24034         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
24035         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24036         Likewise.
24037
24038         getopt: merge bug fixes from glibc
24039         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
24040         diagnostics.  Honor '+:' correctly.  Reject ';'.
24041
24042         getopt-posix: detect MacOS bug
24043         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
24044         optind when missing a required argument.
24045         * doc/posix-functions/getopt.texi (getopt): Document the bug.
24046         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
24047         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24048         Likewise.
24049
24050         getopt-posix: avoid spurious failure on Solaris
24051         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
24052         an indicator that setting optind=1 is sufficient for reset.
24053
24054         getopt-posix: avoid spurious failure on FreeBSD
24055         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
24056         in POSIX mode, since the m4 test uses it.
24057
24058         gnulib-tool: silence warning on BSD sh
24059         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
24060
24061 2010-04-13  Jim Meyering  <meyering@redhat.com>
24062
24063         doc: users.txt: GNU patch now uses gnulib
24064         * users.txt: Add patch.
24065
24066 2010-04-12  Jim Meyering  <meyering@redhat.com>
24067
24068         maint.mk: generate more concise timing data for syntax-check rules
24069         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
24070         " done" from each line that reports a syntax-check test duration.
24071
24072 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
24073
24074         git-version-gen: use "git update-index..." rather than "git status"
24075         * build-aux/git-version-gen: Use git update-index --refresh, not
24076         "git status".  With some versions of git, "git status" would fail
24077         to update the index and result in an unwarranted "-dirty" suffix.
24078
24079 2010-04-11  Jim Meyering  <meyering@redhat.com>
24080
24081         openat: correct formatting (no semantic change)
24082         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
24083         Suggested by Bruno Haible.
24084
24085 2010-04-11  Bruno Haible  <bruno@clisp.org>
24086
24087         Stricter declaration checking in testdirs.
24088         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
24089         If for_tests is true, augment AM_CPPFLAGS to define
24090         GNULIB_STRICT_CHECKING.
24091         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
24092         GNULIB_STRICT_CHECKING is defined, verify that the function is
24093         declared.
24094
24095 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
24096             Bruno Haible  <bruno@clisp.org>
24097
24098         libunistring: Improve configure output.
24099         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
24100         Don't say "consider installing GNU libunistring" when checking again
24101         with libiconv.
24102
24103 2010-04-11  Bruno Haible  <bruno@clisp.org>
24104
24105         libunistring: Correct value of $LTLIBUNISTRING.
24106         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
24107         correct the value of $LTLIBUNISTRING.
24108
24109 2010-04-11  Bruno Haible  <bruno@clisp.org>
24110
24111         havelib: Add static libraries to LIBS in the right order.
24112         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
24113         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
24114
24115 2010-04-11  Bruno Haible  <bruno@clisp.org>
24116
24117         libunistring: Detect libunistring also when it depends on libiconv.
24118         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
24119         the second AC_LIB_HAVE_LINKFLAGS invocation.
24120
24121 2010-04-11  James Youngman  <jay@gnu.org>
24122
24123         close-stream: declare local scalars to be "const"
24124         * lib/close-stream.c (close_stream): Make boolean variables const
24125         to document the fact that we set but do not change them.
24126
24127 2010-04-11  Bruno Haible  <bruno@clisp.org>
24128
24129         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
24130
24131 2010-04-11  Jim Meyering  <meyering@redhat.com>
24132
24133         maint.mk: don't include dist-check.mk
24134         * top/maint.mk: Remove bogus include directive.
24135
24136         maint.mk: improve empty-line-at-EOF check
24137         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
24138         solution, rather than tail+Perl-based one.  The latter would read
24139         a few kilobytes from the end of each file, and did not handle empty
24140         files properly.
24141
24142         maint.mk: print the elapsed time for each syntax-check rule
24143         * top/maint.mk (sc_m_rules_): Save start time in a file.
24144         (sc_z_rules_): New rules: remove temp file and print elapsed time.
24145         (local-check): Interpose the .z rules
24146
24147 2010-04-11  Jim Meyering  <meyering@redhat.com>
24148
24149         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
24150         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
24151         empty file with one that ends in an empty line.
24152
24153 2010-04-10  Bruno Haible  <bruno@clisp.org>
24154
24155         mkdir: Make it work on mingw64.
24156         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
24157         * lib/mkdir.c: Update comment.
24158         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
24159
24160 2010-04-10  Bruno Haible  <bruno@clisp.org>
24161
24162         Don't override improved macro from newer autoconf.
24163         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
24164         autoconf >= 2.62.
24165         Reported by Joel E. Denny <jdenny@clemson.edu>.
24166
24167 2010-04-10  Jim Meyering  <meyering@redhat.com>
24168
24169         maint.mk: new syntax-check rule: prohibit empty lines at end of file
24170         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
24171
24172         maint.mk: correct a diagnostic
24173         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
24174         in diagnostic; now use $prohibit.
24175
24176 2010-04-10  Bruno Haible  <address@hidden>
24177
24178         fchownat: Fix a C++ test error on Solaris 8.
24179         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
24180         the function does not exist.
24181
24182 2010-04-10  Bruno Haible  <bruno@clisp.org>
24183
24184         vasnprintf: Add more tests.
24185         * tests/test-vasnprintf-posix.c: Include <errno.h>.
24186         (test_function): Test converting an invalid wide string.
24187
24188         vasnprintf: Correct handling of unconvertible wide string arguments.
24189         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
24190         VASNPRINTF.
24191         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
24192         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
24193         smaller than the expected maximum need for the directive. Set errno to
24194         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
24195         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
24196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
24197         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
24198         * modules/vasnprintf (Files): Add m4/printf.m4.
24199         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24200
24201 2010-04-10  Bruno Haible  <bruno@clisp.org>
24202
24203         vasnprintf: Fix crash in %ls directive.
24204         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
24205         string is passed as argument to %ls, with no precision and no width.
24206         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24207
24208 2010-04-10  Bruno Haible  <bruno@clisp.org>
24209
24210         vasnprintf: Fix multiple test failures on mingw.
24211         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
24212         _snprintf, or snwprintf, not _snwprintf.
24213
24214 2010-04-10  Bruno Haible  <bruno@clisp.org>
24215
24216         write: Fix a C++ test error on mingw.
24217         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
24218
24219 2010-04-10  Bruno Haible  <bruno@clisp.org>
24220
24221         vasnprintf test: Reduce code duplication.
24222         * tests/test-vasnprintf.c (test_function): New function, extracted from
24223         test_vasnprintf.
24224         (test_vasnprintf, test_asnprintf): Invoke it.
24225
24226 2010-04-10  Bruno Haible  <bruno@clisp.org>
24227
24228         strnlen: Fix warning in C++ mode on MacOS X.
24229         * lib/string.in.h (strnlen): Use the modern idiom.
24230         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
24231         defining strnlen as a macro already in <config.h>.
24232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24233         REPLACE_STRNLEN.
24234         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
24235         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24236
24237 2010-04-08  James Youngman  <jay@gnu.org>
24238
24239         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
24240         the example.
24241
24242 2010-04-09  Jim Meyering  <meyering@redhat.com>
24243
24244         maint.mk: print better diagnostic when there is no $(_hv_file)
24245         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
24246         announce that when $(_hv_file) (aka help-version) does not exist.
24247
24248         init.sh: run tr in the "C" locale to avoid multibyte interpretation
24249         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
24250         not try to interpret its random input bytes.  Jarno Rajahalme reported
24251         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
24252         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
24253         (mktempd_): Likewise, just in case.
24254
24255         ftruncate: add two years to projected module removal date: 2012
24256         * m4/ftruncate.m4: Adjust comments.
24257
24258         ftruncate: mark module as obsolete; even MinGW provides it, now
24259         * modules/ftruncate (Status): Obsolete.
24260         (Notice): Say that.
24261         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
24262         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
24263
24264 2010-04-08  Bruno Haible  <bruno@clisp.org>
24265
24266         Fix side effects from tests-related modules.
24267         * modules/dprintf-posix (Comment): New section.
24268         * modules/fprintf-posix (Comment): Likewise.
24269         * modules/obstack-printf-posix (Comment): Likewise.
24270         * modules/printf-posix (Comment): Likewise.
24271         * modules/snprintf-posix (Comment): Likewise.
24272         * modules/sprintf-posix (Comment): Likewise.
24273         * modules/vasnprintf-posix (Comment): Likewise.
24274         * modules/vasprintf-posix (Comment): Likewise.
24275         * modules/vdprintf-posix (Comment): Likewise.
24276         * modules/vfprintf-posix (Comment): Likewise.
24277         * modules/vprintf-posix (Comment): Likewise.
24278         * modules/vsnprintf-posix (Comment): Likewise.
24279         * modules/vsprintf-posix (Comment): Likewise.
24280         * modules/xprintf-posix (Comment): Likewise.
24281         * modules/xvasprintf-posix (Comment): Likewise.
24282         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
24283         * modules/floorf-tests (Depends-on): Likewise.
24284         * modules/round-tests (Depends-on): Likewise.
24285         * modules/roundf-tests (Depends-on): Likewise.
24286         * modules/trunc-tests (Depends-on): Likewise.
24287         * modules/truncf-tests (Depends-on): Likewise.
24288         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
24289         'fprintf-posix' module is not present.
24290         * tests/test-floorf2.c (check): Likewise.
24291         * tests/test-trunc2.c (check): Likewise.
24292         * tests/test-truncf2.c (check): Likewise.
24293         * tests/test-round2.c (equal): Likewise.
24294         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24295
24296 2010-04-07  Karl Berry  <karl@gnu.org>
24297
24298         * config/srclist.txt,
24299         * config/srclistvars.sh,
24300         * config/srclist-update: doc fixes.
24301
24302 2010-04-07  Jim Meyering  <meyering@redhat.com>
24303
24304         maint.mk: add a PATH crosschecking syntax-check rule
24305         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
24306         Useful if you use a test like the one in help-version (coreutils,
24307         diffutils, grep, gzip) that ensures $(VERSION) matches what is
24308         printed by prog --version.
24309
24310 2010-04-06  Bruno Haible  <bruno@clisp.org>
24311
24312         Fix link error on mingw.
24313         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
24314         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
24315
24316 2010-04-06  Bruno Haible  <bruno@clisp.org>
24317
24318         Assume rmdir exists.
24319         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
24320
24321 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
24322
24323         doc: update users.txt
24324         * users.txt: Add gcal.
24325
24326 2010-04-06  Jim Meyering  <meyering@redhat.com>
24327
24328         init.sh: simply unset TMPDIR rather than risking env -i
24329         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
24330         although it probably works fine on all Unix-based systems, some
24331         systems (Cygwin?) cannot tolerate a totally cleared environment.
24332         Suggestion from Eric Blake.
24333
24334 2010-04-06  Jim Meyering  <meyering@redhat.com>
24335
24336         init.sh: portability fix: use env's POSIX-specified -i option not -u
24337         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
24338         than unportable env -u.  Solaris 5.11's env lacks support for -u.
24339
24340 2010-04-05  Bruno Haible  <bruno@clisp.org>
24341
24342         btowc: Work around Cygwin 1.7.2 bug.
24343         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
24344         does not map NUL to 0.
24345         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
24346
24347 2010-04-05  Bruno Haible  <bruno@clisp.org>
24348
24349         Make the multithread modules work on Cygwin 1.7.2.
24350         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
24351         imported symbols can be declared weak, so that it returns "no" on
24352         Cygwin 1.7.2.
24353
24354 2010-04-05  Bruno Haible  <bruno@clisp.org>
24355
24356         Use the module 'strncat'.
24357         * modules/unistr/u8-strncat (Depends-on): Add strncat.
24358
24359         Tests for module 'strncat'.
24360         * modules/strncat-tests: New file.
24361         * tests/test-strncat.c: New file.
24362
24363         New module 'strncat'.
24364         * lib/string.in.h (strncat): New declaration.
24365         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
24366         * m4/strncat.m4: New file, based on m4/memchr.m4.
24367         * modules/strncat: New file.
24368         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
24369         is declared.
24370         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
24371         REPLACE_STRNCAT.
24372         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
24373         REPLACE_STRNCAT.
24374         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
24375         module.
24376         * tests/test-string-c++.cc: Check signature of strncat.
24377
24378 2010-04-05  Jim Meyering  <meyering@redhat.com>
24379
24380         xstrtoumax-tests: convert to use init.sh
24381         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
24382         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24383         Use Exit, not exit.
24384         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24385
24386         xstrtoimax-tests: convert to use init.sh
24387         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
24388         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24389         Use Exit, not exit.
24390         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24391
24392 2010-04-05  Bruno Haible  <bruno@clisp.org>
24393
24394         sys_socket: Avoid #define replacements in C++ mode.
24395         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
24396         warning to the function if possible, rather than #defining the symbol
24397         to a dysfunctional alias.
24398
24399 2010-04-05  Bruno Haible  <bruno@clisp.org>
24400
24401         fseeko: Fix C++ test error on mingw.
24402         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
24403         gl_FUNC_FSEEKO.
24404         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
24405         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
24406         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24407         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24408
24409 2010-04-05  Bruno Haible  <bruno@clisp.org>
24410
24411         duplocale: Improve test output.
24412         * tests/test-duplocale.c (main): Print reason for skipped test.
24413
24414 2010-04-05  Bruno Haible  <bruno@clisp.org>
24415
24416         Assume rmdir exists.
24417         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24418         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24419
24420 2010-04-05  Bruno Haible  <bruno@clisp.org>
24421
24422         Fix link error on Solaris 8 with cc.
24423         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24424
24425 2010-04-05  Bruno Haible  <bruno@clisp.org>
24426
24427         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24428         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24429
24430 2010-04-05  Bruno Haible  <bruno@clisp.org>
24431
24432         vasprintf: Update documentation.
24433         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24434
24435 2010-04-05  Bruno Haible  <bruno@clisp.org>
24436
24437         ptsname: Improve test.
24438         * tests/test-ptsname.c (main): Also try the various master names of BSD
24439         systems.
24440
24441 2010-04-05  Bruno Haible  <bruno@clisp.org>
24442
24443         memchr: Avoid a possible C++ test error.
24444         * lib/string.in.h (memchr): Provide declaration if function is missing.
24445         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24446         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24448         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24449
24450 2010-04-05  Bruno Haible  <bruno@clisp.org>
24451
24452         strtok_r: Improve idiom.
24453         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24454         AC_LIBOBJ is used.
24455
24456 2010-04-05  Bruno Haible  <bruno@clisp.org>
24457
24458         strdup: Improve idiom.
24459         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24460         AC_LIBOBJ is used.
24461         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24462         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24463         when AC_LIBOBJ is used.
24464
24465 2010-04-05  Bruno Haible  <bruno@clisp.org>
24466
24467         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24468         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24469         don't set REPLACE_MBSINIT to 1.
24470         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24471         don't set REPLACE_MBRTOWC to 1.
24472         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24473         exist, don't set REPLACE_MBSRTOWCS to 1.
24474         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24475         exist, don't set REPLACE_MBSNRTOWCS to 1.
24476         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24477         don't set REPLACE_WCRTOMB to 1.
24478         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24479         exist, don't set REPLACE_WCSRTOMBS to 1.
24480         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24481         exist, don't set REPLACE_WCSNRTOMBS to 1.
24482
24483 2010-04-05  Bruno Haible  <bruno@clisp.org>
24484
24485         ldexpl: Improve idiom.
24486         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24487         make sure to set HAVE_DECL_LDEXPL to 0.
24488
24489 2010-04-05  Jim Meyering  <meyering@redhat.com>
24490
24491         xstrtol-tests: convert to use init.sh
24492         * modules/xstrtol-tests (Files): Add tests/init.sh.
24493         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24494         Use Exit, not exit.
24495         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24496
24497         atexit-tests: convert to use init.sh
24498         * modules/atexit-tests (Files): Add tests/init.sh.
24499         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24500         Use Exit, not exit.
24501         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24502
24503         init.sh: fix typo
24504         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24505
24506         init.sh: make it easier for a test script to write to the tty, ...
24507         when using automake's parallel-tests mode.
24508         * tests/init.sh (stderr_fileno_): Define overridable variable.
24509         (warn_): New function, to use it.
24510         (fail_, skip_, framework_failure_): Use warn_.
24511
24512 2010-04-04  Bruno Haible  <bruno@clisp.org>
24513
24514         btowc: Avoid warning.
24515         * lib/btowc.c: Include <stdlib.h>.
24516         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24517
24518 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24519             Bruno Haible  <bruno@clisp.org>
24520
24521         wchar: Port to NetBSD 1.5.
24522         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24523         * lib/wctype.in.h (WEOF): Likewise.
24524
24525 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24526             Bruno Haible  <bruno@clisp.org>
24527
24528         Port extended stdio to NetBSD 1.5.
24529         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24530         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24531         older.
24532
24533 2010-04-04  Bruno Haible  <bruno@clisp.org>
24534
24535         string: Remove unused substitution.
24536         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24537         HAVE_DECL_STRERROR.
24538         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24539
24540 2010-04-04  Bruno Haible  <bruno@clisp.org>
24541
24542         strtod: Avoid a possible C++ test error.
24543         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24544         set REPLACE_STRTOD.
24545
24546 2010-04-04  Bruno Haible  <bruno@clisp.org>
24547
24548         strerror: Update documentation.
24549         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24550
24551 2010-04-04  Bruno Haible  <bruno@clisp.org>
24552
24553         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24554         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24555         _GL_CXXALIAS_SYS_CAST.
24556
24557 2010-04-04  Bruno Haible  <bruno@clisp.org>
24558
24559         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24560         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24561         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24562         REPLACE_FREXPL to 1.
24563         * doc/posix-functions/frexpl.texi: Update documentation.
24564
24565 2010-04-04  Bruno Haible  <bruno@clisp.org>
24566
24567         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24568         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24569
24570 2010-04-04  Bruno Haible  <bruno@clisp.org>
24571
24572         Implement nanosleep for native Windows.
24573         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24574
24575 2010-04-04  Bruno Haible  <bruno@clisp.org>
24576
24577         math: Fix some C++ test errors on Solaris 8.
24578         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24579
24580 2010-04-04  Bruno Haible  <bruno@clisp.org>
24581
24582         math: Fix some C++ test errors on Cygwin.
24583         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24584         truncl): Provide declaration if the system does not have it.
24585         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24586         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24587         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24588         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24589         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24590         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24591         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24592         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24593         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24594         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24595         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24596         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24597         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24598         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24599         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24600         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24602         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24603         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24604         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24605         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24606         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24607
24608 2010-04-04  Bruno Haible  <bruno@clisp.org>
24609
24610         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24611         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24612         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24613         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24614         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24615         * m4/isinf.m4 (gl_ISINF): Likewise.
24616         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24617
24618 2010-04-04  Bruno Haible  <bruno@clisp.org>
24619
24620         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24621         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24622
24623 2010-04-04  Bruno Haible  <bruno@clisp.org>
24624
24625         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24626         * modules/tmpfile (configure.ac): Update.
24627
24628         tmpfile: Fix C++ test error on mingw.
24629         * lib/stdio.in.h (tmpfile): New declaration.
24630         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24631         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24632         * modules/tmpfile (Depends-on): Add stdio.
24633         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24634         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24635         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24636         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24637         REPLACE_TMPFILE.
24638         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24639
24640 2010-04-04  Bruno Haible  <bruno@clisp.org>
24641
24642         ioctl: Fix C++ test error on mingw.
24643         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24644         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24645         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24646
24647 2010-04-03  Bruno Haible  <bruno@clisp.org>
24648
24649         wcwidth: Fix C++ test error on mingw.
24650         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24651         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24652         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24653
24654 2010-04-03  Bruno Haible  <bruno@clisp.org>
24655
24656         nanosleep: Fix C++ test error on mingw.
24657         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24658         * lib/time.in.h (nanosleep): Use modern idiom.
24659         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24660         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24661         REPLACE_NANOSLEEP to 1.
24662         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24663         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24664
24665 2010-04-03  Bruno Haible  <bruno@clisp.org>
24666
24667         strptime: Fix C++ test error on mingw.
24668         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24669         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24670         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24671         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24672         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24673         not REPLACE_STRPTIME.
24674         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24675         REPLACE_STRPTIME.
24676
24677 2010-04-03  Bruno Haible  <bruno@clisp.org>
24678
24679         timegm: Fix C++ test error on mingw.
24680         * lib/time.in.h (timegm): Use modern idiom.
24681         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24682         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24683         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24684         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24685
24686 2010-04-03  Bruno Haible  <bruno@clisp.org>
24687
24688         timegm: Assume declaration if function exists.
24689         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24690         if it exists. Don't clobber ac_cv_func_timegm.
24691
24692 2010-04-03  Bruno Haible  <bruno@clisp.org>
24693
24694         time_r: Fix C++ test error on mingw.
24695         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24696         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24697         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24698         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24699         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24700
24701 2010-04-03  Bruno Haible  <bruno@clisp.org>
24702
24703         time_r: Minor updates.
24704         * modules/time_r (Description): Mention the provided functions.
24705         * lib/time_r.c: Don't include <string.h>.
24706         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24707         * doc/posix-functions/localtime_r.texi: Likewise.
24708
24709 2010-04-03  Bruno Haible  <bruno@clisp.org>
24710
24711         time: Fix regression introduced on 2010-03-08.
24712         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24713         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24714
24715 2010-04-03  Jim Meyering  <meyering@redhat.com>
24716
24717         maint.mk: don't silently disable project-specific syntax-check rules
24718         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24719         that they need to convert their project-specific syntax-check rules
24720         to use the new _sc_search_regexp.
24721
24722 2010-04-03  Bruno Haible  <bruno@clisp.org>
24723
24724         fchdir: Fix regression introduced on 2010-03-08.
24725         * lib/unistd.in.h (fchdir): Fix declaration.
24726         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24728         REPLACE_FCHDIR.
24729         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24730         REPLACE_FCHDIR.
24731
24732 2010-04-03  Bruno Haible  <bruno@clisp.org>
24733
24734         getpagesize: Fix C++ test error on mingw.
24735         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24736         system does not declare the function.
24737         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24738         declared.
24739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24740         HAVE_DECL_GETPAGESIZE.
24741         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24742
24743 2010-04-03  Bruno Haible  <bruno@clisp.org>
24744
24745         stdio: Make C++ tests work on mingw.
24746         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24747         does not declare the function.
24748
24749 2010-04-03  Bruno Haible  <bruno@clisp.org>
24750
24751         ftello: Fix C++ test error on mingw.
24752         * lib/stdio.in.h (ftello): Use modern idiom.
24753         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24754         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24755         is missing and that it needs to be replaced.
24756         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24758         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24759
24760 2010-04-03  Bruno Haible  <bruno@clisp.org>
24761
24762         fseeko: Fix C++ test error on mingw.
24763         * lib/stdio.in.h (fseeko): Use modern idiom.
24764         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24765         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24766         is missing and that it needs to be replaced.
24767         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24769         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24770
24771 2010-04-03  Bruno Haible  <bruno@clisp.org>
24772
24773         mkstemp: Fix C++ test error on mingw.
24774         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24775         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24776         function is missing and that it needs to be replaced.
24777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24778         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24779
24780 2010-04-03  Bruno Haible  <bruno@clisp.org>
24781
24782         stpncpy: Fix C++ test error on mingw.
24783         * lib/string.in.h (stpncpy): Use modern idiom.
24784         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24785         function is missing and that it needs to be replaced.
24786         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24787         REPLACE_STPNCPY.
24788         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24789
24790 2010-04-03  Bruno Haible  <bruno@clisp.org>
24791
24792         sys_stat: Fix C++ test error on mingw.
24793         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24794         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24795
24796 2010-04-03  Bruno Haible  <bruno@clisp.org>
24797
24798         pty: Update doc.
24799         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24800
24801 2010-04-03  Bruno Haible  <bruno@clisp.org>
24802
24803         unistd: Fix C++ test error on mingw.
24804         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24805
24806 2010-04-03  Bruno Haible  <bruno@clisp.org>
24807
24808         Update doc regarding mingw.
24809         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24810         * doc/glibc-functions/login_tty.texi: Likewise.
24811         * doc/glibc-functions/forkpty.texi: Likewise.
24812
24813 2010-04-03  Bruno Haible  <bruno@clisp.org>
24814
24815         stdlib: Avoid compilation failure of c-strtold on mingw.
24816         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24817
24818 2010-04-03  Bruno Haible  <bruno@clisp.org>
24819
24820         locale: Make C++ tests work on Cygwin and mingw.
24821         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24822         cannot provide the function.
24823         Reported by Simon Josefsson.
24824
24825 2010-04-03  Bruno Haible  <bruno@clisp.org>
24826
24827         localename: Port to MacOS X 10.6.
24828         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24829         memory layout of the locales in MacOS X 10.6 as well.
24830         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24831
24832 2010-04-02  Bruno Haible  <bruno@clisp.org>
24833
24834         gnulib-tool: Ensure that long-running tests are executed last.
24835         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24836         running tests after the one for the other tests.
24837
24838 2010-04-02  Bruno Haible  <bruno@clisp.org>
24839
24840         gnulib-tool: Ensure the tests in the main directory are executed first.
24841         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24842         start with the current directory.
24843
24844 2010-04-02  Bruno Haible  <bruno@clisp.org>
24845
24846         Tests for module 'havelib', moved here from GNU gettext.
24847         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24848         modifications.
24849         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24850         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24851         with modifications.
24852         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24853         modifications.
24854         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24855         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24856         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24857         with modifications.
24858         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24859         with modifications.
24860         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24861         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24862         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24863         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24864         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24865         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24866         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24867         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24868         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24869         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24870         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24871         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24872         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24873         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24874         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24875         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24876         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24877         with modifications.
24878         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24879         with modifications.
24880         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24881         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24882         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24883         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24884         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24885         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24886         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24887         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24888         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24889         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24890         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24891         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24892         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24893         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24894         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24895         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24896         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24897         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24898         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24899         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24900         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24901         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24902         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24903         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24904         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24905         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24906         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24907         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24908         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24909         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24910         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24911         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24912         * tests/havelib/rpathx/rpathx.c: New file, from
24913         gettext/autoconf-lib-link.
24914         * tests/havelib/rpathx/Makefile.am: New file, from
24915         gettext/autoconf-lib-link.
24916         * tests/havelib/rpathx/configure.ac: New file, from
24917         gettext/autoconf-lib-link with modifications.
24918         * tests/havelib/rpathy/rpathy.c: New file, from
24919         gettext/autoconf-lib-link.
24920         * tests/havelib/rpathy/Makefile.am: New file, from
24921         gettext/autoconf-lib-link.
24922         * tests/havelib/rpathy/configure.ac: New file, from
24923         gettext/autoconf-lib-link with modifications.
24924         * tests/havelib/rpathz/rpathz.c: New file, from
24925         gettext/autoconf-lib-link.
24926         * tests/havelib/rpathz/Makefile.am: New file, from
24927         gettext/autoconf-lib-link.
24928         * tests/havelib/rpathz/configure.ac: New file, from
24929         gettext/autoconf-lib-link with modifications.
24930         * tests/havelib/rpathlx/usex.c: New file, from
24931         gettext/autoconf-lib-link.
24932         * tests/havelib/rpathlx/Makefile.am: New file, from
24933         gettext/autoconf-lib-link.
24934         * tests/havelib/rpathlx/configure.ac: New file, from
24935         gettext/autoconf-lib-link with modifications.
24936         * tests/havelib/rpathly/usey.c: New file, from
24937         gettext/autoconf-lib-link.
24938         * tests/havelib/rpathly/Makefile.am: New file, from
24939         gettext/autoconf-lib-link.
24940         * tests/havelib/rpathly/configure.ac: New file, from
24941         gettext/autoconf-lib-link with modifications.
24942         * tests/havelib/rpathlz/usez.c: New file, from
24943         gettext/autoconf-lib-link.
24944         * tests/havelib/rpathlz/Makefile.am: New file, from
24945         gettext/autoconf-lib-link.
24946         * tests/havelib/rpathlz/configure.ac: New file, from
24947         gettext/autoconf-lib-link with modifications.
24948         * tests/havelib/rpathlyx/usey.c: New file, from
24949         gettext/autoconf-lib-link.
24950         * tests/havelib/rpathlyx/Makefile.am: New file, from
24951         gettext/autoconf-lib-link.
24952         * tests/havelib/rpathlyx/configure.ac: New file, from
24953         gettext/autoconf-lib-link with modifications.
24954         * tests/havelib/rpathlzyx/usez.c: New file, from
24955         gettext/autoconf-lib-link.
24956         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24957         gettext/autoconf-lib-link.
24958         * tests/havelib/rpathlzyx/configure.ac: New file, from
24959         gettext/autoconf-lib-link with modifications.
24960         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24961         with modifications.
24962
24963 2010-04-02  Bruno Haible  <bruno@clisp.org>
24964
24965         gnulib-tool: Create distributed built sources also for the tests.
24966         * gnulib-tool (func_create_testdir): Also generate distributed built
24967         sources in the tests directory.
24968
24969 2010-04-02  Bruno Haible  <bruno@clisp.org>
24970
24971         gnulib-tool: Obey user's environment variables.
24972         * gnulib-tool (func_create_testdir): When creating built sources,
24973         respect the environment variables for autoconf, automake, etc. given by
24974         the user.
24975
24976 2010-04-02  Bruno Haible  <bruno@clisp.org>
24977
24978         gnulib-tool: Provide the value of --m4-base to modules.
24979         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24980         of gl_m4_base.
24981
24982 2010-04-02  Eric Blake  <eblake@redhat.com>
24983
24984         maint.mk: fix some fallout
24985         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24986         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24987
24988 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24989
24990         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24991         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24992         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24993         (sc_cast_of_x_alloc_return_value): Likewise.
24994         (sc_cast_of_alloca_return_value): Likewise.
24995         (sc_space_tab): Likewise.
24996         (sc_prohibit_atoi_atof): Likewise.
24997         (sc_prohibit_magic_number_exit): Likewise.
24998         (sc_error_exit_success): Likewise.
24999         (sc_file_system): Likewise.
25000         (sc_prohibit_have_config_h): Likewise.
25001         (sc_require_config_h): Likewise.
25002         (sc_prohibit_HAVE_MBRTOWC): Likewise.
25003         (sc_obsolete_symbols): Likewise.
25004         (sc_changelog): Likewise.
25005         (sc_program_name): Likewise.
25006         (sc_the_the): Likewise.
25007         (sc_trailing_blank): Likewise.
25008         (sc_two_space_separator_in_usage): Likewise.
25009         (sc_useless_cpp_parens): Likewise.
25010         (sc_GPL_version): Likewise.
25011         (sc_GFDL_version): Likewise.
25012         (sc_texinfo_acronym): Likewise.
25013         (sc_prohibit_cvs_keyword): Likewise.
25014         (sc_prohibit_stat_st_blocks): Likewise.
25015         (sc_prohibit_S_IS_definition): Likewise.
25016         (sc_redundant_const): Likewise.
25017         (sc_makefile_TAB_only_indentation): Likewise.
25018         (sc_m4_quote_check): Likewise.
25019         (sc_makefile_path_separator_check): Likewise.
25020         (sc_copyright_check): Likewise.
25021         (sc_Wundef_boolean): Likewise.
25022         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25023
25024         maint.mk: match 0 or more whitespace-before-function-call '('
25025         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
25026         that have zero or two-and-more spaces between the function name
25027         and the open parenthesis.
25028         (sc_error_message_warn_fatal): Likewise.
25029         (sc_error_message_uppercase): Likewise.
25030         (sc_error_message_period): Likewise.
25031
25032 2010-03-31  Eric Blake  <eblake@redhat.com>
25033
25034         maint.mk: check for [ as well as test
25035         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
25036         Based on a libvirt report by Matthias Bolte.
25037
25038         gnumakefile: don't squelch _version output
25039         * top/GNUmakefile (_version): Create one-shot dependency rather
25040         than using $(shell) when version must be regenerated.
25041         (_autoreconf): Run verbosely, by default.
25042
25043         sys_time: avoid compiler warnings
25044         * lib/sys_time.in.h (includes): Ensure gcc pragma is
25045         unconditional, fixing regression from 2010-03-29.
25046         Reported by Simon Josefsson.
25047
25048 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
25049
25050         maint.mk: s/_header_without_use/_sc_header_without_use/
25051         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
25052         (sc_prohibit_assert_without_use): Use the new name.
25053         (sc_prohibit_close_stream_without_use): Likewise.
25054         (sc_prohibit_getopt_without_use): Likewise.
25055         (sc_prohibit_quotearg_without_use): Likewise.
25056         (sc_prohibit_quote_without_use): Likewise.
25057         (sc_prohibit_long_options_without_use): Likewise.
25058         (sc_prohibit_inttostr_without_use): Likewise.
25059         (sc_prohibit_ignore_value_without_use): Likewise.
25060         (sc_prohibit_error_without_use): Likewise.
25061         (sc_prohibit_xalloc_without_use): Likewise.
25062         (sc_prohibit_hash_without_use): Likewise.
25063         (sc_prohibit_hash_pjw_without_use): Likewise.
25064         (sc_prohibit_safe_read_without_use): Likewise.
25065         (sc_prohibit_argmatch_without_use): Likewise.
25066         (sc_prohibit_canonicalize_without_use): Likewise.
25067         (sc_prohibit_root_dev_ino_without_use): Likewise.
25068         (sc_prohibit_openat_without_use): Likewise.
25069         (sc_prohibit_c_ctype_without_use): Likewise.
25070         (sc_prohibit_signal_without_use): Likewise.
25071         (sc_prohibit_intprops_without_use): Likewise.
25072
25073 2010-03-30  Eric Blake  <eblake@redhat.com>
25074
25075         maint: improve module indicators
25076         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
25077         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
25078         columns, and avoid extra macro expansion.
25079
25080         fdopendir: work around FreeBSD bug
25081         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25082         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
25083         * modules/dirent (Makefile.am): Substitute it.
25084         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
25085         declaration.
25086         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
25087         fix.
25088         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25089
25090 2010-03-29  Bruno Haible  <bruno@clisp.org>
25091
25092         Emit #pragma system_header after the inclusion guard, not before.
25093         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
25094         guard that spans the entire file, not before. This enables an
25095         optimization in GCC's preprocessor.
25096         * lib/ctype.in.h: Likewise.
25097         * lib/dirent.in.h: Likewise.
25098         * lib/errno.in.h: Likewise.
25099         * lib/float.in.h: Likewise.
25100         * lib/getopt.in.h: Likewise.
25101         * lib/iconv.in.h: Likewise.
25102         * lib/langinfo.in.h: Likewise.
25103         * lib/locale.in.h: Likewise.
25104         * lib/math.in.h: Likewise.
25105         * lib/netdb.in.h: Likewise.
25106         * lib/netinet_in.in.h: Likewise.
25107         * lib/pty.in.h: Likewise.
25108         * lib/sched.in.h: Likewise.
25109         * lib/se-selinux.in.h: Likewise.
25110         * lib/search.in.h: Likewise.
25111         * lib/spawn.in.h: Likewise.
25112         * lib/stdarg.in.h: Likewise.
25113         * lib/stdint.in.h: Likewise.
25114         * lib/string.in.h: Likewise.
25115         * lib/strings.in.h: Likewise.
25116         * lib/sys_file.in.h: Likewise.
25117         * lib/sys_ioctl.in.h: Likewise.
25118         * lib/sys_time.in.h: Likewise.
25119         * lib/sys_times.in.h: Likewise.
25120         * lib/sys_utsname.in.h: Likewise.
25121         * lib/sys_wait.in.h: Likewise.
25122         * lib/sysexits.in.h: Likewise.
25123         * lib/wctype.in.h: Likewise.
25124
25125 2010-03-28  James Youngman  <jay@gnu.org>
25126
25127         save-cwd: don't leak a file descriptor when the caller execs.
25128         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
25129         saved file descriptor.
25130         * modules/save-cwd (Depends-on): Depend on cloexec.
25131
25132 2010-03-29  Bruno Haible  <bruno@clisp.org>
25133
25134         Remove vestiges of fts-lgpl module.
25135         * lib/fts_.h: Assume GNULIB_FTS is 1.
25136         * lib/fts.c: Likewise.
25137         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25138
25139 2010-03-28  Bruno Haible  <bruno@clisp.org>
25140
25141         Fix definition of tests witness macro.
25142         * gnulib-tool (func_import): Fix definition of witness macro.
25143
25144 2010-03-28  Bruno Haible  <bruno@clisp.org>
25145
25146         Fix ioctl's protoype on glibc systems.
25147         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
25148         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
25149         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
25150         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
25151         signature. If not, arrange to replace the ioctl function.
25152         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25153         REPLACE_IOCTL.
25154         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
25155         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
25156         Reported by Ludovic Courtès <ludo@gnu.org>.
25157
25158 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
25159
25160         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
25161         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
25162         made it so grep -r --include=GLOB* ... did not work.
25163
25164 2010-03-26  Jim Meyering  <meyering@redhat.com>
25165             Eric Blake  <eblake@redhat.com>
25166
25167         maint.mk: prohibit use of test's -o and -a operators
25168         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
25169
25170 2010-03-28  Bruno Haible  <bruno@clisp.org>
25171
25172         Remove unused GNULIB_XYZ macro definitions.
25173         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
25174         invocation.
25175
25176 2010-03-28  Bruno Haible  <bruno@clisp.org>
25177
25178         Mark privileged tests modules.
25179         * modules/idpriv-drop-tests (Status): New section.
25180         * modules/idpriv-droptemp-tests (Status): New section.
25181
25182 2010-03-28  Bruno Haible  <bruno@clisp.org>
25183
25184         Split C++ tests into separate tests modules.
25185         * modules/dirent-c++-tests: New file, extracted from
25186         modules/dirent-tests.
25187         * modules/dirent-tests: Depend on it.
25188         * modules/fcntl-h-c++-tests: New file, extracted from
25189         modules/fcntl-h-tests.
25190         * modules/fcntl-h-tests: Depend on it.
25191         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
25192         * modules/glob-tests: Depend on it.
25193         * modules/iconv-h-c++-tests: New file, extracted from
25194         modules/iconv-h-tests.
25195         * modules/iconv-h-tests: Depend on it.
25196         * modules/langinfo-c++-tests: New file, extracted from
25197         modules/langinfo-tests.
25198         * modules/langinfo-tests: Depend on it.
25199         * modules/locale-c++-tests: New file, extracted from
25200         modules/locale-tests.
25201         * modules/locale-tests: Depend on it.
25202         * modules/math-c++-tests: New file, extracted from modules/math-tests.
25203         * modules/math-tests: Depend on it.
25204         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
25205         * modules/pty-tests: Depend on it.
25206         * modules/search-c++-tests: New file, extracted from
25207         modules/search-tests.
25208         * modules/search-tests: Depend on it.
25209         * modules/signal-c++-tests: New file, extracted from
25210         modules/signal-tests.
25211         * modules/signal-tests: Depend on it.
25212         * modules/spawn-c++-tests: New file, extracted from
25213         modules/spawn-tests.
25214         * modules/spawn-tests: Depend on it.
25215         * modules/stdio-c++-tests: New file, extracted from
25216         modules/stdio-tests.
25217         * modules/stdio-tests: Depend on it.
25218         * modules/stdlib-c++-tests: New file, extracted from
25219         modules/stdlib-tests.
25220         * modules/stdlib-tests: Depend on it.
25221         * modules/string-c++-tests: New file, extracted from
25222         modules/string-tests.
25223         * modules/string-tests: Depend on it.
25224         * modules/sys_ioctl-c++-tests: New file, extracted from
25225         modules/sys_ioctl-tests.
25226         * modules/sys_ioctl-tests: Depend on it.
25227         * modules/sys_select-c++-tests: New file, extracted from
25228         modules/sys_select-tests.
25229         * modules/sys_select-tests: Depend on it.
25230         * modules/sys_socket-c++-tests: New file, extracted from
25231         modules/sys_socket-tests.
25232         * modules/sys_socket-tests: Depend on it.
25233         * modules/sys_stat-c++-tests: New file, extracted from
25234         modules/sys_stat-tests.
25235         * modules/sys_stat-tests: Depend on it.
25236         * modules/sys_time-c++-tests: New file, extracted from
25237         modules/sys_time-tests.
25238         * modules/sys_time-tests: Depend on it.
25239         * modules/time-c++-tests: New file, extracted from modules/time-tests.
25240         * modules/time-tests: Depend on it.
25241         * modules/unistd-c++-tests: New file, extracted from
25242         modules/unistd-tests.
25243         * modules/unistd-tests: Depend on it.
25244         * modules/wchar-c++-tests: New file, extracted from
25245         modules/wchar-tests.
25246         * modules/wchar-tests: Depend on it.
25247         * modules/wctype-c++-tests: New file, extracted from
25248         modules/wctype-tests.
25249         * modules/wctype-tests: Depend on it.
25250         Reported by Simon Josefsson.
25251
25252 2010-03-28  Bruno Haible  <bruno@clisp.org>
25253
25254         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
25255         * gnulib-tool (func_exists_module): New function, extracted from
25256         func_verify_module.
25257         (func_verify_module): Use it.
25258         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
25259         'foo' only if 'foo' exists.
25260         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
25261         module.
25262
25263 2010-03-28  Bruno Haible  <bruno@clisp.org>
25264
25265         gnulib-tool: Add support for special categories of tests.
25266         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
25267         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
25268         (func_usage): Document them.
25269         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
25270         inc_unportable_tests, inc_all_tests): New variables.
25271         (func_acceptable): Consider these variables.
25272         (func_modules_transitive_closure): Make it work when the 'Status' field
25273         consists of multiple words.
25274         (func_import): Store and restore the values of inc_cxx_tests,
25275         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
25276         inc_all_tests in gnulib-comp.m4.
25277         (func_create_testdir): Set inc_all_tests to true.
25278         * doc/gnulib.texi (Extra tests modules): New section.
25279         Suggested by Jim Meyering.
25280
25281 2010-03-28  Bruno Haible  <bruno@clisp.org>
25282
25283         ansi-c++-opt: Allow turning off the C++ build by default.
25284         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
25285         gl_CXX_CHOICE_DEFAULT_NO is defined.
25286         Requested by Eric Blake.
25287
25288 2010-03-28  Bruno Haible  <bruno@clisp.org>
25289
25290         unistd: Avoid #define replacements in C++ mode.
25291         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
25292         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
25293         setsockopt, shutdown, select): In C++, attach a warning to the function
25294         if possible, rather than #defining the symbol to a dysfunctional alias.
25295         Reported by John W. Eaton <jwe@gnu.org>.
25296
25297 2010-03-28  Bruno Haible  <bruno@clisp.org>
25298
25299         Fix link errors on mingw.
25300         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
25301         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
25302         $(LIBSOCKET).
25303         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
25304         $(LIBSOCKET).
25305
25306 2010-03-28  Bruno Haible  <bruno@clisp.org>
25307             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25308
25309         lib-ignore: Determine different options for different compilers.
25310         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
25311         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
25312         Add comments.
25313         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
25314         * NEWS: Mention the change.
25315
25316 2010-03-27  Bruno Haible  <bruno@clisp.org>
25317
25318         Remove unused GNULIB_XYZ macro definitions.
25319         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25320         * modules/fseek (configure.ac): Likewise.
25321         * modules/ioctl (configure.ac): Likewise.
25322         * modules/open (configure.ac): Likewise.
25323         * modules/stdlib-safer (configure.ac): Likewise.
25324
25325 2010-03-27  Bruno Haible  <bruno@clisp.org>
25326
25327         Add a remark about certain modules.
25328         * modules/malloc (Comment): New section.
25329         * modules/realloc (Comment): Likewise.
25330         * modules/sigpipe (Comment): Likewise.
25331
25332 2010-03-27  Bruno Haible  <bruno@clisp.org>
25333
25334         Resolve conflict between the two kinds of module indicators.
25335         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
25336         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
25337         * modules/canonicalize (configure.ac): Invoke
25338         gl_MODULE_INDICATOR_FOR_TESTS.
25339         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
25340         GNULIB_XYZ.
25341         * tests/test-dirent-c++.cc: Likewise.
25342         * tests/test-dirent-safer.c: Likewise.
25343         * tests/test-dup2.c: Likewise.
25344         * tests/test-fchdir.c: Likewise.
25345         * tests/test-fcntl-h-c++.cc: Likewise.
25346         * tests/test-getopt.c: Likewise.
25347         * tests/test-getopt.h: Likewise.
25348         * tests/test-langinfo-c++.cc: Likewise.
25349         * tests/test-locale-c++.cc: Likewise.
25350         * tests/test-math-c++.cc: Likewise.
25351         * tests/test-pty-c++.cc: Likewise.
25352         * tests/test-search-c++.cc: Likewise.
25353         * tests/test-signal-c++.cc: Likewise.
25354         * tests/test-spawn-c++.cc: Likewise.
25355         * tests/test-stdio-c++.cc: Likewise.
25356         * tests/test-stdlib-c++.cc: Likewise.
25357         * tests/test-string-c++.cc: Likewise.
25358         * tests/test-sys_ioctl-c++.cc: Likewise.
25359         * tests/test-sys_select-c++.cc: Likewise.
25360         * tests/test-sys_socket-c++.cc: Likewise.
25361         * tests/test-sys_stat-c++.cc: Likewise.
25362         * tests/test-sys_time-c++.cc: Likewise.
25363         * tests/test-time-c++.cc: Likewise.
25364         * tests/test-unistd-c++.cc: Likewise.
25365         * tests/test-wchar-c++.cc: Likewise.
25366         * tests/uninorm/test-u8-nfc.c: Likewise.
25367         * tests/uninorm/test-u8-nfd.c: Likewise.
25368         * tests/uninorm/test-u8-nfkc.c: Likewise.
25369         * tests/uninorm/test-u8-nfkd.c: Likewise.
25370         * tests/uninorm/test-u16-nfc.c: Likewise.
25371         * tests/uninorm/test-u16-nfd.c: Likewise.
25372         * tests/uninorm/test-u16-nfkc.c: Likewise.
25373         * tests/uninorm/test-u16-nfkd.c: Likewise.
25374         * tests/uninorm/test-u32-nfc.c: Likewise.
25375         * tests/uninorm/test-u32-nfc-big.c: Likewise.
25376         * tests/uninorm/test-u32-nfd.c: Likewise.
25377         * tests/uninorm/test-u32-nfd-big.c: Likewise.
25378         * tests/uninorm/test-u32-nfkc.c: Likewise.
25379         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
25380         * tests/uninorm/test-u32-nfkd.c: Likewise.
25381         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
25382         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25383
25384 2010-03-27  Bruno Haible  <bruno@clisp.org>
25385
25386         Distinguish two kinds of module indicators.
25387         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
25388         gl_MODULE_INDICATOR.
25389         (gl_MODULE_INDICATOR): New macro.
25390         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25391         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
25392         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25393         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25394         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25395         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25396         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25397         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25398         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25399         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25400         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25401         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25402         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25403         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25404         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25405         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25406         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25407         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25408         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25409         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25410         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25411         * modules/cloexec (configure.ac): Likewise.
25412         * modules/getopt-gnu (configure.ac): Likewise.
25413         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25414         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25415         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25416         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25417
25418 2010-03-27  Bruno Haible  <bruno@clisp.org>
25419
25420         New module description field 'Comment'.
25421         * gnulib-tool: New option --extract-comment.
25422         (func_usage): Document it.
25423         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25424         (func_get_comment): New function.
25425         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25426
25427 2010-03-27  Bruno Haible  <bruno@clisp.org>
25428
25429         Addendum to 2010-02-07 commit.
25430         * gnulib-tool (func_usage): Document --extract-applicability option.
25431
25432 2010-03-27  Bruno Haible  <bruno@clisp.org>
25433
25434         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25435         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25436         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25437         rather than link errors.
25438
25439 2010-03-27  Bruno Haible  <bruno@clisp.org>
25440
25441         Avoid side effects from tests-related modules on the compilation of lib.
25442         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25443         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25444         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25445         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25446         macro.
25447         (func_import): Define a witness macro. Assign it a value that depends
25448         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25449         tests-related modules.
25450         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25451         Reported by Jim Meyering.
25452
25453 2010-03-27  Bruno Haible  <bruno@clisp.org>
25454
25455         Factorize common .m4 code.
25456         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25457         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25458         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25459         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25460         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25461         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25462         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25463         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25464         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25465         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25466         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25467         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25468         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25469         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25470         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25471         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25472         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25473         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25474         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25475         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25476         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25477         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25478         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25479         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25480         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25481         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25482         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25483         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25484         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25485         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25486         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25487         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25488
25489 2010-03-27  Bruno Haible  <bruno@clisp.org>
25490
25491         Fix a compilation error on Cygwin with g++ >= 4.3.
25492         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25493         if it is undefined or if we alias it to chmod.
25494         (lstat): Don't warn about the use of this function if it is undefined
25495         or if we alias it to stat.
25496         Reported by Simon Josefsson.
25497
25498 2010-03-27  Bruno Haible  <bruno@clisp.org>
25499
25500         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25501         * modules/getlogin (configure.ac): Update.
25502
25503         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25504         * modules/getlogin_r (configure.ac): Update.
25505
25506         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25507         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25508         * modules/inet_ntop (configure.ac): Update.
25509
25510         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25511         * modules/inet_pton (configure.ac): Update.
25512
25513         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25514         * modules/mbslen (configure.ac): Update.
25515
25516         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25517         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25518         * modules/forkpty (configure.ac): Update.
25519         * modules/openpty (configure.ac): Update.
25520
25521 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25522
25523         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25524         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25525
25526 2010-03-25  Eric Blake  <eblake@redhat.com>
25527
25528         maint: use pragma consistently across replacement headers
25529         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25530         * lib/dirent.in.h (system_header): Likewise.
25531         * lib/errno.in.h (system_header): Likewise.
25532         * lib/float.in.h (system_header): Likewise.
25533         * lib/getopt.in.h (system_header): Likewise.
25534         * lib/iconv.in.h (system_header): Likewise.
25535         * lib/inttypes.in.h (system_header): Likewise.
25536         * lib/langinfo.in.h (system_header): Likewise.
25537         * lib/locale.in.h (system_header): Likewise.
25538         * lib/math.in.h (system_header): Likewise.
25539         * lib/netdb.in.h (system_header): Likewise.
25540         * lib/netinet_in.in.h (system_header): Likewise.
25541         * lib/pty.in.h (system_header): Likewise.
25542         * lib/sched.in.h (system_header): Likewise.
25543         * lib/se-selinux.in.h (system_header): Likewise.
25544         * lib/search.in.h (system_header): Likewise.
25545         * lib/spawn.in.h (system_header): Likewise.
25546         * lib/stdarg.in.h (system_header): Likewise.
25547         * lib/stdint.in.h (system_header): Likewise.
25548         * lib/string.in.h (system_header): Likewise.
25549         * lib/strings.in.h (system_header): Likewise.
25550         * lib/sys_file.in.h (system_header): Likewise.
25551         * lib/sys_ioctl.in.h (system_header): Likewise.
25552         * lib/sys_socket.in.h (system_header): Likewise.
25553         * lib/sys_times.in.h (system_header): Likewise.
25554         * lib/sys_utsname.in.h (system_header): Likewise.
25555         * lib/sys_wait.in.h (system_header): Likewise.
25556         * lib/sysexits.in.h (system_header): Likewise.
25557         * lib/unistd.in.h (system_header): Likewise.
25558         * lib/wctype.in.h (system_header): Likewise.
25559
25560         arpa/inet: fix mingw compilation warning
25561         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25562         Reported by Matthew Bolte.
25563
25564 2010-03-25  Bruno Haible  <bruno@clisp.org>
25565
25566         Avoid collision between gnulib wrapper and libintl wrapper.
25567         * lib/printf.c (printf): Don't define if a printf wrapper is already
25568         defined in intl/printf.c.
25569         Reported by Michel Boaventura <michel@michelboaventura.com>.
25570
25571 2010-03-25  Bruno Haible  <bruno@clisp.org>
25572
25573         Use ANSI C.
25574         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25575
25576 2010-03-25  Bruno Haible  <bruno@clisp.org>
25577
25578         Minor formatting changes.
25579         * lib/acosl.c: Insert space before function argument list.
25580         * lib/argz.c: Likewise.
25581         * lib/asinl.c: Likewise.
25582         * lib/expl.c: Likewise.
25583         * lib/gen-uni-tables.c: Likewise.
25584         * lib/gettext.h: Likewise.
25585         * lib/glthread/lock.h: Likewise.
25586         * lib/tanl.c: Likewise.
25587         * lib/uniname/uniname.c: Likewise.
25588         * tests/test-idpriv-drop.c: Likewise.
25589         * tests/test-idpriv-droptemp.c: Likewise.
25590         * tests/test-lock.c: Likewise.
25591         * tests/test-tls.c: Likewise.
25592         * lib/argp-help.c: Insert space before function-like macro argument
25593         list.
25594         * lib/memcmp.c: Likewise.
25595         * tests/test-base64.c: Likewise.
25596         * lib/localename.c: Insert space before sizeof's argument list.
25597         * lib/safe-alloc.h: Likewise.
25598         * lib/file-set.h: Insert space before macro argument list.
25599         * tests/test-argp.c: Likewise.
25600         * lib/argp-namefrob.h: Insert space before function parameter list.
25601         * lib/getaddrinfo.c: Likewise.
25602         * lib/netdb.in.h: Likewise.
25603         * lib/parse-duration.h: Likewise.
25604         * lib/parse-duration.c: Likewise.
25605         * lib/poll.c: Likewise.
25606         * lib/select.c: Likewise.
25607         * lib/trim.h: Likewise.
25608         * tests/test-usleep.c: Likewise.
25609         * lib/ldexpl.c: Insert space before function parameter list and before
25610         function argument list.
25611         * lib/logl.c: Likewise.
25612         * lib/sqrtl.c: Likewise.
25613         * lib/trim.c: Likewise.
25614         * lib/cosl.c: Use GNU style indentation. Insert space before function
25615         argument list.
25616         * lib/sinl.c: Likewise.
25617         * lib/tsearch.c: Insert space after 'for'.
25618         Reported by Jim Meyering.
25619
25620 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25621
25622         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25623         config header before grepping, as it's not present before
25624         autoreconf/configure are run.  Reported by Simon Josefsson.
25625
25626 2010-03-23  Bruno Haible  <bruno@clisp.org>
25627
25628         pt_chown: Make it work with automake < 1.11.
25629         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25630         Reported by Simon Josefsson.
25631
25632 2010-03-23  Bruno Haible  <bruno@clisp.org>
25633
25634         pt_chown: Don't depend on GPLed modules.
25635         * lib/pt_chown.c: Don't include idpriv.h.
25636         (main): Don't drop privileges.
25637         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25638         Reported by Simon Josefsson.
25639
25640 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25641
25642         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25643         suggestions from karl@freefriends.org (Karl Berry).
25644
25645 2010-03-22  Eric Blake  <eblake@redhat.com>
25646
25647         gethostname: further tweaks
25648         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25649         are overriding gethostname.
25650         Suggested by Bruno Haible.
25651
25652 2010-03-21  Bruno Haible  <bruno@clisp.org>
25653
25654         Fix comments.
25655         * lib/forkpty.c (rpl_forkpty): Fix comment.
25656         * lib/openpty.c (rpl_openpty): Likewise.
25657         Reported by Eric Blake.
25658
25659 2010-03-22  Eric Blake  <eblake@redhat.com>
25660
25661         gethostname: fix build on mingw
25662         * lib/unistd.in.h (includes): Work around fact that mingw
25663         <winsock2.h> re-includes <unistd.h>, by avoiding any
25664         redeclarations if we are being included by <winsock2.h>.
25665         Reported by Matthias Bolte.
25666
25667 2010-03-21  Bruno Haible  <bruno@clisp.org>
25668
25669         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25670         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25671         modifications.
25672         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25673         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25674         provide the replacement.
25675         * modules/forkpty (Depends-on): Add openpty, login_tty.
25676         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25677         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25678         * doc/glibc-functions/forkpty.texi: More supported platforms.
25679         * config/srclist.txt: Add forkpty.c (commented).
25680
25681 2010-03-21  Bruno Haible  <bruno@clisp.org>
25682
25683         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25684         (Makefile.am): Verify that PTY_LIB is defined.
25685
25686         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25687
25688 2010-03-21  Bruno Haible  <bruno@clisp.org>
25689
25690         Tests for module 'login_tty'.
25691         * modules/login_tty-tests: New file.
25692         * tests/test-login_tty.c: New file.
25693
25694         New module 'login_tty'.
25695         * lib/login_tty.c: New file.
25696         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25697         * modules/login_tty: New file.
25698         * doc/glibc-functions/login_tty.texi: Mention the new module.
25699
25700 2010-03-21  Bruno Haible  <bruno@clisp.org>
25701
25702         login_tty: Documentation.
25703         * doc/glibc-functions/login_tty.texi: New file.
25704         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25705
25706 2010-03-21  Bruno Haible  <bruno@clisp.org>
25707
25708         pty: Consistent macro naming.
25709         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25710         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25711         * modules/pty (configure.ac): Update.
25712
25713 2010-03-21  Bruno Haible  <bruno@clisp.org>
25714
25715         Tests for openpty: Make stricter.
25716         * tests/test-openpty.c (main): Add test of canonical processing and
25717         erase.
25718         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25719
25720         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25721         * lib/openpty.c (openpty): New replacement function.
25722         * lib/pty.in.h: Include <termios.h>.
25723         (openpty): Update declaration. Add comments.
25724         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25725         is not declared, arrange to provide the replacement. Check for _getpty
25726         and posix_openpt.
25727         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25728         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25729         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25730         * modules/pty-tests (test_pty_c___LDADD): New variable.
25731         * doc/glibc-functions/openpty.texi: More supported platforms.
25732
25733 2010-03-21  Bruno Haible  <bruno@clisp.org>
25734
25735         setenv: Tweaks.
25736         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25737         the test program.
25738         * doc/posix-functions/setenv.texi: Update platforms list.
25739
25740 2010-03-21  Bruno Haible  <bruno@clisp.org>
25741
25742         New module 'unlockpt'.
25743         * lib/unlockpt.c: New file, from glibc with modifications.
25744         * m4/unlockpt.m4: New file.
25745         * modules/unlockpt: New file.
25746         * lib/stdlib.in.h (unlockpt): New declaration.
25747         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25748         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25749         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25750         HAVE_UNLOCKPT.
25751         * doc/posix-functions/unlockpt.texi: Mention the new module.
25752         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25753         * config/srclist.txt: Add unlockpt.c (commented).
25754
25755 2010-03-21  Jim Meyering  <meyering@redhat.com>
25756
25757         maint.mk: prohibit inclusion of "intprops.h" without use
25758         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25759
25760 2010-03-21  Bruno Haible  <bruno@clisp.org>
25761
25762         New module 'grantpt'.
25763         * lib/grantpt.c: New file, from glibc with modifications.
25764         * m4/grantpt.m4: New file.
25765         * modules/grantpt: New file.
25766         * lib/stdlib.in.h (grantpt): New declaration.
25767         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25768         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25769         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25770         HAVE_GRANTPT.
25771         * doc/posix-functions/grantpt.texi: Mention the new module.
25772         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25773         * config/srclist.txt: Add grantpt.c (commented).
25774
25775 2010-03-21  Bruno Haible  <bruno@clisp.org>
25776
25777         New module 'pt_chown'.
25778         * lib/pt_chown.c: New file, from glibc with modifications.
25779         * lib/pty-private.h: New file, from glibc with modifications.
25780         * modules/pt_chown: New file.
25781         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25782
25783 2010-03-21  Bruno Haible  <bruno@clisp.org>
25784
25785         Tests for module 'ptsname'.
25786         * modules/ptsname-tests: New file.
25787         * tests/test-ptsname.c: New file.
25788
25789         New module 'ptsname'.
25790         * lib/ptsname.c: New file, from glibc with modifications.
25791         * m4/ptsname.m4: New file.
25792         * modules/ptsname: New file.
25793         * lib/stdlib.in.h (ptsname): New declaration.
25794         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25795         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25796         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25797         HAVE_PTSNAME.
25798         * doc/posix-functions/ptsname.texi: Mention the new module.
25799         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25800         * config/srclist.txt: Add ptsname.c (commented).
25801
25802 2010-03-21  Bruno Haible  <bruno@clisp.org>
25803
25804         Tests for module 'ttyname_r'.
25805         * modules/ttyname_r-tests: New file.
25806         * tests/test-ttyname_r.c: New file.
25807
25808         New module 'ttyname_r'.
25809         * lib/ttyname_r.c: New file.
25810         * m4/ttyname_r.m4: New file.
25811         * modules/ttyname_r: New file.
25812         * lib/unistd.in.h (ttyname_r): New declaration.
25813         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25814         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25815         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25816         HAVE_TTYNAME_R.
25817         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25818         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25819
25820 2010-03-20  Bruno Haible  <bruno@clisp.org>
25821
25822         signal: Undefine macro definitions in C++ mode.
25823         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25824         sigfillset): Undefine macro definitions from the system header in C++
25825         mode.
25826         Reported by John W. Eaton <jwe@gnu.org>.
25827
25828 2010-03-20  Bruno Haible  <bruno@clisp.org>
25829
25830         Ensure no #include statements inside extern "C" { ... }.
25831         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25832         contain #include statements.
25833         * lib/time.in.h: Likewise.
25834
25835 2010-03-20  Bruno Haible  <bruno@clisp.org>
25836
25837         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25838         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25839         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25840         Reported by John W. Eaton <jwe@gnu.org>.
25841
25842 2010-03-20  Bruno Haible  <bruno@clisp.org>
25843
25844         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25845         Reported by Jim Meyering.
25846
25847 2010-03-20  Bruno Haible  <bruno@clisp.org>
25848
25849         pipe: Set errno upon failure.
25850         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25851         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25852         errno value in error message.
25853
25854 2010-03-20  Bruno Haible  <bruno@clisp.org>
25855             Jim Meyering  <meyering@redhat.com>
25856
25857         lchown: Avoid "unused variable" warning.
25858         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25859
25860 2010-03-20  Bruno Haible  <bruno@clisp.org>
25861
25862         Work around unlink() bug on MacOS X 10.5.6.
25863         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25864         attempting to unlink a parent directory.
25865         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25866         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25867         activate for the replacement function.
25868         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25869
25870 2010-03-20  Bruno Haible  <bruno@clisp.org>
25871
25872         Fix link errors on Solaris 8.
25873         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25874         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25875
25876 2010-03-19  Jim Meyering  <meyering@redhat.com>
25877
25878         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25879         The _LIBC implementation of build_range_exp correctly honors the
25880         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25881         However, the non-_LIBC implementation would ignore that syntax-bit
25882         flag and return REG_ERANGE unconditionally.
25883         This change makes it honor that flag.
25884         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25885         Make two pointer parameters "const".
25886         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25887         (parse_bracket_exp): Update caller.
25888
25889         regex.m4: correct the reversed range endpoint ([b-a]) test
25890         * m4/regex.m4: When requiring that [b-a] evoke failure,
25891         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25892         test pass once again for x86-based systems.
25893
25894 2010-03-19  Bruno Haible  <bruno@clisp.org>
25895
25896         scandir: Fix link error on Solaris 8.
25897         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25898         macros.
25899
25900 2010-03-19  Bruno Haible  <bruno@clisp.org>
25901
25902         getusershell: Fix documentation.
25903         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25904         module.
25905         * doc/glibc-functions/setusershell.texi: Likewise.
25906
25907         getusershell: Provide declaration, missing on Solaris 9.
25908         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25909         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25910         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25911         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25912         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25913         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25914         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25915         HAVE_GETUSERSHELL.
25916         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25917
25918 2010-03-19  Bruno Haible  <bruno@clisp.org>
25919
25920         wctype: Provide iswblank function.
25921         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25922         exists and is fine.
25923         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25924         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25925         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25926         * doc/posix-functions/iswblank.texi: Update.
25927
25928 2010-03-19  Bruno Haible  <bruno@clisp.org>
25929
25930         Tests of module 'pty' in C++ mode.
25931         * modules/pty-tests: New file.
25932         * tests/test-pty-c++.cc: New file.
25933         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25934
25935 2010-03-19  Eric Blake  <eblake@redhat.com>
25936
25937         logb: fix documentation
25938         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25939         1.5 declaration bug.
25940
25941         forkpty, openpty: prefer glibc's const-safe prototype
25942         * lib/forkpty.c (rpl_forkpty): New file.
25943         * lib/openpty.c (rpl_openpty): Likewise.
25944         * modules/forkpty (Files): Distribute it.
25945         * modules/openpty (Files): Likewise.
25946         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25947         check...
25948         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25949         replacement for for non-const BSD signature.
25950         * modules/pty (Makefile.am): Substitute witnesses.
25951         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25952         * tests/test-forkpty.c: Update signature check.
25953         * tests/test-openpty.c: Likewise.
25954         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25955         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25956
25957         forkpty, openpty: split functions into new modules
25958         * modules/pty (Makefile.am): Substitute new witnesses.
25959         (Libraries): Move library detection...
25960         * modules/forkpty: ...into new module.
25961         * modules/openpty: Another new module.
25962         * modules/pty-tests: Rename and split...
25963         * modules/forkpty-tests: ...to this...
25964         * modules/openpty-tests: ...and this.
25965         * tests/test-pty.c: Rename and split...
25966         * tests/test-forkpty.c: ...to this...
25967         * tests/test-openpty.c: ...and this.
25968         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25969         (gl_PTY): Split library searching...
25970         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25971         (gl_FORKPTY, gl_OPENPTY): New macros.
25972         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25973         * NEWS: Mention the split.
25974         * MODULES.html.sh (Misc): Document the modules.
25975         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25976         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25977
25978         pty: improve replacement header
25979         * lib/pty.in.h: New file.
25980         * modules/pty (Files): Ship it.
25981         (Makefile.am): Always build replacement.
25982         * m4/pty.m4: Rename...
25983         * m4/pty_h.m4: ...to this.
25984         (gl_PTY): Modernize setting of witness macros; update check of
25985         forkpty to take proper advantage of cache.
25986         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25987
25988         getopt: avoid compiler warning
25989         * lib/getopt.c (attribute_hidden): Remove unused macro.
25990
25991 2010-03-18  Bruno Haible  <bruno@clisp.org>
25992
25993         Fix link errors on Solaris 8.
25994         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25995         * modules/search-tests (test_search_c___LDADD): Likewise.
25996         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25997         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25998         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25999         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
26000         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
26001         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
26002         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
26003
26004 2010-03-18  Bruno Haible  <bruno@clisp.org>
26005
26006         Fix bug introduced on 2010-03-14.
26007         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
26008         (gl_SPAWN_H): Require it.
26009         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
26010         Reported by Simon Josefsson.
26011
26012 2010-03-18  Bruno Haible  <bruno@clisp.org>
26013
26014         Fix typo introduced on 2009-12-31.
26015         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
26016         posix_spawn_file_actions_adddup2.
26017
26018 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
26019         and Eric Blake  <eblake@redhat.com>
26020
26021         test-vc-list-files-git: make more robust
26022         * tests/test-vc-list-files-git.sh: Unset problematic environment
26023         variables.  Chain commands together.
26024
26025 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
26026
26027         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
26028         `AC_CHECK_DECL' invocation.
26029
26030 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
26031
26032         * lib/inttostr.c (inttostr): Make sure the invocation of verify
26033         appears before executable statements. Suggested by Petr Sumbera
26034         <Petr.Sumbera@Sun.COM>.
26035
26036 2010-03-14  Bruno Haible  <bruno@clisp.org>
26037
26038         * tests/test-flock.c (test_exclusive): Comment out a test that causes
26039         portability problems. Instead use a simpler test.
26040         (main): Check that invalid arguments are rejected only on Linux.
26041
26042 2010-03-14  Bruno Haible  <bruno@clisp.org>
26043
26044         Fix bug introduced on 2009-12-31.
26045         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
26046         gl_PREREQ_SYS_H_WINSOCK2 always.
26047         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
26048         SYS_SOCKET_H variable.
26049         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
26050         Update comments.
26051         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
26052         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26053         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26054         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
26055         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
26056
26057 2010-03-14  Bruno Haible  <bruno@clisp.org>
26058
26059         Fix values returned by sinl, cosl.
26060         * lib/trigl.h: Add specification comments.
26061         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
26062         that combines the values from the precomputed table with the values of
26063         the Chebyshev polynomials.
26064
26065 2010-03-14  Bruno Haible  <bruno@clisp.org>
26066
26067         Fix compilation error when modules 'posix_spawn[p]' are not used.
26068         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
26069         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
26070
26071 2010-03-14  Bruno Haible  <bruno@clisp.org>
26072
26073         Fix compilation error on mingw when module 'time_r' is not used.
26074         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
26075         is 1.
26076         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
26077         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26078         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
26079         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
26080
26081 2010-03-14  Bruno Haible  <bruno@clisp.org>
26082
26083         Fix compilation error with Sun C.
26084         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
26085         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
26086         instead of GCC specific ULONG_LONG_MAX.
26087         * lib/xstrtoll.c: Likewise.
26088         * lib/xstrtoull.c: Likewise.
26089
26090 2010-03-13  Bruno Haible  <bruno@clisp.org>
26091
26092         Allow the user to disable C++ code and tests.
26093         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
26094         (gl_PROG_ANSI_CXX): Require it.
26095
26096 2010-03-13  Bruno Haible  <bruno@clisp.org>
26097
26098         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
26099         cases.
26100
26101 2010-03-13  Bruno Haible  <bruno@clisp.org>
26102
26103         Test that gnulib does not break the standard C++ headers.
26104         * tests/test-locale-c++2.cc: New file.
26105         * modules/locale-tests (Files): Add it.
26106         (Makefile.am): Compile it for test-locale-c++.
26107         * tests/test-math-c++2.cc: New file.
26108         * modules/math-tests (Files): Add it.
26109         (Makefile.am): Compile it for test-math-c++.
26110         * tests/test-signal-c++2.cc: New file.
26111         * modules/signal-tests (Files): Add it.
26112         (Makefile.am): Compile it for test-signal-c++.
26113         * tests/test-stdio-c++2.cc: New file.
26114         * modules/stdio-tests (Files): Add it.
26115         (Makefile.am): Compile it for test-stdio-c++.
26116         * tests/test-stdlib-c++2.cc: New file.
26117         * modules/stdlib-tests (Files): Add it.
26118         (Makefile.am): Compile it for test-stdlib-c++.
26119         * tests/test-string-c++2.cc: New file.
26120         * modules/string-tests (Files): Add it.
26121         (Makefile.am): Compile it for test-string-c++.
26122         * tests/test-time-c++2.cc: New file.
26123         * modules/time-tests (Files): Add it.
26124         (Makefile.am): Compile it for test-time-c++.
26125         Reported by John W. Eaton <jwe@gnu.org>.
26126
26127 2010-03-13  Bruno Haible  <bruno@clisp.org>
26128
26129         * gnulib-tool (func_usage): Clarify which options are available for
26130         --create-testdir and --create-megatestdir.
26131
26132 2010-03-13  Bruno Haible  <bruno@clisp.org>
26133
26134         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
26135         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
26136         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
26137         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
26138         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
26139         when appropriate.
26140         Reported by Jim Meyering.
26141
26142 2010-03-12  Simon Josefsson  <simon@josefsson.org>
26143
26144         * gnulib-tool (func_import): Explain origin of code.
26145
26146 2010-03-12  Bruno Haible  <bruno@clisp.org>
26147
26148         Fix problem with automake's definition of CXXLINK.
26149         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
26150         Reported by Simon Josefsson and Ludovic Courtès.
26151
26152 2010-03-12  Bruno Haible  <bruno@clisp.org>
26153
26154         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
26155         stable releases.
26156
26157 2010-03-11  Bruno Haible  <bruno@clisp.org>
26158
26159         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
26160         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
26161         whether the system provides one variant or multiple variants of the
26162         function.
26163         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
26164         C++ compilers.
26165         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
26166         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
26167         Reported by Jim Meyering.
26168
26169 2010-03-09  Simon Josefsson  <simon@josefsson.org>
26170
26171         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
26172
26173 2010-03-08  Bruno Haible  <bruno@clisp.org>
26174
26175         gnulib-tool: Add support for --libtool in --create-testdir.
26176         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
26177         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
26178
26179 2010-03-08  Eric Blake  <eblake@redhat.com>
26180
26181         gnulib-tool.texi: mention possibility of git submodule
26182         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
26183         submodules.
26184         * doc/.gitignore: Ignore another generated file.
26185
26186 2010-03-08  Karl Berry  <karl@gnu.org>
26187
26188         * doc/gnulib-tool.texi (VCS Issues): Mention third option
26189         of committing gnulib files while skipping others.
26190
26191 2010-03-07  Bruno Haible  <bruno@clisp.org>
26192
26193         Tests of module 'wctype' in C++ mode.
26194         * tests/test-wctype-c++.cc: New file.
26195         * modules/wctype-tests (Files): Add it and tests/signature.h.
26196         (Depends-on): Add ansi-c++-opt.
26197         (Makefile.am): Arrange to compile and run test-wctype-c++.
26198
26199         Tests of module 'wchar' in C++ mode.
26200         * tests/test-wchar-c++.cc: New file.
26201         * modules/wchar-tests (Files): Add it and tests/signature.h.
26202         (Depends-on): Add ansi-c++-opt.
26203         (Makefile.am): Arrange to compile and run test-wchar-c++.
26204         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
26205         gl_MODULE_INDICATOR.
26206
26207         Tests of module 'unistd' in C++ mode.
26208         * tests/test-unistd-c++.cc: New file.
26209         * modules/unistd-tests (Files): Add it and tests/signature.h.
26210         (Depends-on): Add ansi-c++-opt.
26211         (Makefile.am): Arrange to compile and run test-unistd-c++.
26212         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
26213         gl_MODULE_INDICATOR.
26214
26215         Tests of module 'time' in C++ mode.
26216         * tests/test-time-c++.cc: New file.
26217         * modules/time-tests (Files): Add it and tests/signature.h.
26218         (Depends-on): Add ansi-c++-opt.
26219         (Makefile.am): Arrange to compile and run test-time-c++.
26220         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26221
26222         Tests of module 'sys_time' in C++ mode.
26223         * tests/test-sys_time-c++.cc: New file.
26224         * modules/sys_time-tests (Files): Add it and tests/signature.h.
26225         (Depends-on): Add ansi-c++-opt.
26226         (Makefile.am): Arrange to compile and run test-sys_time-c++.
26227         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
26228         gl_MODULE_INDICATOR.
26229
26230         Tests of module 'sys_stat' in C++ mode.
26231         * tests/test-sys_stat-c++.cc: New file.
26232         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
26233         (Depends-on): Add ansi-c++-opt.
26234         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
26235         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
26236         gl_MODULE_INDICATOR.
26237
26238         Tests of module 'sys_socket' in C++ mode.
26239         * tests/test-sys_socket-c++.cc: New file.
26240         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
26241         (Depends-on): Add ansi-c++-opt.
26242         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
26243         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
26244         gl_MODULE_INDICATOR.
26245
26246         Tests of module 'sys_select' in C++ mode.
26247         * tests/test-sys_select-c++.cc: New file.
26248         * modules/sys_select-tests (Files): Add it and tests/signature.h.
26249         (Depends-on): Add ansi-c++-opt.
26250         (Makefile.am): Arrange to compile and run test-sys_select-c++.
26251         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
26252         gl_MODULE_INDICATOR.
26253
26254         Tests of module 'sys_ioctl' in C++ mode.
26255         * tests/test-sys_ioctl-c++.cc: New file.
26256         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
26257         (Depends-on): Add ansi-c++-opt.
26258         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
26259         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
26260         gl_MODULE_INDICATOR.
26261
26262         Tests of module 'string' in C++ mode.
26263         * tests/test-string-c++.cc: New file.
26264         * modules/string-tests (Files): Add it and tests/signature.h.
26265         (Depends-on): Add ansi-c++-opt.
26266         (Makefile.am): Arrange to compile and run test-string-c++.
26267         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
26268         gl_MODULE_INDICATOR.
26269
26270         Tests of module 'stdlib' in C++ mode.
26271         * tests/test-stdlib-c++.cc: New file.
26272         * modules/stdlib-tests (Files): Add it and tests/signature.h.
26273         (Depends-on): Add ansi-c++-opt.
26274         (Makefile.am): Arrange to compile and run test-stdlib-c++.
26275         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
26276         gl_MODULE_INDICATOR.
26277
26278         Tests of module 'stdio' in C++ mode.
26279         * tests/test-stdio-c++.cc: New file.
26280         * modules/stdio-tests (Files): Add it and tests/signature.h.
26281         (Depends-on): Add ansi-c++-opt.
26282         (Makefile.am): Arrange to compile and run test-stdio-c++.
26283         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
26284         gl_MODULE_INDICATOR.
26285
26286         Tests of module 'spawn' in C++ mode.
26287         * tests/test-spawn-c++.cc: New file.
26288         * modules/spawn-tests (Files): Add it and tests/signature.h.
26289         (Depends-on): Add ansi-c++-opt.
26290         (Makefile.am): Arrange to compile and run test-spawn-c++.
26291         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
26292         gl_MODULE_INDICATOR.
26293
26294         Tests of module 'signal' in C++ mode.
26295         * tests/test-signal-c++.cc: New file.
26296         * modules/signal-tests (Files): Add it and tests/signature.h.
26297         (Depends-on): Add ansi-c++-opt.
26298         (Makefile.am): Arrange to compile and run test-signal-c++.
26299         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
26300         gl_MODULE_INDICATOR.
26301
26302         Tests of module 'search' in C++ mode.
26303         * tests/test-search-c++.cc: New file.
26304         * modules/search-tests (Files): Add it and tests/signature.h.
26305         (Depends-on): Add ansi-c++-opt.
26306         (Makefile.am): Arrange to compile and run test-search-c++.
26307         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
26308         gl_MODULE_INDICATOR.
26309
26310         Tests of module 'math' in C++ mode.
26311         * tests/test-math-c++.cc: New file.
26312         * modules/math-tests (Files): Add it and tests/signature.h.
26313         (Depends-on): Add ansi-c++-opt.
26314         (Makefile.am): Arrange to compile and run test-math-c++.
26315         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26316
26317         Tests of module 'locale' in C++ mode.
26318         * tests/test-locale-c++.cc: New file.
26319         * modules/locale-tests (Files): Add it and tests/signature.h.
26320         (Depends-on): Add ansi-c++-opt.
26321         (Makefile.am): Arrange to compile and run test-locale-c++.
26322         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
26323         gl_MODULE_INDICATOR.
26324
26325         Tests of module 'langinfo' in C++ mode.
26326         * tests/test-langinfo-c++.cc: New file.
26327         * modules/langinfo-tests (Files): Add it and tests/signature.h.
26328         (Depends-on): Add ansi-c++-opt.
26329         (Makefile.am): Arrange to compile and run test-langinfo-c++.
26330         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
26331         gl_MODULE_INDICATOR.
26332
26333         Tests of module 'iconv-h' in C++ mode.
26334         * tests/test-iconv-h-c++.cc: New file.
26335         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
26336         (Depends-on): Add ansi-c++-opt.
26337         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
26338
26339         Tests of module 'glob' in C++ mode.
26340         * tests/test-glob-c++.cc: New file.
26341         * modules/glob-tests (Files): Add it.
26342         (Depends-on): Add ansi-c++-opt.
26343         (Makefile.am): Arrange to compile and run test-glob-c++.
26344
26345         Tests of module 'fcntl-h' in C++ mode.
26346         * tests/test-fcntl-h-c++.cc: New file.
26347         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
26348         (Depends-on): Add ansi-c++-opt.
26349         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
26350         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
26351         gl_MODULE_INDICATOR.
26352
26353         Tests of module 'dirent' in C++ mode.
26354         * tests/test-dirent-c++.cc: New file.
26355         * modules/dirent-tests (Files): Add it and tests/signature.h.
26356         (Depends-on): Add ansi-c++-opt.
26357         (Makefile.am): Arrange to compile and run test-dirent-c++.
26358         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26359         gl_MODULE_INDICATOR.
26360
26361         New module 'ansi-c++-opt'.
26362         * modules/ansi-c++-opt: New file.
26363         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
26364
26365         Document C++ namespace mode.
26366         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
26367
26368         wctype: Avoid #define replacements in C++ mode.
26369         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
26370         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
26371         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
26372         In C++, define a namespaced alias symbol.
26373         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
26374         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
26375         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
26376         rule.
26377
26378         wchar: Avoid #define replacements in C++ mode.
26379         * lib/wchar.in.h: Include c++defs.h.
26380         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
26381         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
26382         symbol.
26383         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
26384         * modules/wchar (Depends-on): Add c++defs.
26385         (Makefile.am): Update wchar.h rule.
26386
26387         unistd: Avoid #define replacements in C++ mode.
26388         * lib/unistd.in.h: Include c++defs.h.
26389         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
26390         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
26391         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
26392         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
26393         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
26394         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
26395         symbol.
26396         (environ): Update.
26397         * modules/unistd (Depends-on): Add c++defs.
26398         (Makefile.am): Update unistd.h rule.
26399
26400         time: Avoid #define replacements in C++ mode.
26401         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
26402         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
26403         define a namespaced alias symbol.
26404         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
26405         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
26406         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26407         * modules/time (Depends-on): Add c++defs, warn-on-use.
26408         (Makefile.am): Update time.h rule.
26409         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26410         * modules/nanosleep (configure.ac): Likewise.
26411         * modules/strptime (configure.ac): Likewise.
26412         * modules/timegm (configure.ac): Likewise.
26413
26414         sys_time: Avoid #define replacements in C++ mode.
26415         * lib/sys_time.in.h: Include c++defs.h.
26416         (gettimeofday): In C++, define a namespaced alias symbol.
26417         * modules/sys_time (Depends-on): Add c++defs.
26418         (Makefile.am): Update sys/time.h rule.
26419
26420         sys_stat: Avoid #define replacements in C++ mode.
26421         * lib/sys_stat.in.h: Include c++defs.h.
26422         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26423         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26424         namespaced alias symbol.
26425         In C++, define a namespaced alias symbol.
26426         * modules/sys_stat (Depends-on): Add c++defs.
26427         (Makefile.am): Update sys/stat.h rule.
26428
26429         sys_socket: Avoid #define replacements in C++ mode.
26430         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26431         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26432         definitions also when the system has a <sys/socket.h>.
26433         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26434         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26435         In C++, define a namespaced alias symbol.
26436         * modules/sys_socket (Depends-on): Add c++defs.
26437         (Makefile.am): Update sys/socket.h rule.
26438
26439         sys_select: Avoid #define replacements in C++ mode.
26440         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26441         definitions also when the system has a <sys/select.h>.
26442         (select): In C++, define a namespaced alias symbol.
26443         * modules/sys_select (Depends-on): Add c++defs.
26444         (Makefile.am): Update sys/select.h rule.
26445
26446         sys_ioctl: Avoid #define replacements in C++ mode.
26447         * lib/sys_ioctl.in.h: Include c++defs.h.
26448         (ioctl): In C++, define a namespaced alias symbol.
26449         * modules/sys_ioctl (Depends-on): Add c++defs.
26450         (Makefile.am): Update sys/ioctl.h rule.
26451
26452         string: Avoid #define replacements in C++ mode.
26453         * lib/string.in.h: Include c++defs.h.
26454         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26455         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26456         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26457         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26458         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26459         * modules/string (Depends-on): Add c++defs.
26460         (Makefile.am): Update string.h rule.
26461
26462         stdlib: Avoid #define replacements in C++ mode.
26463         * lib/stdlib.in.h: Include c++defs.h.
26464         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26465         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26466         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26467         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26468         symbol.
26469         * modules/stdlib (Depends-on): Add c++defs.
26470         (Makefile.am): Update stdlib.h rule.
26471
26472         stdio: Avoid #define replacements in C++ mode.
26473         * lib/stdio.in.h: Include c++defs.h.
26474         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26475         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26476         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26477         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26478         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26479         namespaced alias symbol.
26480         * modules/stdio (Depends-on): Add c++defs.
26481         (Makefile.am): Update stdio.h rule.
26482
26483         spawn: Avoid #define replacements in C++ mode.
26484         * lib/spawn.in.h: Include c++defs.h.
26485         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26486         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26487         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26488         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26489         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26490         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26491         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26492         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26493         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26494         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26495         In C++, define a namespaced alias symbol.
26496         * modules/spawn (Depends-on): Add c++defs.
26497         (Makefile.am): Update spawn.h rule.
26498
26499         signal: Avoid #define replacements in C++ mode.
26500         * lib/signal.in.h: Include c++defs.h.
26501         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26502         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26503         namespaced alias symbol.
26504         * modules/signal (Depends-on): Add c++defs.
26505         (Makefile.am): Update signal.h rule.
26506
26507         search: Avoid #define replacements in C++ mode.
26508         * lib/search.in.h: Include c++defs.h.
26509         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26510         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26511         symbol.
26512         * modules/search (Depends-on): Add c++defs.
26513         (Makefile.am): Update search.h rule.
26514
26515         math: Avoid #define replacements in C++ mode.
26516         * lib/math.in.h: Include c++defs.h.
26517         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26518         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26519         trunc, truncl): In C++, define a namespaced alias symbol.
26520         * modules/math (Depends-on): Add c++defs.
26521         (Makefile.am): Update math.h rule.
26522
26523         locale: Avoid #define replacements in C++ mode.
26524         * lib/locale.in.h: Include c++defs.h.
26525         (duplocale): In C++, define a namespaced alias symbol.
26526         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26527         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26528         * modules/locale (Depends-on): Add c++defs.
26529         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26530
26531         langinfo: Avoid #define replacements in C++ mode.
26532         * lib/langinfo.in.h: Include c++defs.h.
26533         (nl_langinfo): In C++, define a namespaced alias symbol.
26534         * modules/langinfo (Depends-on): Add c++defs.
26535         (Makefile.am): Update langinfo.h rule.
26536
26537         iconv-h: Avoid #define replacements in C++ mode.
26538         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26539         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26540         symbol.
26541         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26542         whenever iconv is present.
26543         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26544         (Makefile.am): Update iconv.h rule.
26545
26546         glob: Avoid #define replacements in C++ mode.
26547         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26548         (_gl_glob_errfunc_fn): New type.
26549         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26550         symbol.
26551         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26552         (Makefile.am): Update glob.h rule.
26553
26554         fcntl-h: Avoid #define replacements in C++ mode.
26555         * lib/fcntl.in.h: Include c++defs.h.
26556         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26557         * modules/fcntl-h (Depends-on): Add c++defs.
26558         (Makefile.am): Update fcntl.h rule.
26559
26560         dirent: Avoid #define replacements in C++ mode.
26561         * lib/dirent.in.h: Include c++defs.h.
26562         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26563         namespaced alias symbol.
26564         (dirfd): Update declaration.
26565         * modules/dirent (Depends-on): Add c++defs.
26566         (Makefile.am): Update dirent.h rule.
26567
26568         ctype: Make it usable in C++ code.
26569         * lib/ctype.in.h: Include c++defs.h.
26570         (isblank): Declare as extern "C".
26571         * modules/ctype (Depends-on): Add c++defs.
26572         (Makefile.am): Update ctype.h rule.
26573
26574         New module 'c++defs'.
26575         * modules/c++defs: New file.
26576         * build-aux/c++defs.h: New file.
26577         Reported by John W. Eaton <jwe@gnu.org>.
26578
26579 2010-03-07  Bruno Haible  <bruno@clisp.org>
26580
26581         logb: Provide missing declaration for Cygwin.
26582         * lib/math.in.h (logb): New declaration.
26583         * m4/logb.m4: New file.
26584         * modules/logb (Files): Add m4/logb.m4.
26585         (Depends-on): Add math.
26586         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26587         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26589         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26590         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26591
26592 2010-03-07  Bruno Haible  <bruno@clisp.org>
26593
26594         Fix test-cond link error.
26595         * tests/test-cond.c: Include <stdio.h>.
26596
26597 2010-03-07  Bruno Haible  <bruno@clisp.org>
26598
26599         Fix test-dirent-safer link error.
26600         * modules/dirent-safer-tests (Makefile.am): Define
26601         test_dirent_safer_LDADD.
26602
26603 2010-03-07  Bruno Haible  <bruno@clisp.org>
26604
26605         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26606         among default module list.
26607
26608 2010-03-07  Bruno Haible  <bruno@clisp.org>
26609
26610         Fix link error on platforms with GNU libiconv.
26611         * modules/unistr/u8-strcoll-tests (Makefile): Define
26612         test_u8_strcoll_LDADD.
26613         * modules/unistr/u16-strcoll-tests (Makefile): Define
26614         test_u16_strcoll_LDADD.
26615         * modules/unistr/u32-strcoll-tests (Makefile): Define
26616         test_u32_strcoll_LDADD.
26617
26618 2010-03-07  Bruno Haible  <bruno@clisp.org>
26619
26620         Use POSIX declarations for socket functions.
26621         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26622         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26623         rpl_sendto): Change declaration to match POSIX.
26624         * lib/connect.c (rpl_connect): Likewise.
26625         * lib/accept.c (rpl_accept): Likewise.
26626         * lib/bind.c (rpl_bind): Likewise.
26627         * lib/getpeername.c (rpl_getpeername): Likewise.
26628         * lib/getsockname.c (rpl_getsockname): Likewise.
26629         * lib/recv.c (rpl_recv): Likewise.
26630         * lib/send.c (rpl_send): Likewise.
26631         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26632         * lib/sendto.c (rpl_sendto): Likewise.
26633
26634 2010-03-06  Bruno Haible  <bruno@clisp.org>
26635
26636         Clarify access, euidaccess, faccessat.
26637         * doc/posix-functions/faccessat.texi: Mention security problem under
26638         "Other problems", not "Portability problems".
26639         * doc/posix-functions/access.texi: Likewise. Mention a related security
26640         problem.
26641         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26642         * lib/euidaccess.c: Add comments about platforms.
26643         * lib/unistd.in.h (access, euidaccess): Add warnings.
26644
26645 2010-03-07  Bruno Haible  <bruno@clisp.org>
26646
26647         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26648         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26649         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26650         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26651         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26652         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26653         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26654         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26655         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26656         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26657         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26658         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26659         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26660         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26661         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26662         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26663         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26664         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26665         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26666         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26667         Likewise.
26668         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26669         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26670         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26671         Likewise.
26672         * tests/test-spawn.c (main): Make it work when
26673         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26674
26675 2010-03-07  Bruno Haible  <bruno@clisp.org>
26676
26677         Fix incorrect Makefile.am generation in German locale.
26678         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26679         Execute sed command with character range in C locale.
26680
26681 2010-03-06  Bruno Haible  <bruno@clisp.org>
26682
26683         Tests for module 'iconv-h'.
26684         * modules/iconv-h-tests: New file.
26685         * tests/test-iconv-h.c: New file.
26686
26687         New module 'iconv-h'.
26688         * modules/iconv-h: New file.
26689         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26690         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26691         (configure.ac): Remove gl_ICONV_H.
26692         (Makefile.am): Remove rule for iconv.h.
26693
26694 2010-03-06  Bruno Haible  <bruno@clisp.org>
26695
26696         More consistent naming of *.m4 files.
26697         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26698         * modules/wctype (Files): Update.
26699
26700         More consistent naming of *.m4 files.
26701         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26702         * modules/wchar (Files): Update.
26703
26704 2010-03-06  Jim Meyering  <meyering@redhat.com>
26705
26706         euidaccess: relax license to LGPLv2+
26707         * modules/euidaccess (License): Relax to LGPLv2+.
26708
26709 2010-03-06  Bruno Haible  <bruno@clisp.org>
26710
26711         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26712         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26713         (Makefile.am): Augment lib_SOURCES instead.
26714
26715 2010-03-04  Jim Meyering  <meyering@redhat.com>
26716
26717         utime: remove obsolete module
26718         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26719         unnecessary for years, and has been marked as obsolete for 10 months.
26720         * modules/utime: Remove file.
26721         * lib/utime.c: Remove file.
26722         * m4/utime.m4: Remove file.
26723         * m4/utimes-null.m4: Remove file.
26724         * doc/posix-functions/utime.texi (utime): Remove reference to
26725         the module.  Move the sole "fixed by gnulib" item into the
26726         "problems not fixed by Gnulib" list.
26727         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26728
26729 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26730
26731         * modules/exit (License): Relax license to LGPLv2+.
26732         (Status): Mark as obsolete.
26733         * NEWS: Mention deprecated 'exit' module.
26734         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26735         of now obsolete 'exit'.
26736
26737 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26738
26739         fts-lgpl: remove unused module
26740         * modules/fts-lgpl: Remove.
26741         * MODULES.html.sh (func_all_modules): Adjust.
26742         * check-module (find_included_lib_files): Adjust.
26743         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26744
26745 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26746
26747         copy-acl: enhance Solaris ACL error handling
26748         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26749         * lib/set-mode-acl.c (qset_acl): Likewise.
26750
26751 2010-03-02  Bruno Haible  <bruno@clisp.org>
26752
26753         spawn: Don't override the system defined values on FreeBSD 8.
26754         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26755         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26756         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26757         if HAVE_POSIX_SPAWN is 1.
26758         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26759
26760 2010-03-01  Bruno Haible  <bruno@clisp.org>
26761
26762         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26763         regarding Automake.
26764
26765 2010-02-25  Bruno Haible  <bruno@clisp.org>
26766
26767         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26768         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26769         setting, not afterwards.
26770         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26771
26772 2010-02-24  Eric Blake  <eblake@redhat.com>
26773
26774         bootstrap, git-version-gen: use timestamp
26775         * build-aux/git-version-gen (scriptversion): Force UTC.
26776         * build-aux/bootstrap (scriptversion): New variable.
26777
26778         bootstrap: allow older git
26779         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26780         older than 1.6.4.  Requested by the libvirt project.
26781
26782 2010-02-23  Eric Blake  <eblake@redhat.com>
26783
26784         warn-on-use: work with old autoconf
26785         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26786         AS_VAR semantics of autoconf 2.60.
26787         Reported by Bruno Haible.
26788
26789         bootstrap: improve some comments
26790         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26791         clarification comments.
26792
26793         gettimeofday: provide correct function
26794         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26795         when replacement is declared, otherwise provide gettimeofday.
26796         Reported by Michael Goffioul.
26797
26798 2010-02-23  Jim Meyering  <meyering@redhat.com>
26799
26800         lib-ignore: relax license to "unlimited", not LGPLv2+
26801         * modules/lib-ignore (License): Relax to "unlimited".
26802
26803 2010-02-23  Jim Meyering  <meyering@redhat.com>
26804
26805         lib-ignore: relax license to LGPLv2+
26806         * modules/lib-ignore (License): Relax to LGPLv2+.
26807
26808 2010-02-22  Eric Blake  <eblake@redhat.com>
26809
26810         lseek: avoid bash 3.2 broken pipe bug
26811         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26812         warning from bash 3.2.
26813         Reported by Ben Pfaff, with analysis from Bruno Haible.
26814
26815         bootstrap: support non-FSF copyright holder
26816         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26817         bootstrap.conf override of COPYRIGHT_HOLDER.
26818         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26819
26820         bootstrap: interoperate with gettext 0.14.1
26821         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26822
26823         bootstrap: allow for alternate submodule location
26824         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26825         hardcoding submodule location.
26826         (gnulib_mk): Allow direct use of Makefile.am.
26827
26828         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26829         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26830         rather than reconfiguring where the submodule points.
26831
26832         gettimeofday: restore support for platforms that lack function
26833         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26834         replacement if function is missing.
26835         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26836         * modules/sys_time (Makefile.am): Substitute it.
26837         * lib/sys_time.in.h (gettimeofday): Check it.
26838         Reported by Michael Goffioul.
26839
26840 2010-02-21  Bruno Haible  <bruno@clisp.org>
26841
26842         * lib/stdio.in.h (obstack_printf): Fix typo.
26843
26844 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26845
26846         vc-list-files: use bzr ls's -R option
26847         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26848         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26849
26850 2010-02-21  Jim Meyering  <meyering@redhat.com>
26851
26852         init.sh: fix EXEEXT shims to work also for names like test-prog
26853         * tests/init.sh: Re-exec a better shell, when needed.
26854         If the current shell lacks support for posix $(...), an init.sh-using
26855         test will now try to find a shell that supports that.  If EXEEXT is
26856         nonempty, we also require support for hyphen-in-alias-name and shell
26857         substitutions like ${var#glob}.  Failure to find such a shell results
26858         in a skipped test.
26859
26860 2010-02-21  Bruno Haible  <bruno@clisp.org>
26861
26862         Really work around around "broken pipe" error message from bash 3.2.
26863         * gnulib-tool (func_reset_sigpipe): Remove function.
26864         (echo): In bash 3.2, define to a function that uses printf.
26865         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26866
26867 2010-02-20  Bruno Haible  <bruno@clisp.org>
26868
26869         Restore support for automake 1.9.6 with autoconf 2.61.
26870         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26871         Reported by James Youngman <jay@gnu.org>.
26872
26873 2010-02-20  Bruno Haible  <bruno@clisp.org>
26874
26875         Improve *printf warning condition.
26876         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26877         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26878         and the function is overridden due to SIGPIPE emulation.
26879
26880 2010-02-20  Bruno Haible  <bruno@clisp.org>
26881
26882         * lib/stdio.in.h: Tweak comments.
26883
26884 2010-02-19  Bruno Haible  <bruno@clisp.org>
26885
26886         Make it easier to find modules. New gnulib-tool option '--find'.
26887         * gnulib-tool: New option --find.
26888         (func_usage): Document it.
26889         (func_sanitize_modulelist): New function, extracted from
26890         func_all_modules.
26891         (func_all_modules): Invoke it.
26892         * doc/gnulib-tool.texi (Which modules?): New node.
26893
26894 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26895
26896         * lib/sys_select.in.h: Provide select replacement even if
26897         sys/select.h exists on a system, for Interix.
26898
26899 2010-02-18  Jim Meyering  <meyering@redhat.com>
26900
26901         init.sh: don't use $(...) just yet
26902         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26903         to accommodate e.g., Solaris' /bin/sh.
26904
26905 2010-02-17  Bruno Haible  <bruno@clisp.org>
26906
26907         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26908         Reported by Ludovic Courtès <ludo@gnu.org>.
26909
26910 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26911
26912         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26913         linking with -lintl.
26914
26915 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26916
26917         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26918         if not provided by the system's netdb.h.  Reported by
26919         ludo@gnu.org (Ludovic Courtès).
26920
26921 2010-02-15  Jim Meyering  <meyering@redhat.com>
26922
26923         init.sh: improve portability and efficiency
26924         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26925         "dummy" in a for loop.
26926         Use '!', not '^' to select the complement of a character set used
26927         in a "case" statement.
26928         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26929         Suggestions from Eric Blake.
26930
26931         init.sh: automatically accommodate programs with the .exe suffix
26932         Automatically arrange for an invocation of "prog" to execute the
26933         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26934         may use the simpler "prog", yet still work when built on a system
26935         that requires specifying the added suffix.
26936         Do this by constructing a function named "prog" that invokes
26937         "prog.exe" for each .exe file in selected directories.
26938         * tests/init.sh (find_exe_basenames_): New function.
26939         (create_exe_shim_functions_): New function.
26940         (path_prepend_): Use it.
26941
26942         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26943         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26944         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26945
26946 2010-02-14  Jim Meyering  <meyering@redhat.com>
26947
26948         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26949         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26950         (sc_prohibit_hash_pjw_without_use): New rule.
26951
26952         maint.mk: allow the default upload destination dir to be overridden
26953         * top/maint.mk (upload_dest_dir_): Define with a default that
26954         preserves the status quo.
26955         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26956         Reported by Peter Simons.
26957
26958         maint.mk: prohibit inclusion of "hash.h" without_use
26959         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26960
26961 2010-02-10  Jim Meyering  <meyering@redhat.com>
26962
26963         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26964         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26965
26966 2010-02-09  Eric Blake  <ebb9@byu.net>
26967         and Bruno Haible  <bruno@clisp.org>
26968
26969         obstack-printf-posix: ensure declaration
26970         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26971         extracted from gl_FUNC_OBSTACK_PRINTF.
26972         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26973         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26974         Likewise.
26975         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26976         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26977         0.
26978
26979 2010-02-08  Bruno Haible  <bruno@clisp.org>
26980
26981         gnulib-tool: Fix typo in 2010-02-07 commit.
26982         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26983         Reported by Eric Blake.
26984
26985 2010-02-07  Bruno Haible  <bruno@clisp.org>
26986
26987         gnulib-tool: Fix up caching patches.
26988         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26989         option --no-cache. Use associative arrays when supported by the shell.
26990         (sed_comments): New variable.
26991         (modcache): Renamed from do_cache.
26992         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26993         abbreviate unnecessarily.
26994         (have_associative): New variable.
26995         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26996         way also for ksh and zsh.
26997         (func_init_sed_convert_to_cache_statements): New function, extracted
26998         from func_cache_lookup_module. Add support for associative arrays.
26999         Don't set the c_MODULE_cached variable here. Ignore all lines before
27000         the first field header. Remove only the final newline, not all trailing
27001         newlines. Support empty fields correctly. Limit the use of 'eval' to
27002         assignments.
27003         (func_get_description, func_get_status, func_get_notice,
27004         func_get_applicability, func_get_filelist, func_get_dependencies,
27005         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
27006         func_get_automake_snippet, func_get_include_directive,
27007         func_get_link_directive, func_get_license, func_get_maintainer):
27008         Update documentation. List the unoptimized code first. Add support for
27009         associative arrays. Limit the use of 'eval' to assignments.
27010         (func_get_applicability): Undo stylistic pessimisations.
27011         (func_get_automake_snippet, func_get_include_directive): Reduce code
27012         duplication.
27013         (func_modules_transitive_closure, func_modules_add_dummy,
27014         func_modules_notice, func_modules_to_filelist, func_add_file,
27015         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
27016         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
27017         func_create_testdir, func_create_megatestdir): Update documentation.
27018
27019 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27020
27021         * gnulib-tool (func_cache_lookup_module): Store the module name
27022         belonging to the cache variable; error out if two different
27023         module names map to the same cache variable name.
27024
27025 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27026
27027         gnulib-tool: Make caching optional.
27028         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
27029         Update matching short versions of --no-changelog.
27030         (func_usage): Update.
27031         (sed_extract_cache_prog): Renamed from ...
27032         (sed_extract_prog): ... this; revert to old extraction script.
27033         (func_get_description, func_get_status)
27034         (func_get_notice, func_get_applicability, func_get_filelist)
27035         (func_get_dependencies, func_get_autoconf_early_snippet)
27036         (func_get_autoconf_snippet, func_get_automake_snippet)
27037         (func_get_include_directive, func_get_link_directive)
27038         (func_get_license, func_get_maintainer): If $do_cache is false,
27039         use old, non-caching extraction scripts.
27040         Suggestion by Bruno Haible.
27041
27042 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27043
27044         gnulib-tool: cache module metainformation.
27045         * gnulib-tool (sed_extract_prog): Match newline before each
27046         header, and rewrite header to a shell variable suffix.
27047         (func_cache_var, func_cache_lookup_module): New functions,
27048         to turn a module name into a cache variable prefix, and to
27049         look up and cache module metainformation.
27050         (func_get_description, func_get_status)
27051         (func_get_notice, func_get_applicability, func_get_filelist)
27052         (func_get_dependencies, func_get_autoconf_early_snippet)
27053         (func_get_autoconf_snippet, func_get_automake_snippet)
27054         (func_get_include_directive, func_get_link_directive)
27055         (func_get_license, func_get_maintainer): Use
27056         func_cache_lookup_module.
27057
27058 2010-02-07  Bruno Haible  <bruno@clisp.org>
27059
27060         fnctl: Fix missing dependency.
27061         * modules/fcntl (Depends-on): Add getdtablesize.
27062         Reported by John W. Eaton <jwe@gnu.org>.
27063
27064 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
27065
27066         Argp: fix recognition of short alias options.
27067
27068         * lib/argp-parse.c (convert_options): Fix improper use of
27069         `|' between character values.
27070         * tests/test-argp.c (group1_option): New alias option
27071         --read (-r).
27072         (group1_parser): Special handling for 'r'.
27073         (test15): New test case.
27074         (test_fun): Add test15.
27075         * tests/test-argp-2.sh: Update expected --help and --usage
27076         outputs.
27077
27078 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
27079
27080         * tests/test-argp.c: Fix indentation.
27081
27082 2010-02-04  Eric Blake  <ebb9@byu.net>
27083
27084         gettimeofday: expose type of second argument
27085         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
27086         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
27087         * tests/test-gettimeofday.c: Use it to silence warning.
27088         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
27089         the issue.
27090
27091 2010-02-03  Jim Meyering  <meyering@redhat.com>
27092
27093         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
27094         * lib/regcomp.c (TYPE_SIGNED): Define.
27095         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
27096
27097         regcomp.c: avoid a new -Wshadow warning
27098         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
27099
27100 2010-02-01  Jim Meyering  <meyering@redhat.com>
27101
27102         removing useless parentheses in cpp #define directives
27103         For motivation, see commit c0221df4, "define STREQ(a,b)
27104         consistently, removing useless parentheses"
27105         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
27106         * lib/mountlist.c (MNT_IGNORE): Likewise.
27107         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
27108
27109 2010-02-01  Eric Blake  <ebb9@byu.net>
27110
27111         sys_time: use link-warning
27112         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
27113         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
27114         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
27115         * modules/sys_time (Depends-on): Add warn-on-use.
27116         (Makefile.am): Always build replacement.
27117         (configure.ac): Update substitutions.
27118         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
27119         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
27120         bother with SYS_TIME_H.
27121         * modules/gettimeofday (configure.ac): Declare indicator.
27122         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
27123         in use.
27124
27125         closein-tests: silence compiler warning
27126         * tests/test-closein.c (main): Ignore fread result.
27127         * modules/closein-tests (Depends-on): Add ignore-value.
27128
27129         tests: silence warning about system return
27130         * tests/test-areadlink-with-size.c (main): Ignore system result.
27131         * tests/test-areadlink.c (main): Likewise.
27132         * tests/test-areadlinkat-with-size.c (main): Likewise.
27133         * tests/test-areadlinkat.c (main): Likewise.
27134         * tests/test-canonicalize-lgpl.c (main): Likewise.
27135         * tests/test-canonicalize.c (main): Likewise.
27136         * tests/test-chown.c (main): Likewise.
27137         * tests/test-fchownat.c (main): Likewise.
27138         * tests/test-fdutimensat.c (main): Likewise.
27139         * tests/test-fstatat.c (main): Likewise.
27140         * tests/test-futimens.c (main): Likewise.
27141         * tests/test-lchown.c (main): Likewise.
27142         * tests/test-link.c (main): Likewise.
27143         * tests/test-linkat.c (main): Likewise.
27144         * tests/test-lstat.c (main): Likewise.
27145         * tests/test-mkdir.c (main): Likewise.
27146         * tests/test-mkdirat.c (main): Likewise.
27147         * tests/test-mkfifo.c (main): Likewise.
27148         * tests/test-mkfifoat.c (main): Likewise.
27149         * tests/test-mknod.c (main): Likewise.
27150         * tests/test-readlink.c (main): Likewise.
27151         * tests/test-remove.c (main): Likewise.
27152         * tests/test-rename.c (main): Likewise.
27153         * tests/test-renameat.c (main): Likewise.
27154         * tests/test-rmdir.c (main): Likewise.
27155         * tests/test-symlink.c (main): Likewise.
27156         * tests/test-symlinkat.c (main): Likewise.
27157         * tests/test-unlink.c (main): Likewise.
27158         * tests/test-unlinkat.c (main): Likewise.
27159         * tests/test-utimens.c (main): Likewise.
27160         * tests/test-utimensat.c (main): Likewise.
27161         * modules/areadlink-tests (Depends-on): Add ignore-value.
27162         * modules/areadlink-with-size-tests (Depends-on): Likewise.
27163         * modules/areadlinkat-tests (Depends-on): Likewise.
27164         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
27165         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
27166         * modules/canonicalize-tests (Depends-on): Likewise.
27167         * modules/chown-tests (Depends-on): Likewise.
27168         * modules/fdutimensat-tests (Depends-on): Likewise.
27169         * modules/futimens-tests (Depends-on): Likewise.
27170         * modules/lchown-tests (Depends-on): Likewise.
27171         * modules/link-tests (Depends-on): Likewise.
27172         * modules/linkat-tests (Depends-on): Likewise.
27173         * modules/lstat-tests (Depends-on): Likewise.
27174         * modules/mkdir-tests (Depends-on): Likewise.
27175         * modules/mkfifo-tests (Depends-on): Likewise.
27176         * modules/mkfifoat-tests (Depends-on): Likewise.
27177         * modules/mknod-tests (Depends-on): Likewise.
27178         * modules/openat-tests (Depends-on): Likewise.
27179         * modules/readlink-tests (Depends-on): Likewise.
27180         * modules/remove-tests (Depends-on): Likewise.
27181         * modules/rename-tests (Depends-on): Likewise.
27182         * modules/renameat-tests (Depends-on): Likewise.
27183         * modules/rmdir-tests (Depends-on): Likewise.
27184         * modules/symlink-tests (Depends-on): Likewise.
27185         * modules/symlinkat-tests (Depends-on): Likewise.
27186         * modules/unlink-tests (Depends-on): Likewise.
27187         * modules/utimens-tests (Depends-on): Likewise.
27188         * modules/utimensat-tests (Depends-on): Likewise.
27189
27190 2010-01-31  Bruno Haible  <bruno@clisp.org>
27191
27192         Perform the same test for many <math.h> functions.
27193         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
27194         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
27195         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
27196         of gl_MATHFUNC.
27197         * modules/acos (configure.ac): Likewise.
27198         * modules/asin (configure.ac): Likewise.
27199         * modules/atan (configure.ac): Likewise.
27200         * modules/atan2 (configure.ac): Likewise.
27201         * modules/cbrt (configure.ac): Likewise.
27202         * modules/copysign (configure.ac): Likewise.
27203         * modules/cos (configure.ac): Likewise.
27204         * modules/cosh (configure.ac): Likewise.
27205         * modules/erf (configure.ac): Likewise.
27206         * modules/erfc (configure.ac): Likewise.
27207         * modules/exp (configure.ac): Likewise.
27208         * modules/fmod (configure.ac): Likewise.
27209         * modules/hypot (configure.ac): Likewise.
27210         * modules/j0 (configure.ac): Likewise.
27211         * modules/j1 (configure.ac): Likewise.
27212         * modules/jn (configure.ac): Likewise.
27213         * modules/lgamma (configure.ac): Likewise.
27214         * modules/log (configure.ac): Likewise.
27215         * modules/log10 (configure.ac): Likewise.
27216         * modules/log1p (configure.ac): Likewise.
27217         * modules/pow (configure.ac): Likewise.
27218         * modules/remainder (configure.ac): Likewise.
27219         * modules/sin (configure.ac): Likewise.
27220         * modules/sinh (configure.ac): Likewise.
27221         * modules/tan (configure.ac): Likewise.
27222         * modules/tanh (configure.ac): Likewise.
27223         * modules/y0 (configure.ac): Likewise.
27224         * modules/y1 (configure.ac): Likewise.
27225         * modules/yn (configure.ac): Likewise.
27226         Suggested by Paolo Bonzini.
27227
27228 2010-01-31  Bruno Haible  <bruno@clisp.org>
27229
27230         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
27231
27232 2010-01-31  Bruno Haible  <bruno@clisp.org>
27233
27234         Work around getdelim() bug on FreeBSD 8.0.
27235         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
27236         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
27237         not work.
27238         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
27239         is 1.
27240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
27241         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
27242         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
27243         a non-zero size.
27244         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
27245
27246 2010-01-31  Bruno Haible  <bruno@clisp.org>
27247
27248         Work around getline() bug on FreeBSD 8.0.
27249         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
27250         and a non-zero size.
27251         * tests/test-getline.c (main): Likewise.
27252         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
27253         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
27254
27255 2010-01-28  Eric Blake  <ebb9@byu.net>
27256
27257         regex: fix build failure
27258         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
27259         platforms.
27260
27261 2010-01-28  Jim Meyering  <meyering@redhat.com>
27262
27263         regex: do not ignore memory allocation failure
27264         * lib/regex_internal.c (create_cd_newstate): Detect
27265         re_node_set_init_copy failure.   Extracted from glibc commit
27266         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27267
27268         regex: sync more white-space changes from libc
27269         * lib/regex_internal.c: White-space only changes.
27270         * lib/regexec.c: Likewise.
27271
27272         regex: add many uses of __attribute_warn_unused_result__
27273         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
27274         * lib/regexec.c: Likewise.
27275         Extracted from a messy glibc commit.
27276
27277         regcomp.c: spelling and merge-artifact from glibc
27278         * lib/regcomp.c: Merge remainder of glibc's
27279         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27280
27281         regcomp.c: sync white-space changes from glibc
27282         * lib/regcomp.c: Merge to accommodate white space
27283         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27284
27285         regcomp.c: do not ignore internal return values
27286         * lib/regcomp.c: Do not ignore internal return values.
27287         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
27288         but without its white-space changes and spelling fixes.
27289
27290         regex_internal.h: define __attribute_warn_unused_result__
27291         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
27292
27293         maint: add a syntax-check rule to check for vulnerable Makefile.in
27294         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
27295
27296 2010-01-27  Jim Meyering  <meyering@redhat.com>
27297
27298         ncftpput-ftp: clean up spaces
27299         * build-aux/ncftpput-ftp: Make Copyright line consistent.
27300         Remove trailing blanks.
27301
27302 2010-01-27  Simon Josefsson  <simon@josefsson.org>
27303
27304         * build-aux/git-version-gen: Fix copyright statement.
27305         * build-aux/gnupload: Likewise.
27306         * tests/test-arcfour.c: Likewise.
27307         * tests/test-arctwo.c: Likewise.
27308         * tests/test-count-one-bits.c: Likewise.
27309         * tests/test-crc.c: Likewise.
27310         * tests/test-des.c: Likewise.
27311         * tests/test-gc-arcfour.c: Likewise.
27312         * tests/test-gc-arctwo.c: Likewise.
27313         * tests/test-gc-des.c: Likewise.
27314         * tests/test-gc-hmac-md5.c: Likewise.
27315         * tests/test-gc-hmac-sha1.c: Likewise.
27316         * tests/test-gc-md2.c: Likewise.
27317         * tests/test-gc-md4.c: Likewise.
27318         * tests/test-gc-md5.c: Likewise.
27319         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27320         * tests/test-gc-rijndael.c: Likewise.
27321         * tests/test-gc-sha1.c: Likewise.
27322         * tests/test-gc.c: Likewise.
27323         * tests/test-gethostname.c: Likewise.
27324         * tests/test-gettimeofday.c: Likewise.
27325         * tests/test-hash.c: Likewise.
27326         * tests/test-hmac-md5.c: Likewise.
27327         * tests/test-hmac-sha1.c: Likewise.
27328         * tests/test-md2.c: Likewise.
27329         * tests/test-md4.c: Likewise.
27330         * tests/test-md5.c: Likewise.
27331         * tests/test-memchr.c: Likewise.
27332         * tests/test-memchr2.c: Likewise.
27333         * tests/test-memcmp.c: Likewise.
27334         * tests/test-memmem.c: Likewise.
27335         * tests/test-memrchr.c: Likewise.
27336         * tests/test-rawmemchr.c: Likewise.
27337         * tests/test-read-file.c: Likewise.
27338         * tests/test-rijndael.c: Likewise.
27339         * tests/test-sockets.c: Likewise.
27340         * tests/test-strchrnul.c: Likewise.
27341         * tests/test-strstr.c: Likewise.
27342         * tests/test-strtod.c: Likewise.
27343         * build-aux/ncftpput-ftp: Likewise.
27344
27345 2010-01-26  Eric Blake  <ebb9@byu.net>
27346
27347         ignore-value: update recommended header name
27348         * modules/ignore-value (Include): Only use <> for headers that
27349         exist in glibc.
27350
27351 2010-01-26  Jim Meyering  <meyering@redhat.com>
27352
27353         test-userspec.c: avoid compiler warnings
27354         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
27355         and "initialization discards qualifiers..." warnings.
27356         Put the first "uid" in its own scope, and make char* members "const".
27357
27358 2010-01-25  Bruno Haible  <bruno@clisp.org>
27359
27360         gnulib-tool: Make warning diagnostics consistent.
27361         * gnulib-tool (func_warning): New function.
27362         Use it everywhere where gnulib-tool produces output to stderr and it is
27363         not a fatal error.
27364
27365 2010-01-25  Bruno Haible  <bruno@clisp.org>
27366
27367         Fix test dependencies.
27368         * modules/xstrtol-tests (Depends-on): Add inttypes.
27369         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
27370
27371 2010-01-25 Pádraig Brady <P@draigBrady.com>
27372
27373         syntax-check: detect incorrect boolean macro values in config.h
27374         * modules/maintainer-makefile (configure.ac): Parameterize the location
27375         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
27376         The logic is from Eric Blake and the location indicated by Jim Meyering.
27377         Note the more natural CONFIG_HEADER name is prohibited by automake
27378         for backwards compatibility reasons.
27379         * top/maint.mk (sc_Wundef_boolean): New rule.
27380
27381 2010-01-25  Jim Meyering  <meyering@redhat.com>
27382
27383         bootstrap: detect MacOS 10.6's shasum, too
27384         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
27385         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
27386
27387 2010-01-23  Jim Meyering  <meyering@redhat.com>
27388
27389         xstrtoll: new module
27390         * modules/xstrtoll: New file.
27391         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
27392         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
27393         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
27394         ./configure fails if you use this module and lack "long long".
27395         * modules/xstrtoll-tests: New module.
27396         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
27397         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
27398         new init.sh-based test framework.
27399
27400 2010-01-24  Bruno Haible  <bruno@clisp.org>
27401
27402         Tests for module 'yn'.
27403         * modules/yn-tests: New file.
27404         * tests/test-yn.c: New file.
27405
27406         Tests for module 'y1'.
27407         * modules/y1-tests: New file.
27408         * tests/test-y1.c: New file.
27409
27410         Tests for module 'y0'.
27411         * modules/y0-tests: New file.
27412         * tests/test-y0.c: New file.
27413
27414         Tests for module 'tanh'.
27415         * modules/tanh-tests: New file.
27416         * tests/test-tanh.c: New file.
27417
27418         Tests for module 'tan'.
27419         * modules/tan-tests: New file.
27420         * tests/test-tan.c: New file.
27421
27422         Tests for module 'sqrt'.
27423         * modules/sqrt-tests: New file.
27424         * tests/test-sqrt.c: New file.
27425
27426         Tests for module 'sinh'.
27427         * modules/sinh-tests: New file.
27428         * tests/test-sinh.c: New file.
27429
27430         Tests for module 'sin'.
27431         * modules/sin-tests: New file.
27432         * tests/test-sin.c: New file.
27433
27434         Tests for module 'rint'.
27435         * modules/rint-tests: New file.
27436         * tests/test-rint.c: New file.
27437
27438         Tests for module 'remainder'.
27439         * modules/remainder-tests: New file.
27440         * tests/test-remainder.c: New file.
27441
27442         Tests for module 'pow'.
27443         * modules/pow-tests: New file.
27444         * tests/test-pow.c: New file.
27445
27446         Tests for module 'nextafter'.
27447         * modules/nextafter-tests: New file.
27448         * tests/test-nextafter.c: New file.
27449
27450         Tests for module 'modf'.
27451         * modules/modf-tests: New file.
27452         * tests/test-modf.c: New file.
27453
27454         Tests for module 'logb'.
27455         * modules/logb-tests: New file.
27456         * tests/test-logb.c: New file.
27457
27458         Tests for module 'log1p'.
27459         * modules/log1p-tests: New file.
27460         * tests/test-log1p.c: New file.
27461
27462         Tests for module 'log10'.
27463         * modules/log10-tests: New file.
27464         * tests/test-log10.c: New file.
27465
27466         Tests for module 'log'.
27467         * modules/log-tests: New file.
27468         * tests/test-log.c: New file.
27469
27470         Tests for module 'lgamma'.
27471         * modules/lgamma-tests: New file.
27472         * tests/test-lgamma.c: New file.
27473
27474         Tests for module 'ldexp'.
27475         * modules/ldexp-tests: New file.
27476         * tests/test-ldexp.c: New file.
27477
27478         Tests for module 'jn'.
27479         * modules/jn-tests: New file.
27480         * tests/test-jn.c: New file.
27481
27482         Tests for module 'j1'.
27483         * modules/j1-tests: New file.
27484         * tests/test-j1.c: New file.
27485
27486         Tests for module 'j0'.
27487         * modules/j0-tests: New file.
27488         * tests/test-j0.c: New file.
27489
27490         Tests for module 'hypot'.
27491         * modules/hypot-tests: New file.
27492         * tests/test-hypot.c: New file.
27493
27494         Tests for module 'fmod'.
27495         * modules/fmod-tests: New file.
27496         * tests/test-fmod.c: New file.
27497
27498         Tests for module 'fabs'.
27499         * modules/fabs-tests: New file.
27500         * tests/test-fabs.c: New file.
27501
27502         Tests for module 'exp'.
27503         * modules/exp-tests: New file.
27504         * tests/test-exp.c: New file.
27505
27506         Tests for module 'erfc'.
27507         * modules/erfc-tests: New file.
27508         * tests/test-erfc.c: New file.
27509
27510         Tests for module 'erf'.
27511         * modules/erf-tests: New file.
27512         * tests/test-erf.c: New file.
27513
27514         Tests for module 'cosh'.
27515         * modules/cosh-tests: New file.
27516         * tests/test-cosh.c: New file.
27517
27518         Tests for module 'cos'.
27519         * modules/cos-tests: New file.
27520         * tests/test-cos.c: New file.
27521
27522         Tests for module 'copysign'.
27523         * modules/copysign-tests: New file.
27524         * tests/test-copysign.c: New file.
27525
27526         Tests for module 'cbrt'.
27527         * modules/cbrt-tests: New file.
27528         * tests/test-cbrt.c: New file.
27529
27530         Tests for module 'atan2'.
27531         * modules/atan2-tests: New file.
27532         * tests/test-atan2.c: New file.
27533
27534         Tests for module 'atan'.
27535         * modules/atan-tests: New file.
27536         * tests/test-atan.c: New file.
27537
27538         Tests for module 'asin'.
27539         * modules/asin-tests: New file.
27540         * tests/test-asin.c: New file.
27541
27542         Tests for module 'acos'.
27543         * modules/acos-tests: New file.
27544         * tests/test-acos.c: New file.
27545
27546 2010-01-24  Bruno Haible  <bruno@clisp.org>
27547
27548         Fix tests for common <math.h> functions.
27549         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27550         code snippet that references the function pointer, rather than merely
27551         calling the function. Substitute the FUNC_LIBM variable.
27552         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27553         * modules/acos (configure.ac): Likewise.
27554         * modules/asin (configure.ac): Likewise.
27555         * modules/atan (configure.ac): Likewise.
27556         * modules/atan2 (configure.ac): Likewise.
27557         * modules/cbrt (configure.ac): Likewise.
27558         * modules/copysign (configure.ac): Likewise.
27559         * modules/cos (configure.ac): Likewise.
27560         * modules/cosh (configure.ac): Likewise.
27561         * modules/erf (configure.ac): Likewise.
27562         * modules/erfc (configure.ac): Likewise.
27563         * modules/exp (configure.ac): Likewise.
27564         * modules/fabs (configure.ac): Likewise.
27565         * modules/fmod (configure.ac): Likewise.
27566         * modules/hypot (configure.ac): Likewise.
27567         * modules/j0 (configure.ac): Likewise.
27568         * modules/j1 (configure.ac): Likewise.
27569         * modules/jn (configure.ac): Likewise.
27570         * modules/ldexp (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/logb (configure.ac): Likewise.
27576         * modules/modf (configure.ac): Likewise.
27577         * modules/nextafter (configure.ac): Likewise.
27578         * modules/pow (configure.ac): Likewise.
27579         * modules/remainder (configure.ac): Likewise.
27580         * modules/rint (configure.ac): Likewise.
27581         * modules/sin (configure.ac): Likewise.
27582         * modules/sinh (configure.ac): Likewise.
27583         * modules/tan (configure.ac): Likewise.
27584         * modules/tanh (configure.ac): Likewise.
27585         * modules/y0 (configure.ac): Likewise.
27586         * modules/y1 (configure.ac): Likewise.
27587         * modules/yn (configure.ac): Likewise.
27588
27589 2010-01-24  Bruno Haible  <bruno@clisp.org>
27590
27591         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27592         * tests/test-acosl.c (x): New variable.
27593         (main): Store argument in x and fetch it from x.
27594         * tests/test-asinl.c (x): New variable.
27595         (main): Store argument in x and fetch it from x.
27596         * tests/test-atanl.c (x): New variable.
27597         (main): Store argument in x and fetch it from x.
27598         * tests/test-cosl.c (x): New variable.
27599         (main): Store argument in x and fetch it from x.
27600         * tests/test-expl.c (x): New variable.
27601         (main): Store argument in x and fetch it from x.
27602         * tests/test-logl.c (x): New variable.
27603         (main): Store argument in x and fetch it from x.
27604         * tests/test-sinl.c (x): New variable.
27605         (main): Store argument in x and fetch it from x.
27606         * tests/test-sqrtl.c (x): New variable.
27607         (main): Store argument in x and fetch it from x.
27608         * tests/test-tanl.c (x): New variable.
27609         (main): Store argument in x and fetch it from x.
27610
27611 2010-01-24  Bruno Haible  <bruno@clisp.org>
27612
27613         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27614         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27615         assignments to the initial TESTS_ENVIRONMENT.
27616         * doc/gnulib.texi (Unit test modules): Document it.
27617         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27618         TESTS_ENVIRONMENT.
27619         * modules/btowc-tests (Makefile.am): Likewise.
27620         * modules/c-stack-tests (Makefile.am): Likewise.
27621         * modules/c-strcase-tests (Makefile.am): Likewise.
27622         * modules/copy-file-tests (Makefile.am): Likewise.
27623         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27624         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27625         * modules/mbrtowc-tests (Makefile.am): Likewise.
27626         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27627         * modules/mbscasestr-tests (Makefile.am): Likewise.
27628         * modules/mbschr-tests (Makefile.am): Likewise.
27629         * modules/mbscspn-tests (Makefile.am): Likewise.
27630         * modules/mbsinit-tests (Makefile.am): Likewise.
27631         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27632         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27633         * modules/mbspbrk-tests (Makefile.am): Likewise.
27634         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27635         * modules/mbsrchr-tests (Makefile.am): Likewise.
27636         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27637         * modules/mbsspn-tests (Makefile.am): Likewise.
27638         * modules/mbsstr-tests (Makefile.am): Likewise.
27639         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27640         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27641         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27642         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27643         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27644         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27645         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27646         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27647         * modules/wcrtomb-tests (Makefile.am): Likewise.
27648         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27649         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27650         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27651         assignments from TESTS_ENVIRONMENT.
27652         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27653         augmentation.
27654         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27655         * modules/atexit-tests (Makefile.am): Likewise.
27656         * modules/binary-io-tests (Makefile.am): Likewise.
27657         * modules/closein-tests (Makefile.am): Likewise.
27658         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27659         * modules/exclude-tests (Makefile.am): Likewise.
27660         * modules/fflush-tests (Makefile.am): Likewise.
27661         * modules/fpending-tests (Makefile.am): Likewise.
27662         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27663         * modules/freadahead-tests (Makefile.am): Likewise.
27664         * modules/freadptr-tests (Makefile.am): Likewise.
27665         * modules/freadseek-tests (Makefile.am): Likewise.
27666         * modules/fseek-tests (Makefile.am): Likewise.
27667         * modules/fseeko-tests (Makefile.am): Likewise.
27668         * modules/ftell-tests (Makefile.am): Likewise.
27669         * modules/ftello-tests (Makefile.am): Likewise.
27670         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27671         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27672         * modules/lseek-tests (Makefile.am): Likewise.
27673         * modules/parse-duration-tests (Makefile.am): Likewise.
27674         * modules/perror-tests (Makefile.am): Likewise.
27675         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27676         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27677         * modules/pipe-tests (Makefile.am): Likewise.
27678         * modules/pread-tests (Makefile.am): Likewise.
27679         * modules/printf-posix-tests (Makefile.am): Likewise.
27680         * modules/select-tests (Makefile.am): Likewise.
27681         * modules/sigpipe-tests (Makefile.am): Likewise.
27682         * modules/tsearch-tests (Makefile.am): Likewise.
27683         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27684         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27685         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27686         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27687         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27688         * modules/version-etc-tests (Makefile.am): Likewise.
27689         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27690         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27691         * modules/xalloc-die-tests (Makefile.am): Likewise.
27692         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27693         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27694         * modules/xstrtol-tests (Makefile.am): Likewise.
27695         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27696         * modules/yesno-tests (Makefile.am): Likewise.
27697         Suggested by Jim Meyering.
27698
27699 2010-01-24  Bruno Haible  <bruno@clisp.org>
27700
27701         More documentation.
27702         * doc/gnulib.texi (Writing modules): New chapter.
27703         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27704         the new chapter.
27705
27706 2010-01-24  Jim Meyering  <meyering@redhat.com>
27707
27708         maint.mk: do not prepend "./" after filtering
27709         * top/maint.mk (_prepend_srcdir_prefix): New variable
27710         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27711         "./" when $(srcdir) is ".".
27712
27713         define STREQ(a,b) consistently, removing useless parentheses
27714         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27715         since the only risk is that "a" or "b" contains an unparenthesized
27716         comma, but if either did that, STREQ would have 3 or more arguments.
27717         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27718         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27719         * lib/hash-triple.c (STREQ): Likewise.
27720         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27721         * lib/getugroups.c (STREQ): Likewise.
27722
27723 2010-01-23  Jim Meyering  <meyering@redhat.com>
27724
27725         maint.mk: fix syntax-check in a non-srcdir build directory
27726         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27727         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27728
27729 2010-01-22  Jim Meyering  <meyering@redhat.com>
27730
27731         userspec: add unit tests
27732         * tests/test-userspec.c: New file.
27733         * modules/userspec-tests: Likewise.
27734
27735 2010-01-21  Jim Meyering  <meyering@redhat.com>
27736
27737         maint.mk: handle source file names containing "." robustly
27738         * top/maint.mk (_dot_escaped_srcdir): Define.
27739         (VC_LIST): Use it in LHS of sed substitution.
27740
27741 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27742
27743         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27744         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27745         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27746         from a non-srcdir build.
27747
27748 2010-01-20  Eric Blake  <ebb9@byu.net>
27749
27750         warn-on-use: use instead of link-warning
27751         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27752         * modules/unistd (Depends-on, Makefile.am): Likewise.
27753         * modules/arpa_inet (Depends-on): Replace link-warning with
27754         warn-on-use.
27755         (Makefile.am): Update rules accordingly.
27756         * modules/ctype (Depends-on, Makefile.am): Likewise.
27757         * modules/dirent (Depends-on, Makefile.am): Likewise.
27758         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27759         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27760         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27761         * modules/locale (Depends-on, Makefile.am): Likewise.
27762         * modules/math (Depends-on, Makefile.am): Likewise.
27763         * modules/search (Depends-on, Makefile.am): Likewise.
27764         * modules/signal (Depends-on, Makefile.am): Likewise.
27765         * modules/spawn (Depends-on, Makefile.am): Likewise.
27766         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27767         * modules/string (Depends-on, Makefile.am): Likewise.
27768         * modules/strings (Depends-on, Makefile.am): Likewise.
27769         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27770         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27771         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27772         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27773         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27774         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27775         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27776         * modules/wchar (Depends-on, Makefile.am): Likewise.
27777         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27778         should be poisoned.
27779         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27780         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27781         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27782         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27783         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27784         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27785         * m4/math_h.m4 (gl_MATH_H): Likewise.
27786         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27787         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27788         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27789         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27790         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27791         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27792         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27793         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27794         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27795         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27796         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27797         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27798         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27799         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27800         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27801         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27802         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27803         GL_LINK_WARNING.
27804         * lib/ctype.in.h: Likewise.
27805         * lib/dirent.in.h: Likewise.
27806         * lib/fcntl.in.h: Likewise.
27807         * lib/inttypes.in.h: Likewise.
27808         * lib/langinfo.in.h: Likewise.
27809         * lib/locale.in.h: Likewise.
27810         * lib/math.in.h: Likewise.
27811         * lib/search.in.h: Likewise.
27812         * lib/signal.in.h: Likewise.
27813         * lib/spawn.in.h: Likewise.
27814         * lib/stdio.in.h: Likewise.
27815         * lib/stdlib.in.h: Likewise.
27816         * lib/string.in.h: Likewise.
27817         * lib/strings.in.h: Likewise.
27818         * lib/sys_file.in.h: Likewise.
27819         * lib/sys_ioctl.in.h: Likewise.
27820         * lib/sys_select.in.h: Likewise.
27821         * lib/sys_socket.in.h: Likewise.
27822         * lib/sys_stat.in.h: Likewise.
27823         * lib/sys_times.in.h: Likewise.
27824         * lib/sys_utsname.in.h: Likewise.
27825         * lib/unistd.in.h: Likewise.
27826         * lib/wchar.in.h: Likewise.
27827
27828 2010-01-20  Bruno Haible  <bruno@clisp.org>
27829
27830         Avoid duplicate -lm.
27831         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27832         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27833         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27834         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27835         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27836         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27837         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27838         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27839         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27840         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27841         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27842         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27843         Reported by Paolo Bonzini.
27844
27845 2010-01-19  Bruno Haible  <bruno@clisp.org>
27846
27847         langinfo, nl_langinfo: Relicense under LGPLv2+.
27848         * modules/langinfo (License): Change to LGPLv2+.
27849         * modules/nl_langinfo (License): Likewise.
27850         Patch by David Lutterkort <lutter@redhat.com>.
27851
27852 2010-01-19  Bruno Haible  <bruno@clisp.org>
27853
27854         Avoid compilation error with cc on OSF/1 5.1.
27855         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27856         statement, not before.
27857         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27858
27859 2010-01-18  Bruno Haible  <bruno@clisp.org>
27860
27861         Avoid a link error due to the __printf__ symbol.
27862         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27863         and 2.6.x.
27864         (__format__, __printf__): Remove definitions.
27865         * lib/argp-fmtstream.h: Likewise.
27866         * lib/argp.h: Likewise.
27867         * lib/error.h: Likewise.
27868         * lib/vasnprintf.h: Likewise.
27869         * lib/xprintf.h: Likewise.
27870         * lib/xvasprintf.h: Likewise.
27871         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27872
27873 2010-01-18  Bruno Haible  <bruno@clisp.org>
27874
27875         Tests for module 'tanl'.
27876         * modules/tanl-tests: New file.
27877         * tests/test-tanl.c: New file.
27878
27879         Tests for module 'sqrtl'.
27880         * modules/sqrtl-tests: New file.
27881         * tests/test-sqrtl.c: New file.
27882
27883         Tests for module 'sinl'.
27884         * modules/sinl-tests: New file.
27885         * tests/test-sinl.c: New file.
27886
27887         Tests for module 'logl'.
27888         * modules/logl-tests: New file.
27889         * tests/test-logl.c: New file.
27890
27891         Tests for module 'expl'.
27892         * modules/expl-tests: New file.
27893         * tests/test-expl.c: New file.
27894
27895         Tests for module 'cosl'.
27896         * modules/cosl-tests: New file.
27897         * tests/test-cosl.c: New file.
27898
27899         Tests for module 'atanl'.
27900         * modules/atanl-tests: New file.
27901         * tests/test-atanl.c: New file.
27902
27903         Tests for module 'asinl'.
27904         * modules/asinl-tests: New file.
27905         * tests/test-asinl.c: New file.
27906
27907         Tests for module 'acosl'.
27908         * modules/acosl-tests: New file.
27909         * tests/test-acosl.c: New file.
27910
27911         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27912         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27913         tanl): Use the standard gnulib idiom.
27914         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27915         * lib/sinl.c: Likewise.
27916         * lib/tanl.c: Don't include trigl.c.
27917         (kernel_tanl): Make static.
27918         * lib/sincosl.c: Include trigl.h first.
27919         * lib/trigl.c: Likewise.
27920         * m4/acosl.m4: New file.
27921         * m4/asinl.m4: New file.
27922         * m4/atanl.m4: New file.
27923         * m4/cosl.m4: New file.
27924         * m4/expl.m4: New file.
27925         * m4/logl.m4: New file.
27926         * m4/sinl.m4: New file.
27927         * m4/sqrtl.m4: New file.
27928         * m4/tanl.m4: New file.
27929         * m4/mathl.m4: Remove file.
27930         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27931         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27932         Don't initialize GNULIB_MATHL.
27933         * modules/acosl: New file.
27934         * modules/asinl: New file.
27935         * modules/atanl: New file.
27936         * modules/cosl: New file.
27937         * modules/expl: New file.
27938         * modules/logl: New file.
27939         * modules/sinl: New file.
27940         * modules/sqrtl: New file.
27941         * modules/tanl: New file.
27942         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27943         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27944         substitute GNULIB_MATHL.
27945         * modules/mathl: Rewritten.
27946         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27947         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27948         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27949         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27950         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27951         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27952         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27953         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27954         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27955
27956 2010-01-18  Bruno Haible  <bruno@clisp.org>
27957
27958         sqrt: Make gl_FUNC_SQRT requirable.
27959         * m4/sqrt.m4: New file.
27960         * modules/sqrt (Files): Add it.
27961         (configure.ac): Invoke gl_FUNC_SQRT.
27962
27963 2010-01-18  Bruno Haible  <bruno@clisp.org>
27964
27965         New modules for common <math.h> functions.
27966         * m4/mathfunc.m4: New file.
27967         * modules/acos: New file.
27968         * modules/asin: New file.
27969         * modules/atan: New file.
27970         * modules/atan2: New file.
27971         * modules/cbrt: New file.
27972         * modules/copysign: New file.
27973         * modules/cos: New file.
27974         * modules/cosh: New file.
27975         * modules/erf: New file.
27976         * modules/erfc: New file.
27977         * modules/exp: New file.
27978         * modules/fabs: New file.
27979         * modules/fmod: New file.
27980         * modules/hypot: New file.
27981         * modules/j0: New file.
27982         * modules/j1: New file.
27983         * modules/jn: New file.
27984         * modules/ldexp: New file.
27985         * modules/lgamma: New file.
27986         * modules/log: New file.
27987         * modules/log10: New file.
27988         * modules/log1p: New file.
27989         * modules/logb: New file.
27990         * modules/modf: New file.
27991         * modules/nextafter: New file.
27992         * modules/pow: New file.
27993         * modules/remainder: New file.
27994         * modules/rint: New file.
27995         * modules/sin: New file.
27996         * modules/sinh: New file.
27997         * modules/sqrt: New file.
27998         * modules/tan: New file.
27999         * modules/tanh: New file.
28000         * modules/y0: New file.
28001         * modules/y1: New file.
28002         * modules/yn: New file.
28003         * doc/posix-functions/acos.texi: Mention the 'acos' module.
28004         * doc/posix-functions/asin.texi: Mention the 'asin' module.
28005         * doc/posix-functions/atan.texi: Mention the 'atan' module.
28006         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
28007         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
28008         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
28009         * doc/posix-functions/cos.texi: Mention the 'cos' module.
28010         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
28011         * doc/posix-functions/erf.texi: Mention the 'erf' module.
28012         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
28013         * doc/posix-functions/exp.texi: Mention the 'exp' module.
28014         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
28015         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
28016         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
28017         * doc/posix-functions/j0.texi: Mention the 'j0' module.
28018         * doc/posix-functions/j1.texi: Mention the 'j1' module.
28019         * doc/posix-functions/jn.texi: Mention the 'jn' module.
28020         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
28021         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
28022         * doc/posix-functions/log.texi: Mention the 'log' module.
28023         * doc/posix-functions/log10.texi: Mention the 'log10' module.
28024         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
28025         * doc/posix-functions/logb.texi: Mention the 'logb' module.
28026         * doc/posix-functions/modf.texi: Mention the 'modf' module.
28027         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
28028         * doc/posix-functions/pow.texi: Mention the 'pow' module.
28029         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
28030         * doc/posix-functions/rint.texi: Mention the 'rint' module.
28031         * doc/posix-functions/sin.texi: Mention the 'sin' module.
28032         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
28033         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
28034         * doc/posix-functions/tan.texi: Mention the 'tan' module.
28035         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
28036         * doc/posix-functions/y0.texi: Mention the 'y0' module.
28037         * doc/posix-functions/y1.texi: Mention the 'y1' module.
28038         * doc/posix-functions/yn.texi: Mention the 'yn' module.
28039
28040 2010-01-18  Jim Meyering  <meyering@redhat.com>
28041
28042         ignore-value: relax license to LGPLv2+
28043         * modules/ignore-value (License): Relax to LGPLv2+.
28044
28045         getdate: don't leak when TZ contains two or more '"'s
28046         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
28047         double quote in TZ after the first one.
28048
28049         readtokens: do not leak internal token_lengths buffer
28050         * lib/readtokens.c (readtokens): Free the local, lengths,
28051         when the supplied "token_lengths" parameter is NULL.
28052
28053 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28054
28055         Fix a couple of missing LIBTHREAD link failures on AIX.
28056         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
28057         $(LIBTHREAD).
28058         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
28059
28060         Link test-poll against INET_PTON_LIB.
28061         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
28062         for inet_pton on Solaris 10.
28063
28064 2010-01-17  Bruno Haible  <bruno@clisp.org>
28065
28066         unistdio/*-sprintf: Fix typo in module description.
28067         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
28068         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
28069         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
28070         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
28071         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
28072         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
28073         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
28074         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28075
28076 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28077
28078         gnulib-tool: fix filelist for AIX, HP-UX ksh.
28079         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
28080         variables in shell case patterns, for AIX and HP-UX ksh.
28081
28082         Split large sed scripts, for HP-UX sed.
28083         * modules/stdio: Split sed scripts around 50 sed commands,
28084         to avoid HP-UX limit of 99 commands, in the near future.
28085         * modules/string: Likewise.
28086         * modules/unistd: Likewise.
28087
28088         gnulib-tool: avoid writing in the current directory.
28089         * gnulib-tool (func_emit_lib_Makefile_am)
28090         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
28091         not in the current directory, so concurrent gnulib-tool
28092         instances do not interfere.
28093
28094 2010-01-16  Jim Meyering  <meyering@redhat.com>
28095
28096         doc: update users.txt
28097         * users.txt: Add grep.
28098         (diffutils, gzip): Update URLs.
28099
28100 2010-01-12  Bruno Haible  <bruno@clisp.org>
28101
28102         posix_spawn: Avoid test failure on Cygwin.
28103         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
28104         characters.
28105         Reported by Simon Josefsson.
28106
28107 2010-01-12  Bruno Haible  <bruno@clisp.org>
28108
28109         * tests/test-cond.c (main): When skipping the test, show the reason.
28110
28111 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28112
28113         * lib/striconv.c (str_cd_iconv): Avoid if before free.
28114
28115 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28116
28117         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
28118         VC_LIST_ALWAYS_EXCLUDE_REGEX.
28119
28120 2010-01-12  Eric Blake  <ebb9@byu.net>
28121
28122         build: guarantee AS_VAR_IF
28123         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
28124         (gl_AS_VAR_IF): Move...
28125         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
28126         Reported by Simon Josefsson.
28127
28128 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28129
28130         * lib/stdio.in.h: Fix typo.
28131
28132 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28133
28134         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
28135         libgpg-error.
28136
28137 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28138
28139         * tests/test-xalloc-die.sh: Use $EXEEXT.
28140
28141 2010-01-12  Simon Josefsson  <simon@josefsson.org>
28142             Bruno Haible  <bruno@clisp.org>
28143
28144         getlogin, getlogin_r: Avoid test failure.
28145         * tests/test-getlogin.c: Include <stdio.h>.
28146         (main): Skip the test when the function fails because stdin is not a
28147         tty.
28148         * tests/test-getlogin_r.c: Include <stdio.h>.
28149         (main): Skip the test when the function fails because stdin is not a
28150         tty.
28151
28152 2010-01-11  Eric Blake  <ebb9@byu.net>
28153
28154         tests: avoid more large file warnings
28155         * tests/test-fflush.c: Avoid warning about ftell use.
28156         * tests/test-fseek.c: Avoid warning about fseek use.
28157
28158 2010-01-10  Bruno Haible  <bruno@clisp.org>
28159
28160         nproc: Work better on Linux when /proc and /sys are not mounted.
28161         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
28162         as lower bound when, on glibc/Linux systems,
28163         sysconf (_SC_NPROCESSORS_CONF) returns 1.
28164         Suggested by Pádraig Brady <P@draigbrady.com>.
28165         Reported by Dmitry V. Levin <ldv@altlinux.org>.
28166
28167         nproc: Refactor.
28168         * lib/nproc.c (num_processors_via_affinity_mask): New function,
28169         extracted from num_processors.
28170         (num_processors): Call it.
28171
28172 2010-01-11  Jim Meyering  <meyering@redhat.com>
28173
28174         utimecmp: avoid new warning from upcoming gcc-4.5.0
28175         * lib/utimecmp.c (BILLION): Define using #define rather than an
28176         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
28177
28178 2010-01-11  Eric Blake  <ebb9@byu.net>
28179
28180         math: add portability warnings for classification macros
28181         * modules/math (Depends-on): Add warn-on-use.
28182         (Makefile.am): Provide new substitutions.
28183         * m4/math_h.m4 (gl_MATH_H): Require inline.
28184         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
28185         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
28186         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
28187         implement warnings.
28188
28189         unistd: warn on use of environ without module
28190         * modules/unistd (Depends-on): Add warn-on-use.
28191         (Makefile.am): Provide new substitutions.
28192         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
28193         * lib/unistd.in.h (environ): Wrap with a warning helper function.
28194
28195         stdio: warn on suspicious uses
28196         * modules/stdio (Depends-on): Add warn-on-use.
28197         (Makefile.am): Provide new substitutions.
28198         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
28199         fseeko.
28200         * lib/stdio.in.h (gets): Always warn on use.
28201         (fseek, ftell): Adjust when warnings are issued, and honor
28202         _GL_NO_LARGE_FILES as a way to silence the warning.
28203         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
28204         any warning about large file offsets.
28205         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
28206         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
28207         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
28208         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
28209         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
28210         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
28211         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
28212         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
28213
28214         warn-on-use: new module
28215         * modules/warn-on-use: New file.
28216         * build-aux/warn-on-use.h: Likewise.
28217         * m4/warn-on-use.m4: Likewise.
28218         * MODULES.html.sh (Support for building): Mention it.
28219
28220 2010-01-10  Bruno Haible  <bruno@clisp.org>
28221
28222         Tests for module 'unistr/u32-strdup'.
28223         * modules/unistr/u32-strdup-tests: New file.
28224         * tests/unistr/test-u32-strdup.c: New file.
28225
28226         Tests for module 'unistr/u16-strdup'.
28227         * modules/unistr/u16-strdup-tests: New file.
28228         * tests/unistr/test-u16-strdup.c: New file.
28229
28230         Tests for module 'unistr/u8-strdup'.
28231         * modules/unistr/u8-strdup-tests: New file.
28232         * tests/unistr/test-u8-strdup.c: New file.
28233         * tests/unistr/test-strdup.h: New file.
28234
28235         Tests for module 'unistr/u32-strncmp'.
28236         * modules/unistr/u32-strncmp-tests: New file.
28237         * tests/unistr/test-u32-strncmp.c: New file.
28238
28239         Tests for module 'unistr/u16-strncmp'.
28240         * modules/unistr/u16-strncmp-tests: New file.
28241         * tests/unistr/test-u16-strncmp.c: New file.
28242
28243         Tests for module 'unistr/u8-strncmp'.
28244         * modules/unistr/u8-strncmp-tests: New file.
28245         * tests/unistr/test-u8-strncmp.c: New file.
28246         * tests/unistr/test-strncmp.h: New file.
28247
28248         Tests for module 'unistr/u32-strcoll'.
28249         * modules/unistr/u32-strcoll-tests: New file.
28250         * tests/unistr/test-u32-strcoll.c: New file.
28251
28252         Tests for module 'unistr/u16-strcoll'.
28253         * modules/unistr/u16-strcoll-tests: New file.
28254         * tests/unistr/test-u16-strcoll.c: New file.
28255
28256         Tests for module 'unistr/u8-strcoll'.
28257         * modules/unistr/u8-strcoll-tests: New file.
28258         * tests/unistr/test-u8-strcoll.c: New file.
28259
28260         Tests for module 'unistr/u32-strcmp'.
28261         * modules/unistr/u32-strcmp-tests: New file.
28262         * tests/unistr/test-u32-strcmp.c: New file.
28263         * tests/unistr/test-u32-strcmp.h: New file.
28264
28265         Tests for module 'unistr/u16-strcmp'.
28266         * modules/unistr/u16-strcmp-tests: New file.
28267         * tests/unistr/test-u16-strcmp.c: New file.
28268         * tests/unistr/test-u16-strcmp.h: New file.
28269
28270         Tests for module 'unistr/u8-strcmp'.
28271         * modules/unistr/u8-strcmp-tests: New file.
28272         * tests/unistr/test-u8-strcmp.c: New file.
28273         * tests/unistr/test-u8-strcmp.h: New file.
28274         * tests/unistr/test-strcmp.h: New file.
28275
28276         Tests for module 'unistr/u32-strncat'.
28277         * modules/unistr/u32-strncat-tests: New file.
28278         * tests/unistr/test-u32-strncat.c: New file.
28279
28280         Tests for module 'unistr/u16-strncat'.
28281         * modules/unistr/u16-strncat-tests: New file.
28282         * tests/unistr/test-u16-strncat.c: New file.
28283
28284         Tests for module 'unistr/u8-strncat'.
28285         * modules/unistr/u8-strncat-tests: New file.
28286         * tests/unistr/test-u8-strncat.c: New file.
28287         * tests/unistr/test-strncat.h: New file.
28288
28289         Tests for module 'unistr/u32-strcat'.
28290         * modules/unistr/u32-strcat-tests: New file.
28291         * tests/unistr/test-u32-strcat.c: New file.
28292
28293         Tests for module 'unistr/u16-strcat'.
28294         * modules/unistr/u16-strcat-tests: New file.
28295         * tests/unistr/test-u16-strcat.c: New file.
28296
28297         Tests for module 'unistr/u8-strcat'.
28298         * modules/unistr/u8-strcat-tests: New file.
28299         * tests/unistr/test-u8-strcat.c: New file.
28300         * tests/unistr/test-strcat.h: New file.
28301
28302         Tests for module 'unistr/u32-stpncpy'.
28303         * modules/unistr/u32-stpncpy-tests: New file.
28304         * tests/unistr/test-u32-stpncpy.c: New file.
28305
28306         Tests for module 'unistr/u16-stpncpy'.
28307         * modules/unistr/u16-stpncpy-tests: New file.
28308         * tests/unistr/test-u16-stpncpy.c: New file.
28309
28310         Tests for module 'unistr/u8-stpncpy'.
28311         * modules/unistr/u8-stpncpy-tests: New file.
28312         * tests/unistr/test-u8-stpncpy.c: New file.
28313         * tests/unistr/test-stpncpy.h: New file.
28314
28315         Tests for module 'unistr/u32-strncpy'.
28316         * modules/unistr/u32-strncpy-tests: New file.
28317         * tests/unistr/test-u32-strncpy.c: New file.
28318
28319         Tests for module 'unistr/u16-strncpy'.
28320         * modules/unistr/u16-strncpy-tests: New file.
28321         * tests/unistr/test-u16-strncpy.c: New file.
28322
28323         Tests for module 'unistr/u8-strncpy'.
28324         * modules/unistr/u8-strncpy-tests: New file.
28325         * tests/unistr/test-u8-strncpy.c: New file.
28326         * tests/unistr/test-strncpy.h: New file.
28327
28328         Tests for module 'unistr/u32-stpcpy'.
28329         * modules/unistr/u32-stpcpy-tests: New file.
28330         * tests/unistr/test-u32-stpcpy.c: New file.
28331
28332         Tests for module 'unistr/u16-stpcpy'.
28333         * modules/unistr/u16-stpcpy-tests: New file.
28334         * tests/unistr/test-u16-stpcpy.c: New file.
28335
28336         Tests for module 'unistr/u8-stpcpy'.
28337         * modules/unistr/u8-stpcpy-tests: New file.
28338         * tests/unistr/test-u8-stpcpy.c: New file.
28339         * tests/unistr/test-stpcpy.h: New file.
28340
28341         Tests for module 'unistr/u32-strcpy'.
28342         * modules/unistr/u32-strcpy-tests: New file.
28343         * tests/unistr/test-u32-strcpy.c: New file.
28344
28345         Tests for module 'unistr/u16-strcpy'.
28346         * modules/unistr/u16-strcpy-tests: New file.
28347         * tests/unistr/test-u16-strcpy.c: New file.
28348
28349         Tests for module 'unistr/u8-strcpy'.
28350         * modules/unistr/u8-strcpy-tests: New file.
28351         * tests/unistr/test-u8-strcpy.c: New file.
28352         * tests/unistr/test-strcpy.h: New file.
28353
28354         Tests for module 'unistr/u32-strnlen'.
28355         * modules/unistr/u32-strnlen-tests: New file.
28356         * tests/unistr/test-u32-strnlen.c: New file.
28357
28358         Tests for module 'unistr/u16-strnlen'.
28359         * modules/unistr/u16-strnlen-tests: New file.
28360         * tests/unistr/test-u16-strnlen.c: New file.
28361
28362         Tests for module 'unistr/u8-strnlen'.
28363         * modules/unistr/u8-strnlen-tests: New file.
28364         * tests/unistr/test-u8-strnlen.c: New file.
28365         * tests/unistr/test-strnlen.h: New file.
28366
28367         Tests for module 'unistr/u32-strlen'.
28368         * modules/unistr/u32-strlen-tests: New file.
28369         * tests/unistr/test-u32-strlen.c: New file.
28370
28371         Tests for module 'unistr/u16-strlen'.
28372         * modules/unistr/u16-strlen-tests: New file.
28373         * tests/unistr/test-u16-strlen.c: New file.
28374
28375         Tests for module 'unistr/u8-strlen'.
28376         * modules/unistr/u8-strlen-tests: New file.
28377         * tests/unistr/test-u8-strlen.c: New file.
28378
28379         Tests for module 'unistr/u32-prev'.
28380         * modules/unistr/u32-prev-tests: New file.
28381         * tests/unistr/test-u32-prev.c: New file.
28382
28383         Tests for module 'unistr/u16-prev'.
28384         * modules/unistr/u16-prev-tests: New file.
28385         * tests/unistr/test-u16-prev.c: New file.
28386
28387         Tests for module 'unistr/u8-prev'.
28388         * modules/unistr/u8-prev-tests: New file.
28389         * tests/unistr/test-u8-prev.c: New file.
28390
28391         Tests for module 'unistr/u32-next'.
28392         * modules/unistr/u32-next-tests: New file.
28393         * tests/unistr/test-u32-next.c: New file.
28394
28395         Tests for module 'unistr/u16-next'.
28396         * modules/unistr/u16-next-tests: New file.
28397         * tests/unistr/test-u16-next.c: New file.
28398
28399         Tests for module 'unistr/u8-next'.
28400         * modules/unistr/u8-next-tests: New file.
28401         * tests/unistr/test-u8-next.c: New file.
28402
28403         Tests for module 'unistr/u32-strmbtouc'.
28404         * modules/unistr/u32-strmbtouc-tests: New file.
28405         * tests/unistr/test-u32-strmbtouc.c: New file.
28406
28407         Tests for module 'unistr/u16-strmbtouc'.
28408         * modules/unistr/u16-strmbtouc-tests: New file.
28409         * tests/unistr/test-u16-strmbtouc.c: New file.
28410
28411         Tests for module 'unistr/u8-strmbtouc'.
28412         * modules/unistr/u8-strmbtouc-tests: New file.
28413         * tests/unistr/test-u8-strmbtouc.c: New file.
28414
28415         Tests for module 'unistr/u32-strmblen'.
28416         * modules/unistr/u32-strmblen-tests: New file.
28417         * tests/unistr/test-u32-strmblen.c: New file.
28418
28419         Tests for module 'unistr/u16-strmblen'.
28420         * modules/unistr/u16-strmblen-tests: New file.
28421         * tests/unistr/test-u16-strmblen.c: New file.
28422
28423         Tests for module 'unistr/u8-strmblen'.
28424         * modules/unistr/u8-strmblen-tests: New file.
28425         * tests/unistr/test-u8-strmblen.c: New file.
28426
28427         Tests for module 'unistr/u32-cpy-alloc'.
28428         * modules/unistr/u32-cpy-alloc-tests: New file.
28429         * tests/unistr/test-u32-cpy-alloc.c: New file.
28430
28431         Tests for module 'unistr/u16-cpy-alloc'.
28432         * modules/unistr/u16-cpy-alloc-tests: New file.
28433         * tests/unistr/test-u16-cpy-alloc.c: New file.
28434
28435         Tests for module 'unistr/u8-cpy-alloc'.
28436         * modules/unistr/u8-cpy-alloc-tests: New file.
28437         * tests/unistr/test-u8-cpy-alloc.c: New file.
28438         * tests/unistr/test-cpy-alloc.h: New file.
28439
28440         Tests for module 'unistr/u32-mbsnlen'.
28441         * modules/unistr/u32-mbsnlen-tests: New file.
28442         * tests/unistr/test-u32-mbsnlen.c: New file.
28443
28444         Tests for module 'unistr/u16-mbsnlen'.
28445         * modules/unistr/u16-mbsnlen-tests: New file.
28446         * tests/unistr/test-u16-mbsnlen.c: New file.
28447
28448         Tests for module 'unistr/u8-mbsnlen'.
28449         * modules/unistr/u8-mbsnlen-tests: New file.
28450         * tests/unistr/test-u8-mbsnlen.c: New file.
28451
28452         Tests for module 'unistr/u32-chr'.
28453         * modules/unistr/u32-chr-tests: New file.
28454         * tests/unistr/test-u32-chr.c: New file.
28455
28456         Tests for module 'unistr/u16-chr'.
28457         * modules/unistr/u16-chr-tests: New file.
28458         * tests/unistr/test-u16-chr.c: New file.
28459
28460         Tests for module 'unistr/u8-chr'.
28461         * modules/unistr/u8-chr-tests: New file.
28462         * tests/unistr/test-u8-chr.c: New file.
28463         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28464
28465         Tests for module 'unistr/u32-cmp2'.
28466         * modules/unistr/u32-cmp2-tests: New file.
28467         * tests/unistr/test-u32-cmp2.c: New file.
28468
28469         Tests for module 'unistr/u16-cmp2'.
28470         * modules/unistr/u16-cmp2-tests: New file.
28471         * tests/unistr/test-u16-cmp2.c: New file.
28472
28473         Tests for module 'unistr/u8-cmp2'.
28474         * modules/unistr/u8-cmp2-tests: New file.
28475         * tests/unistr/test-u8-cmp2.c: New file.
28476         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28477
28478         Tests for module 'unistr/u32-cmp'.
28479         * modules/unistr/u32-cmp-tests: New file.
28480         * tests/unistr/test-u32-cmp.c: New file.
28481
28482         Tests for module 'unistr/u16-cmp'.
28483         * modules/unistr/u16-cmp-tests: New file.
28484         * tests/unistr/test-u16-cmp.c: New file.
28485
28486         Tests for module 'unistr/u8-cmp'.
28487         * modules/unistr/u8-cmp-tests: New file.
28488         * tests/unistr/test-u8-cmp.c: New file.
28489         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28490
28491         Tests for module 'unistr/u32-set'.
28492         * modules/unistr/u32-set-tests: New file.
28493         * tests/unistr/test-u32-set.c: New file.
28494
28495         Tests for module 'unistr/u16-set'.
28496         * modules/unistr/u16-set-tests: New file.
28497         * tests/unistr/test-u16-set.c: New file.
28498
28499         Tests for module 'unistr/u8-set'.
28500         * modules/unistr/u8-set-tests: New file.
28501         * tests/unistr/test-u8-set.c: New file.
28502         * tests/unistr/test-set.h: New file.
28503
28504         Tests for module 'unistr/u32-move'.
28505         * modules/unistr/u32-move-tests: New file.
28506         * tests/unistr/test-u32-move.c: New file.
28507
28508         Tests for module 'unistr/u16-move'.
28509         * modules/unistr/u16-move-tests: New file.
28510         * tests/unistr/test-u16-move.c: New file.
28511
28512         Tests for module 'unistr/u8-move'.
28513         * modules/unistr/u8-move-tests: New file.
28514         * tests/unistr/test-u8-move.c: New file.
28515         * tests/unistr/test-move.h: New file.
28516
28517         Tests for module 'unistr/u32-cpy'.
28518         * modules/unistr/u32-cpy-tests: New file.
28519         * tests/unistr/test-u32-cpy.c: New file.
28520
28521         Tests for module 'unistr/u16-cpy'.
28522         * modules/unistr/u16-cpy-tests: New file.
28523         * tests/unistr/test-u16-cpy.c: New file.
28524
28525         Tests for module 'unistr/u8-cpy'.
28526         * modules/unistr/u8-cpy-tests: New file.
28527         * tests/unistr/test-u8-cpy.c: New file.
28528         * tests/unistr/test-cpy.h: New file.
28529
28530 2010-01-09  Bruno Haible  <bruno@clisp.org>
28531
28532         Tests for module 'unistr/u32-uctomb'.
28533         * modules/unistr/u32-uctomb-tests: New file.
28534         * tests/unistr/test-u32-uctomb.c: New file.
28535
28536         Tests for module 'unistr/u16-uctomb'.
28537         * modules/unistr/u16-uctomb-tests: New file.
28538         * tests/unistr/test-u16-uctomb.c: New file.
28539
28540         Tests for module 'unistr/u8-uctomb'.
28541         * modules/unistr/u8-uctomb-tests: New file.
28542         * tests/unistr/test-u8-uctomb.c: New file.
28543
28544         Tests for module 'unistr/u32-mbtoucr'.
28545         * modules/unistr/u32-mbtoucr-tests: New file.
28546         * tests/unistr/test-u32-mbtoucr.c: New file.
28547
28548         Tests for module 'unistr/u16-mbtoucr'.
28549         * modules/unistr/u16-mbtoucr-tests: New file.
28550         * tests/unistr/test-u16-mbtoucr.c: New file.
28551
28552         Tests for module 'unistr/u8-mbtoucr'.
28553         * modules/unistr/u8-mbtoucr-tests: New file.
28554         * tests/unistr/test-u8-mbtoucr.c: New file.
28555
28556         Tests for module 'unistr/u32-mbtouc'.
28557         * modules/unistr/u32-mbtouc-tests: New file.
28558         * tests/unistr/test-u32-mbtouc.c: New file.
28559
28560         Tests for module 'unistr/u16-mbtouc'.
28561         * modules/unistr/u16-mbtouc-tests: New file.
28562         * tests/unistr/test-u16-mbtouc.c: New file.
28563
28564         Tests for module 'unistr/u8-mbtouc'.
28565         * modules/unistr/u8-mbtouc-tests: New file.
28566         * tests/unistr/test-u8-mbtouc.c: New file.
28567
28568         Tests for module 'unistr/u32-mbtouc-unsafe'.
28569         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28570         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28571         * tests/unistr/test-u32-mbtouc.h: New file.
28572
28573         Tests for module 'unistr/u16-mbtouc-unsafe'.
28574         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28575         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28576         * tests/unistr/test-u16-mbtouc.h: New file.
28577
28578         Tests for module 'unistr/u8-mbtouc-unsafe'.
28579         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28580         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28581         * tests/unistr/test-u8-mbtouc.h: New file.
28582
28583         Tests for module 'unistr/u32-mblen'.
28584         * modules/unistr/u32-mblen-tests: New file.
28585         * tests/unistr/test-u32-mblen.c: New file.
28586
28587         Tests for module 'unistr/u16-mblen'.
28588         * modules/unistr/u16-mblen-tests: New file.
28589         * tests/unistr/test-u16-mblen.c: New file.
28590
28591         Tests for module 'unistr/u8-mblen'.
28592         * modules/unistr/u8-mblen-tests: New file.
28593         * tests/unistr/test-u8-mblen.c: New file.
28594
28595         Tests for module 'unistr/u32-to-u16'.
28596         * modules/unistr/u32-to-u16-tests: New file.
28597         * tests/unistr/test-u32-to-u16.c: New file.
28598
28599         Tests for module 'unistr/u32-to-u8'.
28600         * modules/unistr/u32-to-u8-tests: New file.
28601         * tests/unistr/test-u32-to-u8.c: New file.
28602
28603         Tests for module 'unistr/u16-to-u32'.
28604         * modules/unistr/u16-to-u32-tests: New file.
28605         * tests/unistr/test-u16-to-u32.c: New file.
28606
28607         Tests for module 'unistr/u16-to-u8'.
28608         * modules/unistr/u16-to-u8-tests: New file.
28609         * tests/unistr/test-u16-to-u8.c: New file.
28610
28611         Tests for module 'unistr/u8-to-u32'.
28612         * modules/unistr/u8-to-u32-tests: New file.
28613         * tests/unistr/test-u8-to-u32.c: New file.
28614
28615         Tests for module 'unistr/u8-to-u16'.
28616         * modules/unistr/u8-to-u16-tests: New file.
28617         * tests/unistr/test-u8-to-u16.c: New file.
28618
28619         Tests for module 'unistr/u32-check'.
28620         * modules/unistr/u32-check-tests: New file.
28621         * tests/unistr/test-u32-check.c: New file.
28622
28623         Tests for module 'unistr/u16-check'.
28624         * modules/unistr/u16-check-tests: New file.
28625         * tests/unistr/test-u16-check.c: New file.
28626
28627         Tests for module 'unistr/u8-check'.
28628         * modules/unistr/u8-check-tests: New file.
28629         * tests/unistr/test-u8-check.c: New file.
28630
28631         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28632         (category_equals): New function.
28633         (main): Add more tests.
28634         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28635
28636         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28637
28638 2010-01-10  Bruno Haible  <bruno@clisp.org>
28639
28640         unistr/u*-strcoll: Try harder to distinguish different strings.
28641         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28642         compare s1 and s2 to see if they are different.
28643
28644 2010-01-10  Bruno Haible  <bruno@clisp.org>
28645
28646         unistr/u*-stpncpy: Fix the return value.
28647         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28648         description of the return value consistent with stpncpy in glibc.
28649         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28650         written non-NUL unit.
28651
28652 2010-01-10  Bruno Haible  <bruno@clisp.org>
28653
28654         unistr/u*-next: Add missing dependencies.
28655         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28656         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28657         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28658
28659 2010-01-10  Bruno Haible  <bruno@clisp.org>
28660
28661         unistr/u8-mbsnlen: Fix return value for incomplete character.
28662         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28663         u8_mblen.
28664         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28665         Remove unistr/u8-mblen.
28666         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28667         u16_mblen.
28668         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28669         Remove unistr/u16-mblen.
28670
28671 2010-01-10  Bruno Haible  <bruno@clisp.org>
28672
28673         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28674         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28675         Reported by Brian Gough <bjg@gnu.org> and
28676         Chris Clayton <chris2553@googlemail.com> via
28677         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28678
28679 2010-01-09  Bruno Haible  <bruno@clisp.org>
28680
28681         unistr/u16-to-u32: Reject invalid input.
28682         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28683         u16_mbtouc.
28684         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28685         Remove unistr/u16-mbtouc.
28686
28687         unistr/u16-to-u8: Reject invalid input.
28688         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28689         u16_mbtouc.
28690         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28691         Remove unistr/u16-mbtouc.
28692
28693         unistr/u8-to-u32: Reject invalid input.
28694         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28695         u8_mbtouc.
28696         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28697         Remove unistr/u8-mbtouc.
28698
28699         unistr/u8-to-u16: Reject invalid input.
28700         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28701         u8_mbtouc.
28702         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28703         Remove unistr/u8-mbtouc.
28704
28705 2010-01-09  Bruno Haible  <bruno@clisp.org>
28706
28707         Tests for module 'getlogin'.
28708         * modules/getlogin-tests: New file.
28709         * tests/test-getlogin.c: New file.
28710
28711         New module 'getlogin'.
28712         * lib/unistd.in.h (getlogin): New declaration.
28713         * lib/getlogin.c: New file.
28714         * m4/getlogin.m4: New file.
28715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28716         HAVE_GETLOGIN.
28717         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28718         HAVE_GETLOGIN.
28719         * modules/getlogin: New file.
28720         * doc/posix-functions/getlogin.texi: Mention the new module.
28721         Reported by John W. Eaton <jwe@gnu.org>.
28722
28723 2010-01-09  Bruno Haible  <bruno@clisp.org>
28724
28725         getlogin_r: Support for native Windows.
28726         * lib/getlogin_r.c: Include <windows.h>
28727         (getlogin_r): Implement for native Windows.
28728         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28729         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28730         via John W. Eaton <jwe@gnu.org>.
28731
28732 2010-01-09  Bruno Haible  <bruno@clisp.org>
28733
28734         getlogin_r: Small fixes.
28735         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28736         succeeds.
28737         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28738         before testing whether getlogin_r is declared. No need to set
28739         HAVE_DECL_GETLOGIN_R to 1.
28740         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28741
28742 2010-01-09  Bruno Haible  <bruno@clisp.org>
28743
28744         * lib/unistd.in.h (getlogin_r): Add comment.
28745
28746 2010-01-09  Bruno Haible  <bruno@clisp.org>
28747
28748         Tests for module 'getlogin_r'.
28749         * modules/getlogin_r-tests: New file.
28750         * tests/test-getlogin_r.c: New file.
28751
28752 2010-01-09  Jim Meyering  <meyering@redhat.com>
28753
28754         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28755         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28756         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28757
28758 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28759
28760         * lib/dup2.c (rpl_dup2): Improve comment.
28761
28762 2010-01-08  Eric Blake  <ebb9@byu.net>
28763
28764         maint.mk: allow packages to add makefile @@ exceptions
28765         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28766         (sc_makefile_check): Rename...
28767         (sc_makefile_at_at_check): ...to this, and use hook.
28768
28769         dup2: work around mingw bug
28770         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28771         Reported by Simon Josefsson.
28772
28773 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28774
28775         glob: Fix C++ compilation.
28776         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28777         C++.
28778
28779 2010-01-07  Bruno Haible  <bruno@clisp.org>
28780
28781         Fix indentation of wctype.in.h, broken since 2007-01-06.
28782         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28783
28784 2010-01-07  Bruno Haible  <bruno@clisp.org>
28785
28786         mbslen: Avoid collision with system function.
28787         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28788         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28789         * m4/mbslen.m4: New file.
28790         * modules/mbslen (Files): Add it.
28791         (configure.ac): Invoke gl_MBSLEN.
28792         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28793         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28794         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28795         via Ian Beckwith <ianb@erislabs.net>.
28796
28797 2010-01-07  Bruno Haible  <bruno@clisp.org>
28798
28799         dirent: Document the last fix.
28800         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28801
28802 2010-01-07  Bruno Haible  <bruno@clisp.org>
28803
28804         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28805         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28806         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28807         va_list are defined.
28808         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28809         Reported by Eric Blake.
28810
28811 2010-01-07  Bruno Haible  <bruno@clisp.org>
28812
28813         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28814         * modules/xlist (Depends-on): Add 'list',
28815         * modules/xoset (Depends-on): Add 'oset'.
28816         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28817
28818 2010-01-07  Bruno Haible  <bruno@clisp.org>
28819
28820         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28821         * doc/posix-functions/strncasecmp.texi: Likewise.
28822
28823 2010-01-07  Bruno Haible  <bruno@clisp.org>
28824
28825         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28826
28827 2010-01-07  John W. Eaton  <jwe@octave.org>
28828
28829         wctype: allow C++ use
28830         * lib/wctype.in.h: Add extern "C" block for C++.
28831
28832 2010-01-06  Eric Blake  <ebb9@byu.net>
28833
28834         maint.mk: detect incorrect GFDL usage
28835         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28836
28837 2010-01-06  Jim Meyering  <meyering@redhat.com>
28838         and Eric Blake  <ebb9@byu.net>
28839
28840         maint.mk: ignore multi-line copyright in NEWS
28841         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28842
28843 2010-01-06  Eric Blake  <ebb9@byu.net>
28844
28845         select: add missing dependency
28846         * modules/select-tests (Depends-on): Move sockets dependency...
28847         * modules/select (Depends-on): ...here.
28848         Reported by Ian Beckwith.
28849
28850         doc: regenerate INSTALL
28851         * doc/INSTALL: Reflect recent autoconf update.
28852         * doc/INSTALL.ISO: Likewise.
28853         * doc/INSTALL.UTF-8: Likewise.
28854
28855         pread: fix compilation on glibc
28856         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28857         Reported by Ralf Wildenhues.
28858
28859         dirent: fix test failure
28860         * lib/dirent.in.h (includes): Guarantee ino_t.
28861         Reported by Ralf Wildenhues.
28862
28863 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28864
28865         linkat, renameat: avoid bad free
28866         * lib/at-func2.c (at_func2): Fix typo.
28867         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28868
28869 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28870
28871         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28872         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28873         to avoid failure of symlink test later.
28874
28875 2010-01-06  Eric Blake  <ebb9@byu.net>
28876
28877         stdio, unistd: guarantee ssize_t
28878         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28879         2008 are exposed when needed.
28880         * lib/stdio.in.h (includes): Likewise.
28881         Reported by Ralf Wildenhues.
28882
28883 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28884
28885         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28886         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28887         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28888
28889 2010-01-06  Jim Meyering  <meyering@redhat.com>
28890
28891         readtokens: this module *does* require xalloc.h
28892         It uses only functions that were omitted by the old syntax-check rule.
28893         * lib/readtokens.c: Include "xalloc.h" once again.
28894         * modules/readtokens (Depends-on): Add xalloc.
28895         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28896
28897 2010-01-05  Eric Blake  <ebb9@byu.net>
28898
28899         maint: support 'make announcement' from a VPATH build
28900         * top/maint.mk (announcement): Look for correct NEWS file.
28901
28902 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28903
28904         utimens (fdutimens): ignore a negative FD, per contract
28905         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28906         when we have a valid file descriptor.  Otherwise, using a brand
28907         new glibc (with just-patched futimens that now fails with EBADF)
28908         would cause this function to fail with ENOSYS.
28909         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28910         See also http://bugzilla.redhat.com/552320.
28911
28912 2010-01-05  Eric Blake  <ebb9@byu.net>
28913
28914         strcase: document what it provides
28915         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28916         gnulib module.
28917         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28918         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28919
28920 2010-01-05  Jim Meyering  <meyering@redhat.com>
28921
28922         maint: remove useless inclusions of "xalloc.h"
28923         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28924         * lib/readtokens.c: Likewise.
28925         * lib/same.c: Likewise.
28926         * modules/getloadavg (Depends-on): Remove xalloc.
28927         * modules/readtokens: Likewise.
28928         * modules/same: Likewise.
28929
28930         maint.mk: include 4 more function names in alloca.h-checking regexp
28931         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28932         regexp.  Before, we would give a false-positive (saying alloca.h
28933         is included unnecessarily) when the only uses involved omitted symbols.
28934
28935         xalloc.h: use consistent formatting
28936         * lib/xalloc.h: Move declarations to start in the first column.
28937
28938 2010-01-05  Eric Blake  <ebb9@byu.net>
28939
28940         mkdir: avoid xalloc
28941         * lib/mkdir.c (includes): Drop unused header.
28942         Reported by John W. Eaton.
28943
28944 2010-01-04  Jim Meyering  <meyering@redhat.com>
28945
28946         nl_langinfo: avoid configure-time syntax error
28947         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28948         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28949         the empty string.  Don't let that provoke a shell syntax error.
28950
28951         regcomp, regexec, fnmatch: avoid array bounds read error
28952         * lib/regcomp.c (build_equiv_class): From glibc:
28953         Use only the low 24 bits of a findidx return value as an index
28954         into the weights array.  Patch by Ulrich Drepper:
28955         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28956         * lib/regexec.c (check_node_accept_bytes): Likewise.
28957         * lib/fnmatch_loop.c (FCT): Likewise.
28958
28959         regcomp: skip collseq lookup when there are no rules
28960         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28961         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28962
28963         regcomp: recognize ill-formed { } expressions
28964         * lib/regcomp.c (parse_dup_op): From glibc:
28965         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28966
28967         regcomp: fix typo in comment
28968         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28969         s/satisfy/satisfies/.
28970
28971         regcomp: sync from glibc: remove dead store
28972         * lib/regcomp.c (duplicate_node_closure): Remove useless
28973         search_duplicated_node call and dead store.
28974
28975         regcomp: sync from glibc; always use nl_langinfo
28976         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28977         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28978         * modules/regex (Depends-on): Add nl_langinfo.
28979
28980 2010-01-04  Eric Blake  <ebb9@byu.net>
28981
28982         fdopendir: fix configure test
28983         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28984
28985 2010-01-01  Bruno Haible  <bruno@clisp.org>
28986
28987         wchar: Remove unused configure check.
28988         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28989
28990 2010-01-01  Eric Blake  <ebb9@byu.net>
28991
28992         headers: make check of system header explicit
28993         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28994         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28995         ourselves.
28996         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28997         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28998         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28999         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
29000         internals.
29001         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
29002         missing.
29003         Suggested by Bruno Haible.
29004
29005 2010-01-01  Jim Meyering  <meyering@redhat.com>
29006
29007         ChangeLog: tweak to eliminate unnecessary copyright line
29008         * ChangeLog: Remove a copyright line that was mistakenly updated
29009         by today's update-copyright run.  Reported by Eric Blake.
29010
29011         test-update-copyright: don't let envvar setting cause test failure
29012         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29013
29014 2010-01-01  Bruno Haible  <bruno@clisp.org>
29015
29016         localename: Avoid gcc warning.
29017         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
29018         function if it is not used.
29019
29020 2010-01-01  Jim Meyering  <meyering@redhat.com>
29021
29022         update nearly all FSF copyright year lists to include 2010
29023         Use the same procedure as for 2009, outlined in
29024         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
29025
29026         version-etc: set COPYRIGHT_YEAR to 2010
29027         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
29028
29029 2009-12-31  Eric Blake  <ebb9@byu.net>
29030
29031         doc: correct availability of cygwin 1.5.x getopt
29032         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
29033         variables.
29034         * doc/posix-functions/opterr.texi (opterr): Likewise.
29035         * doc/posix-functions/optind.texi (optind): Likewise.
29036         * doc/posix-functions/optopt.texi (optopt): Likewise.
29037         * doc/posix-functions/tzname.texi (tzname): Likewise.
29038
29039         openat: update maintainer
29040         * modules/openat (Maintainer): Add myself.
29041
29042         utimens: avoid shadowing warning
29043         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
29044         buffers into one, to avoid shadowing, as well as avoiding a
29045         redundant stat.
29046         Reported by Jim Meyering.
29047
29048         test-dup2: avoid compiler warning
29049         * tests/test-dup2.c (is_inheritable): Only define if used.
29050
29051 2010-01-01  Bruno Haible  <bruno@clisp.org>
29052
29053         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
29054         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
29055         defined, use wctomb instead of wcrtomb.
29056
29057 2010-01-01  Bruno Haible  <bruno@clisp.org>
29058
29059         iconv: Reject native Solaris iconv.
29060         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
29061         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
29062
29063 2009-12-31  Bruno Haible  <bruno@clisp.org>
29064
29065         * tests/test-signal.c (main): Remove test of 'SIG'.
29066
29067 2009-12-31  Bruno Haible  <bruno@clisp.org>
29068
29069         spawn: Fix incomplete fix.
29070         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
29071         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
29072         warnings for GNULIB_POSIXCHECK again.
29073         Reported by Eric Blake.
29074
29075 2009-12-31  Bruno Haible  <bruno@clisp.org>
29076
29077         Avoid namespace pollution on glibc systems.
29078         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
29079         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
29080         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
29081         glibc systems.
29082
29083 2009-12-31  Bruno Haible  <bruno@clisp.org>
29084
29085         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
29086         (gl_REPLACE_WCHAR_H): Turn into a no-op.
29087         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
29088         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
29089         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
29090         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
29091         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
29092
29093 2009-12-31  Bruno Haible  <bruno@clisp.org>
29094
29095         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29096         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
29097         afterwards.
29098
29099 2009-12-31  Bruno Haible  <bruno@clisp.org>
29100
29101         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
29102         SYS_UTSNAME_H.
29103
29104 2009-12-31  Bruno Haible  <bruno@clisp.org>
29105
29106         spawn: Fix misapplied patch.
29107         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
29108         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
29109         warnings for GNULIB_POSIXCHECK.
29110
29111 2009-12-31  Bruno Haible  <bruno@clisp.org>
29112
29113         times: Update after sys_times changed.
29114         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
29115         * modules/times (Files): Add it.
29116         (configure.ac): Invoke gl_FUNC_TIMES.
29117
29118 2009-12-31  Bruno Haible  <bruno@clisp.org>
29119
29120         Use AC_C_INLINE where necessary.
29121         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
29122         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29123         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
29124         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
29125         * m4/mbfile.m4 (gl_MBFILE): Likewise.
29126         * m4/mbiter.m4 (gl_MBITER): Likewise.
29127         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29128         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
29129         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
29130         * modules/u64 (configure.ac): Likewise.
29131
29132 2009-12-31  Bruno Haible  <bruno@clisp.org>
29133
29134         Use AC_C_INLINE instead of module 'inline' where possible.
29135         * modules/inline (Description): Clarify purpose.
29136         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
29137         * modules/count-one-bits (Depends-on): Remove inline.
29138         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
29139         * modules/openat (Depends-on): Remove inline.
29140         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
29141         instead of depending on module 'inline'.
29142         * modules/filevercmp (Depends-on, configure.ac): Likewise.
29143         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
29144         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
29145         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
29146         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
29147         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
29148         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
29149         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
29150         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
29151         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
29152         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
29153         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
29154         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
29155         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
29156         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
29157         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
29158         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
29159         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
29160         Likewise.
29161         * modules/unictype/property-ascii-hex-digit (Depends-on,
29162         configure.ac): Likewise.
29163         * modules/unictype/property-bidi-arabic-digit (Depends-on,
29164         configure.ac): Likewise.
29165         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
29166         configure.ac): Likewise.
29167         * modules/unictype/property-bidi-block-separator (Depends-on,
29168         configure.ac): Likewise.
29169         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
29170         configure.ac): Likewise.
29171         * modules/unictype/property-bidi-common-separator (Depends-on,
29172         configure.ac): Likewise.
29173         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
29174         Likewise.
29175         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
29176         configure.ac): Likewise.
29177         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
29178         configure.ac): Likewise.
29179         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
29180         configure.ac): Likewise.
29181         * modules/unictype/property-bidi-european-digit (Depends-on,
29182         configure.ac): Likewise.
29183         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
29184         configure.ac): Likewise.
29185         * modules/unictype/property-bidi-left-to-right (Depends-on,
29186         configure.ac): Likewise.
29187         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
29188         configure.ac): Likewise.
29189         * modules/unictype/property-bidi-other-neutral (Depends-on,
29190         configure.ac): Likewise.
29191         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
29192         Likewise.
29193         * modules/unictype/property-bidi-segment-separator (Depends-on,
29194         configure.ac): Likewise.
29195         * modules/unictype/property-bidi-whitespace (Depends-on,
29196         configure.ac): Likewise.
29197         * modules/unictype/property-combining (Depends-on, configure.ac):
29198         Likewise.
29199         * modules/unictype/property-composite (Depends-on, configure.ac):
29200         Likewise.
29201         * modules/unictype/property-currency-symbol (Depends-on,
29202         configure.ac): Likewise.
29203         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
29204         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
29205         Likewise.
29206         * modules/unictype/property-default-ignorable-code-point (Depends-on,
29207         configure.ac): Likewise.
29208         * modules/unictype/property-deprecated (Depends-on, configure.ac):
29209         Likewise.
29210         * modules/unictype/property-diacritic (Depends-on, configure.ac):
29211         Likewise.
29212         * modules/unictype/property-extender (Depends-on, configure.ac):
29213         Likewise.
29214         * modules/unictype/property-format-control (Depends-on, configure.ac):
29215         Likewise.
29216         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
29217         Likewise.
29218         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
29219         Likewise.
29220         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
29221         Likewise.
29222         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
29223         Likewise.
29224         * modules/unictype/property-hyphen (Depends-on, configure.ac):
29225         Likewise.
29226         * modules/unictype/property-id-continue (Depends-on, configure.ac):
29227         Likewise.
29228         * modules/unictype/property-id-start (Depends-on, configure.ac):
29229         Likewise.
29230         * modules/unictype/property-ideographic (Depends-on, configure.ac):
29231         Likewise.
29232         * modules/unictype/property-ids-binary-operator (Depends-on,
29233         configure.ac): Likewise.
29234         * modules/unictype/property-ids-trinary-operator (Depends-on,
29235         configure.ac): Likewise.
29236         * modules/unictype/property-ignorable-control (Depends-on,
29237         configure.ac): Likewise.
29238         * modules/unictype/property-iso-control (Depends-on, configure.ac):
29239         Likewise.
29240         * modules/unictype/property-join-control (Depends-on, configure.ac):
29241         Likewise.
29242         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
29243         Likewise.
29244         * modules/unictype/property-line-separator (Depends-on, configure.ac):
29245         Likewise.
29246         * modules/unictype/property-logical-order-exception (Depends-on,
29247         configure.ac): Likewise.
29248         * modules/unictype/property-lowercase (Depends-on, configure.ac):
29249         Likewise.
29250         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
29251         * modules/unictype/property-non-break (Depends-on, configure.ac):
29252         Likewise.
29253         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
29254         Likewise.
29255         * modules/unictype/property-numeric (Depends-on, configure.ac):
29256         Likewise.
29257         * modules/unictype/property-other-alphabetic (Depends-on,
29258         configure.ac): Likewise.
29259         * modules/unictype/property-other-default-ignorable-code-point
29260         (Depends-on, configure.ac): Likewise.
29261         * modules/unictype/property-other-grapheme-extend (Depends-on,
29262         configure.ac): Likewise.
29263         * modules/unictype/property-other-id-continue (Depends-on,
29264         configure.ac): Likewise.
29265         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
29266         Likewise.
29267         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
29268         Likewise.
29269         * modules/unictype/property-other-math (Depends-on, configure.ac):
29270         Likewise.
29271         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
29272         Likewise.
29273         * modules/unictype/property-paired-punctuation (Depends-on,
29274         configure.ac): Likewise.
29275         * modules/unictype/property-paragraph-separator (Depends-on,
29276         configure.ac): Likewise.
29277         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
29278         Likewise.
29279         * modules/unictype/property-pattern-white-space (Depends-on,
29280         configure.ac): Likewise.
29281         * modules/unictype/property-private-use (Depends-on, configure.ac):
29282         Likewise.
29283         * modules/unictype/property-punctuation (Depends-on, configure.ac):
29284         Likewise.
29285         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
29286         Likewise.
29287         * modules/unictype/property-radical (Depends-on, configure.ac):
29288         Likewise.
29289         * modules/unictype/property-sentence-terminal (Depends-on,
29290         configure.ac): Likewise.
29291         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
29292         Likewise.
29293         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
29294         * modules/unictype/property-terminal-punctuation (Depends-on,
29295         configure.ac): Likewise.
29296         * modules/unictype/property-titlecase (Depends-on, configure.ac):
29297         Likewise.
29298         * modules/unictype/property-unassigned-code-value (Depends-on,
29299         configure.ac): Likewise.
29300         * modules/unictype/property-unified-ideograph (Depends-on,
29301         configure.ac): Likewise.
29302         * modules/unictype/property-uppercase (Depends-on, configure.ac):
29303         Likewise.
29304         * modules/unictype/property-variation-selector (Depends-on,
29305         configure.ac): Likewise.
29306         * modules/unictype/property-white-space (Depends-on, configure.ac):
29307         Likewise.
29308         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
29309         Likewise.
29310         * modules/unictype/property-xid-start (Depends-on, configure.ac):
29311         Likewise.
29312         * modules/unictype/property-zero-width (Depends-on, configure.ac):
29313         Likewise.
29314         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
29315         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
29316         Likewise.
29317
29318 2009-12-31  Bruno Haible  <bruno@clisp.org>
29319
29320         Remove unnecessary AC_C_INLINE invocation.
29321         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
29322         since 2009-08-21.
29323
29324 2009-12-31  Jim Meyering  <meyering@redhat.com>
29325
29326         maint.mk: don't require explicit gpg_key_ID in cfg.mk
29327         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
29328         With this change, we can all remove the gpg_key_ID = ... definition
29329         from our respective cfg.mk files.
29330
29331         maint.mk: create announcement template in ~/, not in /tmp
29332         * top/maint.mk (emit_upload_commands): Adjust.
29333         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
29334         Remove temporary file, .ci-msg.
29335
29336 2009-12-31  Eric Blake  <ebb9@byu.net>
29337
29338         link-warning: always build headers with link warnings
29339         * modules/arpa_inet (Makefile.am): Always build replacement
29340         header.
29341         * modules/ctype (Makefile.am): Likewise.
29342         * modules/dirent (Makefile.am): Likewise.
29343         * modules/inttypes (Makefile.am): Likewise.
29344         * modules/langinfo (Makefile.am): Likewise.
29345         * modules/locale (Makefile.am): Likewise.
29346         * modules/spawn (Makefile.am): Likewise.
29347         * modules/sys_file (Makefile.am): Likewise.
29348         * modules/sys_ioctl (Makefile.am): Likewise.
29349         * modules/sys_select (Makefile.am): Likewise.
29350         * modules/sys_socket (Makefile.am): Likewise.
29351         * modules/sys_times (Makefile.am): Likewise.
29352         * modules/sys_utsname (Makefile.am): Likewise.
29353         * modules/sys_wait (Makefile.am): Likewise.
29354         * modules/wchar (Makefile.am): Likewise.
29355         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
29356         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
29357         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
29358         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
29359         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
29360         Likewise.
29361         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29362         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29363         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
29364         Likewise.
29365         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
29366         Likewise.
29367         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
29368         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
29369         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
29370         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29371         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29372         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29373         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29374         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
29375         (gl_WCHAR_H_DEFAULTS): Likewise.
29376
29377 2009-12-31  Eric Blake  <ebb9@byu.net>
29378
29379         signal, spawn: use link warnings
29380         * lib/signal.in.h (sigset_t): Make unconditional.
29381         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
29382         (sigpending, sigprocmask, sigaction): Add link warnings.
29383         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
29384         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
29385         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
29386         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
29387         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
29388         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
29389         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
29390         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
29391         (posix_spawn_file_actions_destroy)
29392         (posix_spawn_file_actions_addopen)
29393         (posix_spawn_file_actions_addclose)
29394         (posix_spawn_file_actions_adddup2): Likewise.
29395         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
29396         * tests/test-signal.c (main): Enhance test.
29397
29398         spawn: improve wrapper support
29399         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
29400         (gl_SPAWN_H_DEFAULTS): New defaults.
29401         * modules/spawn (Makefile.am): Substitute them.
29402         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
29403         Only declare if missing or broken.
29404
29405         sys_times, sys_utsname: use include_next
29406         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29407         header.
29408         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29409         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29410         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29411         * modules/sys_times (Depends-on): Add include_next.
29412         (Makefile.am): Substitute additional values.
29413         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29414         * lib/sys_times.in.h (includes): Include native header, if
29415         available.
29416         * lib/sys_utsname.in.h (includes): Likewise.
29417         * tests/test-sys_times.c (main): Enhance test.
29418
29419         fdutimensat: revert prior patch
29420         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29421         utimens.h.
29422         Reported by Bruno Haible.
29423
29424 2009-12-30  Eric Blake  <ebb9@byu.net>
29425
29426         sys_wait: drop link-warning dependency
29427         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29428         link-warning efforts.
29429         * lib/sys_wait.in.h: Likewise.
29430
29431         fdutimensat: remove bogus dependency
29432         * modules/fdutimensat (Depends-on): Drop inline.
29433
29434         unistd: fix typo
29435         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29436
29437 2009-12-30  Bruno Haible  <bruno@clisp.org>
29438
29439         Fix compilation error with Solaris cc.
29440         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29441         * lib/unicase/u16-is-invariant.c: Likewise.
29442         * lib/unicase/u32-is-invariant.c: Likewise.
29443         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29444
29445 2009-12-30  Bruno Haible  <bruno@clisp.org>
29446
29447         Fix test crash.
29448         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29449         locales.
29450         Reported by Simon Josefsson <simon@josefsson.org>.
29451
29452 2009-12-30  Bruno Haible  <bruno@clisp.org>
29453
29454         Fix compilation error on most platforms.
29455         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29456         Reported by Simon Josefsson <simon@josefsson.org>
29457         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29458
29459 2009-12-30  Eric Blake  <ebb9@byu.net>
29460
29461         futimens, utimensat: work around ntfs-3g bug
29462         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29463         a ctime bug is present, and expand workaround to cover ntfs-3g.
29464         * lib/utimens.c (fdutimens, lutimens): Likewise.
29465         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29466         (validate_timespec): Adjust return value.
29467         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29468         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29469         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29470
29471 2009-12-29  Eric Blake  <ebb9@byu.net>
29472
29473         link-warning: make usage consistent
29474         * modules/ctype (Depends-on): Add link-warning.
29475         (Makefile.am): Update rules accordingly.
29476         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29477         * modules/locale (Depends-on, Makefile.am): Likewise.
29478         * modules/sys_file (Makefile.am): Likewise.
29479         * modules/getopt-posix (Makefile.am): Delete unused link warning
29480         efforts.
29481         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29482         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29483         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29484         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29485
29486         stdio: remove unused variables
29487         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29488         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29489         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29490
29491         tests: test more substitute headers
29492         * modules/ctype-tests: New file.
29493         * modules/dirent-tests: Likewise.
29494         * modules/spawn-tests: Likewise.
29495         * modules/sys_file-tests: Likewise.
29496         * modules/sys_ioctl-tests: Likewise.
29497         * modules/sys_wait-tests: Likewise.
29498         * tests/test-ctype.c: Likewise.
29499         * tests/test-dirent.c: Likewise.
29500         * tests/test-spawn.c: Likewise.
29501         * tests/test-sys_file.c: Likewise.
29502         * tests/test-sys_ioctl.c: Likewise.
29503         * tests/test-sys_wait.c: Likewise.
29504         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29505         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29506         whether or not flock is in use.
29507
29508         tests: remove License section from module
29509         * modules/arpa_inet-tests: Remove unneeded section.
29510         * modules/byteswap-tests: Likewise.
29511         * modules/ceilf-tests: Likewise.
29512         * modules/ceill-tests: Likewise.
29513         * modules/crypto/des-tests: Likewise.
29514         * modules/crypto/gc-arcfour-tests: Likewise.
29515         * modules/crypto/gc-arctwo-tests: Likewise.
29516         * modules/crypto/gc-des-tests: Likewise.
29517         * modules/crypto/gc-hmac-md5-tests: Likewise.
29518         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29519         * modules/crypto/gc-md2-tests: Likewise.
29520         * modules/crypto/gc-md4-tests: Likewise.
29521         * modules/crypto/gc-md5-tests: Likewise.
29522         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29523         * modules/crypto/gc-rijndael-tests: Likewise.
29524         * modules/crypto/gc-sha1-tests: Likewise.
29525         * modules/crypto/gc-tests: Likewise.
29526         * modules/crypto/md2-tests: Likewise.
29527         * modules/crypto/md4-tests: Likewise.
29528         * modules/fcntl-h-tests: Likewise.
29529         * modules/floorf-tests: Likewise.
29530         * modules/floorl-tests: Likewise.
29531         * modules/frexp-nolibm-tests: Likewise.
29532         * modules/frexp-tests: Likewise.
29533         * modules/frexpl-nolibm-tests: Likewise.
29534         * modules/frexpl-tests: Likewise.
29535         * modules/getaddrinfo-tests: Likewise.
29536         * modules/inttypes-tests: Likewise.
29537         * modules/isfinite-tests: Likewise.
29538         * modules/isinf-tests: Likewise.
29539         * modules/ldexpl-tests: Likewise.
29540         * modules/locale-tests: Likewise.
29541         * modules/math-tests: Likewise.
29542         * modules/netdb-tests: Likewise.
29543         * modules/netinet_in-tests: Likewise.
29544         * modules/printf-frexp-tests: Likewise.
29545         * modules/printf-frexpl-tests: Likewise.
29546         * modules/priv-set-tests: Likewise.
29547         * modules/random_r-tests: Likewise.
29548         * modules/round-tests: Likewise.
29549         * modules/roundf-tests: Likewise.
29550         * modules/roundl-tests: Likewise.
29551         * modules/search-tests: Likewise.
29552         * modules/select-tests: Likewise.
29553         * modules/signal-tests: Likewise.
29554         * modules/stdbool-tests: Likewise.
29555         * modules/stddef-tests: Likewise.
29556         * modules/stdint-tests: Likewise.
29557         * modules/stdio-tests: Likewise.
29558         * modules/stdlib-tests: Likewise.
29559         * modules/string-tests: Likewise.
29560         * modules/strings-tests: Likewise.
29561         * modules/sys_select-tests: Likewise.
29562         * modules/sys_socket-tests: Likewise.
29563         * modules/sys_stat-tests: Likewise.
29564         * modules/sys_time-tests: Likewise.
29565         * modules/sys_utsname-tests: Likewise.
29566         * modules/sysexits-tests: Likewise.
29567         * modules/time-tests: Likewise.
29568         * modules/trunc-tests: Likewise.
29569         * modules/truncf-tests: Likewise.
29570         * modules/truncl-tests: Likewise.
29571         * modules/tsearch-tests: Likewise.
29572         * modules/unistd-tests: Likewise.
29573         * modules/wchar-tests: Likewise.
29574         * modules/wctype-tests: Likewise.
29575
29576         tests: fix license on several tests
29577         * tests/test-des.c: Update to GPLv3+.
29578         * tests/test-flock.c: Likewise.
29579         * tests/test-fsync.c: Likewise.
29580         * tests/test-futimens.h: Likewise.
29581         * tests/test-gc-arcfour.c: Likewise.
29582         * tests/test-gc-arctwo.c: Likewise.
29583         * tests/test-gc-des.c: Likewise.
29584         * tests/test-gc-hmac-md5.c: Likewise.
29585         * tests/test-gc-hmac-sha1.c: Likewise.
29586         * tests/test-gc-md2.c: Likewise.
29587         * tests/test-gc-md4.c: Likewise.
29588         * tests/test-gc-md5.c: Likewise.
29589         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29590         * tests/test-gc-rijndael.c: Likewise.
29591         * tests/test-gc-sha1.c: Likewise.
29592         * tests/test-gc.c: Likewise.
29593         * tests/test-getcwd.c: Likewise.
29594         * tests/test-link.c: Likewise.
29595         * tests/test-link.h: Likewise.
29596         * tests/test-lutimens.h: Likewise.
29597         * tests/test-md2.c: Likewise.
29598         * tests/test-md4.c: Likewise.
29599         * tests/test-mkdir.h: Likewise.
29600         * tests/test-rename.c: Likewise.
29601         * tests/test-rename.h: Likewise.
29602         * tests/test-safe-alloc.c: Likewise.
29603         * tests/test-utimens-common.h: Likewise.
29604         * tests/test-utimens.h: Likewise.
29605
29606         maint: sync license texts
29607         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29608         * doc/gpl-3.0.texi: Revert copyright year update.
29609         * doc/lgpl-3.0.texi: Likewise.
29610
29611 2009-12-29  Jim Meyering  <meyering@redhat.com>
29612
29613         update nearly all FSF copyright year lists to include 2009
29614         The files named by the following are exempted:
29615             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29616               test -f "$dst" && { echo "$dst"; continue; }
29617               test -d "$dst" || continue
29618               echo "$dst"/$(basename "$src")
29619             done > exempt
29620             git ls-files tests/unictype >> exempt
29621         In the remaining files, convert to all-interval notation if
29622         - there is already at least one year interval like 2000-2003
29623         - the file is maintained by me
29624         - the file is in lib/uni*/, where that style already prevails
29625         Otherwise, use update-copyright's default.
29626
29627 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29628         and Eric Blake  <ebb9@byu.net>
29629
29630         tests: don't require debug system() to pass
29631         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29632         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29633         * tests/test-unlink.h (test_unlink_func): Likewise.
29634         * tests/test-fstatat.c (main): ...into callers.
29635         * tests/test-lstat.c (main): Likewise.
29636         * tests/test-rmdir.c (main): Likewise.
29637         * tests/test-unlink.c (main): Likewise.
29638         * tests/test-unlinkat.c (main): Likewise.
29639         * tests/test-areadlink-with-size.c (main): Don't require a
29640         debug-only system call to pass, aiding cross-testing to mingw.
29641         * tests/test-areadlink.c (main): Likewise.
29642         * tests/test-areadlinkat-with-size.c (main): Likewise.
29643         * tests/test-areadlinkat.c (main): Likewise.
29644         * tests/test-canonicalize-lgpl.c (main): Likewise.
29645         * tests/test-canonicalize.c (main): Likewise.
29646         * tests/test-chown.c (main): Likewise.
29647         * tests/test-fchownat.c (main): Likewise.
29648         * tests/test-lchown.c (main): Likewise.
29649         * tests/test-fdutimensat.c (main): Likewise.
29650         * tests/test-futimens.c (main): Likewise.
29651         * tests/test-link.c (main): Likewise.
29652         * tests/test-linkat.c (main): Likewise.
29653         * tests/test-mkdir.c (main): Likewise.
29654         * tests/test-mkdirat.c (main): Likewise.
29655         * tests/test-mkfifo.c (main): Likewise.
29656         * tests/test-mkfifoat.c (main): Likewise.
29657         * tests/test-mknod.c (main): Likewise.
29658         * tests/test-readlink.c (main): Likewise.
29659         * tests/test-remove.c (main): Likewise.
29660         * tests/test-rename.c (main): Likewise.
29661         * tests/test-renameat.c (main): Likewise.
29662         * tests/test-symlink.c (main): Likewise.
29663         * tests/test-symlinkat.c (main): Likewise.
29664         * tests/test-utimens.c (main): Likewise.
29665         * tests/test-utimensat.c (main): Likewise.
29666
29667 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29668
29669         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29670         on $(UNUSED_PARAMETER_H) to avoid build failure.
29671
29672 2009-12-28  Jim Meyering  <meyering@redhat.com>
29673
29674         update-copyright: you may specify a max. line length other than 72
29675         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29676
29677         maint: use consistent FSF copyright line syntax
29678         * lib/posixtm.c: Add missing comma in FSF copyright line.
29679         * lib/posixtm.h: Likewise.
29680         * lib/getugroups.c: Add missing ", Inc.".
29681
29682         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29683         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29684         FSF copyright line.  Remove trailing blanks.
29685
29686 2009-12-28  Eric Blake  <ebb9@byu.net>
29687
29688         test-dup2: reduce dependencies
29689         * modules/cloexec (Configure.ac): Set witness.
29690         * modules/dup2-tests (Depends-on): Drop cloexec.
29691         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29692         not present.
29693         Suggested by Bruno Haible.
29694
29695 2009-12-26  Bruno Haible  <bruno@clisp.org>
29696
29697         Remove an unneeded dependency.
29698         * modules/fseterr (Depends-on): Remove dup2.
29699
29700 2009-12-26  Eric Blake  <ebb9@byu.net>
29701
29702         tests: use macros.h in more places
29703         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29704         (ASSERT_STREAM): Provide default of stderr.
29705         * tests/test-dirent-safer.c: Include macros.h, using alternate
29706         stream for assertions.
29707         * tests/test-dup-safer.c: Likewise.
29708         * tests/test-freopen-safer.c: Likewise.
29709         * tests/test-getopt.c: Likewise.
29710         * tests/test-openat-safer.c: Likewise.
29711         * tests/test-pipe.c: Likewise.
29712         * tests/test-popen-safer.c: Likewise.
29713         * modules/dirent-safer-tests (Files): Include macros.h.
29714         * modules/unistd-safer-tests (Files): Likewise.
29715         * modules/freopen-safer-tests (Files): Likewise.
29716         * modules/getopt-posix-tests (Files): Likewise.
29717         * modules/openat-safer-tests (Files): Likewise.
29718         * modules/pipe-tests (Files): Likewise.
29719
29720 2009-12-26  Bruno Haible  <bruno@clisp.org>
29721
29722         javacomp: Portability fix.
29723         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29724         that it also works on Solaris.
29725
29726 2009-12-26  Bruno Haible  <bruno@clisp.org>
29727
29728         localename: Fix storage allocation of gl_locale_name_thread's result.
29729         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29730         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29731         all platforms that have 'uselocale'.
29732         (gl_locale_name_thread_unsafe): New function, extracted from
29733         gl_locale_name_thread.
29734         (gl_locale_name_thread): Call struniq on all platforms that have
29735         'uselocale'.
29736         * tests/test-localename.c (test_locale_name_thread): Check that the
29737         resulting strings are permanently allocated.
29738         * modules/localename-tests (Depends-on): Add strdup.
29739
29740 2009-12-26  Bruno Haible  <bruno@clisp.org>
29741
29742         * tests/test-localename.c (categories): Fill in the strings.
29743
29744 2009-12-26  Jim Meyering  <meyering@redhat.com>
29745
29746         isdir: complete the removal of m4/isdir.m4
29747         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29748
29749         isdir: clean up, since at least grep still uses it
29750         * lib/isdir.c: Include "isdir.h".
29751         (S_ISDIR): Remove now-unneeded definition.
29752         * modules/isdir (Files): Add lib/isdir.h.
29753         * lib/isdir.h: New file, with declaration.
29754         * m4/isdir.m4: Remove file -- unneeded.
29755
29756 2009-12-25  Bruno Haible  <bruno@clisp.org>
29757
29758         selinux-h: Make generated .h files standalone.
29759         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29760         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29761         * lib/se-selinux.in.h: Likewise.
29762         * modules/selinux-h (Depends-on): Add unused-parameter.
29763         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29764         selinux/selinux.h and selinux/context.h.
29765         Suggested by Eric Blake.
29766
29767 2009-12-25  Bruno Haible  <bruno@clisp.org>
29768
29769         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29770         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29771         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29772         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29773         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29774
29775 2009-12-24  Bruno Haible  <bruno@clisp.org>
29776
29777         openat: Fix warning.
29778         * lib/openat-proc.c: Include <unistd.h>.
29779
29780 2009-12-24  Bruno Haible  <bruno@clisp.org>
29781
29782         New module 'unused-parameter'.
29783         * build-aux/unused-parameter.h: New file, extracted from earlier
29784         gnulib-common.m4.
29785         * modules/unused-parameter: New file.
29786         * lib/unistr.h: Include unused-parameter.h.
29787         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29788         _GL_UNUSED.
29789         * modules/unistr/base (Depends-on): Add unused-parameter.
29790
29791 2009-12-24  Bruno Haible  <bruno@clisp.org>
29792
29793         Add missing dependencies to 'extensions' module.
29794         * m4/extensions.m4: Add comment.
29795         * modules/accept4 (Depends-on): Add extensions.
29796         * modules/dup3 (Depends-on): Likewise.
29797         * modules/fcntl (Depends-on): Likewise.
29798         * modules/futimens (Depends-on): Likewise.
29799         * modules/mknod (Depends-on): Likewise.
29800         * modules/pipe2 (Depends-on): Likewise.
29801         * modules/stat-time (Depends-on): Likewise.
29802         * modules/strcasestr-simple (Depends-on): Likewise.
29803         * modules/strsignal (Depends-on): Likewise.
29804         * modules/utimensat (Depends-on): Likewise.
29805         * modules/localcharset (Depends-on): Likewise. Needed because of
29806         gl_FCNTL_O_FLAGS.
29807         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29808         AC_TYPE_MBSTATE_T.
29809         * modules/wcsnrtombs (Depends-on): Likewise.
29810         * modules/wcsrtombs (Depends-on): Likewise.
29811
29812 2009-12-24  Bruno Haible  <bruno@clisp.org>
29813
29814         binary-io: Avoid gcc warning due to SET_BINARY.
29815         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29816         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29817
29818 2009-12-24  Bruno Haible  <bruno@clisp.org>
29819
29820         Avoid future namespace pollution on glibc systems.
29821         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29822         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29823         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29824         glibc systems.
29825
29826 2009-12-24  Bruno Haible  <bruno@clisp.org>
29827
29828         Refactor common macros used in tests.
29829         * tests/macros.h: New file.
29830         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29831         and/or <stdlib.h>, if appropriate.
29832         (ASSERT, SIZEOF): Remove macros.
29833         * tests/test-areadlink-with-size.c: Likewise.
29834         * tests/test-areadlinkat.c: Likewise.
29835         * tests/test-areadlinkat-with-size.c: Likewise.
29836         * tests/test-argmatch.c: Likewise.
29837         * tests/test-argv-iter.c: Likewise.
29838         * tests/test-array-mergesort.c: Likewise.
29839         * tests/test-array_list.c: Likewise.
29840         * tests/test-array_oset.c: Likewise.
29841         * tests/test-avltree_list.c: Likewise.
29842         * tests/test-avltree_oset.c: Likewise.
29843         * tests/test-avltreehash_list.c: Likewise.
29844         * tests/test-base64.c: Likewise.
29845         * tests/test-binary-io.c: Likewise.
29846         * tests/test-bitrotate.c: Likewise.
29847         * tests/test-btowc.c: Likewise.
29848         * tests/test-byteswap.c: Likewise.
29849         * tests/test-c-ctype.c: Likewise.
29850         * tests/test-c-stack.c: Likewise.
29851         * tests/test-c-strcasecmp.c: Likewise.
29852         * tests/test-c-strcasestr.c: Likewise.
29853         * tests/test-c-strncasecmp.c: Likewise.
29854         * tests/test-c-strstr.c: Likewise.
29855         * tests/test-canonicalize-lgpl.c: Likewise.
29856         * tests/test-canonicalize.c: Likewise.
29857         * tests/test-carray_list.c: Likewise.
29858         * tests/test-ceilf1.c: Likewise.
29859         * tests/test-ceilf2.c: Likewise.
29860         * tests/test-ceill.c: Likewise.
29861         * tests/test-chown.c: Likewise.
29862         * tests/test-cloexec.c: Likewise.
29863         * tests/test-copy-acl.c: Likewise.
29864         * tests/test-copy-file.c: Likewise.
29865         * tests/test-count-one-bits.c: Likewise.
29866         * tests/test-dprintf-posix.c: Likewise.
29867         * tests/test-dup2.c: Likewise.
29868         * tests/test-dup3.c: Likewise.
29869         * tests/test-duplocale.c: Likewise.
29870         * tests/test-fbufmode.c: Likewise.
29871         * tests/test-fchdir.c: Likewise.
29872         * tests/test-fchownat.c: Likewise.
29873         * tests/test-fcntl-safer.c: Likewise.
29874         * tests/test-fcntl.c: Likewise.
29875         * tests/test-fdopendir.c: Likewise.
29876         * tests/test-fdutimensat.c: Likewise.
29877         * tests/test-fflush2.c: Likewise.
29878         * tests/test-file-has-acl.c: Likewise.
29879         * tests/test-filevercmp.c: Likewise.
29880         * tests/test-flock.c: Likewise.
29881         * tests/test-floorf1.c: Likewise.
29882         * tests/test-floorf2.c: Likewise.
29883         * tests/test-floorl.c: Likewise.
29884         * tests/test-fnmatch.c: Likewise.
29885         * tests/test-fopen.h: Likewise.
29886         * tests/test-fpending.c: Likewise.
29887         * tests/test-fprintf-posix.c: Likewise.
29888         * tests/test-fpurge.c: Likewise.
29889         * tests/test-freadable.c: Likewise.
29890         * tests/test-freadahead.c: Likewise.
29891         * tests/test-freading.c: Likewise.
29892         * tests/test-freadptr.c: Likewise.
29893         * tests/test-freadptr2.c: Likewise.
29894         * tests/test-freadseek.c: Likewise.
29895         * tests/test-freopen.c: Likewise.
29896         * tests/test-frexp.c: Likewise.
29897         * tests/test-frexpl.c: Likewise.
29898         * tests/test-fseek.c: Likewise.
29899         * tests/test-fseeko.c: Likewise.
29900         * tests/test-fstatat.c: Likewise.
29901         * tests/test-fstrcmp.c: Likewise.
29902         * tests/test-fsync.c: Likewise.
29903         * tests/test-ftell.c: Likewise.
29904         * tests/test-ftello.c: Likewise.
29905         * tests/test-func.c: Likewise.
29906         * tests/test-futimens.c: Likewise.
29907         * tests/test-fwritable.c: Likewise.
29908         * tests/test-fwriting.c: Likewise.
29909         * tests/test-getcwd.c: Likewise.
29910         * tests/test-getdate.c: Likewise.
29911         * tests/test-getdelim.c: Likewise.
29912         * tests/test-getdtablesize.c: Likewise.
29913         * tests/test-getgroups.c: Likewise.
29914         * tests/test-getline.c: Likewise.
29915         * tests/test-getndelim2.c: Likewise.
29916         * tests/test-glob.c: Likewise.
29917         * tests/test-hash.c: Likewise.
29918         * tests/test-i-ring.c: Likewise.
29919         * tests/test-iconv-utf.c: Likewise.
29920         * tests/test-iconv.c: Likewise.
29921         * tests/test-idpriv-drop.c: Likewise.
29922         * tests/test-idpriv-droptemp.c: Likewise.
29923         * tests/test-inet_ntop.c: Likewise.
29924         * tests/test-inet_pton.c: Likewise.
29925         * tests/test-isblank.c: Likewise.
29926         * tests/test-isfinite.c: Likewise.
29927         * tests/test-isinf.c: Likewise.
29928         * tests/test-isnan.c: Likewise.
29929         * tests/test-isnand.h: Likewise.
29930         * tests/test-isnanf.h: Likewise.
29931         * tests/test-isnanl.h: Likewise.
29932         * tests/test-lchown.c: Likewise.
29933         * tests/test-ldexpl.c: Likewise.
29934         * tests/test-link.c: Likewise.
29935         * tests/test-linkat.c: Likewise.
29936         * tests/test-linked_list.c: Likewise.
29937         * tests/test-linkedhash_list.c: Likewise.
29938         * tests/test-localename.c: Likewise.
29939         * tests/test-lseek.c: Likewise.
29940         * tests/test-lstat.c: Likewise.
29941         * tests/test-mbmemcasecmp.c: Likewise.
29942         * tests/test-mbmemcasecoll.c: Likewise.
29943         * tests/test-mbrtowc.c: Likewise.
29944         * tests/test-mbscasecmp.c: Likewise.
29945         * tests/test-mbscasestr1.c: Likewise.
29946         * tests/test-mbscasestr2.c: Likewise.
29947         * tests/test-mbscasestr3.c: Likewise.
29948         * tests/test-mbscasestr4.c: Likewise.
29949         * tests/test-mbschr.c: Likewise.
29950         * tests/test-mbscspn.c: Likewise.
29951         * tests/test-mbsinit.c: Likewise.
29952         * tests/test-mbsncasecmp.c: Likewise.
29953         * tests/test-mbsnrtowcs.c: Likewise.
29954         * tests/test-mbspbrk.c: Likewise.
29955         * tests/test-mbspcasecmp.c: Likewise.
29956         * tests/test-mbsrchr.c: Likewise.
29957         * tests/test-mbsrtowcs.c: Likewise.
29958         * tests/test-mbsspn.c: Likewise.
29959         * tests/test-mbsstr1.c: Likewise.
29960         * tests/test-mbsstr2.c: Likewise.
29961         * tests/test-mbsstr3.c: Likewise.
29962         * tests/test-memchr.c: Likewise.
29963         * tests/test-memchr2.c: Likewise.
29964         * tests/test-memcmp.c: Likewise.
29965         * tests/test-memmem.c: Likewise.
29966         * tests/test-memrchr.c: Likewise.
29967         * tests/test-mkdir.c: Likewise.
29968         * tests/test-mkdirat.c: Likewise.
29969         * tests/test-mkfifo.c: Likewise.
29970         * tests/test-mkfifoat.c: Likewise.
29971         * tests/test-mknod.c: Likewise.
29972         * tests/test-nanosleep.c: Likewise.
29973         * tests/test-nl_langinfo.c: Likewise.
29974         * tests/test-obstack-printf.c: Likewise.
29975         * tests/test-open.c: Likewise.
29976         * tests/test-openat.c: Likewise.
29977         * tests/test-pipe-filter-gi1.c: Likewise.
29978         * tests/test-pipe-filter-gi2-main.c: Likewise.
29979         * tests/test-pipe-filter-ii1.c: Likewise.
29980         * tests/test-pipe-filter-ii2-main.c: Likewise.
29981         * tests/test-pipe2.c: Likewise.
29982         * tests/test-popen.h: Likewise.
29983         * tests/test-posixtm.c: Likewise.
29984         * tests/test-pread.c: Likewise.
29985         * tests/test-printf-frexp.c: Likewise.
29986         * tests/test-printf-frexpl.c: Likewise.
29987         * tests/test-printf-posix.c: Likewise.
29988         * tests/test-priv-set.c: Likewise.
29989         * tests/test-quotearg.c: Likewise.
29990         * tests/test-random_r.c: Likewise.
29991         * tests/test-rawmemchr.c: Likewise.
29992         * tests/test-rbtree_list.c: Likewise.
29993         * tests/test-rbtree_oset.c: Likewise.
29994         * tests/test-rbtreehash_list.c: Likewise.
29995         * tests/test-readlink.c: Likewise.
29996         * tests/test-remove.c: Likewise.
29997         * tests/test-rename.c: Likewise.
29998         * tests/test-renameat.c: Likewise.
29999         * tests/test-rmdir.c: Likewise.
30000         * tests/test-round1.c: Likewise.
30001         * tests/test-roundf1.c: Likewise.
30002         * tests/test-roundl.c: Likewise.
30003         * tests/test-safe-alloc.c: Likewise.
30004         * tests/test-sameacls.c: Likewise.
30005         * tests/test-set-mode-acl.c: Likewise.
30006         * tests/test-setenv.c: Likewise.
30007         * tests/test-sigaction.c: Likewise.
30008         * tests/test-signbit.c: Likewise.
30009         * tests/test-sleep.c: Likewise.
30010         * tests/test-snprintf-posix.c: Likewise.
30011         * tests/test-snprintf.c: Likewise.
30012         * tests/test-sprintf-posix.c: Likewise.
30013         * tests/test-stat-time.c: Likewise.
30014         * tests/test-stat.c: Likewise.
30015         * tests/test-strcasestr.c: Likewise.
30016         * tests/test-strchrnul.c: Likewise.
30017         * tests/test-strerror.c: Likewise.
30018         * tests/test-striconv.c: Likewise.
30019         * tests/test-striconveh.c: Likewise.
30020         * tests/test-striconveha.c: Likewise.
30021         * tests/test-strsignal.c: Likewise.
30022         * tests/test-strstr.c: Likewise.
30023         * tests/test-strtod.c: Likewise.
30024         * tests/test-strverscmp.c: Likewise.
30025         * tests/test-symlink.c: Likewise.
30026         * tests/test-symlinkat.c: Likewise.
30027         * tests/test-trunc1.c: Likewise.
30028         * tests/test-trunc2.c: Likewise.
30029         * tests/test-truncf1.c: Likewise.
30030         * tests/test-truncf2.c: Likewise.
30031         * tests/test-truncl.c: Likewise.
30032         * tests/test-uname.c: Likewise.
30033         * tests/test-unlink.c: Likewise.
30034         * tests/test-unlinkat.c: Likewise.
30035         * tests/test-unsetenv.c: Likewise.
30036         * tests/test-usleep.c: Likewise.
30037         * tests/test-utimens.c: Likewise.
30038         * tests/test-utimensat.c: Likewise.
30039         * tests/test-vasnprintf-posix.c: Likewise.
30040         * tests/test-vasnprintf-posix2.c: Likewise.
30041         * tests/test-vasnprintf.c: Likewise.
30042         * tests/test-vasprintf-posix.c: Likewise.
30043         * tests/test-vasprintf.c: Likewise.
30044         * tests/test-vdprintf-posix.c: Likewise.
30045         * tests/test-vfprintf-posix.c: Likewise.
30046         * tests/test-vprintf-posix.c: Likewise.
30047         * tests/test-vsnprintf-posix.c: Likewise.
30048         * tests/test-vsnprintf.c: Likewise.
30049         * tests/test-vsprintf-posix.c: Likewise.
30050         * tests/test-wcrtomb.c: Likewise.
30051         * tests/test-wcsnrtombs.c: Likewise.
30052         * tests/test-wcsrtombs.c: Likewise.
30053         * tests/test-wctype.c: Likewise.
30054         * tests/test-wcwidth.c: Likewise.
30055         * tests/test-xfprintf-posix.c: Likewise.
30056         * tests/test-xmemdup0.c: Likewise.
30057         * tests/test-xprintf-posix.c: Likewise.
30058         * tests/test-xvasprintf.c: Likewise.
30059         * tests/unicase/test-locale-language.c: Likewise.
30060         * tests/unicase/test-mapping-part1.h: Likewise.
30061         * tests/unicase/test-predicate-part1.h: Likewise.
30062         * tests/unicase/test-u8-casecmp.c: Likewise.
30063         * tests/unicase/test-u8-casecoll.c: Likewise.
30064         * tests/unicase/test-u8-casefold.c: Likewise.
30065         * tests/unicase/test-u8-is-cased.c: Likewise.
30066         * tests/unicase/test-u8-is-casefolded.c: Likewise.
30067         * tests/unicase/test-u8-is-lowercase.c: Likewise.
30068         * tests/unicase/test-u8-is-titlecase.c: Likewise.
30069         * tests/unicase/test-u8-is-uppercase.c: Likewise.
30070         * tests/unicase/test-u8-tolower.c: Likewise.
30071         * tests/unicase/test-u8-totitle.c: Likewise.
30072         * tests/unicase/test-u8-toupper.c: Likewise.
30073         * tests/unicase/test-u16-casecmp.c: Likewise.
30074         * tests/unicase/test-u16-casecoll.c: Likewise.
30075         * tests/unicase/test-u16-casefold.c: Likewise.
30076         * tests/unicase/test-u16-is-cased.c: Likewise.
30077         * tests/unicase/test-u16-is-casefolded.c: Likewise.
30078         * tests/unicase/test-u16-is-lowercase.c: Likewise.
30079         * tests/unicase/test-u16-is-titlecase.c: Likewise.
30080         * tests/unicase/test-u16-is-uppercase.c: Likewise.
30081         * tests/unicase/test-u16-tolower.c: Likewise.
30082         * tests/unicase/test-u16-totitle.c: Likewise.
30083         * tests/unicase/test-u16-toupper.c: Likewise.
30084         * tests/unicase/test-u32-casecmp.c: Likewise.
30085         * tests/unicase/test-u32-casecoll.c: Likewise.
30086         * tests/unicase/test-u32-casefold.c: Likewise.
30087         * tests/unicase/test-u32-is-cased.c: Likewise.
30088         * tests/unicase/test-u32-is-casefolded.c: Likewise.
30089         * tests/unicase/test-u32-is-lowercase.c: Likewise.
30090         * tests/unicase/test-u32-is-titlecase.c: Likewise.
30091         * tests/unicase/test-u32-is-uppercase.c: Likewise.
30092         * tests/unicase/test-u32-tolower.c: Likewise.
30093         * tests/unicase/test-u32-totitle.c: Likewise.
30094         * tests/unicase/test-u32-toupper.c: Likewise.
30095         * tests/unicase/test-ulc-casecmp.c: Likewise.
30096         * tests/unicase/test-ulc-casecoll.c: Likewise.
30097         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
30098         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
30099         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
30100         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
30101         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
30102         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
30103         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
30104         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
30105         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
30106         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
30107         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
30108         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
30109         * tests/unictype/test-bidi_byname.c: Likewise.
30110         * tests/unictype/test-bidi_name.c: Likewise.
30111         * tests/unictype/test-bidi_of.c: Likewise.
30112         * tests/unictype/test-bidi_test.c: Likewise.
30113         * tests/unictype/test-block_list.c: Likewise.
30114         * tests/unictype/test-block_of.c: Likewise.
30115         * tests/unictype/test-block_test.c: Likewise.
30116         * tests/unictype/test-categ_and.c: Likewise.
30117         * tests/unictype/test-categ_and_not.c: Likewise.
30118         * tests/unictype/test-categ_byname.c: Likewise.
30119         * tests/unictype/test-categ_name.c: Likewise.
30120         * tests/unictype/test-categ_none.c: Likewise.
30121         * tests/unictype/test-categ_of.c: Likewise.
30122         * tests/unictype/test-categ_or.c: Likewise.
30123         * tests/unictype/test-categ_test_withtable.c: Likewise.
30124         * tests/unictype/test-combining.c: Likewise.
30125         * tests/unictype/test-decdigit.c: Likewise.
30126         * tests/unictype/test-digit.c: Likewise.
30127         * tests/unictype/test-mirror.c: Likewise.
30128         * tests/unictype/test-numeric.c: Likewise.
30129         * tests/unictype/test-pr_byname.c: Likewise.
30130         * tests/unictype/test-pr_test.c: Likewise.
30131         * tests/unictype/test-predicate-part1.h: Likewise.
30132         * tests/unictype/test-scripts.c: Likewise.
30133         * tests/unictype/test-sy_c_ident.c: Likewise.
30134         * tests/unictype/test-sy_java_ident.c: Likewise.
30135         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
30136         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
30137         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
30138         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
30139         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
30140         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
30141         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
30142         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
30143         * tests/uninorm/test-canonical-decomposition.c: Likewise.
30144         * tests/uninorm/test-compat-decomposition.c: Likewise.
30145         * tests/uninorm/test-composition.c: Likewise.
30146         * tests/uninorm/test-decomposing-form.c: Likewise.
30147         * tests/uninorm/test-decomposition.c: Likewise.
30148         * tests/uninorm/test-u8-nfc.c: Likewise.
30149         * tests/uninorm/test-u8-nfd.c: Likewise.
30150         * tests/uninorm/test-u8-nfkc.c: Likewise.
30151         * tests/uninorm/test-u8-nfkd.c: Likewise.
30152         * tests/uninorm/test-u8-normcmp.c: Likewise.
30153         * tests/uninorm/test-u8-normcoll.c: Likewise.
30154         * tests/uninorm/test-u16-nfc.c: Likewise.
30155         * tests/uninorm/test-u16-nfd.c: Likewise.
30156         * tests/uninorm/test-u16-nfkc.c: Likewise.
30157         * tests/uninorm/test-u16-nfkd.c: Likewise.
30158         * tests/uninorm/test-u16-normcmp.c: Likewise.
30159         * tests/uninorm/test-u16-normcoll.c: Likewise.
30160         * tests/uninorm/test-u32-nfc.c: Likewise.
30161         * tests/uninorm/test-u32-nfd.c: Likewise.
30162         * tests/uninorm/test-u32-nfkc.c: Likewise.
30163         * tests/uninorm/test-u32-nfkd.c: Likewise.
30164         * tests/uninorm/test-u32-normalize-big.c: Likewise.
30165         * tests/uninorm/test-u32-normcmp.c: Likewise.
30166         * tests/uninorm/test-u32-normcoll.c: Likewise.
30167         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
30168         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
30169         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
30170         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
30171         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
30172         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
30173         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
30174         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
30175         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
30176         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
30177         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
30178         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
30179         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
30180         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
30181         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
30182         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
30183         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
30184         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
30185         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
30186         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
30187         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
30188         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
30189         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
30190         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
30191         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
30192         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
30193         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
30194         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
30195         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
30196         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
30197         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
30198         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
30199         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
30200         * tests/uniwidth/test-u8-strwidth.c: Likewise.
30201         * tests/uniwidth/test-u8-width.c: Likewise.
30202         * tests/uniwidth/test-u16-strwidth.c: Likewise.
30203         * tests/uniwidth/test-u16-width.c: Likewise.
30204         * tests/uniwidth/test-u32-strwidth.c: Likewise.
30205         * tests/uniwidth/test-u32-width.c: Likewise.
30206         * tests/uniwidth/test-uc_width.c: Likewise.
30207         * tests/uniwidth/test-uc_width2.c: Likewise.
30208         * modules/acl-tests (Files): Add tests/macros.h.
30209         * modules/areadlink-tests (Files): Likewise.
30210         * modules/areadlink-with-size-tests (Files): Likewise.
30211         * modules/areadlinkat-tests (Files): Likewise.
30212         * modules/areadlinkat-with-size-tests (Files): Likewise.
30213         * modules/argmatch-tests (Files): Likewise.
30214         * modules/argv-iter-tests (Files): Likewise.
30215         * modules/array-list-tests (Files): Likewise.
30216         * modules/array-mergesort-tests (Files): Likewise.
30217         * modules/array-oset-tests (Files): Likewise.
30218         * modules/avltree-list-tests (Files): Likewise.
30219         * modules/avltree-oset-tests (Files): Likewise.
30220         * modules/avltreehash-list-tests (Files): Likewise.
30221         * modules/base64-tests (Files): Likewise.
30222         * modules/binary-io-tests (Files): Likewise.
30223         * modules/bitrotate-tests (Files): Likewise.
30224         * modules/btowc-tests (Files): Likewise.
30225         * modules/byteswap-tests (Files): Likewise.
30226         * modules/c-ctype-tests (Files): Likewise.
30227         * modules/c-stack-tests (Files): Likewise.
30228         * modules/c-strcase-tests (Files): Likewise.
30229         * modules/c-strcasestr-tests (Files): Likewise.
30230         * modules/c-strstr-tests (Files): Likewise.
30231         * modules/canonicalize-lgpl-tests (Files): Likewise.
30232         * modules/canonicalize-tests (Files): Likewise.
30233         * modules/carray-list-tests (Files): Likewise.
30234         * modules/ceilf-tests (Files): Likewise.
30235         * modules/ceill-tests (Files): Likewise.
30236         * modules/chown-tests (Files): Likewise.
30237         * modules/cloexec-tests (Files): Likewise.
30238         * modules/copy-file-tests (Files): Likewise.
30239         * modules/count-one-bits-tests (Files): Likewise.
30240         * modules/dprintf-posix-tests (Files): Likewise.
30241         * modules/dup2-tests (Files): Likewise.
30242         * modules/dup3-tests (Files): Likewise.
30243         * modules/duplocale-tests (Files): Likewise.
30244         * modules/fbufmode-tests (Files): Likewise.
30245         * modules/fchdir-tests (Files): Likewise.
30246         * modules/fcntl-safer-tests (Files): Likewise.
30247         * modules/fcntl-tests (Files): Likewise.
30248         * modules/fdopendir-tests (Files): Likewise.
30249         * modules/fdutimensat-tests (Files): Likewise.
30250         * modules/fflush-tests (Files): Likewise.
30251         * modules/filevercmp-tests (Files): Likewise.
30252         * modules/flock-tests (Files): Likewise.
30253         * modules/floorf-tests (Files): Likewise.
30254         * modules/floorl-tests (Files): Likewise.
30255         * modules/fnmatch-tests (Files): Likewise.
30256         * modules/fopen-safer-tests (Files): Likewise.
30257         * modules/fopen-tests (Files): Likewise.
30258         * modules/fpending-tests (Files): Likewise.
30259         * modules/fprintf-posix-tests (Files): Likewise.
30260         * modules/fpurge-tests (Files): Likewise.
30261         * modules/freadable-tests (Files): Likewise.
30262         * modules/freadahead-tests (Files): Likewise.
30263         * modules/freading-tests (Files): Likewise.
30264         * modules/freadptr-tests (Files): Likewise.
30265         * modules/freadseek-tests (Files): Likewise.
30266         * modules/freopen-tests (Files): Likewise.
30267         * modules/frexp-nolibm-tests (Files): Likewise.
30268         * modules/frexp-tests (Files): Likewise.
30269         * modules/frexpl-nolibm-tests (Files): Likewise.
30270         * modules/frexpl-tests (Files): Likewise.
30271         * modules/fseek-tests (Files): Likewise.
30272         * modules/fseeko-tests (Files): Likewise.
30273         * modules/fstrcmp-tests (Files): Likewise.
30274         * modules/fsync-tests (Files): Likewise.
30275         * modules/ftell-tests (Files): Likewise.
30276         * modules/ftello-tests (Files): Likewise.
30277         * modules/func-tests (Files): Likewise.
30278         * modules/futimens-tests (Files): Likewise.
30279         * modules/fwritable-tests (Files): Likewise.
30280         * modules/fwriting-tests (Files): Likewise.
30281         * modules/getcwd-tests (Files): Likewise.
30282         * modules/getdate-tests (Files): Likewise.
30283         * modules/getdelim-tests (Files): Likewise.
30284         * modules/getdtablesize-tests (Files): Likewise.
30285         * modules/getgroups-tests (Files): Likewise.
30286         * modules/getline-tests (Files): Likewise.
30287         * modules/getndelim2-tests (Files): Likewise.
30288         * modules/glob-tests (Files): Likewise.
30289         * modules/hash-tests (Files): Likewise.
30290         * modules/i-ring-tests (Files): Likewise.
30291         * modules/iconv-tests (Files): Likewise.
30292         * modules/iconv_open-utf-tests (Files): Likewise.
30293         * modules/idpriv-drop-tests (Files): Likewise.
30294         * modules/idpriv-droptemp-tests (Files): Likewise.
30295         * modules/inet_ntop-tests (Files): Likewise.
30296         * modules/inet_pton-tests (Files): Likewise.
30297         * modules/isblank-tests (Files): Likewise.
30298         * modules/isfinite-tests (Files): Likewise.
30299         * modules/isinf-tests (Files): Likewise.
30300         * modules/isnan-tests (Files): Likewise.
30301         * modules/isnand-nolibm-tests (Files): Likewise.
30302         * modules/isnand-tests (Files): Likewise.
30303         * modules/isnanf-nolibm-tests (Files): Likewise.
30304         * modules/isnanf-tests (Files): Likewise.
30305         * modules/isnanl-nolibm-tests (Files): Likewise.
30306         * modules/isnanl-tests (Files): Likewise.
30307         * modules/lchown-tests (Files): Likewise.
30308         * modules/ldexpl-tests (Files): Likewise.
30309         * modules/link-tests (Files): Likewise.
30310         * modules/linkat-tests (Files): Likewise.
30311         * modules/linked-list-tests (Files): Likewise.
30312         * modules/linkedhash-list-tests (Files): Likewise.
30313         * modules/localename-tests (Files): Likewise.
30314         * modules/lseek-tests (Files): Likewise.
30315         * modules/lstat-tests (Files): Likewise.
30316         * modules/mbmemcasecmp-tests (Files): Likewise.
30317         * modules/mbmemcasecoll-tests (Files): Likewise.
30318         * modules/mbrtowc-tests (Files): Likewise.
30319         * modules/mbscasecmp-tests (Files): Likewise.
30320         * modules/mbscasestr-tests (Files): Likewise.
30321         * modules/mbschr-tests (Files): Likewise.
30322         * modules/mbscspn-tests (Files): Likewise.
30323         * modules/mbsinit-tests (Files): Likewise.
30324         * modules/mbsncasecmp-tests (Files): Likewise.
30325         * modules/mbsnrtowcs-tests (Files): Likewise.
30326         * modules/mbspbrk-tests (Files): Likewise.
30327         * modules/mbspcasecmp-tests (Files): Likewise.
30328         * modules/mbsrchr-tests (Files): Likewise.
30329         * modules/mbsrtowcs-tests (Files): Likewise.
30330         * modules/mbsspn-tests (Files): Likewise.
30331         * modules/mbsstr-tests (Files): Likewise.
30332         * modules/memchr-tests (Files): Likewise.
30333         * modules/memchr2-tests (Files): Likewise.
30334         * modules/memcmp-tests (Files): Likewise.
30335         * modules/memmem-tests (Files): Likewise.
30336         * modules/memrchr-tests (Files): Likewise.
30337         * modules/mkdir-tests (Files): Likewise.
30338         * modules/mkfifo-tests (Files): Likewise.
30339         * modules/mkfifoat-tests (Files): Likewise.
30340         * modules/mknod-tests (Files): Likewise.
30341         * modules/nanosleep-tests (Files): Likewise.
30342         * modules/nl_langinfo-tests (Files): Likewise.
30343         * modules/obstack-printf-tests (Files): Likewise.
30344         * modules/open-tests (Files): Likewise.
30345         * modules/openat-tests (Files): Likewise.
30346         * modules/pipe-filter-gi-tests (Files): Likewise.
30347         * modules/pipe-filter-ii-tests (Files): Likewise.
30348         * modules/pipe2-tests (Files): Likewise.
30349         * modules/popen-safer-tests (Files): Likewise.
30350         * modules/popen-tests (Files): Likewise.
30351         * modules/posixtm-tests (Files): Likewise.
30352         * modules/pread-tests (Files): Likewise.
30353         * modules/printf-frexp-tests (Files): Likewise.
30354         * modules/printf-frexpl-tests (Files): Likewise.
30355         * modules/printf-posix-tests (Files): Likewise.
30356         * modules/priv-set-tests (Files): Likewise.
30357         * modules/quotearg-tests (Files): Likewise.
30358         * modules/random_r-tests (Files): Likewise.
30359         * modules/rawmemchr-tests (Files): Likewise.
30360         * modules/rbtree-list-tests (Files): Likewise.
30361         * modules/rbtree-oset-tests (Files): Likewise.
30362         * modules/rbtreehash-list-tests (Files): Likewise.
30363         * modules/readlink-tests (Files): Likewise.
30364         * modules/remove-tests (Files): Likewise.
30365         * modules/rename-tests (Files): Likewise.
30366         * modules/renameat-tests (Files): Likewise.
30367         * modules/rmdir-tests (Files): Likewise.
30368         * modules/round-tests (Files): Likewise.
30369         * modules/roundf-tests (Files): Likewise.
30370         * modules/roundl-tests (Files): Likewise.
30371         * modules/safe-alloc-tests (Files): Likewise.
30372         * modules/setenv-tests (Files): Likewise.
30373         * modules/sigaction-tests (Files): Likewise.
30374         * modules/signbit-tests (Files): Likewise.
30375         * modules/sleep-tests (Files): Likewise.
30376         * modules/snprintf-posix-tests (Files): Likewise.
30377         * modules/snprintf-tests (Files): Likewise.
30378         * modules/sprintf-posix-tests (Files): Likewise.
30379         * modules/stat-tests (Files): Likewise.
30380         * modules/stat-time-tests (Files): Likewise.
30381         * modules/strcasestr-tests (Files): Likewise.
30382         * modules/strchrnul-tests (Files): Likewise.
30383         * modules/strerror-tests (Files): Likewise.
30384         * modules/striconv-tests (Files): Likewise.
30385         * modules/striconveh-tests (Files): Likewise.
30386         * modules/striconveha-tests (Files): Likewise.
30387         * modules/strsignal-tests (Files): Likewise.
30388         * modules/strstr-tests (Files): Likewise.
30389         * modules/strtod-tests (Files): Likewise.
30390         * modules/strverscmp-tests (Files): Likewise.
30391         * modules/symlink-tests (Files): Likewise.
30392         * modules/symlinkat-tests (Files): Likewise.
30393         * modules/trunc-tests (Files): Likewise.
30394         * modules/truncf-tests (Files): Likewise.
30395         * modules/truncl-tests (Files): Likewise.
30396         * modules/uname-tests (Files): Likewise.
30397         * modules/unicase/cased-tests (Files): Likewise.
30398         * modules/unicase/ignorable-tests (Files): Likewise.
30399         * modules/unicase/locale-language-tests (Files): Likewise.
30400         * modules/unicase/tolower-tests (Files): Likewise.
30401         * modules/unicase/totitle-tests (Files): Likewise.
30402         * modules/unicase/toupper-tests (Files): Likewise.
30403         * modules/unicase/u8-casecmp-tests (Files): Likewise.
30404         * modules/unicase/u8-casecoll-tests (Files): Likewise.
30405         * modules/unicase/u8-casefold-tests (Files): Likewise.
30406         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30407         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30408         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30409         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30410         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30411         * modules/unicase/u8-tolower-tests (Files): Likewise.
30412         * modules/unicase/u8-totitle-tests (Files): Likewise.
30413         * modules/unicase/u8-toupper-tests (Files): Likewise.
30414         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30415         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30416         * modules/unicase/u16-casefold-tests (Files): Likewise.
30417         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30418         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30419         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30420         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30421         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30422         * modules/unicase/u16-tolower-tests (Files): Likewise.
30423         * modules/unicase/u16-totitle-tests (Files): Likewise.
30424         * modules/unicase/u16-toupper-tests (Files): Likewise.
30425         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30426         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30427         * modules/unicase/u32-casefold-tests (Files): Likewise.
30428         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30429         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30430         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30431         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30432         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30433         * modules/unicase/u32-tolower-tests (Files): Likewise.
30434         * modules/unicase/u32-totitle-tests (Files): Likewise.
30435         * modules/unicase/u32-toupper-tests (Files): Likewise.
30436         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30437         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30438         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30439         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30440         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30441         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30442         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30443         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30444         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30445         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30446         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30447         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30448         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30449         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30450         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30451         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30452         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30453         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30454         * modules/unictype/block-list-tests (Files): Likewise.
30455         * modules/unictype/block-of-tests (Files): Likewise.
30456         * modules/unictype/block-test-tests (Files): Likewise.
30457         * modules/unictype/category-C-tests (Files): Likewise.
30458         * modules/unictype/category-Cc-tests (Files): Likewise.
30459         * modules/unictype/category-Cf-tests (Files): Likewise.
30460         * modules/unictype/category-Cn-tests (Files): Likewise.
30461         * modules/unictype/category-Co-tests (Files): Likewise.
30462         * modules/unictype/category-Cs-tests (Files): Likewise.
30463         * modules/unictype/category-L-tests (Files): Likewise.
30464         * modules/unictype/category-Ll-tests (Files): Likewise.
30465         * modules/unictype/category-Lm-tests (Files): Likewise.
30466         * modules/unictype/category-Lo-tests (Files): Likewise.
30467         * modules/unictype/category-Lt-tests (Files): Likewise.
30468         * modules/unictype/category-Lu-tests (Files): Likewise.
30469         * modules/unictype/category-M-tests (Files): Likewise.
30470         * modules/unictype/category-Mc-tests (Files): Likewise.
30471         * modules/unictype/category-Me-tests (Files): Likewise.
30472         * modules/unictype/category-Mn-tests (Files): Likewise.
30473         * modules/unictype/category-N-tests (Files): Likewise.
30474         * modules/unictype/category-Nd-tests (Files): Likewise.
30475         * modules/unictype/category-Nl-tests (Files): Likewise.
30476         * modules/unictype/category-No-tests (Files): Likewise.
30477         * modules/unictype/category-P-tests (Files): Likewise.
30478         * modules/unictype/category-Pc-tests (Files): Likewise.
30479         * modules/unictype/category-Pd-tests (Files): Likewise.
30480         * modules/unictype/category-Pe-tests (Files): Likewise.
30481         * modules/unictype/category-Pf-tests (Files): Likewise.
30482         * modules/unictype/category-Pi-tests (Files): Likewise.
30483         * modules/unictype/category-Po-tests (Files): Likewise.
30484         * modules/unictype/category-Ps-tests (Files): Likewise.
30485         * modules/unictype/category-S-tests (Files): Likewise.
30486         * modules/unictype/category-Sc-tests (Files): Likewise.
30487         * modules/unictype/category-Sk-tests (Files): Likewise.
30488         * modules/unictype/category-Sm-tests (Files): Likewise.
30489         * modules/unictype/category-So-tests (Files): Likewise.
30490         * modules/unictype/category-Z-tests (Files): Likewise.
30491         * modules/unictype/category-Zl-tests (Files): Likewise.
30492         * modules/unictype/category-Zp-tests (Files): Likewise.
30493         * modules/unictype/category-Zs-tests (Files): Likewise.
30494         * modules/unictype/category-and-not-tests (Files): Likewise.
30495         * modules/unictype/category-and-tests (Files): Likewise.
30496         * modules/unictype/category-byname-tests (Files): Likewise.
30497         * modules/unictype/category-name-tests (Files): Likewise.
30498         * modules/unictype/category-none-tests (Files): Likewise.
30499         * modules/unictype/category-of-tests (Files): Likewise.
30500         * modules/unictype/category-or-tests (Files): Likewise.
30501         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30502         * modules/unictype/combining-class-tests (Files): Likewise.
30503         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30504         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30505         * modules/unictype/ctype-blank-tests (Files): Likewise.
30506         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30507         * modules/unictype/ctype-digit-tests (Files): Likewise.
30508         * modules/unictype/ctype-graph-tests (Files): Likewise.
30509         * modules/unictype/ctype-lower-tests (Files): Likewise.
30510         * modules/unictype/ctype-print-tests (Files): Likewise.
30511         * modules/unictype/ctype-punct-tests (Files): Likewise.
30512         * modules/unictype/ctype-space-tests (Files): Likewise.
30513         * modules/unictype/ctype-upper-tests (Files): Likewise.
30514         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30515         * modules/unictype/decimal-digit-tests (Files): Likewise.
30516         * modules/unictype/digit-tests (Files): Likewise.
30517         * modules/unictype/mirror-tests (Files): Likewise.
30518         * modules/unictype/numeric-tests (Files): Likewise.
30519         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30520         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30521         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30522         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30523         Likewise.
30524         * modules/unictype/property-bidi-block-separator-tests (Files):
30525         Likewise.
30526         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30527         Likewise.
30528         * modules/unictype/property-bidi-common-separator-tests (Files):
30529         Likewise.
30530         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30531         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30532         Likewise.
30533         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30534         Likewise.
30535         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30536         Likewise.
30537         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30538         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30539         Likewise.
30540         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30541         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30542         Likewise.
30543         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30544         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30545         * modules/unictype/property-bidi-segment-separator-tests (Files):
30546         Likewise.
30547         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30548         * modules/unictype/property-byname-tests (Files): Likewise.
30549         * modules/unictype/property-combining-tests (Files): Likewise.
30550         * modules/unictype/property-composite-tests (Files): Likewise.
30551         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30552         * modules/unictype/property-dash-tests (Files): Likewise.
30553         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30554         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30555         Likewise.
30556         * modules/unictype/property-deprecated-tests (Files): Likewise.
30557         * modules/unictype/property-diacritic-tests (Files): Likewise.
30558         * modules/unictype/property-extender-tests (Files): Likewise.
30559         * modules/unictype/property-format-control-tests (Files): Likewise.
30560         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30561         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30562         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30563         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30564         * modules/unictype/property-hyphen-tests (Files): Likewise.
30565         * modules/unictype/property-id-continue-tests (Files): Likewise.
30566         * modules/unictype/property-id-start-tests (Files): Likewise.
30567         * modules/unictype/property-ideographic-tests (Files): Likewise.
30568         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30569         * modules/unictype/property-ids-trinary-operator-tests (Files):
30570         Likewise.
30571         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30572         * modules/unictype/property-iso-control-tests (Files): Likewise.
30573         * modules/unictype/property-join-control-tests (Files): Likewise.
30574         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30575         * modules/unictype/property-line-separator-tests (Files): Likewise.
30576         * modules/unictype/property-logical-order-exception-tests (Files):
30577         Likewise.
30578         * modules/unictype/property-lowercase-tests (Files): Likewise.
30579         * modules/unictype/property-math-tests (Files): Likewise.
30580         * modules/unictype/property-non-break-tests (Files): Likewise.
30581         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30582         * modules/unictype/property-numeric-tests (Files): Likewise.
30583         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30584         * modules/unictype/property-other-default-ignorable-code-point-tests
30585         (Files): Likewise.
30586         * modules/unictype/property-other-grapheme-extend-tests (Files):
30587         Likewise.
30588         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30589         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30590         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30591         * modules/unictype/property-other-math-tests (Files): Likewise.
30592         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30593         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30594         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30595         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30596         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30597         * modules/unictype/property-private-use-tests (Files): Likewise.
30598         * modules/unictype/property-punctuation-tests (Files): Likewise.
30599         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30600         * modules/unictype/property-radical-tests (Files): Likewise.
30601         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30602         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30603         * modules/unictype/property-space-tests (Files): Likewise.
30604         * modules/unictype/property-terminal-punctuation-tests (Files):
30605         Likewise.
30606         * modules/unictype/property-test-tests (Files): Likewise.
30607         * modules/unictype/property-titlecase-tests (Files): Likewise.
30608         * modules/unictype/property-unassigned-code-value-tests (Files):
30609         Likewise.
30610         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30611         * modules/unictype/property-uppercase-tests (Files): Likewise.
30612         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30613         * modules/unictype/property-white-space-tests (Files): Likewise.
30614         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30615         * modules/unictype/property-xid-start-tests (Files): Likewise.
30616         * modules/unictype/property-zero-width-tests (Files): Likewise.
30617         * modules/unictype/scripts-tests (Files): Likewise.
30618         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30619         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30620         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30621         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30622         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30623         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30624         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30625         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30626         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30627         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30628         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30629         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30630         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30631         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30632         * modules/uninorm/composition-tests (Files): Likewise.
30633         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30634         * modules/uninorm/decomposition-tests (Files): Likewise.
30635         * modules/uninorm/filter-tests (Files): Likewise.
30636         * modules/uninorm/nfc-tests (Files): Likewise.
30637         * modules/uninorm/nfd-tests (Files): Likewise.
30638         * modules/uninorm/nfkc-tests (Files): Likewise.
30639         * modules/uninorm/nfkd-tests (Files): Likewise.
30640         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30641         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30642         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30643         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30644         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30645         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30646         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30647         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30648         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30649         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30650         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30651         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30652         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30653         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30654         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30655         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30656         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30657         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30658         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30659         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30660         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30661         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30662         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30663         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30664         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30665         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30666         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30667         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30668         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30669         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30670         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30671         * modules/uniwidth/u8-width-tests (Files): Likewise.
30672         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30673         * modules/uniwidth/u16-width-tests (Files): Likewise.
30674         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30675         * modules/uniwidth/u32-width-tests (Files): Likewise.
30676         * modules/uniwidth/width-tests (Files): Likewise.
30677         * modules/unlink-tests (Files): Likewise.
30678         * modules/unsetenv-tests (Files): Likewise.
30679         * modules/usleep-tests (Files): Likewise.
30680         * modules/utimens-tests (Files): Likewise.
30681         * modules/utimensat-tests (Files): Likewise.
30682         * modules/vasnprintf-posix-tests (Files): Likewise.
30683         * modules/vasnprintf-tests (Files): Likewise.
30684         * modules/vasprintf-posix-tests (Files): Likewise.
30685         * modules/vasprintf-tests (Files): Likewise.
30686         * modules/vdprintf-posix-tests (Files): Likewise.
30687         * modules/vfprintf-posix-tests (Files): Likewise.
30688         * modules/vprintf-posix-tests (Files): Likewise.
30689         * modules/vsnprintf-posix-tests (Files): Likewise.
30690         * modules/vsnprintf-tests (Files): Likewise.
30691         * modules/vsprintf-posix-tests (Files): Likewise.
30692         * modules/wcrtomb-tests (Files): Likewise.
30693         * modules/wcsnrtombs-tests (Files): Likewise.
30694         * modules/wcsrtombs-tests (Files): Likewise.
30695         * modules/wctype-tests (Files): Likewise.
30696         * modules/wcwidth-tests (Files): Likewise.
30697         * modules/xmemdup0-tests (Files): Likewise.
30698         * modules/xprintf-posix-tests (Files): Likewise.
30699         * modules/xvasprintf-tests (Files): Likewise.
30700
30701 2009-12-24  Eric Blake  <ebb9@byu.net>
30702
30703         test-nanosleep: fix typo
30704         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30705         patch.
30706         Reported by Bruno Haible.
30707
30708 2009-12-24  Bruno Haible  <bruno@clisp.org>
30709
30710         Reduce namespace pollution on glibc systems.
30711         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30712         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30713         systems.
30714         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30715         <getopt.h> on glibc systems.
30716         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30717         systems.
30718         * lib/fcntl.c: Include <unistd.h> here instead.
30719
30720 2009-12-24  Bruno Haible  <bruno@clisp.org>
30721
30722         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30723
30724 2009-12-24  Eric Blake  <ebb9@byu.net>
30725
30726         tests: add signature checks
30727         * tests/signature.h (SIGNATURE_CHECK): New file.
30728         * modules/atexit-tests (Files): Use it.
30729         * modules/btowc-tests (Files): Likewise.
30730         * modules/canonicalize-lgpl-tests (Files): Likewise.
30731         * modules/ceilf-tests (Files): Likewise.
30732         * modules/ceill-tests (Files): Likewise.
30733         * modules/chown-tests (Files): Likewise.
30734         * modules/dprintf-posix-tests (Files): Likewise.
30735         * modules/dup2-tests (Files): Likewise.
30736         * modules/dup3-tests (Files): Likewise.
30737         * modules/duplocale-tests (Files): Likewise.
30738         * modules/fchdir-tests (Files): Likewise.
30739         * modules/fcntl-tests (Files): Likewise.
30740         * modules/fdopendir-tests (Files): Likewise.
30741         * modules/fflush-tests (Files): Likewise.
30742         * modules/flock-tests (Files): Likewise.
30743         * modules/floorf-tests (Files): Likewise.
30744         * modules/floorl-tests (Files): Likewise.
30745         * modules/fnmatch-tests (Files): Likewise.
30746         * modules/fopen-tests (Files): Likewise.
30747         * modules/fprintf-posix-tests (Files): Likewise.
30748         * modules/freopen-tests (Files): Likewise.
30749         * modules/frexp-nolibm-tests (Files): Likewise.
30750         * modules/frexp-tests (Files): Likewise.
30751         * modules/frexpl-nolibm-tests (Files): Likewise.
30752         * modules/frexpl-tests (Files): Likewise.
30753         * modules/fseek-tests (Files): Likewise.
30754         * modules/fseeko-tests (Files): Likewise.
30755         * modules/fsync-tests (Files): Likewise.
30756         * modules/ftell-tests (Files): Likewise.
30757         * modules/ftello-tests (Files): Likewise.
30758         * modules/futimens-tests (Files): Likewise.
30759         * modules/getaddrinfo-tests (Files): Likewise.
30760         * modules/getcwd-tests (Files): Likewise.
30761         * modules/getdelim-tests (Files): Likewise.
30762         * modules/getdtablesize-tests (Files): Likewise.
30763         * modules/getgroups-tests (Files): Likewise.
30764         * modules/gethostname-tests (Files): Likewise.
30765         * modules/getline-tests (Files): Likewise.
30766         * modules/getopt-posix-tests (Files): Likewise.
30767         * modules/gettimeofday-tests (Files): Likewise.
30768         * modules/glob-tests (Files): Likewise.
30769         * modules/iconv-tests (Files): Likewise.
30770         * modules/inet_ntop-tests (Files): Likewise.
30771         * modules/inet_pton-tests (Files): Likewise.
30772         * modules/isblank-tests (Files): Likewise.
30773         * modules/lchown-tests (Files): Likewise.
30774         * modules/ldexpl-tests (Files): Likewise.
30775         * modules/link-tests (Files): Likewise.
30776         * modules/linkat-tests (Files): Likewise.
30777         * modules/lseek-tests (Files): Likewise.
30778         * modules/lstat-tests (Files): Likewise.
30779         * modules/mbrtowc-tests (Files): Likewise.
30780         * modules/mbsinit-tests (Files): Likewise.
30781         * modules/mbsnrtowcs-tests (Files): Likewise.
30782         * modules/mbsrtowcs-tests (Files): Likewise.
30783         * modules/memchr-tests (Files): Likewise.
30784         * modules/memcmp-tests (Files): Likewise.
30785         * modules/memmem-tests (Files): Likewise.
30786         * modules/memrchr-tests (Files): Likewise.
30787         * modules/mkdir-tests (Files): Likewise.
30788         * modules/mkfifo-tests (Files): Likewise.
30789         * modules/mkfifoat-tests (Files): Likewise.
30790         * modules/mknod-tests (Files): Likewise.
30791         * modules/nanosleep-tests (Files): Likewise.
30792         * modules/nl_langinfo-tests (Files): Likewise.
30793         * modules/obstack-printf-tests (Files): Likewise.
30794         * modules/open-tests (Files): Likewise.
30795         * modules/openat-tests (Files): Likewise.
30796         * modules/perror-tests (Files): Likewise.
30797         * modules/pipe2-tests (Files): Likewise.
30798         * modules/poll-tests (Files): Likewise.
30799         * modules/popen-tests (Files): Likewise.
30800         * modules/posix_spawn-tests (Files): Likewise.
30801         * modules/posix_spawnp-tests (Files): Likewise.
30802         * modules/pread-tests (Files): Likewise.
30803         * modules/printf-posix-tests (Files): Likewise.
30804         * modules/pty-tests (Files): Likewise.
30805         * modules/random_r-tests (Files): Likewise.
30806         * modules/rawmemchr-tests (Files): Likewise.
30807         * modules/readlink-tests (Files): Likewise.
30808         * modules/remove-tests (Files): Likewise.
30809         * modules/rename-tests (Files): Likewise.
30810         * modules/renameat-tests (Files): Likewise.
30811         * modules/rmdir-tests (Files): Likewise.
30812         * modules/round-tests (Files): Likewise.
30813         * modules/roundf-tests (Files): Likewise.
30814         * modules/roundl-tests (Files): Likewise.
30815         * modules/select-tests (Files): Likewise.
30816         * modules/setenv-tests (Files): Likewise.
30817         * modules/sigaction-tests (Files): Likewise.
30818         * modules/sleep-tests (Files): Likewise.
30819         * modules/snprintf-posix-tests (Files): Likewise.
30820         * modules/snprintf-tests (Files): Likewise.
30821         * modules/sprintf-posix-tests (Files): Likewise.
30822         * modules/stat-tests (Files): Likewise.
30823         * modules/strcasestr-tests (Files): Likewise.
30824         * modules/strchrnul-tests (Files): Likewise.
30825         * modules/strerror-tests (Files): Likewise.
30826         * modules/strsignal-tests (Files): Likewise.
30827         * modules/strstr-tests (Files): Likewise.
30828         * modules/strtod-tests (Files): Likewise.
30829         * modules/strverscmp-tests (Files): Likewise.
30830         * modules/symlink-tests (Files): Likewise.
30831         * modules/symlinkat-tests (Files): Likewise.
30832         * modules/times-tests (Files): Likewise.
30833         * modules/trunc-tests (Files): Likewise.
30834         * modules/truncf-tests (Files): Likewise.
30835         * modules/truncl-tests (Files): Likewise.
30836         * modules/tsearch-tests (Files): Likewise.
30837         * modules/uname-tests (Files): Likewise.
30838         * modules/unlink-tests (Files): Likewise.
30839         * modules/unsetenv-tests (Files): Likewise.
30840         * modules/usleep-tests (Files): Likewise.
30841         * modules/utimensat-tests (Files): Likewise.
30842         * modules/vasprintf-tests (Files): Likewise.
30843         * modules/vdprintf-posix-tests (Files): Likewise.
30844         * modules/vfprintf-posix-tests (Files): Likewise.
30845         * modules/vprintf-posix-tests (Files): Likewise.
30846         * modules/vsnprintf-posix-tests (Files): Likewise.
30847         * modules/vsnprintf-tests (Files): Likewise.
30848         * modules/vsprintf-posix-tests (Files): Likewise.
30849         * modules/wcrtomb-tests (Files): Likewise.
30850         * modules/wcsnrtombs-tests (Files): Likewise.
30851         * modules/wcsrtombs-tests (Files): Likewise.
30852         * modules/wcwidth-tests (Files): Likewise.
30853         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30854         * tests/test-isinf.c (isinf): Likewise.
30855         * tests/test-isnan.c (isnan): Likewise.
30856         * tests/test-signbit.c (signbit): Likewise.
30857         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30858         declaration, either as macro or with correct signature.
30859         (select): Ensure function under test is declared with correct
30860         signature in correct header.
30861         * tests/test-atexit.c (atexit): Likewise.
30862         * tests/test-btowc.c (btowc): Likewise.
30863         * tests/test-canonicalize-lgpl.c (realpath)
30864         (canonicalize_file_name): Likewise.
30865         * tests/test-ceilf1.c (ceilf): Likewise.
30866         * tests/test-ceill.c (ceill): Likewise.
30867         * tests/test-chown.c (chown): Likewise.
30868         * tests/test-dprintf-posix.c (dprintf): Likewise.
30869         * tests/test-dup2.c (dup2): Likewise.
30870         * tests/test-dup3.c (dup3): Likewise.
30871         * tests/test-duplocale.c (duplocale): Likewise.
30872         * tests/test-fchdir.c (fchdir): Likewise.
30873         * tests/test-fchownat.c (fchownat): Likewise.
30874         * tests/test-fcntl.c (fcntl): Likewise.
30875         * tests/test-fdopendir.c (fdopendir): Likewise.
30876         * tests/test-fflush.c (fflush): Likewise.
30877         * tests/test-flock.c (flock): Likewise.
30878         * tests/test-floorf1.c (floorf): Likewise.
30879         * tests/test-floorl.c (floorl): Likewise.
30880         * tests/test-fnmatch.c (fnmatch): Likewise.
30881         * tests/test-fopen.c (fopen): Likewise.
30882         * tests/test-fprintf-posix.c (fprintf): Likewise.
30883         * tests/test-freopen.c (freopen): Likewise.
30884         * tests/test-frexp.c (frexp): Likewise.
30885         * tests/test-frexpl.c (frexpl): Likewise.
30886         * tests/test-fseek.c (fseek): Likewise.
30887         * tests/test-fseeko.c (fseeko): Likewise.
30888         * tests/test-fstatat.c (fstatat): Likewise.
30889         * tests/test-fsync.c (fsync): Likewise.
30890         * tests/test-ftell.c (ftell): Likewise.
30891         * tests/test-ftello.c (ftello): Likewise.
30892         * tests/test-futimens.c (futimens): Likewise.
30893         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30894         (gai_strerror): Likewise.
30895         * tests/test-getcwd.c (getcwd): Likewise.
30896         * tests/test-getdelim.c (getdelim): Likewise.
30897         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30898         * tests/test-getgroups.c (getgroups): Likewise.
30899         * tests/test-gethostname.c (gethostname): Likewise.
30900         * tests/test-getline.c (getline): Likewise.
30901         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30902         Likewise.
30903         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30904         * tests/test-glob.c (glob, globfree): Likewise.
30905         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30906         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30907         * tests/test-inet_pton.c (inet_pton): Likewise.
30908         * tests/test-isblank.c (isblank): Likewise.
30909         * tests/test-lchown.c (lchown): Likewise.
30910         * tests/test-ldexpl.c (ldexpl): Likewise.
30911         * tests/test-link.c (link): Likewise.
30912         * tests/test-linkat.c (linkat): Likewise.
30913         * tests/test-lseek.c (lseek): Likewise.
30914         * tests/test-lstat.c (lstat): Likewise.
30915         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30916         * tests/test-mbsinit.c (mbsinit): Likewise.
30917         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30918         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30919         * tests/test-memchr.c (memchr): Likewise.
30920         * tests/test-memcmp.c (memcmp): Likewise.
30921         * tests/test-memmem.c (memmem): Likewise.
30922         * tests/test-memrchr.c (memrchr): Likewise.
30923         * tests/test-mkdir.c (mkdir): Likewise.
30924         * tests/test-mkdirat.c (mkdirat): Likewise.
30925         * tests/test-mkfifo.c (mkfifo): Likewise.
30926         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30927         * tests/test-mknod.c (mknod): Likewise.
30928         * tests/test-nanosleep.c (nanosleep): Likewise.
30929         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30930         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30931         Likewise.
30932         * tests/test-open.c (open): Likewise.
30933         * tests/test-openat.c (openat): Likewise.
30934         * tests/test-perror.c (perror): Likewise.
30935         * tests/test-pipe2.c (pipe2): Likewise.
30936         * tests/test-poll.c (poll): Likewise.
30937         * tests/test-popen.c (popen, pclose): Likewise.
30938         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30939         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30940         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30941         (posix_spawn_file_actions_destroy)
30942         (posix_spawn_file_actions_addclose)
30943         (posix_spawn_file_actions_addopen)
30944         (posix_spawn_file_actions_adddup2): Likewise.
30945         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30946         * tests/test-pread.c (pread): Likewise.
30947         * tests/test-printf-posix.c (printf): Likewise.
30948         * tests/test-pty.c (openpty, forkpty): Likewise.
30949         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30950         (random_r): Likewise.
30951         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30952         * tests/test-readlink.c (readlink): Likewise.
30953         * tests/test-remove.c (remove): Likewise.
30954         * tests/test-rename.c (rename): Likewise.
30955         * tests/test-renameat.c (renameat): Likewise.
30956         * tests/test-rmdir.c (rmdir): Likewise.
30957         * tests/test-round1.c (round): Likewise.
30958         * tests/test-roundf1.c (roundf): Likewise.
30959         * tests/test-roundl.c (roundl): Likewise.
30960         * tests/test-setenv.c (setenv): Likewise.
30961         * tests/test-sigaction.c (sigaction): Likewise.
30962         * tests/test-sleep.c (sleep): Likewise.
30963         * tests/test-snprintf.c (snprintf): Likewise.
30964         * tests/test-sprintf-posix.c (sprintf): Likewise.
30965         * tests/test-stat.c (stat): Likewise.
30966         * tests/test-stpncpy.c (stpncpy): Likewise.
30967         * tests/test-strcasestr.c (strcasestr): Likewise.
30968         * tests/test-strchrnul.c (strchrnul): Likewise.
30969         * tests/test-strerror.c (strerror): Likewise.
30970         * tests/test-strsignal.c (strsignal): Likewise.
30971         * tests/test-strstr.c (strstr): Likewise.
30972         * tests/test-strtod.c (strtod): Likewise.
30973         * tests/test-strverscmp.c (strverscmp): Likewise.
30974         * tests/test-symlink.c (symlink): Likewise.
30975         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30976         * tests/test-times.c (times): Likewise.
30977         * tests/test-trunc1.c (trunc): Likewise.
30978         * tests/test-truncf1.c (truncf): Likewise.
30979         * tests/test-truncl.c (truncl): Likewise.
30980         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30981         Likewise.
30982         * tests/test-uname.c (uname): Likewise.
30983         * tests/test-unlink.c (unlink): Likewise.
30984         * tests/test-unlinkat.c (unlinkat): Likewise.
30985         * tests/test-unsetenv.c (unsetenv): Likewise.
30986         * tests/test-usleep.c (usleep): Likewise.
30987         * tests/test-utimensat.c (utimensat): Likewise.
30988         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30989         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30990         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30991         * tests/test-vprintf-posix.c (vprintf): Likewise.
30992         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30993         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30994         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30995         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30996         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30997         * tests/test-wcwidth.c (wcwidth): Likewise.
30998
30999         build: pull in conditional headers during GNULIB_POSIXCHECK
31000         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
31001         definitions from any conditionally-included headers.
31002         * lib/stdlib.in.h (includes): Likewise.
31003         * lib/unistd.in.h (includes): Likewise.
31004
31005 2009-12-24  Bruno Haible  <bruno@clisp.org>
31006
31007         * tests/test-argv-iter.c: Include header file being tested immediately
31008         after config.h.
31009         * tests/test-base64.c: Likewise.
31010         * tests/test-flock.c: Likewise.
31011         * tests/test-fsync.c: Likewise.
31012         * tests/test-getdate.c: Likewise.
31013         * tests/test-getndelim2.c: Likewise.
31014         * tests/test-isfinite.c: Likewise.
31015         * tests/test-isinf.c: Likewise.
31016         * tests/test-strerror.c: Likewise.
31017         * tests/test-strsignal.c: Likewise.
31018
31019 2009-12-23  Eric Blake  <ebb9@byu.net>
31020
31021         unistd: work around cygwin bug
31022         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
31023         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
31024         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31025
31026 2009-12-23  Bruno Haible  <bruno@clisp.org>
31027
31028         localename: More tests.
31029         * tests/test-localename.c (SIZEOF): New macro.
31030         (categories): New variable.
31031         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
31032         test_locale_name_default): Add test w.r.t. thread locale.
31033         (test_locale_name_thread): New function.
31034         (main): Invoke it.
31035
31036         localename: Make aware of thread locale.
31037         * lib/localename.h (gl_locale_name_thread): New declaration.
31038         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
31039         behaviour with respect to thread locale.
31040         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
31041         <langinfo.h>, glthread/lock.h.
31042         (SIZE_BITS): New macro.
31043         (string_hash): New function.
31044         (struct hash_node): New type.
31045         (HASH_TABLE_SIZE): New macro.
31046         (struniq_hash_table, struniq_lock): New variables.
31047         (struniq): New function.
31048         (gl_locale_name_thread): New function.
31049         (gl_locale_name): Invoke it.
31050         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
31051         * modules/localename (Depends-on): Add lock.
31052         Reported by Mike Gran <spk121@yahoo.com>.
31053
31054 2009-12-23  Eric Blake  <ebb9@byu.net>
31055
31056         va-args: new module
31057         * modules/va-args: New file.
31058         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
31059         * MODULES.html.sh (Core language properties): Mention it.
31060
31061         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
31062         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
31063         named alias for __attribute__((__unused__)).
31064         * lib/chown.c: Update client.
31065         * lib/fchmodat.c: Likewise.
31066         * lib/fts.c: Likewise.
31067         * lib/getdate.y: Likewise.
31068         * lib/getgroups.c: Likewise.
31069         * lib/getopt.c: Likewise.
31070         * lib/getugroups.c: Likewise.
31071         * lib/mkdir.c: Likewise.
31072         * lib/mkfifo.c: Likewise.
31073         * lib/mkfifoat.c: Likewise.
31074         * lib/mknod.c: Likewise.
31075         * lib/mknodat.c: Likewise.
31076         * lib/readlink.c: Likewise.
31077         * lib/se-context.in.h: Likewise.
31078         * lib/se-selinux.in.h: Likewise.
31079         * lib/sockets.c: Likewise.
31080         * lib/symlink.c: Likewise.
31081         * lib/symlinkat.c: Likewise.
31082         * lib/unicodeio.c: Likewise.
31083         * lib/unistr.h: Likewise.
31084         * tests/test-areadlink.c: Likewise.
31085         * tests/test-areadlinkat.c: Likewise.
31086         * tests/test-filenamecat.c: Likewise.
31087         * tests/test-fseeko.c: Likewise.
31088         * tests/test-ftello.c: Likewise.
31089         * tests/test-getdate.c: Likewise.
31090         * tests/test-getgroups.c: Likewise.
31091         * tests/test-gethostname.c: Likewise.
31092         * tests/test-quotearg.c: Likewise.
31093         * tests/test-version-etc.c: Likewise.
31094         * tests/test-xalloc-die.c: Likewise.
31095         * tests/test-xfprintf-posix.c: Likewise.
31096         * tests/test-xprintf-posix.c: Likewise.
31097         * tests/test-xvasprintf.c: Likewise.
31098
31099         tests: avoid compiler warnings
31100         * tests/test-fcntl.c (main): Delete unused parameters.
31101         * tests/test-freopen-safer.c (main): Likewise.
31102         * tests/test-xalloc-die.c (main): Mark unused parameters.
31103         * tests/test-fseeko.c (main): Likewise.
31104         * tests/test-ftello.c (main): Likewise.
31105         * tests/test-nanosleep.c (main): Avoid declaration warning.
31106         * tests/test-sleep.c (main): Likewise.
31107         * tests/test-unsetenv.c (main): Silence warning about string
31108         literal.
31109         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31110
31111 2009-12-23  Bruno Haible  <bruno@clisp.org>
31112
31113         * tests/test-localename.c (test_locale_name): New function, extracted
31114         from main. Also test mixed situations.
31115         (test_locale_name_posix, test_locale_name_environ,
31116         test_locale_name_default): New functions.
31117         (main): Invoke them all.
31118         * modules/localename-tests (configure.ac): Test for newlocale.
31119
31120 2009-12-23  Bruno Haible  <bruno@clisp.org>
31121
31122         unistd: Ensure getcwd gets declared before being overridden.
31123         * lib/unistd.in.h: Conditionally include <io.h>.
31124
31125 2009-12-22  Bruno Haible  <bruno@clisp.org>
31126
31127         wchar: Diagnose broken combination of glibc and gcc versions and flags.
31128         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
31129         (gl_WCHAR_H): Invoke it.
31130         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
31131         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
31132         Reported by Karl Berry <karl@freefriends.org>.
31133
31134 2009-12-22  Eric Blake  <ebb9@byu.net>
31135
31136         math, unistd: avoid redundant includes
31137         * lib/math.in.h (isnan): No need to re-include <math.h>.
31138         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
31139
31140         getsubopt: work around cygwin bug
31141         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
31142         avoid conflicting with system getsubopt.
31143         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
31144         bug.
31145
31146         getopt: synchronize from glibc
31147         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
31148         parameter order.  Adjust all callers.
31149         (_getopt_internal_r, main): Adjust quoting in error messages.
31150         Drop considerations for outdated POSIX 1003.2 error message.
31151         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
31152         callers.
31153         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
31154
31155         test-getopt: test stderr behavior
31156         * modules/getopt-posix-tests (Depends-on): Add dup2.
31157         * tests/test-getopt.c (ASSERT): Avoid stderr.
31158         (main): Move stderr to a temporary file.
31159         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
31160         Instead, add parameter to inform caller if output occurred.
31161         (test_getopt): Adjust all existing tests to expect silence, and
31162         add new tests of leading ":".
31163         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
31164         glibc shortcomings with leading "-:" or "+:" in optstring.
31165         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31166         Likewise.
31167         * doc/posix-functions/getopt.texi (getopt): Likewise.
31168
31169         test-getopt: enhance test
31170         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
31171         supports optind=0.
31172         * tests/test-getopt.c (OPTIND_MIN): Move...
31173         * tests/test-getopt.h (OPTIND_MIN): ...here.
31174         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
31175         Require that optind=0 works, since modern BSD supports it in
31176         addition to optreset, and since coreutils expects it.
31177         (test_getopt_long_only): New test.
31178         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
31179         glibc shortcomings with 'W;', and enforcement of optind=0.
31180         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31181         Likewise.
31182
31183 2009-12-21  Bruno Haible  <bruno@clisp.org>
31184
31185         localename: Improvements for MacOS X and Cygwin.
31186         * lib/localename.h (gl_locale_name_environ): New declaration.
31187         * lib/localename.c (gl_locale_name_environ): New function, extracted from
31188         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
31189         (gl_locale_name_posix): Invoke it.
31190         (gl_locale_name_default): Add comments. Use Windows native API also on
31191         Cygwin.
31192
31193 2009-12-21  Bruno Haible  <bruno@clisp.org>
31194
31195         Update list of Win32 locale ids.
31196         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
31197         (LANG_SAMI): Renamed from LANG_SAAMI.
31198         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
31199         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
31200         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
31201         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
31202         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
31203         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
31204         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
31205         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
31206         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
31207         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
31208         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
31209         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
31210         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
31211         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
31212         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
31213         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
31214         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
31215         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
31216         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
31217         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
31218         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
31219         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
31220         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
31221         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
31222         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
31223         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
31224         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
31225         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
31226         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
31227         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
31228         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
31229         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
31230         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
31231         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
31232         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
31233         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
31234         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
31235         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
31236         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
31237         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
31238         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
31239         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
31240         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
31241         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
31242         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
31243         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
31244         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
31245         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
31246         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
31247         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
31248         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
31249         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
31250         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
31251         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
31252         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
31253         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
31254         Add more languages and countries for Sami, Sorbian. Add more countries
31255         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
31256         for Pashto. Change country for Syriac, Tswana.
31257
31258 2009-12-21  Eric Blake  <ebb9@byu.net>
31259
31260         test-utimens: avoid spurious failure
31261         * tests/test-chown.h (nap): Factor...
31262         * tests/nap.h: ...into new file.
31263         * tests/test-lchown.h (nap): Avoid duplication.
31264         * tests/test-utimens-common.h (nap): Use shared implementation,
31265         necessary on file systems with 1-second resolution.
31266         * modules/chown-tests (Files): Include new file.
31267         * modules/fdutimensat-tests (Files): Likewise.
31268         * modules/futimens-tests (Files): Likewise.
31269         * modules/lchown-tests (Files): Likewise.
31270         * modules/openat-tests (Files): Likewise.
31271         * modules/utimens-tests (Files): Likewise.
31272         * modules/utimensat-tests (Files): Likewise.
31273
31274 2009-12-19  Eric Blake  <ebb9@byu.net>
31275
31276         futimens, utimensat: work around Linux bug
31277         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
31278         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31279         * lib/utimensat.c (rpl_utimensat): Work around it.
31280         * lib/futimens.c (rpl_futimens): Adjust comment.
31281
31282         utimens: work around Linux ctime bug
31283         * lib/utimens.c (detect_ctime_bug): New helper function.
31284         (update_timespec): Differentiate between workaround needed for
31285         this bug vs. what is needed for systems that lack utimensat.
31286         (fdutimens, lutimens): Work around bug.
31287
31288         utimens: check for ctime update
31289         * tests/test-utimens-common.h (check_ctime): Define.
31290         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
31291         * tests/test-futimens.h (test_futimens): Likewise.
31292         * tests/test-lutimens.h (test_lutimens): Likewise.
31293         * doc/posix-functions/futimens.texi (futimens): Document the bug.
31294         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31295
31296 2009-12-19  Bruno Haible  <bruno@clisp.org>
31297
31298         dprintf-posix: Check against memory leak fixed on 2009-12-15.
31299         * tests/test-dprintf-posix2.sh: New file.
31300         * tests/test-dprintf-posix2.c: New file.
31301         * modules/dprintf-posix-tests (Files): Add them.
31302         (configure.ac): Check for getrlimit and setrlimit.
31303         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31304
31305 2009-12-19  Bruno Haible  <bruno@clisp.org>
31306
31307         fprintf-posix: Check against memory leak fixed on 2009-12-15.
31308         * tests/test-fprintf-posix3.sh: New file.
31309         * tests/test-fprintf-posix3.c: New file.
31310         * modules/fprintf-posix-tests (Files): Add them.
31311         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31312
31313 2009-12-19  Eric Blake  <ebb9@byu.net>
31314
31315         dirfd: fix prototype
31316         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
31317         * lib/dirfd.c (dirfd): Likewise.
31318
31319         canonicalize: reduce memory usage
31320         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
31321         allocation to size.
31322         Reported by Solar Designer <solar@openwall.com>.
31323
31324 2009-12-19  Bruno Haible  <bruno@clisp.org>
31325
31326         New module attribute 'Applicability'.
31327         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
31328         * gnulib-tool: New option --extract-applicability.
31329         (func_usage): Document it.
31330         (sed_extract_prog): Recognize it.
31331         (func_get_applicability): New function.
31332         (func_import): Generalize handling of 'link-warning' module.
31333         * modules/link-warning (Applicability): New section.
31334         * modules/arg-nonnull (Applicability): New section.
31335         Repoted by Simon Josefsson <simon@josefsson.org>.
31336
31337 2009-12-19  Bruno Haible  <bruno@clisp.org>
31338
31339         fflush: tweak
31340         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
31341         * lib/fseeko.c (rpl_fseeko): Likewise.
31342
31343 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
31344
31345         * lib/gl_list.h: Fix typo in comment.
31346
31347 2009-12-16  Eric Blake  <ebb9@byu.net>
31348
31349         fcntl: use to simplify other modules
31350         * modules/cloexec (Depends-on): Add fcntl.
31351         * modules/fchdir (Depends-on): Likewise.
31352         * modules/fd-safer-flag (Depends-on): Likewise.
31353         * modules/unistd-safer (Depends-on): Likewise.
31354         * modules/dup3 (configure.ac): Set module indicator.
31355         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
31356         missing.
31357         * lib/fchdir.c (_gl_register_dup): Fix comment.
31358         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
31359         * lib/dup-safer.c (dup_safer): Likewise.
31360         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
31361         * lib/dup3.c (dup3): Likewise.
31362         * tests/test-fchdir.c (main): Enhance test.
31363         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
31364
31365         fcntl: port portions of fcntl to mingw
31366         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
31367         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
31368         replacement for mingw.
31369         * modules/fcntl (Description): Update.
31370         (Depends-on): Add dup2.
31371         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
31372         * modules/fcntl-h (Makefile.am): Substitute it.
31373         * lib/fcntl.in.h (fcntl): Update declaration.
31374         (F_DUPFD, F_GETFD): New macros, when needed.
31375         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31376         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
31377         * tests/test-fcntl.c (check_flags, main): Enhance test for items
31378         we now guarantee.
31379
31380         fcntl: work around cygwin bug in F_DUPFD
31381         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
31382         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
31383         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
31384         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
31385         * doc/posix-functions/fcntl.texi (fcntl): Document it.
31386
31387         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
31388         * modules/fcntl (Files): List new files.
31389         (configure.ac): Run a test.
31390         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
31391         * lib/fcntl.c (rpl_fcntl): Likewise.
31392         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
31393         (gl_FCNTL_H): Always replace fcntl.h.
31394         * modules/fcntl-h (Makefile.am): Substitute witnesses.
31395         * lib/fcntl.in.h (fcntl): Declare replacement.
31396         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
31397         needed, plus a witness.
31398         * doc/posix-functions/fcntl.texi (fcntl): Document this.
31399         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31400         * tests/test-fcntl.c: New file.
31401         * modules/fcntl-tests: Likewise.
31402
31403         binary-io: avoid potential compilation warning
31404         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
31405         directives.
31406
31407         fflush: avoid compilation error on NetBSD
31408         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31409         between off_t and fpos_t, since the latter is sometimes a struct.
31410         * lib/fseeko.c (rpl_fseeko): Likewise.
31411         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31412
31413 2009-12-15  Eric Blake  <ebb9@byu.net>
31414
31415         fcntl-h, stdio, sys_ioctl: fix declarations
31416         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31417         function must not take arguments.
31418         * lib/sys_ioctl.in.h (ioctl): Likewise.
31419         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31420         (open): Add a link warning.
31421
31422 2009-12-15  Jim Meyering  <meyering@redhat.com>
31423
31424         areadlink, areadlink-with-size: relax license to LGPLv2+
31425         * modules/areadlink (License): Relax to LGPLv2+.
31426         * modules/areadlink-with-size (License): Likewise.
31427
31428 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31429             Bruno Haible  <bruno@clisp.org>
31430
31431         *printf: Fix memory leak.
31432         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31433         * lib/vfprintf.c (vfprintf): Likewise.
31434         * lib/dprintf.c (dprintf): Likewise.
31435         * lib/vdprintf.c (vdprintf): Likewise.
31436
31437 2009-12-14  Eric Blake  <ebb9@byu.net>
31438
31439         accept4: adjust module dependencies
31440         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31441
31442         utimens: one more try at avoiding compiler warning
31443         * lib/utimens.c (lutimens): Lower scope of result.
31444
31445 2009-12-13  Bruno Haible  <bruno@clisp.org>
31446
31447         Move the malloc checking from module 'list' to new module 'xlist'.
31448         * modules/xlist: New file.
31449         * lib/gl_xlist.h: New file.
31450         * lib/gl_xlist.c: New file.
31451         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31452         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31453         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31454         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31455         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31456         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31457         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31458         gl_sortedlist_nx_add): New declarations.
31459         (struct gl_list_implementation): Rename and change methods accordingly.
31460         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31461         (gl_list_nx_create): Renamed from gl_list_create.
31462         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31463         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31464         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31465         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31466         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31467         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31468         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31469         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31470         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31471         gl_list_create_empty.
31472         (gl_list_nx_create): Renamed from gl_list_create.
31473         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31474         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31475         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31476         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31477         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31478         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31479         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31480         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31481         * lib/gl_array_list.c: Don't include xalloc.h.
31482         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31483         NULL upon out-of-memory.
31484         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31485         out-of-memory.
31486         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31487         Change return type to 'int'.
31488         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31489         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31490         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31491         upon out-of-memory.
31492         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31493         upon out-of-memory.
31494         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31495         upon out-of-memory.
31496         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31497         upon out-of-memory.
31498         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31499         out-of-memory.
31500         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31501         Update.
31502         (gl_array_list_implementation): Update.
31503         * lib/gl_carray_list.c: Don't include xalloc.h.
31504         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31505         Return NULL upon out-of-memory.
31506         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31507         out-of-memory.
31508         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31509         Change return type to 'int'.
31510         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31511         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31512         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31513         upon out-of-memory.
31514         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31515         upon out-of-memory.
31516         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31517         out-of-memory.
31518         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31519         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31520         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31521         Update.
31522         (gl_carray_list_implementation): Update.
31523         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31524         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31525         gl_linked_create_empty. Return NULL upon out-of-memory.
31526         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31527         out-of-memory.
31528         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31529         Change return type to 'int'. Return -1 upon out-of-memory.
31530         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31531         out-of-memory.
31532         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31533         upon out-of-memory.
31534         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31535         upon out-of-memory.
31536         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31537         NULL upon out-of-memory.
31538         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31539         upon out-of-memory.
31540         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31541         out-of-memory.
31542         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31543         Update.
31544         * lib/gl_linked_list.c: Don't include xalloc.h.
31545         (gl_linked_list_implementation): Update.
31546         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31547         (add_to_bucket): Change return type to 'int'.
31548         (gl_linkedhash_list_implementation): Update.
31549         * lib/gl_anytree_list1.h (free_subtree): New function.
31550         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31551         gl_tree_create_empty. Return NULL upon out-of-memory.
31552         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31553         Change return type to 'int'. Return -1 upon out-of-memory.
31554         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31555         out-of-memory.
31556         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31557         (gl_tree_remove_node): New function, moved here from
31558         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31559         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31560         Update.
31561         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31562         malloc, not xmalloc. Return NULL upon out-of-memory.
31563         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31564         out-of-memory.
31565         (gl_tree_remove_node_from_tree): New function, extracted from
31566         gl_tree_remove_node.
31567         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31568         upon out-of-memory.
31569         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31570         out-of-memory.
31571         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31572         upon out-of-memory.
31573         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31574         upon out-of-memory.
31575         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31576         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31577         not xmalloc. Return NULL upon out-of-memory.
31578         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31579         out-of-memory.
31580         (gl_tree_remove_node_from_tree): New function, extracted from
31581         gl_tree_remove_node.
31582         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31583         upon out-of-memory.
31584         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31585         out-of-memory.
31586         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31587         upon out-of-memory.
31588         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31589         upon out-of-memory.
31590         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31591         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31592         gl_anytree_list1.h before gl_anyavltree_list2.h.
31593         (gl_avltree_list_implementation): Update.
31594         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31595         gl_anytree_list1.h before gl_anyavltree_list2.h.
31596         (gl_rbtree_list_implementation): Update.
31597         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31598         Change return type to 'int'. Return -1 upon out-of-memory. Use
31599         __builtin_expect.
31600         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31601         (gl_avltreehash_list_implementation): Update.
31602         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31603         (gl_rbtreehash_list_implementation): Update.
31604         * modules/array-list (Depends-on): Remove xalloc.
31605         * modules/carray-list (Depends-on): Likewise.
31606         * modules/linked-list (Depends-on): Likewise.
31607         * modules/linkedhash-list (Depends-on): Likewise.
31608         * modules/avltree-list (Depends-on): Likewise.
31609         * modules/rbtree-list (Depends-on): Likewise.
31610         * modules/avltreehash-list (Depends-on): Likewise.
31611         * modules/rbtreehash-list (Depends-on): Likewise.
31612
31613         * modules/xsublist: New file.
31614         * lib/gl_xsublist.h: New file.
31615         * lib/gl_xsublist.c: New file.
31616         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31617         (gl_sublist_nx_create): New declaration.
31618         * lib/gl_sublist.c: Don't include xalloc.h.
31619         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31620         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31621         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31622         Change return type to 'int'. Return -1 upon out-of-memory.
31623         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31624         upon out-of-memory.
31625         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31626         NULL upon out-of-memory.
31627         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31628         upon out-of-memory.
31629         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31630         NULL upon out-of-memory.
31631         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31632         NULL upon out-of-memory.
31633         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31634         upon out-of-memory.
31635         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31636         (gl_sublist_list_implementation): Update.
31637         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31638         upon out-of-memory.
31639         * modules/sublist (Depends-on): Remove xalloc.
31640
31641         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31642         * tests/test-carray_list.c: Likewise.
31643         * tests/test-linked_list.c: Likewise.
31644         * tests/test-linkedhash_list.c: Likewise.
31645         * tests/test-avltree_list.c: Likewise.
31646         * tests/test-rbtree_list.c: Likewise.
31647         * tests/test-avltreehash_list.c: Likewise.
31648         * tests/test-rbtreehash_list.c: Likewise.
31649         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31650         * modules/carray-list-tests (Makefile.am): Likewise.
31651         * modules/linked-list-tests (Makefile.am): Likewise.
31652         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31653         * modules/avltree-list-tests (Makefile.am): Likewise.
31654         * modules/rbtree-list-tests (Makefile.am): Likewise.
31655         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31656         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31657
31658         * NEWS: Mention the changes.
31659
31660         * lib/clean-temp.c: Include gl_xlist.h.
31661         * modules/clean-temp (Depends-on): Add xlist.
31662
31663         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31664         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31665
31666         * tests/test-array_oset.c: Include gl_xlist.h.
31667         * modules/array-oset-tests (Depends-on): Add xlist.
31668
31669         Reported by José E. Marchesi <jemarch@gnu.org>.
31670
31671 2009-12-13  Bruno Haible  <bruno@clisp.org>
31672
31673         Move the malloc checking from module 'oset' to new module 'xoset'.
31674         * modules/xoset: New file.
31675         * lib/gl_xoset.h: New file.
31676         * lib/gl_xoset.c: New file.
31677         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31678         declarations.
31679         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31680         (struct gl_oset_implementation): Rename and change methods accordingly.
31681         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31682         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31683         'int'. Mark as __warn_unused_result__.
31684         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31685         gl_oset_create_empty.
31686         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31687         'int'.
31688         * lib/gl_array_oset.c: Don't include xalloc.h.
31689         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31690         malloc, not xmalloc.
31691         (grow): Change return type to 'int'. Don't call xalloc_die.
31692         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31693         to 'int'.
31694         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31695         'int'.
31696         (gl_array_oset_implementation): Update.
31697         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31698         gl_tree_create_empty.
31699         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31700         'int'.
31701         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31702         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31703         xmalloc.
31704         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31705         not xmalloc.
31706         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31707         xmalloc.
31708         (gl_avltree_oset_implementation): Update.
31709         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31710         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31711         xmalloc.
31712         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31713         not xmalloc.
31714         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31715         xmalloc.
31716         (gl_rbtree_oset_implementation): Update.
31717         * modules/array-oset (Depends-on): Remove xalloc.
31718         * modules/avltree-oset (Depends-on): Likewise.
31719         * modules/rbtree-oset (Depends-on): Likewise.
31720         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31721         * tests/test-avltree_oset.c: Likewise.
31722         * tests/test-rbtree_oset.c: Likewise.
31723         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31724         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31725         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31726         * NEWS: Mention the change.
31727
31728 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31729
31730         maint.mk: allow a project to override release-prep commands
31731         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31732         commands into a new rule.
31733         (release-prep): New rule.
31734         (release-prep-hook): New overridable variable.
31735
31736 2009-12-13  Bruno Haible  <bruno@clisp.org>
31737
31738         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31739
31740 2009-12-13  Jim Meyering  <meyering@redhat.com>
31741
31742         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31743         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31744
31745 2009-12-12  Bruno Haible  <bruno@clisp.org>
31746
31747         duplocale: Tweak.
31748         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31749
31750 2009-12-12  Karl Berry  <karl@gnu.org>
31751
31752         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31753
31754 2009-12-12  Bruno Haible  <bruno@clisp.org>
31755
31756         * m4/po.m4: Undo incorrect untabification.
31757
31758 2009-12-12  Bruno Haible  <bruno@clisp.org>
31759
31760         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31761         * modules/c-strtod (Depends-on): Add locale.
31762         * modules/c-strtold (Depends-on): Likewise.
31763
31764 2009-12-12  Bruno Haible  <bruno@clisp.org>
31765
31766         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31767
31768 2009-12-11  Eric Blake  <ebb9@byu.net>
31769
31770         setenv: relax requirement in light of POSIX ruling
31771         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31772         not NULL.
31773         * tests/test-setenv.c (main): Relax test.
31774         * tests/test-unsetenv.c (main): Likewise.
31775         * doc/posix-functions/setenv.texi (setenv): Document this.
31776         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31777
31778 2009-12-11  Bruno Haible  <bruno@clisp.org>
31779
31780         New module 'fd-safer-flag'.
31781         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31782         * lib/dup-safer.c (dup_safer_flag): Remove function.
31783         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31784         * lib/fd-safer.c (fd_safer_flag): Remove function.
31785         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31786         * modules/cloexec (configure.ac): Drop indicator macro.
31787         * modules/fd-safer-flag: New file.
31788         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31789         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31790         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31791
31792 2009-12-11  Bruno Haible  <bruno@clisp.org>
31793
31794         Tests for module 'nl_langinfo'.
31795         * modules/nl_langinfo-tests: New file.
31796         * tests/test-nl_langinfo.sh: New file.
31797         * tests/test-nl_langinfo.c: New file.
31798
31799         New module 'nl_langinfo'.
31800         * lib/nl_langinfo.c: New file.
31801         * m4/nl_langinfo.m4: New file.
31802         * modules/nl_langinfo: New file.
31803         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31804
31805 2009-12-11  Bruno Haible  <bruno@clisp.org>
31806
31807         Tests for module 'langinfo'.
31808         * modules/langinfo-tests: New file.
31809         * tests/test-langinfo.c: New file.
31810
31811         New module 'langinfo'.
31812         * lib/langinfo.in.h: New file.
31813         * m4/langinfo_h.m4: New file.
31814         * modules/langinfo: New file.
31815         * doc/posix-headers/langinfo.texi: Mention the new module.
31816
31817 2009-12-11  Bruno Haible  <bruno@clisp.org>
31818
31819         * lib/config.charset: Untabify.
31820
31821 2009-12-11  Bruno Haible  <bruno@clisp.org>
31822
31823         * modules/unistd-safer (configure.ac): Drop indicator macro.
31824
31825 2009-12-11  Bruno Haible  <bruno@clisp.org>
31826
31827         Move pipe2-safer code to its own file.
31828         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31829         * lib/pipe-safer.c (pipe2_safer): Remove function.
31830         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31831         (Makefile.am): Add it to lib_SOURCES.
31832
31833 2009-12-10  Bruno Haible  <bruno@clisp.org>
31834
31835         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31836
31837 2009-12-10  Bruno Haible  <bruno@clisp.org>
31838
31839         Declare which arguments expect non-NULL values, for GCC and clang.
31840         * build-aux/arg-nonnull.h: New file.
31841         * modules/arg-nonnull: New file.
31842         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31843         (inet_ntop, inet_pton): Use it.
31844         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31845         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31846         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31847         (open, openat): Use it.
31848         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31849         (fnmatch): Use it.
31850         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31851         (getopt, getopt_long, getopt_long_only): Use it.
31852         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31853         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31854         Use it.
31855         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31856         (iconv_open): Use it.
31857         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31858         (strtoimax, strtoumax): Use it.
31859         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31860         (duplocale): Use it.
31861         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31862         (frexp, frexpl): Use it.
31863         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31864         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31865         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31866         (tsearch, tfind, tdelete, twalk): Use it.
31867         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31868         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31869         sigpending): Use it.
31870         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31871         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31872         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31873         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31874         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31875         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31876         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31877         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31878         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31879         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31880         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31881         Use it.
31882         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31883         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31884         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31885         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31886         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31887         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31888         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31889         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31890         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31891         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31892         strtoull, unsetenv): Use it.
31893         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31894         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31895         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31896         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31897         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31898         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31899         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31900         (strcasecmp, strncasecmp): Use it.
31901         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31902         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31903         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31904         rpl_setsockopt): Use it.
31905         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31906         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31907         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31908         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31909         (gettimeofday): Use it.
31910         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31911         (times): Use it.
31912         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31913         (uname): Use it.
31914         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31915         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31916         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31917         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31918         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31919         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31920         unlinkat, write): Use it.
31921         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31922         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31923         * lib/argv-iter.h: Include arg-nonnull.h.
31924         (_ATTRIBUTE_NONNULL_): Remove macro.
31925         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31926         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31927         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31928         optimization.
31929         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31930         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31931         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31932         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31933         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31934         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31935         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31936         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31937         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31938         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31939         * modules/dirent (Depends-on): Add arg-nonnull.
31940         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31941         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31942         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31943         * modules/fnmatch (Depends-on): Add arg-nonnull.
31944         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31945         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31946         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31947         * modules/glob (Depends-on): Add arg-nonnull.
31948         (Makefile.am): Insert arg-nonnull.h into glob.h.
31949         * modules/iconv_open (Depends-on): Add arg-nonnull.
31950         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31951         * modules/inttypes (Depends-on): Add arg-nonnull.
31952         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31953         * modules/locale (Depends-on): Add arg-nonnull.
31954         (Makefile.am): Insert arg-nonnull.h into locale.h.
31955         * modules/math (Depends-on): Add arg-nonnull.
31956         (Makefile.am): Insert arg-nonnull.h into math.h.
31957         * modules/netdb (Depends-on): Add arg-nonnull.
31958         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31959         * modules/search (Depends-on): Add arg-nonnull.
31960         (Makefile.am): Insert arg-nonnull.h into search.h.
31961         * modules/signal (Depends-on): Add arg-nonnull.
31962         (Makefile.am): Insert arg-nonnull.h into signal.h.
31963         * modules/spawn (Depends-on): Add arg-nonnull.
31964         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31965         * modules/stdio (Depends-on): Add arg-nonnull.
31966         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31967         * modules/stdlib (Depends-on): Add arg-nonnull.
31968         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31969         * modules/string (Depends-on): Add arg-nonnull.
31970         (Makefile.am): Insert arg-nonnull.h into string.h.
31971         * modules/strings (Depends-on): Add arg-nonnull.
31972         (Makefile.am): Insert arg-nonnull.h into strings.h.
31973         * modules/sys_socket (Depends-on): Add arg-nonnull.
31974         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31975         * modules/sys_stat (Depends-on): Add arg-nonnull.
31976         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31977         * modules/sys_time (Depends-on): Add arg-nonnull.
31978         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31979         * modules/sys_times (Depends-on): Add arg-nonnull.
31980         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31981         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31982         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31983         * modules/time (Depends-on): Add arg-nonnull.
31984         (Makefile.am): Insert arg-nonnull.h into time.h.
31985         * modules/unistd (Depends-on): Add arg-nonnull.
31986         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31987         * modules/wchar (Depends-on): Add arg-nonnull.
31988         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31989         * modules/argv-iter (Depends-on): Add arg-nonnull.
31990         * tests/test-canonicalize.c (null_ptr): New function.
31991         (main): Use it.
31992         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31993         (main): Use it.
31994         * tests/test-memmem.c (null_ptr): New function.
31995         (main): Use it.
31996         Reported by Jim Meyering.
31997
31998 2009-12-10  Bruno Haible  <bruno@clisp.org>
31999
32000         Use spaces for indentation, not tabs.
32001         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
32002         * m4/*.m4: Untabify.
32003         * build-aux/*.h: Untabify.
32004         * tests/**/*.[hc]: Untabify.
32005         * README: New section "Indent with spaces, not TABs", based on
32006         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
32007         * NEWS: Mention the change.
32008
32009 2009-12-10  Bruno Haible  <bruno@clisp.org>
32010
32011         pty test: Fix link error.
32012         * modules/pty-tests (Makefile.am): Add the default LDADD value to
32013         test_pty_LDADD.
32014
32015 2009-12-07  Simon Josefsson  <simon@josefsson.org>
32016
32017         * modules/pty: New file.
32018         * modules/pty-tests: New file.
32019         * m4/pty.m4: New file.
32020         * tests/test-pty.c: New file.
32021         * doc/glibc-headers/pty.texi: Modified.
32022         * doc/glibc-functions/forkpty.texi: Modified.
32023         * doc/glibc-functions/openpty.texi: Modified.
32024
32025 2009-12-10  Bruno Haible  <bruno@clisp.org>
32026
32027         Avoid syntax error in C++ mode.
32028         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
32029
32030 2009-12-10  Bruno Haible  <bruno@clisp.org>
32031
32032         Use sed with option -e.
32033         * gnulib-tool (func_version, func_emit_copyright_notice,
32034         func_emit_initmacro_end, func_import, func_create_testdir): Pass
32035         option -e to sed.
32036         * modules/link-warning (Makefile.am): Likewise.
32037
32038 2009-12-10  Jim Meyering  <meyering@redhat.com>
32039
32040         mgetgroups: do not write bytes beyond end of malloc'd buffer
32041         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
32042         username, we call getgroups with a one-element-shorter buffer,
32043         but still told it the length was original, max_n_groups.
32044
32045 2009-12-09  Eric Blake  <ebb9@byu.net>
32046
32047         cloexec: relax license
32048         * modules/cloexec (Maintainer): Add myself.
32049         (License): Use LGPL, not GPL.
32050
32051         link-warning: optimize generation
32052         * modules/link-warning (Makefile.am): Reduce process usage.
32053
32054 2009-12-09  Bruno Haible  <bruno@clisp.org>
32055
32056         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
32057         workaround was added on 2009-11-17.
32058
32059 2009-12-09  Jim Meyering  <meyering@redhat.com>
32060             Bruno Haible  <bruno@clisp.org>
32061
32062         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
32063         * modules/link-warning (Makefile.am): Make the comment-removing sed
32064         command more robust in the face of bootstrap-prepended comment lines.
32065
32066 2009-12-09  Bruno Haible  <bruno@clisp.org>
32067
32068         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
32069         most one group.
32070
32071 2009-12-09  Simon Josefsson <simon@josefsson.org>
32072             Bruno Haible  <bruno@clisp.org>
32073
32074         * build-aux/link-warning.h: Add copyright notice.
32075         * modules/link-warning (Makefile.am): Generate link-warning.h from
32076         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
32077         * NEWS: Mention change in link-warning module.
32078         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
32079         * modules/dirent (Makefile.am): Add dependency to dirent.h.
32080         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
32081         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
32082         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
32083         * modules/math (Makefile.am): Add dependency to math.h.
32084         * modules/search (Makefile.am): Add dependency to search.h.
32085         * modules/signal (Makefile.am): Add dependency to signal.h.
32086         * modules/spawn (Makefile.am): Add dependency to spawn.h.
32087         * modules/stdio (Makefile.am): Add dependency to stdio.h.
32088         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
32089         * modules/string (Makefile.am): Add dependency to string.h.
32090         * modules/strings (Makefile.am): Add dependency to strings.h.
32091         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
32092         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
32093         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
32094         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
32095         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
32096         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
32097         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
32098         * modules/unistd (Makefile.am): Add dependency to unistd.h.
32099         * modules/wchar (Makefile.am): Add dependency to wchar.h.
32100
32101 2009-12-09  Bruno Haible  <bruno@clisp.org>
32102
32103         fchdir: Optimize away rpl_fstat when possible.
32104         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
32105         REPLACE_OPEN_DIRECTORY.
32106         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
32107
32108 2009-12-09  Bruno Haible  <bruno@clisp.org>
32109
32110         * lib/fchdir.c: Update comment.
32111
32112 2009-12-09  Bruno Haible  <bruno@clisp.org>
32113
32114         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
32115
32116 2009-12-08  Eric Blake  <ebb9@byu.net>
32117
32118         fchdir: avoid memory leak on re-registration.
32119         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
32120
32121 2009-12-08  Jim Meyering  <meyering@redhat.com>
32122
32123         init.sh: avoid Solaris 10 /bin/sh portability problem
32124         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
32125         sourced script:
32126           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
32127           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
32128           bar
32129         tests/init.sh relied on that, accepting a --set-path=DIR argument,
32130         and two tests used that idiom.
32131         * tests/init.sh: Update suggested usage comments.
32132         (path_prepend_): New function, to be used in place
32133         of the --src-path=DIR option.
32134         (setup_): Move PATH-prepending code into path_prepend_.
32135         * tests/test-pread.sh: Adapt to new usage.
32136         * tests/test-xalloc-die.sh: Likewise.
32137
32138 2009-12-08  Simon Josefsson  <simon@josefsson.org>
32139
32140         * doc/gnulib.texi (Glibc pty.h): Add.
32141         * doc/glibc-functions/forkpty.texi: Add.
32142         * doc/glibc-functions/openpty.texi: Add.
32143         Suggested by Bruno Haible.
32144
32145 2009-12-08  Eric Blake  <ebb9@byu.net>
32146
32147         fchdir: fix logic bugs
32148         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
32149         * tests/test-fchdir.c (main): Enhance test.
32150         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
32151         is in use.
32152
32153         dup2: fix logic bugs
32154         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
32155         REPLACE_DUP2 to decide when rpl_dup2 is needed.
32156         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
32157         exists.
32158         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
32159
32160 2009-12-07  Eric Blake  <ebb9@byu.net>
32161
32162         unlink: fix m4 detection
32163         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
32164
32165         unistd-safer: add unit test
32166         * modules/unistd-safer-tests: New file.
32167         * tests/test-dup-safer.c: Likewise.
32168         * tests/test-cloexec.c (setmode): Avoid compiler warning.
32169         * tests/test-dup2.c (setmode): Likewise.
32170         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
32171
32172         cloexec: preserve text vs. binary across dup_cloexec
32173         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
32174         mode.
32175         * modules/dup2-tests (Depends-on): Add binary-io.
32176         * modules/cloexec-tests (Depends-on): Likewise.
32177         * tests/test-dup2.c (setmode, is_mode): New helpers.
32178         (main): Add tests that translation mode is preserved.
32179         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
32180         Reported by Bruno Haible.
32181
32182         mgetgroups: reduce duplicate listings
32183         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
32184         resulting array.
32185         * tests/test-chown.h (test_chown): Simplify client.
32186         * tests/test-lchown.h (test_lchown): Likewise.
32187
32188 2009-12-06  Bruno Haible  <bruno@clisp.org>
32189
32190         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
32191         value.
32192
32193 2009-12-06  Bruno Haible  <bruno@clisp.org>
32194
32195         * lib/progname.c: Include stdio.h, stdlib.h.
32196         (set_program_name): Reject a NULL argument.
32197
32198 2009-12-05  Eric Blake  <ebb9@byu.net>
32199
32200         pipe2-safer: new module
32201         * modules/pipe2-safer: New file.
32202         * lib/unistd-safer.h (pipe2_safer): New prototype.
32203         * lib/unistd--.h (pipe2): New wrapper.
32204         * lib/pipe-safer.c (pipe2_safer): New function.
32205         * modules/pipe (Depends-on): Add pipe2-safer.
32206         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
32207
32208         stdlib-safer: preserve cloexec flag for mkostemp[s]
32209         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
32210         fd_safer_flag.
32211
32212         unistd-safer: allow preservation of cloexec status via flag
32213         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
32214         prototypes.
32215         * lib/dup-safer.c (dup_safer_flag): New function.
32216         * lib/fd-safer.c (fd_safer_flag): Likewise.
32217         * modules/cloexec (configure.ac): Set witness.
32218
32219         test-dup2: enhance test
32220         * modules/dup2-tests (Depends-on): Add cloexec.
32221         * tests/test-dup2.c (main): Enhance test.
32222
32223         cloexec: add dup_cloexec
32224         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
32225         header and comments.
32226         * lib/cloexec.c (set_cloexec_flag): Add comments.
32227         (dup_cloexec): New function, with mingw implementation borrowed
32228         from...
32229         * lib/w32spawn.h (dup_noinherit): ...here.
32230         * modules/execute (Depends-on): Add cloexec.
32231         * modules/pipe (Depends-on): Likewise.
32232         * modules/cloexec (Depends-on): Add dup2.
32233         * modules/cloexec-tests (Files): New file.
32234         * tests/test-cloexec.c: Likewise.
32235
32236         test-xalloc-die: fix test for mingw
32237         * modules/xalloc-die-tests (Files): Add tests/init.sh.
32238         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
32239         directory and .exe suffix off argv[0] output.
32240
32241         test-fseeko: fix test for mingw
32242         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
32243         than undefining fseek, so test will pass on mingw.
32244
32245 2009-12-05  Bruno Haible  <bruno@clisp.org>
32246
32247         * lib/progname.h (set_program_name): Clarify specification.
32248         * lib/progname.c (set_program_name): Likewise.
32249         Reported by Jim Meyering.
32250
32251 2009-12-05  Jim Meyering  <meyering@redhat.com>
32252
32253         maint.mk: backslash-escape parens in default regexp
32254         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
32255         backslash-escape the literal parentheses.
32256
32257         maint.mk: news-date-check: use grep -E
32258         * top/maint.mk (today): Define a Make variable, not a...
32259         (news-date-check): ...shell variable.
32260         (news-date-regexp): Use the Make variable.
32261         Use grep's -E option.  Change the failing diagnostic to mention
32262         the variable, $(news-date-regexp).
32263
32264 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
32265
32266         maintainer-makefile: allow customization of NEWS entry format
32267         * top/maint.mk (news-date-regexp): New overridable variable.
32268         (news-date-check): Use it.
32269
32270 2009-12-04  Eric Blake  <ebb9@byu.net>
32271
32272         mgetgroups: add xgetgroups, and avoid ENOSYS failures
32273         * lib/mgetgroups.h (xgetgroups): New prototype.
32274         * lib/mgetgroups.c (xgetgroups): New wrapper.
32275         (mgetgroups): Handle ENOSYS.
32276         * modules/mgetgroups (Depends-on): Add realloc.
32277         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
32278
32279         mgetgroups: avoid argument promotion issues with -1
32280         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
32281         for invalid gid_t.
32282         * tests/test-chown.h (getegid, test_chown): Likewise.
32283         * tests/test-lchown.h (getegid, test_lchown): Likewise.
32284
32285 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
32286
32287         exclude: Fix header file problems.
32288         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
32289
32290 2009-12-01  Jim Meyering  <meyering@redhat.com>
32291
32292         fts: fts_open: do not let an empty string cause immediate failure
32293         This is required in support of GNU rm, for which the command
32294         "rm A '' B" must process and remove both A and B, in spite of
32295         the empty string argument.
32296         * lib/fts.c (fts_open): Do not let the presence of an empty string
32297         cause fts_open to fail immediately.  Most fts-using tools must be
32298         able to process all arguments, in order, and can be expected to
32299         diagnose such arguments themselves.
32300
32301 2009-11-30  Eric Blake  <ebb9@byu.net>
32302
32303         utimens: fix compilation error
32304         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
32305         Declare variable at right scope.
32306
32307 2009-11-29  Jim Meyering  <meyering@redhat.com>
32308
32309         bootstrap: handle perl-5.11's changed --version output
32310         * build-aux/bootstrap (get_version): Handle perl separately,
32311         since perl-5.11's --version output is different.
32312
32313 2009-11-28  Jim Meyering  <meyering@redhat.com>
32314
32315         userspec: depend on the inttostr module, too
32316         * modules/userspec (Depends-on): Add inttostr.
32317
32318         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
32319         * lib/userspec.c (parse_with_separator): Do not accept a user ID
32320         number of MAXUID when it evaluates to (uid_t) -1.
32321         Likewise for group ID.  Reported by Matt McCutchen in
32322         <http://savannah.gnu.org/bugs/?28113>
32323
32324         userspec: reformat to use spaces, not TABs
32325         * lib/userspec.c: Expand TABs to spaces.
32326         Add Emacs' "indent-tabs-mode: nil" hint.
32327
32328 2009-11-27  Eric Blake  <ebb9@byu.net>
32329
32330         getopt-gnu: flush out another BSD bug
32331         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
32332         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
32333         flush out BSD bug.
32334         * tests/test-getopt.h (test_getopt): End lists with NULL.
32335         * tests/test-getopt_long.h (test_getopt_long): Likewise.
32336         (test_getopt_long_posix): Enhance test.
32337         * modules/getopt-posix-tests (Depends-on): Add stdbool.
32338         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
32339         getopt-gnu.
32340         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32341         Likewise.
32342
32343 2009-11-27  Simon Josefsson  <simon@josefsson.org>
32344
32345         * modules/idpriv-droptemp-tests (Notice): Fix text.
32346
32347 2009-11-27  Jim Meyering  <meyering@redhat.com>
32348
32349         test-xalloc-die: avoid spurious failure due to libtool argv difference
32350         In a libtool-enabled project, this test would fail due to a difference
32351         in the emitted program name, e.g.,
32352         -test-xalloc-die: memory exhausted
32353         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
32354         Use program to avoid that.
32355         * modules/xalloc-die-tests (Depends-on): Add progname.
32356         * tests/test-xalloc-die.c: Include progname.h".
32357         (program_name): Remove decl.
32358         (main): Call set_program_name.
32359         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
32360
32361 2009-11-26  Richard Jones  <rjones@redhat.com>
32362
32363         w32sock: leave win32 error in place.
32364         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
32365
32366 2009-11-26  Eric Blake  <ebb9@byu.net>
32367
32368         init.sh: suggest to use skip_ and fail_ functions in comments
32369         * tests/init.sh: Add a sentence.
32370
32371 2009-11-25  Bruno Haible  <bruno@clisp.org>
32372
32373         init.sh: add documentation in comments
32374         * tests/init.sh: Add some developer and user documentation.
32375
32376 2009-11-26  Jim Meyering  <meyering@redhat.com>
32377
32378         init.sh: accommodate even those who specify bogus srcdir manually
32379         * tests/init.sh: Normally, srcdir is guaranteed by automake and
32380         configure-time tests to be sanitized, so that there is no need to
32381         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
32382         (with no double quotes) suffices.  However, since tests may be
32383         invoked manually, and since you may explicitly set srcdir to the
32384         name of a directory containing spaces, do quote its uses here.
32385         * tests/test-pread.sh: Likewise.
32386         Suggested by Bruno Haible.
32387
32388         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
32389         * tests/test-pread.sh: Write no data into the pipe, because
32390         test-pread actually reads none.  This avoids a diagnostic,
32391         "bash: echo: write error: Broken pipe", that arises in the unusual
32392         event something is ignoring SIGPIPE, and might be interpreted
32393         as some sort of failure.  Reported by Bruno Haible.
32394
32395 2009-11-25  Jim Meyering  <meyering@redhat.com>
32396
32397         test-pread: cover failure with ESPIPE and EINVAL
32398         * tests/test-pread.c (main): Test for failure, too.
32399         * tests/test-pread.sh: Invoke with stdin on a pipe.
32400         Suggested by Eric Blake.
32401
32402         pread: improvement and fix
32403         * modules/pread (Depends-on): Depend on lseek, for portability to
32404         e.g., mingw.  Suggested by Eric Blake.
32405         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
32406
32407         unistd.in.h: correct declaration of pread
32408         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32409         Reported by Richard W.M. Jones.
32410
32411         test-pread.sh: distribute the test script
32412         * modules/pread-tests (Files): Include test-pread.sh.
32413
32414         test-pread.sh: clean up
32415         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32416         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32417         That is unnecessary, since it's always ".".
32418         Suggestion from Eric Blake.
32419
32420         test-pread.sh: make executable
32421         * tests/test-pread.sh: Set executable bit.
32422         Reported by Eric Blake.
32423
32424         correct typo in test-pread.sh
32425         * tests/test-pread.sh: Add #! line.
32426
32427         test pread
32428         * tests/test-pread.c: New file.
32429         * tests/test-pread.sh: Likewise.
32430         * modules/pread-tests: Likewise.
32431
32432         pread: new module
32433         * modules/pread: New file.
32434         * lib/unistd.in.h (pread): Define/declare.
32435         * lib/pread.c (pread): New file.
32436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32437         * modules/unistd (Makefile.am): Substitute witnesses.
32438         * doc/posix-functions/pread.texi (pread): Update.
32439         * MODULES.html.sh: Add pread.
32440
32441 2009-11-25  Jim Meyering  <meyering@redhat.com>
32442
32443         tests/init.sh: new file to be used via most *.sh tests
32444         * tests/init.sh: New file.
32445
32446 2009-11-25  Eric Blake  <ebb9@byu.net>
32447
32448         utimens: work around older Linux failure with symlinks
32449         * lib/utimens.c (lutimensat_works_really): New variable.
32450         (fdutimens, lutimens): Use it to manage kernels that support
32451         nanosecond times on files, but not on symlinks.
32452         Reported by OndÅ™ej Vašík.
32453
32454         utimes: fix configure grammar
32455         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32456
32457 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32458
32459         regex: Fix fastmap for multibyte character ranges.
32460         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32461         characters when a multibyte character range is included.
32462
32463 2009-11-22  Andy Wingo  <wingo@pobox.com>
32464
32465         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32466         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32467
32468 2009-11-24  Bruno Haible  <bruno@clisp.org>
32469
32470         doc: Most *_l functions exist in MacOS X 10.5.
32471         * doc/posix-functions/duplocale.texi: Update platforms list.
32472         * doc/posix-functions/freelocale.texi: Likewise.
32473         * doc/posix-functions/newlocale.texi: Likewise.
32474         * doc/posix-functions/uselocale.texi: Likewise.
32475         * doc/posix-functions/isalnum_l.texi: Likewise.
32476         * doc/posix-functions/isalpha_l.texi: Likewise.
32477         * doc/posix-functions/isblank_l.texi: Likewise.
32478         * doc/posix-functions/iscntrl_l.texi: Likewise.
32479         * doc/posix-functions/isdigit_l.texi: Likewise.
32480         * doc/posix-functions/isgraph_l.texi: Likewise.
32481         * doc/posix-functions/islower_l.texi: Likewise.
32482         * doc/posix-functions/isprint_l.texi: Likewise.
32483         * doc/posix-functions/ispunct_l.texi: Likewise.
32484         * doc/posix-functions/isspace_l.texi: Likewise.
32485         * doc/posix-functions/isupper_l.texi: Likewise.
32486         * doc/posix-functions/iswalnum_l.texi: Likewise.
32487         * doc/posix-functions/iswalpha_l.texi: Likewise.
32488         * doc/posix-functions/iswblank_l.texi: Likewise.
32489         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32490         * doc/posix-functions/iswctype_l.texi: Likewise.
32491         * doc/posix-functions/iswdigit_l.texi: Likewise.
32492         * doc/posix-functions/iswgraph_l.texi: Likewise.
32493         * doc/posix-functions/iswlower_l.texi: Likewise.
32494         * doc/posix-functions/iswprint_l.texi: Likewise.
32495         * doc/posix-functions/iswpunct_l.texi: Likewise.
32496         * doc/posix-functions/iswspace_l.texi: Likewise.
32497         * doc/posix-functions/iswupper_l.texi: Likewise.
32498         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32499         * doc/posix-functions/isxdigit_l.texi: Likewise.
32500         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32501         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32502         * doc/posix-functions/strcoll_l.texi: Likewise.
32503         * doc/posix-functions/strfmon_l.texi: Likewise.
32504         * doc/posix-functions/strftime_l.texi: Likewise.
32505         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32506         * doc/posix-functions/strxfrm_l.texi: Likewise.
32507         * doc/posix-functions/tolower_l.texi: Likewise.
32508         * doc/posix-functions/toupper_l.texi: Likewise.
32509         * doc/posix-functions/towctrans_l.texi: Likewise.
32510         * doc/posix-functions/towlower_l.texi: Likewise.
32511         * doc/posix-functions/towupper_l.texi: Likewise.
32512         * doc/posix-functions/wcscoll_l.texi: Likewise.
32513         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32514         * doc/posix-functions/wctrans_l.texi: Likewise.
32515         * doc/posix-functions/wctype_l.texi: Likewise.
32516         * doc/glibc-functions/strptime_l.texi: Likewise.
32517         * doc/glibc-functions/strtod_l.texi: Likewise.
32518         * doc/glibc-functions/strtof_l.texi: Likewise.
32519         * doc/glibc-functions/strtol_l.texi: Likewise.
32520         * doc/glibc-functions/strtold_l.texi: Likewise.
32521         * doc/glibc-functions/strtoll_l.texi: Likewise.
32522         * doc/glibc-functions/strtoul_l.texi: Likewise.
32523         * doc/glibc-functions/strtoull_l.texi: Likewise.
32524         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32525         * doc/glibc-functions/wcstod_l.texi: Likewise.
32526         * doc/glibc-functions/wcstof_l.texi: Likewise.
32527         * doc/glibc-functions/wcstol_l.texi: Likewise.
32528         * doc/glibc-functions/wcstold_l.texi: Likewise.
32529         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32530         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32531         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32532
32533 2009-11-24  Bruno Haible  <bruno@clisp.org>
32534
32535         duplocale: Fix logic bug.
32536         * lib/duplocale.c: Don't include <langinfo.h>.
32537         (_NL_LOCALE_NAME): Remove macro.
32538         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32539         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32540
32541 2009-11-23  Jim Meyering  <meyering@redhat.com>
32542
32543         test-update-copyright: don't hard-code /usr/bin/perl
32544         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32545         perl to print the current year.  Gilles Espinasse reported that
32546         the replaced use of perl was hard-coded as /usr/bin/perl.
32547
32548 2009-11-23  Bruno Haible  <bruno@clisp.org>
32549
32550         duplocale: Add support for glibc 2.3.x.
32551         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32552
32553 2009-11-22  Bruno Haible  <bruno@clisp.org>
32554
32555         vasnprintf: Tiny optimization.
32556         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32557         MacOS X.
32558
32559 2009-11-22  Bruno Haible  <bruno@clisp.org>
32560
32561         Tests for module 'duplocale'.
32562         * modules/duplocale-tests: New file.
32563         * tests/test-duplocale.c: New file.
32564
32565         New module 'duplocale'.
32566         * m4/duplocale.m4: New file.
32567         * lib/locale.in.h (duplocale): New declaration.
32568         * lib/duplocale.c: New file.
32569         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32570         gl_LOCALE_H_DEFAULTS): New macros.
32571         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32572         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32573         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32574         REPLACE_DUPLOCALE.
32575         * modules/duplocale: New file.
32576         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32577
32578 2009-11-22  Bruno Haible  <bruno@clisp.org>
32579
32580         * modules/locale-tests (configure.ac): Test for newlocale function.
32581         * tests/test-locale.c: When the system has extended locale functions,
32582         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32583
32584         locale: Make locale_t available when possible.
32585         * lib/locale.in.h: Include <xlocale.h> when it exists.
32586         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32587         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32588         * modules/locale (Depends-on): Add extensions.
32589         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32590         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32591
32592 2009-11-22  Bruno Haible  <bruno@clisp.org>
32593
32594         Add comments.
32595         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32596         invocation.
32597         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32598         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32599         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32600
32601 2009-11-22  Bruno Haible  <bruno@clisp.org>
32602
32603         error: account for the possibility of freopen (stdout).
32604         * lib/error.c: Include <unistd.h>.
32605         (flush_stdout): New function, extracted from error and error_at_line.
32606         Determine stdout's fd dynamically.
32607         (error, error_at_line): Invoke flush_stdout.
32608         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32609         * modules/error (Depends-on): Add unistd.
32610
32611 2009-11-22  Bruno Haible  <bruno@clisp.org>
32612
32613         diffseq: Add comment.
32614         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32615
32616 2009-11-22  Jim Meyering  <meyering@redhat.com>
32617
32618         c-stack: avoid defining an unused static function
32619         * lib/c-stack.c (find_stack_direction): Do not define this function
32620         when it will not be used.
32621
32622         diffseq: avoid spurious gcc warnings
32623         * lib/diffseq.h (IF_LINT2): Define.
32624         (compareseq): Use it to initialize two members of "part".
32625         This avoids two used-uninitialized warnings.
32626
32627 2009-11-21  Jim Meyering  <meyering@redhat.com>
32628
32629         c-stack: avoid "ignoring return value of `write'" warning
32630         * lib/c-stack.c: Include "ignore-value.h".
32631         (die): Explicitly ignore each write return value.
32632         * modules/c-stack (Depends-on): Add ignore-value.
32633
32634 2009-11-21  Bruno Haible  <bruno@clisp.org>
32635
32636         diffseq: reduce scope of variable 'best'.
32637         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32638         variable, earlier used for two different purposes.
32639
32640 2009-11-21  Jim Meyering  <meyering@redhat.com>
32641
32642         diffseq: remove useless assignment to "best"
32643         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32644         assignment.  At that point "best" is already guaranteed to be zero.
32645
32646 2009-11-20  Eric Blake  <ebb9@byu.net>
32647
32648         build: mention ftp redirector in release announcements
32649         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32650         values that used to come from cfg.mk; mention FTP redirect URL.
32651         * build-aux/announce-gen: Mention the mirror list.
32652         Suggested by Karl Berry.
32653
32654         nanosleep: improve port to mingw
32655         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32656         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32657         LIB_NANOSLEEP, but only when needed.
32658         * modules/select (Link): Document LIBSOCKET.
32659         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32660         enough.
32661
32662         nanosleep: work around cygwin bug
32663         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32664         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32665         bug.
32666         (getnow): Delete, not needed.
32667         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32668         LIB_CLOCK_GETTIME.
32669         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32670         clock-time, gettime.
32671         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32672         bug.
32673         * modules/nanosleep-tests: New test.
32674         * tests/test-nanosleep.c: New file.
32675
32676         sleep: work around cygwin bug
32677         * lib/sleep.c (rpl_sleep): Work around the bug.
32678         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32679         (gl_PREREQ_SLEEP): Delete unused macro.
32680         * modules/sleep (Depends-on): Add verify.
32681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32682         * modules/unistd (Makefile.am): Substitute witness.
32683         * lib/unistd.in.h (sleep): Update prototype.
32684         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32685         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32686         * modules/sleep-tests (Depends-on): Check for alarm.
32687
32688 2009-11-20  Jim Meyering  <meyering@redhat.com>
32689
32690         maint.mk: improve sc_prohibit_magic_number_exit
32691         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32692         so it does not match uses like System.exit(1).
32693         Add comments showing how to correct all offenders.
32694
32695 2009-11-19  Eric Blake  <ebb9@byu.net>
32696
32697         xalloc-die-tests: add missing library
32698         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32699
32700         test-xvasprintf: silence compiler warnings
32701         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32702         empty string from gcc.
32703
32704 2009-11-19  Jim Meyering  <meyering@redhat.com>
32705
32706         xfreopen: new module, from coreutils
32707         * modules/xfreopen: New module.
32708         * lib/xfreopen.c: New file.
32709         * lib/xfreopen.h: New file.
32710         * MODULES.html.sh (File stream based Input/Output"): Add it.
32711
32712 2009-11-19  Eric Blake  <ebb9@byu.net>
32713
32714         manywarnings: depend on warnings
32715         * modules/manywarnings (Depends-on): Add warnings.
32716
32717         build: avoid compiler warnings
32718         * lib/select.c (rpl_select): Delete unused variable.
32719         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32720
32721 2009-11-18  Eric Blake  <ebb9@byu.net>
32722
32723         tests: avoid false negative with --with-packager
32724         * tests/test-version-etc.sh: Discard packager information.
32725         * tests/test-argp-version-etc-1.sh: Likewise.
32726         Reported by Mike Frysinger.
32727
32728         utimens: fix regression on Solaris
32729         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32730         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32731         can only change fd timestamps via futimesat.  Instead, use an
32732         additional witness macro to avoid BSD bug.
32733         Reported by Jim Meyering.
32734
32735 2009-11-17  Eric Blake  <ebb9@byu.net>
32736
32737         usleep: use it to simplify tests
32738         * modules/stat-time-tests (Depends-on): Add usleep.
32739         (configure.ac): Drop usleep check.
32740         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32741         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32742         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32743         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32744         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32745         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32746         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32747         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32748         Likewise.
32749         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32750         * tests/test-lchown.h (nap): Likewise.
32751         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32752         * tests/test-stat-time.c (nap): Likewise.
32753         * tests/test-utimens-common.h (nap): Update comments.
32754
32755         usleep: new module
32756         * modules/usleep: New file.
32757         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32758         * lib/usleep.c (usleep): Likewise.
32759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32760         * modules/unistd (Makefile.am): Substitute witnesses.
32761         * lib/unistd.in.h (usleep): Add declaration.
32762         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32763         * MODULES.html.sh (Date and time): Likewise.
32764         * modules/usleep-tests (Depends-on): New test.
32765         * tests/test-usleep.c: New file.
32766
32767         chown: work around OpenBSD bug
32768         * lib/chown.c (rpl_chown): Work around the bug.
32769         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32770         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32771         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32772         * modules/chown (Depends-on): Add stdbool.
32773         * modules/lchown (Depends-on): Likewise.
32774         * doc/posix-functions/chown.texi (chown): Document the bug.
32775         * doc/posix-functions/lchown.texi (lchown): Likewise.
32776         * tests/test-lchown.h (test_chown): Relax test.
32777
32778         mkstemp: avoid conflict with C++ keyword template
32779         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32780         * lib/mkostemp.c (mkostemp): Likewise.
32781         * lib/mkostemps.c (mkostemps): Likewise.
32782         * lib/mkstemp.c (mkstemp): Likewise.
32783         * lib/mkstemps.c (mkstemps): Likewise.
32784
32785         xalloc-die-tests: optimize
32786         * tests/test-xalloc-die.sh: Reduce number of processes.
32787
32788 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32789
32790         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32791         patch from ludo@gnu.org (Ludovic Courtès).
32792
32793 2009-11-17  Jim Meyering  <meyering@redhat.com>
32794
32795         version-etc: use proper license string
32796         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32797         * modules/version-etc-fsf: Likewise.
32798
32799 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32800
32801         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32802         printed to stdout.  Deal with EOL differences.
32803
32804 2009-11-17  Eric Blake  <ebb9@byu.net>
32805
32806         unsetenv: work around Solaris bug
32807         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32808         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32809         Reported by Jim Meyering.
32810
32811         vasnprintf: avoid compiler warnings
32812         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32813         variables.
32814         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32815
32816 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32817
32818         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32819         settings since xalloc-die is no longer the self test,
32820         xalloc-die.sh is.
32821
32822 2009-11-17  Jim Meyering  <meyering@redhat.com>
32823
32824         test-xalloc-die.sh: make the code agree with the commit log
32825         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32826         at the end, just in case you happen to have a test-xalloc-die
32827         program in some other PATH directory.
32828
32829         test-xalloc-die.sh: fix a portability bug
32830         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32831         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32832         Otherwise, argv[0] (as often seen in diagnostics) would be too
32833         system-dependent, sometimes with, and sometimes without the leading "./".
32834
32835         version-etc-fsf: relax license to LGPLv3+
32836         * modules/version-etc-fsf (License): Relax license.
32837
32838 2009-11-16  Eric Blake  <ebb9@byu.net>
32839
32840         xalloc-die-tests: avoid printing null pointer
32841         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32842         shell script.
32843         * tests/test-xalloc-die.c (program_name): Declare.
32844         * tests/test-xalloc-die.sh (tmpfiles): New file.
32845
32846         setenv, unsetenv: work around various bugs
32847         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32848         (setenv) [HAVE_SETENV]: Work around bugs.
32849         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32850         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32851         for bugs.
32852         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32853         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32854         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32855         * modules/stdlib (Makefile.am): Update substitutions.
32856         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32857         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32858         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32859         * modules/setenv-tests: New test.
32860         * modules/unsetenv-tests: Likewise.
32861         * tests/test-setenv.c: New file.
32862         * tests/test-unsetenv.c: Likewise.
32863
32864 2009-11-16  Jim Meyering  <meyering@redhat.com>
32865
32866         version-etc: relax license to LGPLv3+
32867         * modules/version-etc (License): Relax license.
32868
32869         better AC_REQUIRE expanded-before-required-warning avoidance
32870         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32871         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32872         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32873         which is no longer needed.
32874
32875 2009-11-16  Eric Blake  <ebb9@byu.net>
32876
32877         test-freading: clean up temporary file
32878         * tests/test-freading.c (main): Remove file on success, and use
32879         ASSERT more liberally.
32880         Reported by Jim Meyering.
32881
32882 2009-11-16  Jim Meyering  <meyering@redhat.com>
32883
32884         avoid new AC_REQUIRE expanded-before-required warnings
32885         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32886         merely using it.
32887         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32888         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32889
32890 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32891
32892         * tests/test-xalloc-die.c: New file.
32893         * modules/xalloc-die-tests: New file.
32894         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32895         XFAIL_TESTS so it can be appended by modules.
32896
32897 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32898
32899         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32900         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32901
32902 2009-11-14  Eric Blake  <ebb9@byu.net>
32903
32904         fnmatch: avoid compiler warning
32905         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32906         to silence compiler warning about mismatch signedness in ?:.
32907         Reported by Robert Millan.
32908
32909         intprops: add double-inclusion guard
32910         * lib/intprops.h: Allow idempotent includes.
32911         Suggested by Bruce Korb.
32912
32913         openat: detect Solaris fchownat bug
32914         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32915         penalizing glibc chownat when only lchownat is broken.
32916         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32917         trailing slash bugs.
32918         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32919         * modules/openat-tests (Files): Include more files.
32920         (Depends-on): Add mgetgroups, sleep, stat-time.
32921         (configure.ac): Add additional checks.
32922         (Makefile.am): Build new test.
32923         * tests/test-fchownat.c: New file.
32924
32925         lchown: detect Solaris and FreeBSD bug
32926         * lib/lchown.c (rpl_lchown): Work around bug.
32927         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32929         * modules/unistd (Makefile.am): Populate it.
32930         * lib/unistd.in.h (lchown): Update declaration.
32931         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32932         * modules/lchown-tests: New file.
32933         * tests/test-lchown.h (test_lchown): Likewise.
32934         * tests/test-lchown.c (main): Likewise.
32935
32936         chown: detect Solaris and FreeBSD bug
32937         * lib/chown.c (rpl_chown): Work around bug.
32938         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32939         (gl_PREREQ_CHOWN): Delete.
32940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32941         * modules/unistd (Makefile.am): Populate it.
32942         * lib/unistd.in.h (chown): Update declaration.
32943         * lib/lchown.c (chown): Update client.
32944         * modules/lchown (Depends-on): Add lstat.
32945         * doc/posix-functions/chown.texi (chown): Document the bug.
32946         * doc/posix-functions/getgroups.texi (getgroups): Document
32947         getgroups pitfall.
32948         * modules/chown-tests: New file.
32949         * tests/test-chown.h (test_chown): Likewise.
32950         * tests/test-chown.c (main): Likewise.
32951
32952 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32953
32954         gnulib-tool: correctly detect absence of m4 directories
32955         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32956
32957 2009-11-14  Jim Meyering  <meyering@redhat.com>
32958
32959         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32960         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32961
32962 2009-11-14  John W. Eaton  <jwe@gnu.org>
32963
32964         strftime.h: wrap funtion declaration in extern "C" block
32965         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32966
32967 2009-11-13  Eric Blake  <ebb9@byu.net>
32968
32969         getgroups: avoid compiler warning
32970         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32971
32972         getgroups: work around FreeBSD bug
32973         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32974         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32975         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32976         * tests/test-getgroups.c (main): Fix buffer overrun.
32977
32978         getgroups: avoid compilation failure
32979         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32980         * modules/getgroups (Depends-on): Add stdint.
32981
32982 2009-11-13  Jim Meyering  <meyering@redhat.com>
32983
32984         test-getgroups: avoid compilation failure
32985         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32986
32987 2009-11-13  Eric Blake  <ebb9@byu.net>
32988
32989         mgetgroups: new module, taken from coreutils
32990         * modules/mgetgroups: New file.
32991         * lib/mgetgroups.h: Likewise.
32992         * lib/mgetgroups.c (mgetgroups): Likewise.
32993         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32994         * MODULES.html.sh (Users and groups): Mention it.
32995
32996         getgroups: don't expose GETGROUPS_T to user
32997         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32998         an element at a time if GETGROUPS_T is wrong size.
32999         * lib/getugroups.h (getugroups): Change signature.
33000         * lib/unistd.in.h (getgroups): Likewise.
33001         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
33002         signature needs fixing.
33003         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
33004         AC_TYPE_GETGROUPS.
33005         * modules/group-member (Depends-on): Add getgroups.
33006         * lib/group-member.c (group_info, get_group_info): Use gid_t.
33007         (group_member): Rely on getgroups replacement.
33008         * lib/getugroups.c (getugroups): Use gid_t.
33009         * tests/test-getgroups.c (main): Likewise.
33010         * NEWS: Mention the signature change.
33011         * doc/posix-functions/getgroups.texi (getgroups): Mention the
33012         problem with signature.
33013         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
33014         GETGROUPS_T is still useful for setgroups.
33015
33016         getgroups, getugroups: provide stubs for mingw
33017         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
33018         * lib/getugroups.c (getugroups): Likewise.
33019         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
33020         function.  Modernize replacement scheme.
33021         (gl_PREREQ_GETGROUPS): Delete.
33022         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
33023         * modules/getgroups (configure.ac): Declare witness.
33024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
33025         * modules/unistd (Depends-on): Substitute witness.
33026         * lib/unistd.in.h (getgroups): Declare replacement.
33027
33028         getgroups: avoid calling exit
33029         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
33030         drop xalloc.
33031         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
33032         dependencies.
33033         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
33034         exiting, in the rare case of malloc failure.
33035
33036         getgroups: fix logic error
33037         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
33038         has more than 20 groups.
33039         * modules/getgroups-tests: New test.
33040         * tests/test-getgroups.c: New file.
33041
33042 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33043
33044         * tests/test-base64.c: Improve.
33045
33046 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33047
33048         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
33049         Blake <ebb9@byu.net>.
33050
33051 2009-11-13  Simon Josefsson  <simon@josefsson.org>
33052
33053         * tests/test-xvasprintf.c: Add %s%s related checks.
33054
33055 2009-11-12  Eric Blake  <ebb9@byu.net>
33056
33057         version-etc: match standards.texi style
33058         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
33059         and use <> only for URLs.
33060
33061 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
33062
33063         fts: do not fail on a submount during traversal
33064         * lib/fts.c (fts_build): Read the stat info again after opening
33065         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
33066         Original report at http://bugzilla.redhat.com/501848.
33067
33068 2009-11-12  Jim Meyering  <meyering@redhat.com>
33069
33070         bootstrap: sync from coreutils
33071         * build-aux/bootstrap (bootstrap_epilogue): New function.
33072         Use git_modules_config in one more place.  This make bootstrap's
33073         --gnulib-srcdir option more useful for testing.
33074
33075         bootstrap: generalize autoheader check
33076         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
33077         AC_CONFIG_HEADERS.
33078
33079 2009-11-11  Eric Blake  <ebb9@byu.net>
33080
33081         mkfifoat: use new modules for Solaris and BSD bugs
33082         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
33083         * lib/mkfifoat.c (mknodat): Split...
33084         * lib/mknodat.c (mknodat): ...into new file.
33085         * modules/mkfifoat (Files): Ship new file.
33086         (Depends-on): Add mkfifo, mknod.
33087         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
33088         (Depends-on): Add symlink.
33089         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
33090         redundant with test_mkfifo.h.
33091         (do_mkfifoat, do_mknodat): New helpers.
33092
33093         mknod: new module
33094         * modules/mknod: New file.
33095         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
33096         * lib/mknod.c (mknod): Likewise.
33097         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
33098         defaults.
33099         * modules/sys_stat (Makefile.am): Substitute them.
33100         * lib/sys_stat.in.h (mknod): Declare replacement.
33101         * MODULES.html.sh (Support for systems lacking POSIX:2008):
33102         Document it.
33103         * doc/posix-functions/mknod.texi (mknod): Likewise.
33104         * modules/mknod-tests: New test.
33105         * tests/test-mknod.c: Likewise.
33106
33107         mkfifo: new module
33108         * modules/mkfifo: New file.
33109         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
33110         * lib/mkfifo.c (mkfifo): Likewise.
33111         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
33112         defaults.
33113         * modules/sys_stat (Makefile.am): Substitute them.
33114         * lib/sys_stat.in.h (mkfifo): Declare replacement.
33115         * MODULES.html.sh (Support for systems lacking POSIX:2008):
33116         Document it.
33117         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
33118         * modules/mkfifo-tests: New test.
33119         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
33120         from test-mkfifoat.c.
33121         * tests/test-mkfifo.c: New file.
33122
33123         readlink: detect FreeBSD bug
33124         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
33125         slash on symlink.
33126         * doc/posix-functions/readlink.texi (readlink): Document the bug.
33127         * tests/test-readlink.h (test_readlink): Enhance test.
33128
33129         symlink: detect FreeBSD bug
33130         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
33131         slash on symlink.
33132         * doc/posix-functions/symlink.texi (symlink): Document the bug.
33133         * tests/test-symlink.h (test_symlink): Enhance test.
33134
33135 2009-11-10  Eric Blake  <ebb9@byu.net>
33136
33137         link: detect FreeBSD bug
33138         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
33139         symlink.
33140         * doc/posix-functions/link.texi (link): Document the bug.
33141         * tests/test-link.h (test_link): Enhance test.
33142         * tests/test-linkat.c (main): Update caller.
33143
33144         unlink, remove: detect FreeBSD bug
33145         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
33146         slash on symlink.
33147         * doc/posix-functions/unlink.texi (unlink): Document the bug.
33148         * doc/posix-functions/remove.texi (remove): Likewise.
33149         * tests/test-unlink.h (test_unlink): Enhance test.
33150         * tests/test-remove.c (main): Likewise.
33151
33152 2009-11-09  Eric Blake  <ebb9@byu.net>
33153
33154         rename: detect FreeBSD bug
33155         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
33156         slash on symlink.
33157         * modules/renameat-tests (Depends-on): Add filenamecat.
33158         * tests/test-rename.h (test_rename): Allow one more errno.
33159         * tests/test-renameat.c (main): Likewise.
33160         * doc/posix-functions/rename.texi (rename): Document the bug.
33161
33162         open: detect FreeBSD bug
33163         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
33164         symlink.
33165         * doc/posix-functions/open.texi (open): Document the bug.
33166         * doc/posix-functions/utimes.texi (utimes): Likewise.
33167         * tests/test-open.h (test_open): Add parameters, and test symlink
33168         handling.
33169         * tests/test-open.c (main): Adjust caller.
33170         * tests/test-fcntl-safer.c (main): Likewise.
33171         * modules/open-tests (Depends-on): Add stdbool, symlink.
33172         * modules/fcntl-safer-tests (Depends-on): Likewise.
33173         * tests/test-openat.c (main): Add test-open tests.
33174
33175         stat: detect FreeBSD bug
33176         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
33177         symlink.
33178         * doc/posix-functions/stat.texi (stat): Document the bug.
33179         * tests/test-stat.h (test_stat_func): Add argument.
33180         * tests/test-stat.c (main): Adjust caller.
33181         * tests/test-fstatat.c (main): Likewise.
33182         * modules/stat-tests (Depends-on): Add stdbool, symlink.
33183         Reported by Jim Meyering.
33184
33185 2009-11-09  James Youngman  <jay@gnu.org>
33186
33187         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
33188         * lib/strftime.c: Correct placement of #include "ignore-value.h".
33189
33190 2009-11-08  Jim Meyering  <meyering@redhat.com>
33191
33192         utimens: remove invalid futimesat call
33193         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
33194         It used the file descriptor of the target file as the DIR_FD
33195         parameter and NULL as the file name.  That caused failure with
33196         errno == EFAULT on FreeBSD-8.0-rc2
33197
33198 2009-11-07  Eric Blake  <ebb9@byu.net>
33199
33200         fflush, freadseek: use fseeko, not fseek
33201         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
33202         (clear_ungetc_buffer): Avoid potential problems on large files.
33203         * lib/freadseek.c (freadseek): Likewise.
33204         * modules/freadseek (Depends-on): Add fseeko.
33205         * modules/fseek (configure.ac): Set a witness.
33206         * tests/test-fflush.c (main): Use fseeko.
33207         * tests/test-fpurge.c (fseek): Disable link warning.
33208         * tests/test-freadable.c (fseek): Likewise.
33209         * tests/test-freading.c (fseek): Likewise.
33210         * tests/test-fseeko.c (fseek): Likewise.
33211         * tests/test-ftell.c (fseek): Likewise.
33212         * tests/test-ftello.c (fseek): Likewise.
33213         * tests/test-fwritable.c (fseek): Likewise.
33214         * tests/test-fwriting.c (fseek): Likewise.
33215
33216 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33217
33218         * modules/memchr (Depends-on): Drop getpagesize dependency.
33219
33220 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33221
33222         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
33223         Reported by Ludovic Courtès.
33224         * build-aux/pmccabe2html: Improve example usage.
33225         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
33226
33227 2009-11-06  Jim Meyering  <meyering@redhat.com>
33228
33229         do-release-commit-and-tag: New module.
33230         Automate the release-commit and tag process.
33231         * build-aux/do-release-commit-and-tag: New script, from coreutils.
33232         * modules/do-release-commit-and-tag: New file.
33233         * MODULES.html.sh (Support for maintaining and releasing): Add it.
33234
33235 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33236
33237         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
33238         because test-select.c uses inet_pton.
33239
33240 2009-11-06  Simon Josefsson  <simon@josefsson.org>
33241
33242         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
33243         GETADDRINFO_LIB.  Bump serial number.
33244         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
33245         Suggested by Eric Blake <ebb9@byu.net>.
33246
33247 2009-11-05  Eric Blake  <ebb9@byu.net>
33248
33249         strtod: detect darwin bug
33250         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
33251         Reported by Leo Davis.
33252
33253         freopen-safer: new module
33254         * modules/freopen-safer: New module.
33255         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
33256         * lib/freopen-safer.c (freopen_safer): New file.
33257         * lib/stdio-safer.h (freopen_safer): New declaration.
33258         * lib/stdio--.h (freopen): New override.
33259         * MODULES.html.sh (File stream based Input/Output): Mention it.
33260         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
33261         freopen-safer module.
33262         * doc/posix-functions/stderr.texi (stderr): Likewise.
33263         * doc/posix-functions/stdin.texi (stdin): Likewise.
33264         * doc/posix-functions/stdout.texi (stdout): Likewise.
33265         * modules/freopen-safer-tests: New test.
33266         * tests/test-reopen-safer.c: New file.
33267
33268 2009-11-05  Jim Meyering  <meyering@redhat.com>
33269
33270         maint.mk: Prohibit inclusion of "close-stream.h" without use.
33271         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33272
33273 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33274
33275         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
33276
33277 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33278
33279         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
33280
33281 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33282
33283         Fix link error.
33284         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33285         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33286
33287 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33288
33289         * tests/test-func.c: Also test value of __func__.
33290
33291 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33292
33293         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
33294         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
33295
33296 2009-11-05  Bruno Haible  <bruno@clisp.org>
33297
33298         Fix link error.
33299         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33300         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33301         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
33302
33303 2009-11-05  Bruno Haible  <bruno@clisp.org>
33304
33305         Tests for module 'inet_pton'.
33306         * modules/inet_pton-tests: New file.
33307         * tests/test-inet_pton.c: New file.
33308
33309 2009-11-05  Bruno Haible  <bruno@clisp.org>
33310
33311         Tests for module 'inet_ntop'.
33312         * modules/inet_ntop-tests: New file.
33313         * tests/test-inet_ntop.c: New file.
33314
33315 2009-11-04  Eric Blake  <ebb9@byu.net>
33316
33317         stdlib-safer: wrap all mkstemp variants
33318         * modules/mkostemp (configure.ac): Set witness.
33319         * modules/mkostemps (configure.ac): Likewise.
33320         * modules/mkstemps (configure.ac): Likewise.
33321         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
33322         (mkstemps_safer): Wrap more functions.
33323         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
33324         wrapping.
33325         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
33326         (mkstemps_safer): Implement the wrappers.
33327
33328         mkstemps, mkostemps: new modules
33329         * modules/mkostemps: New module.
33330         * modules/mkstemps: Likewise.
33331         * lib/mkostemps.c (mkostemps): New file.
33332         * lib/mkstemps.c (mkstemps): Likewise.
33333         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
33334         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
33335         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
33336         * modules/stdlib (Makefile.am): Substitute them.
33337         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
33338         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
33339         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
33340         * doc/gnulib.texi (Glibc stdlib.h): Include them.
33341         * MODULES.html.sh (File system functions): Mention them.
33342
33343         tempname: resync from glibc
33344         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
33345         same values for __GT_FILE as glibc.  Abort even when assertions
33346         are disabled.
33347         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
33348         match its value otherwise.  Allow idempotent inclusion.
33349         * lib/mkdtemp.c (mkdtemp): Adjust caller.
33350         * lib/mkostemp.c (mkostemp): Likewise.
33351         * lib/mkstemp.c (mkstemp): Likewise.
33352         * lib/tmpfile.c (tmpfile): Likewise.
33353         * NEWS: Document this.
33354
33355         utimens: fix use of futimens on older Linux
33356         * lib/utimens.c (fdutimens): Use updated, rather than original,
33357         timespec to avoid bug in older Linux kernel.
33358         Reported by Simon Josefsson.
33359
33360 2009-11-04  Bruno Haible  <bruno@clisp.org>
33361
33362         Make num_processors more flexible and consistent.
33363         * lib/nproc.h (enum nproc_query): New type.
33364         (num_processors): Add a 'query' argument.
33365         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
33366         (num_processors): Add a 'query' argument. Test the value of the
33367         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
33368         mingw, count the number of CPUs available for the current process.
33369         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
33370         Check for sched_getaffinity and sched_getaffinity_np.
33371         * modules/nproc (Depends-on): Add c-ctype, extensions.
33372         * NEWS: Mention the change.
33373
33374 2009-11-03  Bruno Haible  <bruno@clisp.org>
33375
33376         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
33377
33378 2009-11-03  Jim Meyering  <meyering@redhat.com>
33379
33380         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
33381         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
33382         if it is defined.
33383
33384 2009-11-02  Eric Blake  <ebb9@byu.net>
33385
33386         mktime, timegm: share common declaration
33387         * lib/mktime-internal.h: New file.
33388         * lib/mktime.c: Use it rather than open-coding a declaration.
33389         * lib/timegm.c: Likewise.
33390         * modules/mktime (Files): Ship it.
33391         * modules/timegm (Files): Likewise.
33392         Suggested by Bruno Haible.
33393
33394         test-update-copyright: update test to match script changes
33395         * tests/test-update-copyright.sh: Avoid hard-coding perl
33396         location.  Don't update *.bak created by earlier runs.
33397
33398 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
33399             Simon Josefsson  <simon@josefsson.org>
33400             Bruno Haible  <bruno@clisp.org>
33401
33402         Fix link error on Solaris 8.
33403         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
33404         also in libnsl. Define also INET_PTON_LIB.
33405         * modules/inet_pton (Link): New section.
33406
33407 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33408             Bruno Haible  <bruno@clisp.org>
33409
33410         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33411         * modules/inet_ntop (Link): New section.
33412         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33413
33414 2009-11-02  Eric Blake  <ebb9@byu.net>
33415
33416         maint: avoid compiler warnings in m4 macros
33417         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33418         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33419
33420 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33421
33422         * m4/pmccabe2html.m4: Remove file.
33423         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33424         function.  Change maintainer.
33425         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33426         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33427         Courtès).
33428
33429 2009-10-31  Eric Blake  <ebb9@byu.net>
33430
33431         fseeko: fix m4 regression
33432         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33433         regression from 2009-10-27.
33434         Reported by Ralf Wildenhues.
33435
33436 2009-10-31  Jim Meyering  <meyering@redhat.com>
33437
33438         inttostr: aesthetics and improved (compile-time) safety
33439         Define inttype_is_signed rather than inttype_is_unsigned,
33440         since the sole use is via "#if inttype_is_signed".
33441         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33442         inttype_is_unsigned.
33443         * lib/offtostr.c (inttype_is_signed): Likewise.
33444         * lib/uinttostr.c (inttype_is_signed): Likewise.
33445         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33446         * lib/inttostr.c (inttostr): Use verify to cross-check the
33447         inttype_is_signed value and the signedness of the actual type.
33448         * modules/inttostr (Depends-on): Add verify.
33449
33450 2009-10-30  Eric Blake  <ebb9@byu.net>
33451
33452         build: avoid compiler warnings
33453         * lib/fchmodat.c (lchmod): Mark unused variables.
33454         * lib/getopt.c (_getopt_initialize): Likewise.
33455         * lib/mktime.c (__mktime_internal): Provide prototype.
33456         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33457         older gcc that do not understand #pragma GCC diagnostic.
33458         * lib/uinttostr.c (inttype_is_unsigned): Define.
33459         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33460
33461 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33462
33463         stat: fix compilation on AIX
33464         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33465         only see struct stat64.
33466
33467 2009-10-30  Eric Blake  <ebb9@byu.net>
33468
33469         exclude: make more robust
33470         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33471         rather than masking a coding bug.
33472         Suggested by Bruno Haible.
33473
33474 2009-10-30  Jim Meyering  <meyering@redhat.com>
33475
33476         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33477         Rather than putting #!/usr/bin/perl on the first line,
33478         start with a variant of what's recommended by "man perlrun" that
33479         invokes the first "perl" program from your shell's search path.
33480         * build-aux/gitlog-to-changelog: Replace #!... as above.
33481         Add a "Local Variables" perl mode setting.
33482         Prompted by a patch from Ludovic Courtès.
33483         Improved by Eric Blake.
33484         * build-aux/useless-if-before-free: Likewise.
33485         * build-aux/announce-gen: Likewise.
33486         * build-aux/update-copyright: Likewise.
33487
33488 2009-10-29  Eric Blake  <ebb9@byu.net>
33489
33490         filenamecat-lgpl: adjust clients
33491         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33492         filenamecat.
33493         * modules/renameat (Depends-on): Likewise.
33494
33495         filenamecat: split into filenamecat-lgpl
33496         * modules/filenamecat-lgpl: New module.
33497         * modules/filenamecat (Files): Move library-safe files into
33498         filenamecat-lgpl.
33499         (Depends-on): Add filenamecat-lgpl.
33500         (configure.ac): Declare witness.
33501         * lib/filenamecat.h (file_name_concat): Only declare when using
33502         GPL module.
33503         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33504         Move...
33505         * lib/filenamecat-lgpl.c: ...into new file.
33506         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33507         (gl_FILE_NAME_CONCAT): Use it.
33508         * MODULES.html.sh (File system functions): Mention new module.
33509
33510         argp: avoid memory leak
33511         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33512         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33513         base_name, since the latter malloc()s and can call exit().
33514         Leak introduced 2006-07-03.
33515
33516         dirname-lgpl: adjust clients that don't need full dirname
33517         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33518         * modules/filenamecat (Depends-on): Likewise.
33519         * modules/linkat (Depends-on): Likewise.
33520         * modules/mkancesdirs (Depends-on): Likewise.
33521         * modules/mkdir (Depends-on): Likewise.
33522         * modules/openat (Depends-on): Likewise.
33523         * modules/savewd (Depends-on): Likewise.
33524         * modules/rename (Depends-on): Likewise.
33525         (License): Relax license.
33526         * modules/mkdir-tests (Depends-on): Drop progname.
33527         (Makefile.am): Delete unneeded LDADD.
33528         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33529
33530         dirname: split into dirname-lgpl
33531         * modules/dirname-lgpl: New module.
33532         * modules/dirname (Files): Move library-safe files into
33533         dirname-lgpl.
33534         (Depends-on): Add dirname-lgpl.
33535         (configure.ac): Declare witness.
33536         * modules/double-slash-root (License): Relax license.
33537         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33538         module.
33539         * lib/dirname.c (dir_len, mdir_name): Move...
33540         * lib/dirname-lgpl.c: ...into new file.
33541         * lib/basename.c (last_component, base_len): Move...
33542         * lib/basename-lgpl.c: ...into new file.
33543         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33544         (gl_DIRNAME): Use it.
33545         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33546         Mention new module.
33547         * modules/dirname-tests (Depends-on): Add progname.
33548         * tests/test-dirname.c (program_name): Delete.
33549
33550         mkdir: make safe for libraries
33551         * modules/mkdir (Depends-on): Drop xalloc.
33552         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33553         exit.
33554
33555         tests: avoid some compiler warnings
33556         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33557         literals.
33558         * tests/test-memchr.c (main): Avoid type mismatch.
33559         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33560         * tests/test-base64.c (main): Likewise.
33561         * tests/test-getdelim.c (main): Likewise.
33562         * tests/test-gethostname.c (main): Likewise.
33563         * tests/test-getline.c (main): Likewise.
33564         * tests/test-netinet_in.c (main): Likewise.
33565         * tests/test-select.c (open_server_socket, main): Likewise.
33566         * tests/test-select-stdin.c (main): Likewise.
33567         * tests/test-sockets.c (main): Likewise.
33568         * tests/test-strsignal.c (main): Likewise.
33569         * tests/test-sys_select.c (main): Likewise.
33570         * tests/test-sys_socket.c (main): Likewise.
33571         * tests/test-u64.c (main): Likewise.
33572         * tests/test-xfprintf-posix.c (main): Likewise.
33573         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33574
33575         sockets: avoid compiler warning
33576         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33577
33578         maint: detect usage(1) and other suspicious exits
33579         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33580
33581 2009-10-29  Jim Meyering  <meyering@redhat.com>
33582
33583         timespec: long-to-int truncation could make timespec_cmp malfunction
33584         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33585         a multiple of 2^32 nanoseconds as no difference.
33586
33587 2009-10-28  Jim Meyering  <meyering@redhat.com>
33588
33589         fprintftime: wrap macro code argument in "do {...} while(0)"
33590         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33591         cpy macro must be a statement that can be followed by a semicolon.
33592         Now that the else clause contains a comment and is hence longer
33593         than one line, I require curly braces.  That in turn requires
33594         that we wrap this code block in the standard do...while(0).
33595
33596         fprintftime: remove stray semicolon from previous change
33597         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33598
33599         fprintftime: avoid a warning about ignored fwrite return value
33600         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33601         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33602         that is unsafe.
33603         * modules/fprintftime (Depends-on): Add ignore-value.
33604
33605         exclude: avoid an unwarranted warning
33606         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33607
33608 2009-10-27  Eric Blake  <ebb9@byu.net>
33609
33610         fseek: avoid compilation failure when fflush is replaced
33611         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33612         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33613         module is in use.
33614         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33615         module is not in use; since REPLACE_FSEEK worked otherwise.
33616         (GNULIB_FTELLO): Likewise for ftell.
33617         Reported by Ian Beckwith and others.
33618
33619 2009-10-27  Bruno Haible  <bruno@clisp.org>
33620
33621         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33622         Reported by Jim Meyering.
33623
33624 2009-10-27  Jim Meyering  <jim@meyering.net>
33625             Bruno Haible  <bruno@clisp.org>
33626
33627         Avoid warning despite dropping the return value of fwrite.
33628         * lib/unicodeio.c: Include ignore-value.h.
33629         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33630         * modules/unicodeio (Depends-on): Add ignore-value.
33631
33632 2009-10-26  Eric Blake  <ebb9@byu.net>
33633
33634         areadlinkat: fix fallback path
33635         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33636         pointer and zero.
33637
33638 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33639
33640         Use a better IO block size for modern systems
33641         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33642         * lib/md2.c: Likewise.
33643         * lib/md4.c: Likewise.
33644         * lib/md5.c: Likewise.
33645         * lib/sha1.c: Likewise.
33646         * lib/sha256.c: Likewise.
33647         * lib/sha512.c: Likewise.
33648
33649 2009-10-22  Eric Blake  <ebb9@byu.net>
33650
33651         tests: avoid several compiler warnings
33652         * tests/test-getcwd.c (main): Avoid buffer underflow.
33653         * tests/test-getdate.c (main): String literals are not safe with
33654         putenv, so use setenv.  Declare unused argument.
33655         * modules/getdate-tests (Depends-on): Add setenv.
33656         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33657         problems with string literals in char *.
33658         * tests/test-hash.c (main): Avoid shadowing declaration.
33659         (insert_new): Treat string literals as char const *.
33660         * tests/test-getopt.h (test_getopt): Likewise.
33661         (getopt_loop): Alter types to minimize casting elsewhere.
33662         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33663         (test_getopt_long_posix): Likewise.
33664         (do_getopt_long): Add wrapper to minimize casting.
33665         * tests/test-atexit.c (clear_temp_file): Use void.
33666         * tests/test-areadlink-with-size.c (main): Declare unused
33667         arguments.
33668         * tests/test-areadlink.c (main): Likewise.
33669         * tests/test-areadlinkat-with-size.c (main): Likewise.
33670         * tests/test-areadlinkat.c (main): Likewise.
33671         * tests/test-canonicalize-lgpl.c (main): Likewise.
33672         * tests/test-canonicalize.c (main): Likewise.
33673         * tests/test-dirent-safer.c (main): Likewise.
33674         * tests/test-dirname.c (main): Likewise.
33675         * tests/test-dup2.c (main): Likewise.
33676         * tests/test-fchdir.c (main): Likewise.
33677         * tests/test-fcntl-h.c (main): Likewise.
33678         * tests/test-fcntl-safer.c (main): Likewise.
33679         * tests/test-fdopendir.c (main): Likewise.
33680         * tests/test-fdutimensat.c (main): Likewise.
33681         * tests/test-fflush.c (main): Likewise.
33682         * tests/test-filenamecat.c (main): Likewise.
33683         * tests/test-filevercmp.c (main): Likewise.
33684         * tests/test-fopen-safer.c (main): Likewise.
33685         * tests/test-fopen.c (main): Likewise.
33686         * tests/test-fpending.c (main): Likewise.
33687         * tests/test-fpurge.c (main): Likewise.
33688         * tests/test-freading.c (main): Likewise.
33689         * tests/test-fstatat.c (main): Likewise.
33690         * tests/test-fsync.c (main): Likewise.
33691         * tests/test-futimens.c (main): Likewise.
33692         * tests/test-getndelim2.c (main): Likewise.
33693         * tests/test-gettimeofday.c (main): Likewise.
33694         * tests/test-getopt.c (main): Likewise.
33695         * tests/test-i-ring.c (main): Likewise.
33696         * tests/test-inttypes.c (main): Likewise.
33697         * tests/test-link.c (main): Likewise.
33698         * tests/test-lstat.c (main): Likewise.
33699         * tests/test-math.c (main): Likewise.
33700         * tests/test-md5.c (main): Likewise.
33701         * tests/test-memchr2.c (main): Likewise.
33702         * tests/test-memrchr.c (main): Likewise.
33703         * tests/test-mkdir.c (main): Likewise.
33704         * tests/test-mkdirat.c (main): Likewise.
33705         * tests/test-mkfifoat.c (main): Likewise.
33706         * tests/test-open.c (main): Likewise.
33707         * tests/test-openat-safer.c (main): Likewise.
33708         * tests/test-openat.c (main): Likewise.
33709         * tests/test-quotearg.c (main): Likewise.
33710         * tests/test-rawmemchr.c (main): Likewise.
33711         * tests/test-readlink.c (main): Likewise.
33712         * tests/test-remove.c (main): Likewise.
33713         * tests/test-rename.c (main): Likewise.
33714         * tests/test-renameat.c (main): Likewise.
33715         * tests/test-rmdir.c (main): Likewise.
33716         * tests/test-sha1.c (main): Likewise.
33717         * tests/test-signal.c (main): Likewise.
33718         * tests/test-sigaction.c (main): Likewise.
33719         * tests/test-stat.c (main): Likewise.
33720         * tests/test-stat-time.c (main): Likewise.
33721         * tests/test-stddef.c (main): Likewise.
33722         * tests/test-stdint.c (main): Likewise.
33723         * tests/test-stdio.c (main): Likewise.
33724         * tests/test-stdlib.c (main): Likewise.
33725         * tests/test-strchrnul.c (main): Likewise.
33726         * tests/test-strerror.c (main): Likewise.
33727         * tests/test-string.c (main): Likewise.
33728         * tests/test-strtod.c (main): Likewise.
33729         * tests/test-strverscmp.c (main): Likewise.
33730         * tests/test-symlink.c (main): Likewise.
33731         * tests/test-symlinkat.c (main): Likewise.
33732         * tests/test-sys_stat.c (main): Likewise.
33733         * tests/test-sys_time.c (main): Likewise.
33734         * tests/test-time.c (main): Likewise.
33735         * tests/test-unistd.c (main): Likewise.
33736         * tests/test-unlink.c (main): Likewise.
33737         * tests/test-unlinkat.c (main): Likewise.
33738         * tests/test-utimens.c (main): Likewise.
33739         * tests/test-utimensat.c (main): Likewise.
33740         * tests/test-version-etc.c (main): Likewise.
33741         * tests/test-wchar.c (main): Likewise.
33742         * tests/test-wctype.c (main): Likewise.
33743         * tests/test-xprintf-posix.c (main): Likewise.
33744         * tests/test-posixtm.c (main): Likewise.
33745         (STREQ): Delete unused macro.
33746         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33747         shadowed variables.
33748         * tests/test-memchr.c (main): Likewise.
33749
33750 2009-10-21  Eric Blake  <ebb9@byu.net>
33751
33752         areadlinkat: avoid failure on older glibc
33753         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33754         rather than mis-comparing 0 against FUNC_RESULT of char*.
33755
33756 2009-10-21  Bruno Haible  <bruno@clisp.org>
33757
33758         * modules/stpncpy (License): Relicense under LGPLv2+.
33759         Reported by David Lutterkort <lutter@redhat.com>.
33760
33761 2009-10-20  Eric Blake  <ebb9@byu.net>
33762
33763         utimensat: work around Solaris 9 bug
33764         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33765         has trailing slash bugs.
33766         * tests/test-lutimens.h (test_lutimens): Enhance test.
33767         * tests/test-utimens.h (test_utimens): Likewise.
33768         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33769         * doc/posix-functions/utimes.texi (utimes): Likewise.
33770         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33771         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33772         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33773         * doc/posix-functions/futimens.texi (futimens): Likewise.
33774
33775         fdutimensat: new module
33776         * modules/fdutimensat: New file.
33777         * lib/fdutimensat.c (fdutimensat): Likewise.
33778         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33779         * MODULES.html.sh (File system functions): Mention module.
33780         * modules/fdutimensat-tests: New test.
33781         * tests/test-fdutimensat.c: Likewise.
33782
33783         doc: regenerate INSTALL
33784         * doc/INSTALL: Reflect recent autoconf update.
33785         * doc/INSTALL.ISO: Likewise.
33786         * doc/INSTALL.UTF-8: Likewise.
33787
33788 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33789
33790         acl: warn if ACL support is not detected
33791         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33792
33793 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33794
33795         * lib/nproc.h: Add extern "C" block for C++.
33796
33797 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33798             Bruno Haible  <bruno@clisp.org>
33799
33800         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33801         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33802         * doc/posix-functions/isalpha.texi: Likewise.
33803         * doc/posix-functions/isblank.texi: Likewise.
33804         * doc/posix-functions/iscntrl.texi: Likewise.
33805         * doc/posix-functions/isdigit.texi: Likewise.
33806         * doc/posix-functions/isgraph.texi: Likewise.
33807         * doc/posix-functions/islower.texi: Likewise.
33808         * doc/posix-functions/isprint.texi: Likewise.
33809         * doc/posix-functions/ispunct.texi: Likewise.
33810         * doc/posix-functions/isspace.texi: Likewise.
33811         * doc/posix-functions/isupper.texi: Likewise.
33812         * doc/posix-functions/isxdigit.texi: Likewise.
33813
33814 2009-10-18  Bruno Haible  <bruno@clisp.org>
33815
33816         Tests for module 'isblank'.
33817         * modules/isblank-tests: New file.
33818         * tests/test-isblank.c: New file.
33819
33820         New module 'isblank'.
33821         * lib/isblank.c: New file.
33822         * m4/isblank.m4: New file.
33823         * modules/isblank: New file.
33824         * doc/posix-functions/isblank.texi: Mention the new module.
33825
33826 2009-10-18  Bruno Haible  <bruno@clisp.org>
33827
33828         New module 'ctype'.
33829         * lib/ctype.in.h: New file.
33830         * m4/ctype.m4: New file.
33831         * modules/ctype: New file.
33832         * doc/posix-headers/ctype.texi: Mention the new module.
33833
33834 2009-10-18  Jim Meyering  <meyering@redhat.com>
33835
33836         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33837         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33838         right after its initialization, rather than farther down.
33839         Keeping these in close proximity makes it easier to ensure
33840         that each such variable is initialized.  E.g.,
33841
33842             LIB_CLOCK_GETTIME=
33843             AC_SUBST([LIB_CLOCK_GETTIME])
33844
33845         This change also increments these serial numbers.
33846         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33847         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33849
33850 2009-10-18  Bruno Haible  <bruno@clisp.org>
33851
33852         Don't let environment variables perturb build.
33853         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33854         (gl_PREREQ_GETHRXTIME): ... not here.
33855
33856 2009-10-18  Bruno Haible  <bruno@clisp.org>
33857
33858         Avoid symlink attack in localcharset module.
33859         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33860         (O_NOFOLLOW): Define fallback.
33861         (get_charset_aliases): Don't open the file if it is a symbolic link.
33862         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33863         gl_FCNTL_H.
33864         (gl_FCNTL_H): Require it.
33865         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33866         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33867         Reported by Fergal Glynn <fglynn@veracode.com>.
33868
33869 2009-10-18  Bruno Haible  <bruno@clisp.org>
33870
33871         Implement nproc for mingw.
33872         * lib/nproc.c: Include <windows.h>
33873         (num_processors): On native Windows platforms, try GetSystemInfo.
33874
33875 2009-10-18  Bruno Haible  <bruno@clisp.org>
33876
33877         Implement nproc for IRIX.
33878         * lib/nproc.c: Include <sys/sysmp.h>.
33879         (num_processors): On IRIX systems, try sysmp.
33880         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33881
33882 2009-10-18  Bruno Haible  <bruno@clisp.org>
33883
33884         Implement nproc for HP-UX.
33885         * lib/nproc.c: Include <sys/pstat.h>
33886         (num_processors): On HP-UX systems, try pstat_getdynamic.
33887         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33888         pstat_getdynamic.
33889
33890 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33891             Bruno Haible  <bruno@clisp.org>
33892
33893         Implement nproc for NetBSD, OpenBSD.
33894         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33895         (ARRAY_SIZE): New macro.
33896         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33897         * m4/nproc.m4: New file.
33898         * modules/nproc (Files): Add m4/nproc.m4.
33899         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33900         (Makefile.am): Instead, augment lib_SOURCES.
33901
33902 2009-10-18  Bruno Haible  <bruno@clisp.org>
33903
33904         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33905         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33906         sys/param.h.
33907
33908 2009-10-16  Eric Blake  <ebb9@byu.net>
33909
33910         utimensat: new module
33911         * modules/utimensat: New file.
33912         * lib/utimensat.c (utimensat): Likewise.
33913         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33914         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33915         so we can work around Linux bugs.
33916         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33917         * modules/sys_stat (Makefile.am): Substitute them.
33918         * lib/sys_stat.in.h (utimensat): Declare it.
33919         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33920         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33921         * modules/utimensat-tests: New test.
33922         * tests/test-utimensat.c: Likewise.
33923
33924         utimens: let lutimens work on non-symlinks
33925         * lib/utimens.c (lutimens): Fall back to utimens rather than
33926         failing with ENOSYS, when file is not a symlink.
33927         (utimens): Reduce redirection.
33928         * tests/test-lutimens.h (test_lutimens): Update test to cover
33929         non-symlinks.
33930         * tests/test-utimens.h (test_utimens): Update test to cover
33931         symlinks.
33932         * tests/test-utimens.c (main): Update caller.
33933
33934         utimens: cache whether utimensat syscall works
33935         * lib/utimens.c (utimensat_works_really): New cache variable.
33936         (fdutimens, lutimens): Use it to avoid failing syscall.
33937
33938         test-stat-time, test-utimens: improve portability
33939         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33940         ext4 on alpha, and for cygwin.
33941         * tests/test-utimens-common.h: New file.
33942         (nap): Factor delays into single function.
33943         * tests/test-lutimens.h (test_lutimens): Use new header.
33944         * tests/test-futimens.h (test_futimens): Likewise.
33945         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33946         timestamps to occur from same machine, as was done previously for
33947         test_utimens.
33948         * modules/utimens-tests (Files): Ship new file.
33949         * modules/futimens-tests (Files): Likewise.
33950         Reported in part by Jim Meyering.
33951
33952         sys_stat: sort replacement declarations
33953         * lib/sys_stat.in.h: Sort declarations.
33954         * lib/futimens.c (futimens): Fix typo.
33955
33956 2009-10-15  Jim Meyering  <meyering@redhat.com>
33957
33958         don't let environment settings perturb build
33959         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33960         could cause a configure-time and/or build-time malfunction.
33961         Typically, a configure-time function-in-library test is performed
33962         via code like this:
33963
33964           LIB_VAR=
33965           AC_SUBST([LIB_VAR])
33966           prefix_saved_LIBS=$LIBS
33967             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33968                        [test "$ac_cv_search_FUNC" = "none required" ||
33969                         LIB_VAR=$ac_cv_search_FUNC])
33970           LIBS=$prefix_saved_LIBS
33971
33972         However, in each of the files affected by this change, the LIB_VAR=
33973         initialization was omitted.  Thus, when set in the environment, its
33974         value would propagate into generated Makefiles when FUNC is not found
33975         in LIB_NAME.
33976         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33977         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33978         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33979
33980 2009-10-14  Eric Blake  <ebb9@byu.net>
33981
33982         fchdir: avoid infinite recursion in mingw
33983         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33984         recursing.
33985
33986         test-stat-time: port to mingw
33987         * tests/test-stat-time.c (force_unlink): Return a value.
33988         (test_ctime) [W32]: Fix compilation error.
33989         (nap): Don't call usleep with too large an argument.  Use
33990         force_unlink.
33991         * doc/pastposix-functions/usleep.texi (usleep): Document the
33992         portability issue.
33993
33994 2009-10-13  Jim Meyering  <meyering@redhat.com>
33995
33996         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33997         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33998         * modules/pipe-filter-ii: Likewise.
33999         * modules/sys_socket-tests: Likewise.
34000         * modules/tsearch-tests: Likewise.
34001         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
34002         (check): Depend on it.
34003
34004 2009-10-12  Eric Blake  <ebb9@byu.net>
34005
34006         utimens-tests: port to NFS file systems
34007         * tests/test-utimens.h (test_utimens): Refactor utimecmp
34008         comparisons to avoid spurious failures from timestamp drift
34009         between NFS machines.
34010
34011 2009-10-12  Eric Blake  <ebb9@byu.net>
34012
34013         stat-time-tests: minor cleanups
34014         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
34015         * tests/test-stat-time.c (nap): Separate assignment from call.
34016         Suggested by Paolo Bonzini and Bruno Haible.
34017
34018         sys_stat: guarantee struct timespec
34019         * lib/sys_stat.in.h (includes): Always include <time.h>
34020         * modules/sys_stat (Depends-on): Add time.
34021         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
34022         mode_t permission values.
34023         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
34024         get at subsecond timestamps.
34025
34026 2009-10-10  Eric Blake  <ebb9@byu.net>
34027
34028         futimens: new module
34029         * modules/futimens: New file.
34030         * lib/futimens.c (futimens): Likewise.
34031         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
34032         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
34033         we can work around Linux bugs.
34034         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34035         * modules/sys_stat (Makefile.am): Substitute them.
34036         * lib/sys_stat.in.h (futimens): Declare it.
34037         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34038         * doc/posix-functions/futimens.texi (futimens): Likewise.
34039         * modules/futimens-tests: New test.
34040         * tests/test-futimens.c: Likewise.
34041
34042         utimens: introduce fdutimens
34043         * lib/utimens.h (fdutimens): New prototype.
34044         * lib/utimens.c (gl_futimens): Move guts...
34045         (fdutimens): ...to new interface.
34046         * tests/test-utimens.c (do_fdutimens): Use it.
34047
34048         utimens: add UTIME_NOW and UTIME_OMIT support
34049         * lib/utimens.c (validate_timespec, update_timespec): New helper
34050         functions.
34051         (gl_futimens, lutimens): Use them.
34052         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
34053         stdbool, sys_stat.
34054         (Link): Mention resulting library dependency.
34055         * modules/utimecmp (Link): Likewise.
34056         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
34057         (Makefile.am): Pick up library dependency.
34058         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
34059         definition.
34060         * tests/test-sys_stat.c: Test the definitions.
34061         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
34062         * NEWS: Document library dependency.
34063
34064         utimecmp: support symlink timestamps
34065         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
34066         hashing when possible.  Use pathconf when available.
34067         (SYSCALL_RESOLUTION): Recognize tighter resolution.
34068         * modules/utimecmp (Depends-on): Add lstat.
34069
34070         utimens: add lutimens interface
34071         * lib/utimens.c (lutimens): New function.
34072         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
34073         * lib/utimens.h (lutimens): Declare new interface.
34074         * tests/test-utimens.c (main): Enhance test.
34075         * tests/test-lutimens.h (test_lutimens): New file.
34076         * modules/utimens-tests (Files): Distribute it.
34077         (Depends-on): Add symlink.
34078         (configure.ac): Check for usleep.
34079
34080         utimens: validate futimens usage
34081         * lib/utimens.c (gl_futimens): Require valid fd up front, using
34082         fewer syscalls on failure later on.  Avoid compiler warning on
34083         mingw.
34084         * modules/utimens (Depends-on): Add dup2.
34085
34086         utimens: add test
34087         * modules/utimens-tests: New test.
34088         * tests/test-utimens.h: New file.
34089         * tests/test-futimens.h: Likewise.
34090         * tests/test-utimens.c: Likewise.
34091
34092         doc: mention timestamp portability issues
34093         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
34094         instead.
34095         * doc/posix-functions/utime.texi (utime): Likewise.
34096         * doc/posix-functions/utimes.texi (utimes): Likewise.
34097         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
34098         instead.
34099         * doc/posix-functions/futimens.texi (futimens): Mention utimens
34100         module.
34101         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34102         Mention weakness with symlink timestamps.
34103         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
34104         to utimensat/futimens instead.
34105         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
34106
34107         test-dup2: enhance test
34108         * tests/test-dup2.c (main): Also check AT_FDCWD.
34109
34110         test-stat-time: avoid more spurious failures
34111         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
34112         xfs; and avoid race if the two timestamps cross quantization edge.
34113
34114         relocatable: prefer 'file system' over 'filesystem'
34115         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
34116         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
34117         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
34118         * doc/relocatable.texi (Enabling Relocatability): Likewise.
34119         * lib/relocatable.c (compute_curr_prefix): Likewise.
34120
34121 2009-10-10  Jim Meyering  <meyering@redhat.com>
34122
34123         stat-time-tests: check for the usleep function
34124         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
34125
34126 2009-10-10  Bruno Haible  <bruno@clisp.org>
34127
34128         * modules/xnanosleep: Put the Link section after the Include section.
34129
34130 2009-10-09  Eric Blake  <ebb9@byu.net>
34131
34132         dup2: work around FreeBSD 6.1 bug
34133         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
34134         * doc/posix-functions/dup2.texi (dup2): Document it.
34135         Reported by Nelson H. F. Beebe and Jim Meyering.
34136
34137         test-stat-time: port to buggy NFS clients
34138         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
34139         (test_ctime): Also skip test if mtime and ctime are skewed.
34140
34141         maint: prefer 'file system' over 'filesystem'
34142         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34143         * doc/posix-functions/lstat.texi (lstat): Likewise.
34144         * lib/file-has-acl.c (file_has_acl): Likewise.
34145         * lib/fwriteerror.c [TEST]: Likewise.
34146         * tests/test-areadlink.h (test_areadlink): Likewise.
34147         * tests/test-areadlinkat-with-size.c (main): Likewise.
34148         * tests/test-areadlinkat.c (main): Likewise.
34149         * tests/test-canonicalize-lgpl.c (main): Likewise.
34150         * tests/test-canonicalize.c (main): Likewise.
34151         * tests/test-fstatat.c (main): Likewise.
34152         * tests/test-linkat.c (main): Likewise.
34153         * tests/test-lstat.h (test_lstat_func): Likewise.
34154         * tests/test-mkdir.h (test_mkdir): Likewise.
34155         * tests/test-readlink.h (test_readlink): Likewise.
34156         * tests/test-remove.c (main): Likewise.
34157         * tests/test-rename.h (test_rename): Likewise.
34158         * tests/test-renameat.c (main): Likewise.
34159         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34160         * tests/test-symlink.h (test_symlink): Likewise.
34161         * tests/test-symlinkat.c (main): Likewise.
34162         * tests/test-unlink.h (test_unlink_func): Likewise.
34163         * tests/test-unlinkat.c (main): Likewise.
34164
34165         maint: make realtime library usage explicit
34166         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
34167         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
34168         * modules/settime (Link): Likewise.
34169         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
34170
34171         test-stat-time: speed up execution
34172         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
34173         warning on mingw.
34174         (nap): New helper function.
34175         (prepare_test): Use it to reduce sleep time.
34176         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
34177         execution.
34178         * modules/stat-time-tests (configure.ac): Check for usleep.
34179
34180 2009-10-09  Jim Meyering  <meyering@redhat.com>
34181
34182         selinux-h: always use getfilecon wrappers
34183         * lib/getfilecon.c: New file.
34184         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
34185         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
34186         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
34187         (fgetfilecon): Provide a stub.
34188         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
34189         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
34190         file unconditionally.
34191         When <selinux/selinux.h> is found, arrange to use wrappers.
34192         * modules/selinux-h (Files): Add getfilecon.c.
34193         (Makefile.am): Substitute include-next-related bits
34194         into the now-always-generated selinux/selinux.h file.
34195         * doc/glibc-functions/lgetfilecon.texi: New file.
34196         * doc/glibc-functions/fgetfilecon.texi: New file.
34197         * doc/glibc-functions/getfilecon.texi: New file.
34198         * doc/glibc-functions/getfilecon-desc.texi: New file.
34199         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
34200         which to pull in the new files.
34201         * MODULES.html.sh (Misc): Add selinux-h.
34202
34203 2009-10-08  Jim Meyering  <meyering@redhat.com>
34204
34205         unistd: fix comment typo
34206         * lib/unistd.in.h (euidaccess): Fix a comment typo.
34207
34208 2009-10-08  Eric Blake  <ebb9@byu.net>
34209
34210         areadlink: use SIZE_MAX consistently
34211         * modules/areadlink (Depends-on): Add stdint.
34212         * modules/areadlink-with-size (Depends-on): Likewise.
34213         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
34214         gives NULL; drop sys/types, since unistd gives size_t; and add
34215         stdint for SIZE_MAX.
34216         (SIZE_MAX): Rely on headers.
34217         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
34218         and add stdint.
34219         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
34220         (SIZE_MAX): Likewise.
34221         (INITIAL_BUF_SIZE): Turn into enum.
34222         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
34223
34224 2009-10-08  Jim Meyering  <meyering@redhat.com>
34225
34226         areadlinkat: avoid compilation failure
34227         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
34228         Fix typo in comment.
34229
34230 2009-10-07  Eric Blake  <ebb9@byu.net>
34231
34232         areadlinkat-with-size: new module
34233         * modules/areadlinkat-with-size: New module.
34234         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
34235         * lib/areadlink.h (areadlinkat): Declare it.
34236         * MODULES.html.sh (File system functions): Mention it.
34237         * modules/areadlinkat-with-size-tests: New test.
34238         * tests/test-areadlinkat-with-size.c: New file.
34239
34240         xreadlinkat: new module
34241         * modules/xreadlinkat: New module.
34242         * lib/xreadlinkat.c (xreadlinkat): New file.
34243         * lib/xreadlink.h (xreadlinkat): Declare it.
34244         * MODULES.html.sh (File system functions): Mention it.
34245
34246         areadlinkat: new module
34247         * lib/at-func.c (FUNC_FAIL): New define.
34248         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
34249         * modules/areadlinkat: New module.
34250         * lib/linkat.c (areadlinkat): Move...
34251         * lib/areadlinkat.c (areadlinkat): ...to new file.
34252         * lib/areadlink.h (areadlinkat): Declare it.
34253         * modules/linkat (Depends-on): Add areadlinkat.
34254         * MODULES.html.sh (File system functions): Mention it.
34255         * modules/areadlinkat-tests: New test.
34256         * tests/test-areadlinkat.c: New file.
34257
34258         areadlink, areadlink-with-size: add tests
34259         * modules/areadlink-tests: New test.
34260         * modules/areadlink-with-size-tests: Likewise.
34261         * tests/test-areadlink.h: New file.
34262         * tests/test-areadlink.c: Likewise.
34263         * tests/test-areadlink-with-size.c: Likewise.
34264
34265         maint: minor cleanups
34266         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
34267         _UNUSED_PARAMETER_ instead.
34268         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
34269         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
34270         * modules/linkat-tests (Files): Distribute test-link.h.
34271
34272         openat, utimens: whitespace cleanup
34273         * lib/openat.c: Prefer space throughout, rather than mix of 8
34274         spaces vs. tabs.
34275         * lib/at-func.c: Likewise.
34276         * lib/utimens.c: Likewise.
34277
34278         openat: avoid using wrong fd
34279         * lib/openat.c (openat_permissive): Reject user's fd if saving the
34280         working directory chooses same fd.
34281         * lib/at-func.c (AT_FUNC_NAME): Likewise.
34282
34283         mkdir, mkdirat: fix cygwin 1.5.x bug
34284         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
34285         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
34286         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
34287         bug.
34288         (gl_PREREQ_MKDIR): Delete unused macro.
34289         * modules/mkdir (Files): Track file rename.
34290         (configure.ac): Update macro name.
34291         * modules/openat (Depends-on): Add mkdir.
34292         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
34293
34294         mkdir, mkdirat: add tests
34295         * modules/mkdir-tests: New test.
34296         * tests/test-mkdir.h: New file.
34297         * tests/test-mkdir.c: Likewise.
34298         * tests/test-mkdirat.c: Likewise.
34299         * modules/openat-tests (Files): Add new files.
34300         (Makefile.am): Run new test.
34301
34302 2009-10-06  Eric Blake  <ebb9@byu.net>
34303
34304         doc: tweak *at function documentation
34305         * doc/posix-functions/faccessat.texi (faccessat): Mention
34306         known issue with replacement.
34307         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
34308         * doc/posix-functions/linkat.texi (linkat): Likewise.
34309         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34310         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34311         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34312         * doc/posix-functions/renameat.texi (renameat): Likewise.
34313         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34314
34315         openat: fix GNU/Hurd bug in unlinkat
34316         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
34317         broken.
34318         * doc/posix-functions/unlink.texi (unlink): Document this.
34319         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
34320
34321         fdopendir: fix GNU/Hurd bug
34322         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
34323         allowing non-directory fds.
34324         * lib/fdopendir.c (rpl_fdopendir): Work around it.
34325         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34326         * modules/dirent (Makefile.am): Substitute it.
34327         * lib/dirent.in.h (fdopendir): Declare replacement.
34328         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
34329         * tests/test-fdopendir.c (main): Test something other than
34330         /dev/null, since on Hurd that behaves like a directory.
34331
34332         test-symlink: port to GNU/Hurd
34333         * tests/test-symlink.h (test_symlink): Relax expected errno.
34334
34335         doc: tweak more cygwin information
34336         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
34337         now compatible with glibc.
34338         * doc/posix-functions/getopt.texi (getopt): Likewise.
34339
34340         getopt-gnu: add another test
34341         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
34342         guarantee behavior relied on by m4.
34343         * tests/test-getopt.c (main): Use it.
34344         * modules/getopt-posix-tests (Depends-on): Add setenv.
34345         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
34346
34347         getopt: fix compilation on darwin
34348         * lib/getopt.in.h (includes): Leave breadcrumbs during system
34349         include.
34350         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
34351         Reported by Ludovic Courtès.
34352
34353 2009-10-06  Bruno Haible  <bruno@clisp.org>
34354
34355         * modules/size_max (Description): Discourage its use.
34356         Reported by Simon Josefsson.
34357
34358 2009-10-06  Jim Meyering  <meyering@redhat.com>
34359
34360         linkat: avoid compilation failure
34361         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
34362
34363 2009-10-05  Eric Blake  <ebb9@byu.net>
34364
34365         linkat: support Linux 2.6.17
34366         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
34367         linkat on Linux, but allow cache variable override.
34368         * lib/linkat.c (rpl_linkat): Define override.
34369         * modules/linkat (Depends-on): Add symlinkat.
34370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
34371         * modules/unistd (Makefile.am): Substitute it.
34372         * lib/unistd.in.h (linkat): Declare replacement.
34373         Reported by Pádraig Brady.
34374
34375         quotearg: port test to systems with C.UTF-8 locale
34376         * tests/test-quotearg.c (struct result_strings): Add another
34377         member, differentiating between C.ASCII and C.UTF-8 handling.
34378         (compare_strings): Add parameter.
34379         (main): Adjust all callers.
34380
34381         getopt: avoid clash with FreeBSD _getopt_internal
34382         * lib/getopt.in.h (_getopt_internal): Override the name.
34383         * lib/getopt_int.h (includes): Pick up any overrides.
34384         Reported by Reuben Thomas.
34385
34386         hash: allow C89 compilation
34387         * lib/hash.c (check_tuning): Move declaration before statement.
34388         Reported by Reuben Thomas.
34389
34390 2009-10-05  Karl Berry  <karl@gnu.org>
34391
34392         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
34393
34394 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
34395             Bruno Haible  <bruno@clisp.org>
34396
34397         * lib/uname.c (uname): Use a table-driven algorithm to compute
34398         Windows NT versions.
34399
34400 2009-10-04  Bruno Haible  <bruno@clisp.org>
34401
34402         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
34403         program_invocation_short_name.
34404         * modules/progname (configure.ac): Test for presence of
34405         program_invocation_short_name.
34406         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34407
34408 2009-10-04  Bruno Haible  <bruno@clisp.org>
34409
34410         * lib/progname.c (set_program_name): Fix comment.
34411         Reported by Jim Meyering.
34412
34413 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34414             Bruno Haible  <bruno@clisp.org>
34415
34416         * lib/uname.c: Include <string.h>.
34417         (uname): Do only one call to GetVersionEx in the common case.
34418
34419 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34420             Bruno Haible  <bruno@clisp.org>
34421
34422         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34423         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34424         (uname): Add support for Windows CE and various non-x86 CPU types.
34425
34426 2009-10-03  Bruno Haible  <bruno@clisp.org>
34427
34428         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34429         invocation to tests/configure.ac.
34430         Reported by Ian Beckwith <ianb@erislabs.net>.
34431
34432 2009-10-02  Eric Blake  <ebb9@byu.net>
34433
34434         fchdir: avoid compiler warning
34435         * lib/fchdir.c (canonicalize_file_name)
34436         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34437
34438         test-open: support mingw errno values
34439         * tests/test-open.h (test_open): Relax test.
34440         * tests/test-fopen.h (test_fopen): Likewise.
34441         * tests/test-openat-safer.c (main): Likewise.
34442
34443         open: fix opening directory on mingw
34444         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34445
34446         test-open: on GNU/Hurd, /dev/null is a directory
34447         * tests/test-fopen.h (main): Rename...
34448         (test_fopen): ...to this.  Use a guaranteed non-directory when
34449         confirming open behavior on trailing slash.
34450         * tests/test-openat-safer.c (main): Likewise.
34451         * tests/test-open.h (main): Likewise....
34452         (test_open): ...to this.
34453         * tests/test-fopen.c (main): Adjust caller.
34454         * tests/test-fopen-safer.c (main): Likewise.
34455         * tests/test-open.c (main): Likewise.
34456         * tests/test-fcntl-safer.c (main): Likewise.
34457         Reported by Samuel Thibault.
34458
34459         rename, fchdir: don't ignore chdir failure
34460         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34461         * lib/rename.c (rpl_rename) [W32]: Likewise.
34462         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34463         an empty destination directory if source cannot be renamed,
34464         although there is still possibility for failure.
34465         * doc/posix-functions/rename.texi (rename): Document the race.
34466         Reported by Jim Meyering.
34467
34468         maint: cleanup whitespace in recent commits
34469         * lib/rename.c (rpl_rename): Remove tabs.
34470         * tests/test-link.h (test_link): Likewise.
34471         * lib/fchdir.c (get_name): Likewise.
34472         Reported by Jim Meyering.
34473
34474 2009-10-02  Ben Pfaff  <blp@gnu.org>
34475
34476         relocatable-prog-wrapper: Add missing dependency on
34477         double-slash-root.
34478         * modules/relocatable-prog-wrapper: Add dependency.
34479         Reported by Ian Beckwith <ianb@erislabs.net>.
34480
34481 2009-10-02  Eric Blake  <ebb9@byu.net>
34482
34483         renameat: fix Solaris bugs
34484         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34485         needed fixing.
34486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34487         * modules/stdio (Makefile.am): Substitute it.
34488         * lib/stdio.in.h (renameat): Declare replacement.
34489         * lib/renameat.c (rpl_renameat): Implement fix.
34490
34491         renameat: new module
34492         * modules/renameat: New file.
34493         * lib/renameat.c (renameat): Likewise.
34494         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34495         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34496         * modules/stdio (Makefile.am): Substitute them.
34497         * lib/stdio.in.h (renameat): Declare it.
34498         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34499         * doc/posix-functions/renameat.texi (renameat): Likewise.
34500         * modules/renameat-tests: New test.
34501         * tests/test-renameat.c: Likewise.
34502
34503         rename: fix mingw bugs
34504         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34505         directory overwrite bugs.
34506
34507         rename: fix another cygwin 1.5 bug
34508         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34509         checks.
34510         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34511         unnecessary cygwin workarounds.  Also work around bug with moving
34512         full directory onto an empty one.
34513         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34514
34515         rename-dest-slash: merge into rename module
34516         * modules/rename-dest-slash (Status): Mark obsolete.
34517         (Depends-on): Add rename.
34518         (Files): Let rename do it all.
34519         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34520         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34521         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34522         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34523         * lib/rename.c (rpl_rename): Update comments.
34524
34525         rename: fix cygwin 1.5.x bugs
34526         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34527         * lib/rename.c (rpl_rename): Work around them.
34528         * modules/rename (Depends-on): Add same-inode.
34529
34530         rename: fix Solaris 10 bug
34531         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34532         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34533         was the only bug.
34534
34535         rename: fix Solaris 9 bug
34536         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34537         on non-directory.  Avoid calling exit.
34538         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34539         strdup.
34540         * modules/rename-tests (Depends-on): Drop lstat.
34541         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34542         (gl_PREREQ_RENAME): Delete unused macro.
34543
34544         rename-dest-slash: fix NetBSD bug
34545         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34546         links.
34547         * modules/rename-dest-slash (Depends-on): Add same-inode.
34548
34549         rename-tests: new test, exposes several platform bugs
34550         * modules/rename-tests: New file.
34551         * tests/test-rename.h: Likewise.
34552         * tests/test-rename.c: Likewise.
34553         * doc/posix-functions/rename.texi (rename): Improve documentation,
34554         including bugs that will eventually be fixed in gnulib.
34555
34556 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34557
34558         * lib/uname.c: Include <stdlib.h>
34559         (uname): Assume version info is available.
34560
34561 2009-10-02  Jim Meyering  <meyering@redhat.com>
34562
34563         gnu-web-doc-update: correct --help output
34564         * build-aux/gnu-web-doc-update: Make --help output relevant.
34565
34566         gnu-web-doc-update: add standard options
34567         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34568
34569         gnu-web-doc-update: New module.
34570         Use this script to automatically update the on-line web documentation
34571         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34572         * modules/gnu-web-doc-update: New file, from coreutils.
34573         * build-aux/gnu-web-doc-update: New script.
34574
34575 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34576
34577         link: LoadLibrary is not needed.
34578         * lib/link.c: Use GetModuleHandle.
34579
34580 2009-10-01  Eric Blake  <ebb9@byu.net>
34581
34582         getopt: bump serial number
34583         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34584         change.
34585
34586         tests: tighten link, rmdir, and remove tests
34587         * tests/test-link.h (includes): No need to use <config.h> here.
34588         Clean up if directory hard link was created, otherwise test for
34589         trailing '.'.
34590         * tests/test-linkat.c (main): Simplify.
34591         * tests/test-remove.c (main): Enhance test for trailing '.'.
34592         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34593
34594 2009-10-01  Jim Meyering  <meyering@redhat.com>
34595
34596         maint.mk: requiring "make major" was annoying, for a "minor" release.
34597         What is intended is "stable", to contrast with alpha and beta,
34598         so require "make stable", not "make major".
34599         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34600         (get_tool_versions): Likewise.
34601         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34602
34603 2009-09-30  Ben Pfaff  <blp@gnu.org>
34604
34605         Fix broken build of replacement for Windows tmpfile().
34606         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34607         flags argument added along with the 'mkostemp' module.
34608
34609 2009-09-28  Bruno Haible  <bruno@clisp.org>
34610
34611         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34612         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34613         to 'remove_elt'.
34614         (gl_list_remove): Update.
34615         * lib/gl_list.c (gl_list_remove): Update.
34616         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34617         to 'remove_elt'.
34618         (gl_oset_remove): Update.
34619         * lib/gl_list.c (gl_oset_remove): Update.
34620         Reported by Eric Blake.
34621
34622 2009-09-28  Eric Blake  <ebb9@byu.net>
34623
34624         doc: mention yet more cygwin 1.7 status
34625         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34626         cygwin.
34627         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34628         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34629
34630         argp: fix test failure
34631         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34632         that are not upper-case.  Pass correct range to tolower.
34633
34634 2009-09-27  Jim Meyering  <meyering@redhat.com>
34635
34636         test-yesno: work around sparc-dash here-document infelicity
34637         Without this change, the literal \177 byte in a here document
34638         would make dash 0.5.5.1-3 access uninitialized memory.
34639         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34640         Instead, use a marker, "@", and filter through tr to create the desired
34641         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34642
34643 2009-09-27  Bruno Haible  <bruno@clisp.org>
34644
34645         Disable untested support for new flavours of ACLs on AIX.
34646         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34647         progress.
34648         * lib/set-mode-acl.c (qset_acl): Likewise.
34649
34650 2008-12-07  Bruno Haible  <bruno@clisp.org>
34651
34652         Add support for new flavours of ACLs on AIX. (Untested.)
34653         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34654         (file_has_acl): Add support for newer AIX.
34655         * lib/set-mode-acl.c (qset_acl): Likewise.
34656         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34657         Rainer Tammer <tammer@tammer.net>.
34658
34659 2009-09-26  Eric Blake  <ebb9@byu.net>
34660
34661         argp: fix compilation of getopt
34662         * lib/getopt.in.h (includes): Use different guard than glibc.
34663         Reported by Sergey Poznyakoff.
34664
34665         doc: mention more cygwin 1.7 status
34666         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34667         bug.
34668         * doc/posix-functions/execl.texi (execl): Likewise.
34669         * doc/posix-functions/execle.texi (execle): Likewise.
34670         * doc/posix-functions/execlp.texi (execlp): Likewise.
34671         * doc/posix-functions/execv.texi (execv): Likewise.
34672         * doc/posix-functions/execve.texi (execve): Likewise.
34673         * doc/posix-functions/execvp.texi (execvp): Likewise.
34674         * doc/glibc-functions/canonicalize_file_name.texi
34675         (canonicalize_file_name): Cygwin 1.7 now provides this.
34676         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34677         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34678         on AT_SYMLINK_NOFOLLOW.
34679
34680 2009-09-24  Eric Blake  <ebb9@byu.net>
34681
34682         test-linkat: make test more robust
34683         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34684
34685         getopt: fix inclusion guards for cygwin
34686         * modules/getopt-posix (Depends-on): Add include-next.
34687         (Makefile.am): Substitute more items in replacement header.
34688         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34689         <getopt.h>.
34690         * lib/getopt.in.h (includes): Use split inclusion guard, and
34691         prefer <getopt.h> over include <unistd.h> when one is present.
34692         (option): Also override name of 'struct option'.
34693
34694         same-inode: revert prior change; it is not yet ready
34695         * NEWS: Undo mention of this change.
34696         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34697         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34698         * lib/cycle-check.c (cycle_check): Likewise.
34699         * lib/same.c (same_name): Likewise.
34700         * lib/at-func2.c (at_func2): Likewise.
34701
34702 2009-09-23  Eric Blake  <ebb9@byu.net>
34703
34704         linkat: new module
34705         * modules/linkat: New file.
34706         * lib/at-func2.c (at_func2): Likewise.
34707         * lib/linkat.c (linkat): Likewise.
34708         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34709         * lib/openat-priv.h (at_func2): Add declaration.
34710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34711         * modules/unistd (Makefile.am): Substitute them.
34712         * lib/unistd.in.h (linkat): Declare it.
34713         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34714         * doc/posix-functions/linkat.texi (linkat): Likewise.
34715         * doc/posix-functions/link.texi (link): Tweak wording.
34716         * tests/test-link.c (main): Move guts...
34717         * tests/test-link.h (test_link): ...into new file.
34718         * modules/linkat-tests: New test.
34719         * tests/test-linkat.c: Likewise.
34720         * modules/link-tests (Files): Ship new file.
34721         (Depends-on): Add stdbool.
34722
34723         dirname: add library-safe mdir_name
34724         * lib/dirname.h (mdir_name): New prototype.
34725         * lib/dirname.c (dir_name): Move guts...
34726         (mdir_name): ...to new function that avoids xalloc_die.
34727
34728         fchdir: another mingw fix
34729         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34730         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34731         on mingw (where it has not yet been ported), and make it optional
34732         elsewhere.
34733         (_gl_register_fd): Use it.
34734
34735         same-inode: make SAME_INODE tri-state, to port to mingw
34736         * NEWS: Mention this change.
34737         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34738         st_ino always being 0.
34739         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34740         * lib/cycle-check.c (cycle_check): Likewise.
34741         * lib/same.c (same_name): Likewise.
34742
34743         lstat: avoid mingw compilation error
34744         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34745         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34746         lstat ourselves.
34747         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34748         was adequate.
34749         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34750         the checks for lstat.
34751         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34752
34753         link: fix test failure on Solaris 9
34754         * lib/link.c (rpl_link): Don't assume link will catch bogus
34755         trailing slash on source.
34756
34757         test-symlinkat: enhance test
34758         * tests/test-readlink.c (main): Move guts...
34759         * tests/test-readlink.h (test_readlink): ...into new file.
34760         * tests/test-symlink.c (main): Move guts...
34761         * tests/test-symlink.h (test_symlink): ...into new file.
34762         * tests/test-symlinkat.c (main): Use new files for further
34763         coverage.
34764         (do_symlink, do_readlink): New helper functions.
34765         * modules/symlink-tests (Files): Ship new file.
34766         (Depends-on): Add stdbool.
34767         * modules/readlink-tests (Files): Ship new file.
34768         (Depends-on): Add stdbool.
34769         * modules/symlinkat-tests (Files): Use new files.
34770
34771 2009-09-23  Eric Blake  <ebb9@byu.net>
34772
34773         readlink: document portability issue with symlink length
34774         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34775         systems have bogus st_size on symlinks, and mention the
34776         areadlink-with-size module.
34777         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34778         * doc/posix-functions/readlink.texi (readlink): Mention the
34779         areadlink module, and ERANGE failure.
34780         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34781         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34782
34783         readlink: fix Solaris 9 bug with trailing slash
34784         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34785         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34786         * doc/posix-functions/readlink.texi (readlink): Document this.
34787         * modules/readlink-tests: New test.
34788         * tests/test-readlink.c: Likewise.
34789
34790         readlink: fix cygwin 1.5.x bug with return type
34791         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34792         * lib/unistd.in.h (readlink): Use ssize_t.
34793         * lib/readlink.c (readlink): Likewise.
34794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34795         * modules/unistd (Makefile.am): Substitute it.
34796         * lib/unistd.in.h (readlink): Declare replacement.
34797         * doc/posix-functions/readlink.texi (readlink): Document this.
34798
34799         symlink: use throughout gnulib
34800         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34801         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34802         symlink is not used.
34803         * modules/symlinkat (Depends-on): Add symlink.
34804         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34805         * modules/canonicalize-tests (Depends-on): Likewise.
34806         * modules/lstat-tests (Depends-on): Likewise.
34807         * modules/openat-tests (Depends-on): Likewise.
34808         * modules/remove-tests (Depends-on): Likewise.
34809         * modules/rmdir-tests (Depends-on): Likewise.
34810         * modules/unlink-tests (Depends-on): Likewise.
34811         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34812         * tests/test-canonicalize.c (symlink): Likewise.
34813         * tests/test-fstatat.c (symlink): Likewise.
34814         * tests/test-lstat.c (symlink): Likewise.
34815         * tests/test-remove.c (symlink): Likewise.
34816         * tests/test-rmdir.c (symlink): Likewise.
34817         * tests/test-unlink.c (symlink): Likewise.
34818         * tests/test-unlinkat.c (symlink): Likewise.
34819
34820         symlink: new module, for Solaris 9 bug
34821         * modules/symlink: New file.
34822         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34823         * lib/symlink.c: Likewise.
34824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34825         * modules/unistd (Makefile.am): Substitute them.
34826         * lib/unistd.in.h (symlink): Declare replacement.
34827         * MODULES.html.sh (File system functions): Mention it.
34828         * doc/posix-functions/symlink.texi (symlink): Likewise.
34829         * modules/symlink-tests: New test.
34830         * tests/test-symlink.c: Likewise.
34831
34832 2009-09-23  Bruno Haible  <bruno@clisp.org>
34833
34834         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34835         when needed.
34836         Test case: gnulib-tool --import --with-tests atexit inttypes.
34837         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34838
34839 2009-09-23  Bruno Haible  <bruno@clisp.org>
34840
34841         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34842         subcommand, not in a subshell.
34843
34844 2009-09-22  Eric Blake  <ebb9@byu.net>
34845
34846         unistd: sort replacement declarations
34847         * lib/unistd.in.h: Sort declarations.
34848
34849         open, openat: minor optimization
34850         * lib/open.c (open): If open succeeded, len is non-zero.
34851         * lib/openat.c (rpl_openat): Likewise.
34852
34853         link-follow: ensure correct result
34854         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34855         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34856         distinguish between possible failures.
34857
34858 2009-09-21  Eric Blake  <ebb9@byu.net>
34859
34860         fts: avoid compiler warning
34861         * lib/fts.c (dirent_inode_sort_may_be_useful)
34862         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34863
34864 2009-09-19  Bruno Haible  <bruno@clisp.org>
34865
34866         * lib/progreloc.c (canonicalize_file_name): New declaration.
34867
34868 2009-09-19  Eric Blake  <ebb9@byu.net>
34869
34870         link: fix quoting
34871         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34872
34873         openat: fix openat bugs on Solaris 9
34874         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34875         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34876         * modules/openat (Depends-on): Add open.
34877         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34878         * modules/fcntl-h (Makefile.am): Substitute it.
34879         * lib/fcntl.in.h (openat): Declare replacement.
34880         * doc/posix-functions/openat.texi (openat): Document this.
34881
34882         openat: move fstatat and unlinkat into correct files
34883         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34884         compiled.
34885         * lib/openat.c (fstatat, unlinkat): Move...
34886         * lib/fstatat.c (fstatat): ...into correct files.
34887         * lib/unlinkat.c (unlinkat): Likewise.
34888
34889         openat: fix unlinkat bugs on Solaris 9
34890         * lib/unlinkat.c (unlinkat): New file.
34891         * modules/openat (Depends-on): Add unlink.
34892         (Files): Distribute it.
34893         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34894         trailing slash behavior is broken.
34895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34896         * modules/unistd (Makefile.am): Substitute it.
34897         * lib/unistd.in.h (unlinkat): Declare replacement.
34898         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34899
34900         openat: fix fstatat bugs on Solaris 9
34901         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34902         stat.
34903         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34904
34905         test-unlinkat: enhance test, to expose Solaris 9 bug
34906         * tests/test-unlink.c (main): Factor guts...
34907         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34908         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34909         * tests/test-rmdir.c (main): Adjust caller.
34910         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34911         (unlinker): New helper function.
34912         (rmdirat): Enhance check.
34913         * modules/rmdir-tests (Depends-on): Add stdbool.
34914         * modules/unlink-tests (Depends-on): Likewise.
34915         (Files): Add test-unlink.h.
34916         * modules/openat-tests (Files): Likewise.
34917         (Depends-on): Add unlinkdir.
34918
34919         test-fstatat: new test, to expose Solaris 9 bugs
34920         * tests/test-stat.c (main): Factor guts...
34921         * tests/test-stat.h (test_stat_func): ...into new file.
34922         * tests/test-lstat.c (main): Factor guts...
34923         * tests/test-lstat.h (test_lstat_func): ...into new file.
34924         * tests/test-fstatat.c: New file.
34925         * modules/stat-tests (Files): Add test-stat.h.
34926         * modules/lstat-tests (Files): Add test-lstat.h.
34927         (Depends-on): Add stdbool.
34928         * modules/openat-tests (Depends-on): Add pathmax.
34929         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34930         (Makefile.am): Run new test.
34931
34932         remove: new module, for mingw and Solaris 9 bugs
34933         * modules/remove: New file.
34934         * lib/remove.c: Likewise.
34935         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34936         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34937         * modules/stdio (Makefile.am): Use them.
34938         * lib/stdio.in.h (remove): Declare replacement.
34939         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34940         * doc/posix-functions/remove.texi (remove): Likewise.
34941         * modules/remove-tests: New test.
34942         * tests/test-remove.c: Likewise.
34943
34944         unlink: new module, for Solaris 9 bug
34945         * modules/unlink: New file.
34946         * lib/unlink.c: Likewise.
34947         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34949         * modules/unistd (Makefile.am): Use them.
34950         * lib/unistd.in.h (stat): Declare replacement.
34951         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34952         * doc/posix-functions/unlink.texi (unlink): Likewise.
34953         * modules/unlink-tests: New test.
34954         * tests/test-unlink.c: Likewise.
34955
34956         lstat: fix Solaris 9 bug
34957         * lib/lstat.c (lstat): Also check for trailing slash on
34958         non-symlink, non-directories.  Use stat module to simplify logic.
34959         * doc/posix-functions/lstat.texi (lstat): Document it.
34960         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34961         (configure.ac): Check for symlink.
34962         * tests/test-lstat.c (main): Add more tests.
34963
34964         stat: add as dependency to other modules
34965         * modules/chown (Depends-on): Add stat.
34966         * modules/euidaccess (Depends-on): Likewise.
34967         * modules/fchdir (Depends-on): Likewise.
34968         * modules/isdir (Depends-on): Likewise.
34969         * modules/link (Depends-on): Likewise.
34970         * modules/lstat (Depends-on): Likewise.
34971         * modules/mkdir-p (Depends-on): Likewise.
34972         * modules/modechange (Depends-on): Likewise.
34973         * modules/open (Depends-on): Likewise.
34974         * modules/readlink (Depends-on): Likewise.
34975         * modules/same (Depends-on): Likewise.
34976
34977         stat: fix Solaris 9 bug
34978         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34979         slash.
34980         * lib/stat.c (rpl_stat): Work around it.
34981         * doc/posix-functions/stat.texi (stat): Update documentation.
34982
34983         stat: new module, for mingw bug
34984         * modules/stat: New file.
34985         * lib/stat.c: Likewise.
34986         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34987         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34988         * modules/sys_stat (Makefile.am): Use them.
34989         * lib/sys_stat.in.h (stat): Declare replacement.
34990         * lib/openat.c (fstatat): Deal with lstat and stat being function
34991         macros.
34992         * modules/openat (Depends-on): Add inline.
34993         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34994         * doc/posix-functions/stat.texi (stat): Likewise.
34995         * modules/stat-tests: New test.
34996         * tests/test-stat.c: Likewise.
34997
34998 2009-09-19  Jim Meyering  <meyering@redhat.com>
34999
35000         syntax-check: detect unnecessary inclusion of canonicalize.h
35001         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
35002
35003 2009-09-19  Eric Blake  <ebb9@byu.net>
35004
35005         canonicalize-lgpl: adjust clients to use correct header
35006         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
35007         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
35008         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
35009         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
35010         * lib/progreloc.c (includes): Likewise.
35011
35012 2009-09-19  Jim Meyering  <meyering@redhat.com>
35013
35014         test-posixtm.c: correct a comment
35015         * tests/test-posixtm.c: Correct first-line comment.
35016         Spotted by Eric Blake.
35017
35018 2009-09-16  Jim Meyering  <meyering@redhat.com>
35019
35020         posixtm-tests: make T const-correct; add a test case
35021         * tests/test-posixtm.c (T): Declare const.
35022         Add a test for -(2^31+1).
35023         Remove useless can-succeed-only-in-2002 test.
35024
35025         posixtm-tests: adjust the sole failing test
35026         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
35027         expected output matches what mktime now produces.  Cross-checked via
35028         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
35029
35030         posixtm: move #ifdef'd tests into a new module
35031         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
35032         * tests/test-posixtm.c: ... this new file.
35033         * modules/posixtm-tests: New module.
35034
35035 2009-09-19  Eric Blake  <ebb9@byu.net>
35036
35037         openat: simplify use of at-func.c
35038         * lib/at-func.c (includes): Include prerequisites here, to
35039         simplify requirements on client files.
35040         * lib/openat-priv.h: Add double-inclusion guard.
35041         * lib/faccessat.c (includes): Simplify.
35042         * lib/fchmodat.c (includes): Likewise.
35043         * lib/fchownat.c (includes): Likewise.
35044         * lib/mkdirat.c (includes): Likewise.
35045         * lib/mkfifoat.c (includes): Likewise.
35046         * lib/symlinkat.c (includes): Likewise.
35047
35048         openat: allow return of fd 0
35049         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
35050         * modules/save-cwd (Depends-on): Replace fcntl-safer with
35051         unistd-safer.
35052         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
35053         <fcntl.h>; this module does not leak fds.
35054         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
35055         must be allowed to return 0, leaving openat_safer to add the
35056         safety.
35057         (openat_permissive): Avoid writing to just-opened fd 2 if
35058         restoring the current directory fails.
35059         * lib/openat-die.c (openat_restore_fail): Add comment.
35060         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
35061         (save_cwd): Guarantee safe fd, but without use of open_safer.
35062         * tests/test-openat.c: New test.
35063         * modules/openat-tests (Files, Makefile.am): Distribute and build
35064         new file.
35065
35066         relocatable-prog-wrapper: fix build
35067         * modules/relocatable-prog-wrapper (Files): Update name of
35068         canonicalize m4 file, broken on 2009-09-17.
35069         Reported by emad hajjar <aleppos@hotmail.com>.
35070
35071 2009-09-19  Bruno Haible  <bruno@clisp.org>
35072
35073         * lib/safe-alloc.h: Use the standard header with GPL copyright.
35074         * lib/safe-alloc.c: Likewise.
35075         Reported by Ian Beckwith <ianb@erislabs.net>.
35076
35077 2009-09-18  Bruno Haible  <bruno@clisp.org>
35078
35079         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
35080         Reported by <erobles@sensacd.com.mx>.
35081
35082 2009-09-17  Eric Blake  <ebb9@byu.net>
35083
35084         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
35085         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
35086         slashes when checking if last component is missing.
35087         * tests/test-canonicalize.c (main): Test this.
35088
35089         canonicalize, canonicalize-lgpl: honor // if distinct from /
35090         * modules/canonicalize (Files): Add double-slash-root.m4.
35091         * modules/canonicalize-lgpl (Files): Likewise.
35092         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
35093         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
35094         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
35095         fallback definition.
35096         (canonicalize_filename_mode): Use it to protect //.
35097         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
35098         (__realpath): Likewise.
35099         * tests/test-canonicalize.c (main): Test this.
35100         * tests/test-canonicalize-lgpl.c (main): Likewise.
35101         * modules/canonicalize-tests (Depends-on): Add same-inode.
35102         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35103
35104         canonicalize-lgpl: fix glibc bug with trailing slash
35105         * m4/canonicalize-lgpl.m4: Move contents...
35106         * m4/canonicalize.m4: ...here.
35107         (gl_CANONICALIZE_LGPL): Factor realpath check...
35108         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
35109         glibc 2.3.5 bug, fixed 2005-04-27.
35110         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
35111         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
35112         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
35113         * modules/canonicalize-lgpl (Files): Manage file rename.
35114         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
35115         * modules/stdlib (Makefile.am): Substitute witness.
35116         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
35117         is needed.
35118         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
35119         replacement is required.
35120         * lib/canonicalize.c (canonicalize_file_name): Likewise.
35121         * doc/glibc-functions/canonicalize_file_name.texi
35122         (canonicalize_file_name): Document this.
35123         * doc/posix-functions/realpath.texi (realpath): Likewise.
35124
35125         canonicalize-lgpl: reject non-directory with trailing slash
35126         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
35127         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
35128         catches failures in glibc 2.3.5.
35129         * tests/test-canonicalize.c (main): Likewise.
35130
35131         canonicalize-lgpl: use native realpath if it works
35132         * lib/canonicalize-lgpl.c (realpath): Guard with
35133         FUNC_REALPATH_WORKS.
35134         * lib/stdlib.in.h (realpath): Make declaration optional based on
35135         HAVE_REALPATH.
35136         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
35137         native realpath works.
35138         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
35139         * modules/stdlib (Makefile.am): Substitute witness.
35140
35141         canonicalize, canonicalize-lgpl: use <stdlib.h>
35142         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
35143         (Include): Mention <stdlib.h>.
35144         (configure.ac): Mention functions we provide.
35145         * modules/canonicalize (configure.ac): Likewise.
35146         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
35147         realpath if canonicalize_file_name is missing.
35148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
35149         * modules/stdlib (Makefile.am): Substitute witnesses.
35150         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
35151         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
35152         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
35153         * NEWS: Document this.
35154         * doc/glibc-functions/canonicalize_file_name.texi
35155         (canonicalize_file_name): Likewise.
35156         * doc/posix-functions/realpath.texi (realpath): Likewise.
35157         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
35158
35159         test-canonicalize: consolidate into single C program
35160         * tests/test-canonicalize.sh: Delete; move setup into...
35161         * tests/test-canonicalize.c (main): ...the program, making it
35162         easier to run in debugger.  Add some tests.
35163         * modules/canonicalize-tests (Files): Remove unused file.
35164         (Depends-on): Add progname.
35165         (configure.ac, Makefile.am): Simplify.
35166
35167         test-canonicalize-lgpl: consolidate into single C program
35168         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
35169         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
35170         easier to run in debugger.  Add some tests.
35171         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
35172         (configure.ac, Makefile.am): Simplify.
35173
35174         canonicalize: avoid resolvepath
35175         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
35176         unnecessary checks.
35177         * lib/canonicalize.c (includes): Simplify.
35178         (canonicalize_file_name): Drop resolvepath implementation.
35179         * modules/canonicalize (Depends-on): Drop filenamecat.
35180
35181         canonicalize: don't lose errno
35182         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
35183         over calls to free.
35184
35185         canonicalize: simplify errno handling
35186         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
35187         assignment.
35188
35189         canonicalize, canonicalize-lgpl: update module dependencies
35190         * modules/canonicalize (Depends-on): Add extensions, lstat,
35191         pathmax, stdlib.
35192         (Files): Drop pathmax.h.
35193         (configure.ac): Adjust macro name.
35194         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
35195         lstat, stdlib, sys_stat.
35196         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
35197         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
35198         extensions.
35199         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
35200         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
35201         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
35202         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
35203         declaration, if available.
35204         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
35205         we can rely on the readlink module.
35206         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
35207         (includes): Use <unistd.h> unconditionally.
35208
35209 2009-09-17  Eric Blake  <ebb9@byu.net>
35210
35211         maint: make Include sections of modules consistent
35212         * modules/alloca: Use only header name; no need to list #include.
35213         * modules/alloca-opt: Likewise.
35214         * modules/arpa_inet: Likewise.
35215         * modules/canon-host: Likewise.
35216         * modules/configmake: Likewise.
35217         * modules/dirent: Likewise.
35218         * modules/eealloc: Likewise.
35219         * modules/environ: Likewise.
35220         * modules/fchdir: Likewise.
35221         * modules/fcntl: Likewise.
35222         * modules/fcntl-h: Likewise.
35223         * modules/gethrxtime: Likewise.
35224         * modules/gettime: Likewise.
35225         * modules/ignore-value: Likewise.
35226         * modules/inet_ntop: Likewise.
35227         * modules/inet_pton: Likewise.
35228         * modules/inttypes: Likewise.
35229         * modules/isnand-nolibm: Likewise.
35230         * modules/isnanf-nolibm: Likewise.
35231         * modules/mbchar: Likewise.
35232         * modules/mbfile: Likewise.
35233         * modules/mbiter: Likewise.
35234         * modules/mbuiter: Likewise.
35235         * modules/netdb: Likewise.
35236         * modules/netinet_in: Likewise.
35237         * modules/nproc: Likewise.
35238         * modules/pagealign_alloc: Likewise.
35239         * modules/poll: Likewise.
35240         * modules/printf-frexp: Likewise.
35241         * modules/pthread: Likewise.
35242         * modules/putenv: Likewise.
35243         * modules/random_r: Likewise.
35244         * modules/relocatable-prog: Likewise.
35245         * modules/search: Likewise.
35246         * modules/select: Likewise.
35247         * modules/selinux-h: Likewise.
35248         * modules/settime: Likewise.
35249         * modules/signal: Likewise.
35250         * modules/size_max: Likewise.
35251         * modules/socklen: Likewise.
35252         * modules/ssize_t: Likewise.
35253         * modules/stdarg: Likewise.
35254         * modules/stdbool: Likewise.
35255         * modules/stddef: Likewise.
35256         * modules/stdint: Likewise.
35257         * modules/stdio: Likewise.
35258         * modules/stdlib: Likewise.
35259         * modules/string: Likewise.
35260         * modules/strings: Likewise.
35261         * modules/sys_file: Likewise.
35262         * modules/sys_ioctl: Likewise.
35263         * modules/sys_select: Likewise.
35264         * modules/sys_socket: Likewise.
35265         * modules/sys_stat: Likewise.
35266         * modules/sys_time: Likewise.
35267         * modules/sys_times: Likewise.
35268         * modules/sys_utsname: Likewise.
35269         * modules/sys_wait: Likewise.
35270         * modules/sysexits: Likewise.
35271         * modules/time: Likewise.
35272         * modules/times: Likewise.
35273         * modules/tmpfile: Likewise.
35274         * modules/trim: Likewise.
35275         * modules/unistd: Likewise.
35276         * modules/wchar: Likewise.
35277         * modules/wctype: Likewise.
35278
35279 2009-09-17  Bruno Haible  <bruno@clisp.org>
35280
35281         Make getdate.y compile on QNX and NetBSD 5 / i386.
35282         * m4/getdate.m4 (gl_GETDATE): Conditionally define
35283         TIME_T_FITS_IN_LONG_INT.
35284         * lib/getdate.y (long_time_t): New type.
35285         (relative_time): Change type of 'seconds' field to long_time_t.
35286         (get_date): Update types of local variables. Check against overflow
35287         during conversion from long_time_t to time_t.
35288         Reported by Matt Kraai <kraai@ftbfs.org>
35289         and Hasso Tepper <hasso@netbsd.org>.
35290
35291 2009-09-17  Bruno Haible  <bruno@clisp.org>
35292
35293         * modules/COPYING: Update copyright years.
35294         * modules/README: Likeiwse.
35295         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
35296         Reported by Ian Beckwith <ianb@erislabs.net>.
35297
35298 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35299
35300         * users.txt: Update references for gnuit package.
35301
35302 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35303
35304         * m4/getdelim.m4: Fix typo in copyright line.
35305
35306 2009-09-17  Bruno Haible  <bruno@clisp.org>
35307
35308         * lib/atoll.c: Use the standard header with GPL copyright.
35309         * lib/argz.in.h: Likewise.
35310         * lib/glob.c: Likewise.
35311         * lib/glob-libc.h: Likewise.
35312         * lib/random_r.c: Likewise.
35313         * lib/siglist.h: Likewise.
35314         * lib/strsignal.c: Likewise.
35315         Reported by Ian Beckwith <ianb@erislabs.net>.
35316
35317 2009-09-17  Eric Blake  <ebb9@byu.net>
35318
35319         rmdir: ensure correct dependency order
35320         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
35321
35322 2009-09-17  Bruno Haible  <bruno@clisp.org>
35323
35324         Disable assertion that fails on NetBSD 5 / i386.
35325         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
35326         Reported by Sam Steingold <sds@gnu.org>
35327         and Hasso Tepper <hasso@netbsd.org>.
35328
35329 2009-09-16  Eric Blake  <ebb9@byu.net>
35330
35331         unlinkdir: port to mingw
35332         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
35333         on which no one can unlink a directory.
35334
35335         stdlib: sort witness names
35336         * modules/stdlib (Makefile.am): Sort replacements.
35337         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
35338         * lib/stdlib.in.h: Likewise.
35339
35340         parse-duration-tests: avoid link failure
35341         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
35342         LIBINTL.
35343         Reported by Tom G. Christensen.
35344
35345         openat-tests: ensure unlinkat behaves like rmdir
35346         * tests/test-rmdir.c (main): Factor guts...
35347         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
35348         * modules/rmdir-tests (Files): Ship new file.
35349         * modules/openat-tests: New test.
35350         * tests/test-unlinkat.c: Likewise.
35351
35352         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
35353         * modules/rmdir-errno (Status, Notice): Now obsolete.
35354
35355         rmdir: work around cygwin 1.5.x and mingw bugs
35356         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
35357         * lib/rmdir.c (rmdir): Work around it.
35358         * modules/rmdir (Status, Notice): No longer obsolete.
35359         (Files): Add dos.m4.
35360         (Depends-on): Add unistd.
35361         (configure.ac): Set witnesses.
35362         (License): Relax to LGPLv2+.
35363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
35364         * modules/unistd (Makefile.am): Substitute witnesses.
35365         * lib/unistd.in.h (rmdir): Declare replacement.
35366         * doc/posix-functions/rmdir.texi (rmdir): Document this.
35367         * modules/rmdir-tests: New tests.
35368         * tests/test-rmdir.c: Likewise.
35369
35370 2009-09-15  Eric Blake  <ebb9@byu.net>
35371
35372         fchdir: improve use of replacement functions
35373         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
35374         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
35375         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
35376         REPLACE_CLOSEDIR.
35377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
35378         * modules/sys_stat (Makefile.am): Substitute correct witness.
35379         * modules/dirent (Makefile.am): Likewise.
35380         * modules/unistd (Makefile.am): Likewise.
35381         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
35382         * lib/unistd.in.h (dup): Likewise.
35383         * lib/sys_stat.in.h (fstat): Likewise.
35384
35385         maint: ignore gnulib-tool temp files
35386         * .gitignore: Ignore files created during gnulib-tool --test.
35387
35388 2009-09-13  Jim Meyering  <meyering@redhat.com>
35389
35390         posixtm: don't reject a time that specify "60" as the number of seconds
35391         * lib/posixtm.c (posixtime): The code to reject invalid dates
35392         would also reject a time specified with the .60 suffix.
35393         But POSIX allows that, in order to accommodate leap seconds.
35394         So don't reject it.
35395         (main): Adjust tests accordingly.
35396         * modules/posixtm (Depends-on): Add stpcpy.
35397
35398 2009-09-11  Jim Meyering  <meyering@redhat.com>
35399
35400         announce-gen: include [$release_type] in emitted Subject:
35401         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
35402         e.g., [stable] in the emitted Subject: line.
35403
35404 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35405
35406         Remove obsolete macros from several modules.
35407         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35408         obsolete Autoconf macros with their modern counterparts.
35409         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35410         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35411         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35412         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35413         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35414         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35415         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35416         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35417         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35418         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35419         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35420         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35421         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35422         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35423         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35424         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35425         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35426         * m4/time_r.m4 (gl_TIME_R): Likewise.
35427         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35428         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35429         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35430
35431         Fix copyright header in build-aux scripts.
35432         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35433         recommendation.
35434         * build-aux/ncftpput-ftp: Likewise.
35435         * build-aux/update-copyright: Likewise.
35436
35437 2009-09-09  Eric Blake  <ebb9@byu.net>
35438
35439         test-link: allow Linux choice of errno
35440         * tests/test-link.c (main): Relax test for alternate error.
35441
35442         strndup: fix improper m4 caching
35443         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35444         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35445         (gl_PREREQ_STRNDUP): Delete.
35446         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35447         * modules/string (Makefile.am): Substitute it.
35448         * lib/string.in.h (strndup): Modernize prototype.
35449
35450         getcwd: port to mingw
35451         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35452         different from the POSIX assumptions made throughout the getcwd
35453         module; fortunately, the mingw getcwd does not need replacement.
35454         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35455         * modules/getcwd-tests: New test.
35456         * tests/test-getcwd.c: Likewise.
35457
35458         link: fix platform bugs
35459         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35460         * lib/link.c (link): Work around them.  Fix related mingw bug.
35461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35462         * modules/unistd (Makefile.am): Substitute it.
35463         * lib/unistd.in.h (link): Declare replacement.
35464         * doc/posix-functions/link.texi (link): Document this.
35465         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35466
35467         test-link: consolidate into single C program, test more cases
35468         * tests/test-link.sh: Delete.
35469         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35470         at least Cygwin and Solaris.
35471         * modules/link-tests (Files): Remove unused file.
35472         (Depends-on): Add errno, sys_stat.
35473         (Makefile.am): Simplify.
35474
35475 2009-09-08  Bruno Haible  <bruno@clisp.org>
35476
35477         Work around towlower, towupper bug on mingw.
35478         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35479         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35480         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35481         * doc/posix-functions/towupper.texi: Likewise.
35482         Reported by Eric Blake.
35483
35484 2009-09-08  Jim Meyering  <meyering@redhat.com>
35485
35486         build: don't try to run autoheader if we don't use it
35487         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35488         is not used in configure.ac.
35489
35490 2009-09-08  Eric Blake  <ebb9@byu.net>
35491
35492         euidaccess: fix compilation error
35493         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35494
35495         rawmemchr: relax license
35496         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35497         okay.
35498         Reported by Jim Meyering.
35499
35500         mkfifoat: new module
35501         * modules/mkfifoat: New file.
35502         * lib/mkfifoat.c: Likewise.
35503         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35504         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35505         * modules/sys_stat (Makefile.am): Use them.
35506         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35507         * MODULES.html.sh (File system functions): Mention module.
35508         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35509         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35510         * modules/mkfifoat-tests: New test.
35511         * tests/test-mkfifoat.c: Likewise.
35512
35513         strchrnul: relax license
35514         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35515         okay.
35516         Reported by Jim Meyering.
35517
35518 2009-09-08  Eric Blake  <ebb9@byu.net>
35519
35520         fstatat: fix compilation on Solaris
35521         * lib/fstatat.c (includes): Add fcntl.h.
35522         Reported by Pádraig Brady.
35523
35524 2009-09-07  Eric Blake  <ebb9@byu.net>
35525
35526         rename: modernize replacement
35527         * modules/rename (Depends-on): Add stdio.
35528         (configure.ac): Declare witness.
35529         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35530         stdio take care of replacement.
35531         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35532         * modules/stdio (Makefile.am): Substitute them.
35533         * lib/stdio.in.h (rename): Declare replacement.
35534         * lib/rename.c (includes): Allow cross-compilation to non-windows
35535         machines.
35536         * doc/posix-functions/rename.texi (rename): Improve
35537         documentation.
35538
35539         stdio: sort witness names
35540         * modules/stdio (Makefile.am): Sort replacements.
35541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35542         * lib/stdio.in.h: Likewise.
35543
35544         getcwd: minor cleanups
35545         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35546         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35547
35548         openat: provide more convenience names
35549         * modules/faccessat (configure.ac): Add C witness.
35550         * lib/unistd.in.h (readlinkat): Fix typo.
35551         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35552         convenience wrappers.
35553         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35554         wrappers in syntax checks.
35555
35556 2009-09-06  Eric Blake  <ebb9@byu.net>
35557
35558         doc: fix comments in recent patches
35559         * lib/faccessat.c: Mention correct function.
35560         * lib/fchmodat.c: Likewise.
35561         * lib/fchownat.c: Likewise.
35562         * lib/symlinkat.c: Likewise.
35563         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35564         constants.
35565
35566         faccessat, symlinkat: continue cleanup of previous patch
35567         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35568         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35569         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35571         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35572         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35573         set.
35574
35575 2009-09-06  Bruno Haible  <bruno@clisp.org>
35576
35577         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35578         (fstatat): Declare if GNULIB_FSTATAT is set.
35579         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35580         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35581         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35582         * modules/fcntl-h (Files): Remove m4/openat.m4.
35583         * modules/sys_stat (Files): Remove m4/openat.m4.
35584         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35585         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35586         * modules/unistd (Files): Remove m4/openat.m4.
35587         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35588         GNULIB_OPENAT.
35589         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35590         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35591         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35592         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35593         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35594         gl_OPENAT_DEFAULTS.
35595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35596         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35597         Don't require gl_OPENAT_DEFAULTS.
35598         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35599         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35600         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35601         (gl_OPENAT_DEFAULTS): Remove macro.
35602
35603 2009-09-06  Bruno Haible  <bruno@clisp.org>
35604
35605         * modules/openat (configure.ac): Remove unneeded witness.
35606
35607 2009-09-06  Bruno Haible  <bruno@clisp.org>
35608
35609         Set errno to ENOSYS when a function is entirely unsupported.
35610         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35611         EOPNOTSUPP.
35612         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35613         * modules/chown (Depends-on): Remove errno.
35614
35615 2009-09-06  Bruno Haible  <bruno@clisp.org>
35616
35617         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35618
35619 2009-09-06  Bruno Haible  <bruno@clisp.org>
35620
35621         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35622
35623 2009-09-06  Ben Pfaff  <blp@gnu.org>
35624             Bruno Haible  <bruno@clisp.org>
35625
35626         Work around a glibc bug in strtok_r.
35627         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35628         Undefine if UNDEFINE_STRTOK_R is set.
35629         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35630         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35631         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35632         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35633         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35634         UNDEFINE_STRTOK_R.
35635         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35636
35637 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35638
35639         exclude: minor fix
35640         * lib/exclude.c: Include wctype.h
35641
35642 2009-09-06  Akim Demaille  <demaille@gostai.com>
35643
35644         bootstrap: improve error message
35645         * build-aux/bootstrap (find_tool): Upon failure, report the list
35646         of candidates.
35647         Honor the initial value of the envvar.
35648
35649 2009-09-05  Eric Blake  <ebb9@byu.net>
35650
35651         symlinkat: new module
35652         * modules/symlinkat: New file.
35653         * lib/symlinkat.c: Likewise.
35654         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35656         * modules/unistd (Makefile.am): Use them.
35657         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35658         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35659         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35660         * MODULES.html.sh (File system functions): Mention module.
35661         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35662         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35663         * modules/symlinkat-tests: New test.
35664         * tests/test-symlinkat.c: Likewise.
35665
35666         test-openat-safer: add more checks
35667         * tests/test-openat-safer.c (main): Check more code paths.
35668
35669 2009-09-05  Jim Meyering  <meyering@redhat.com>
35670
35671         syntax-check: detect unnecessary inclusion of openat.h
35672         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35673
35674 2009-09-05  Bruno Haible  <bruno@clisp.org>
35675
35676         Support towlower, towupper.
35677         * doc/posix-functions/towlower.texi: Mention module wctype.
35678         * doc/posix-functions/towupper.texi: Likewise.
35679         * lib/wctype.in.h (towlower, towupper): New functions.
35680         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35681         (ASSERT): New macro.
35682         (e): New variable.
35683         (main): Test also towlower, towupper. Test WEOF argument.
35684         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35685
35686 2009-09-05  Bruno Haible  <bruno@clisp.org>
35687
35688         Fix conversion behaviour when the input is invalid.
35689         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35690         mark occurring in first pass of indirect conversion.
35691         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35692         input.
35693         Found by clang's static analyzer.
35694
35695 2009-09-05  Bruno Haible  <bruno@clisp.org>
35696
35697         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35698         where direct conversion is possible.
35699
35700 2009-09-04  Eric Blake  <ebb9@byu.net>
35701
35702         openat: fail with ENOENT on empty name
35703         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35704         buffer.
35705
35706         link-follow: fix logic bug in prior patch
35707         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35708         reversed sense of yes and no in prior patch.  Avoid confusing
35709         compilation failure with desired semantics.
35710
35711         link-follow: accomodate mingw and cross-compilation
35712         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35713         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35714         cross-compilation results to -1, to make linkat easier to
35715         implement when cross-compiling.  Trivially support mingw.
35716         * modules/link-follow (configure.ac): Call new name.
35717         * NEWS: Mention this.
35718
35719 2009-09-03  Eric Blake  <ebb9@byu.net>
35720
35721         faccessat: compile replacement
35722         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35723         needed.
35724
35725         fts: fix compilation error
35726         * lib/fts.c (includes): Re-add "openat.h", for
35727         openat_needs_fchdir.
35728
35729         faccessat: new module
35730         * modules/faccessat: New file.
35731         * lib/faccessat.c: Likewise.
35732         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35734         * modules/unistd (Makefile.am): Use it.
35735         * lib/unistd.in.h (faccessat): Declare it.
35736         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35737         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35738         * MODULES.html.sh (File system functions): Mention it.
35739         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35740         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35741
35742         euidaccess: prefer POSIX over non-standard implementation
35743         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35744         * lib/euidaccess.c (euidaccess): Use it if available.
35745
35746         openat: make template easier to use
35747         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35748         AT_FUNC_F2 to be undefined.
35749         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35750         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35751         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35752         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35753         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35754         Likewise.
35755         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35756         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35757         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35758         Likewise.
35759
35760         openat: declare in POSIX headers
35761         * NEWS: Mention this.
35762         * modules/openat (configure.ac): Declare witnesses.
35763         (Depends-on): Add fcntl-h, sys_stat, unistd.
35764         (Include): Mention correct headers.
35765         * modules/fcntl-h (Depends-on): Add link-warning.
35766         (Files): Add openat.m4.
35767         (Makefile.am): Substitute witnesses.
35768         * modules/sys_stat (Files, Makefile.am): Likewise.
35769         * modules/unistd (Files, Makefile.am): Likewise.
35770         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35771         (gl_OPENAT_DEFAULTS): New macro.
35772         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35774         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35775         (SYS_STAT_H): Remove unused variable.
35776         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35777         * lib/fcntl--.h (includes): Remove unneeded header.
35778         * lib/openat-safer.c (includes): Likewise.
35779         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35780         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35781         appropriate headers.
35782         (__OPENAT_PREFIX): Delete.
35783         * lib/fcntl.in.h (openat): Provide declaration.
35784         (AT_FDCWD): Fix Solaris bug.
35785         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35786         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35787         * lib/fchmodat.c (includes):  Adjust to find declaration.
35788         * lib/fchownat.c (includes): Likewise.
35789         * lib/mkdirat.c (includes): Likewise.
35790         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35791         still visible.
35792
35793 2009-09-02  Eric Blake  <ebb9@byu.net>
35794
35795         errno: use consistently
35796         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35797         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35798         * lib/canonicalize.c (ELOOP): Likewise.
35799         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35800         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35801         * lib/lchown.c (EOPNOTSUPP): Likewise.
35802         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35803         * lib/savewd.c (ESTALE): Likewise.
35804         * lib/settime.c (ENOSYS): Likewise.
35805         * lib/utimens.c (ENOSYS): Likewise.
35806         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35807         * lib/chdir-safer.c (ELOOP): Likewise.
35808         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35809         * modules/c-stack (Depends-on): Add errno.
35810         * modules/canonicalize (Depends-on): Likewise.
35811         * modules/chdir-safer (Depends-on): Likewise.
35812         * modules/fdopendir (Depends-on): Likewise.
35813         * modules/inet_ntop (Depends-on): Likewise.
35814         * modules/inet_pton (Depends-on): Likewise.
35815         * modules/lchown (Depends-on): Likewise.
35816         * modules/openat (Depends-on): Likewise.
35817         * modules/savewd (Depends-on): Likewise.
35818         * modules/settime (Depends-on): Likewise.
35819         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35820
35821         fts: avoid leaking fds
35822         * modules/fts (Depends-on): Add cloexec.
35823         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35824         flag.
35825
35826         fts: make directory fds more robust
35827         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35828         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35829
35830         backupfile, chdir-long, fts, savedir: make safer
35831         * lib/backupfile.c (includes): Use "dirent--.h", since
35832         numbered_backup can write to stderr during readdir.
35833         * lib/savedir.c (includes): Likewise.
35834         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35835         emulation can write to stderr on failure.
35836         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35837         * lib/getcwd.c: Document why opendir_safer is unused.
35838         * lib/glob.c: Likewise.
35839         * lib/scandir.c: Likewise.
35840         * lib/openat-proc.c: Likewise, for open_safer.
35841         * modules/backupfile (Depends-on): Add dirent-safer.
35842         * modules/savedir (Depends-on): Likewise.
35843         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35844         * modules/chdir-long (Depends-on): Add openat-safer.
35845
35846         openat-safer: new module
35847         * modules/openat-safer: New file.
35848         * lib/openat-safer.c: Likewise.
35849         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35850         * lib/fcntl-safer.h (openat_safer): Declare.
35851         * lib/fcntl--.h (openat): Override.
35852         * MODULES.html.sh (File descriptor based I/O): Mention it.
35853         * lib/openat.h: Add double-inclusion guards.
35854         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35855         "fcntl--.h", so we can implement openat.
35856         * modules/openat-safer-tests: New test.
35857         * tests/test-openat-safer.c: New file.
35858
35859         dirent-safer: new module
35860         * modules/dirent-safer: New file.
35861         * lib/dirent--.h: Likewise.
35862         * lib/dirent-safer.h: Likewise.
35863         * lib/opendir-safer.c: Likewise.
35864         * m4/dirent-safer.m4: Likewise.
35865         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35866         * modules/dirent-safer-tests: New test.
35867         * tests/test-dirent-safer.c: New file.
35868         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35869
35870         fdopendir: optimize on mingw
35871         * lib/unistd.in.h (_gl_directory_name): New prototype.
35872         * lib/fchdir.c (_gl_directory_name): Implement it.
35873         (fchdir): Use it to simplify implementation.
35874         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35875         fchdir, when available, to avoid calling [f]chdir().
35876
35877         fdopendir: split into its own module
35878         * lib/openat.c (fdopendir): Move...
35879         * lib/fdopendir.c: ...into new file.
35880         * modules/fdopendir: New module.
35881         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35882         * modules/openat (Depends-on): Add fdopendir.
35883         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35884         fdopendir here.
35885         * modules/savedir (Depends-on): Only need fdopendir, not full
35886         openat.
35887         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35888         * lib/openat.h (fdopendir): Drop prototype.
35889         * lib/dirent.in.h (fdopendir): Provide prototype.
35890         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35891         * modules/dirent (Makefile.am): Substitute them.
35892         * MODULES.html.sh (File system functions): Mention it.
35893         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35894         * modules/fdopendir-tests: New file.
35895         * tests/test-fdopendir.c: Likewise.
35896
35897         fchdir: use more consistent macro convention
35898         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35899         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35900         REPLACE_FCHDIR, rather than relying on config.h macros.
35901         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35902         inside a single make-time REPLACE_FCHDIR block, rather than using
35903         the config.h FCHDIR_REPLACEMENT.
35904         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35905         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35906         Manage fstat replacement.
35907         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35908         REPLACE_FCHDIR.
35909         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35910         (Makefile.am): Substitute REPLACE_FCHDIR.
35911         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35912         FCHDIR_REPLACEMENT.
35913         * lib/dup-safer.c (dup_safer): Likewise.
35914         * lib/dup2.c (rpl_dup2): Likewise.
35915         * lib/dup3.c (rpl_dup3): Likewise.
35916         * lib/open.c (rpl_open): Likewise.
35917
35918         fchdir: simplify error handling, and support dup3
35919         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35920         stdbool, malloc-posix, realloc-posix.
35921         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35922         (ensure_dirs_slot): Return false on allocation failure.
35923         (rpl_dup2): Delete.
35924         (_gl_register_dup): New function.
35925         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35926         (_gl_register_fd): Close fd on allocation failure.
35927         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35928         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35929         prototype.
35930         (rpl_dup2_fchdir): Delete prototype.
35931         * lib/open.c (open): Update caller.
35932         * lib/dup2.c (dup2): Track fchdir metadata.
35933         * lib/dup3.c (dup3): Likewise.
35934         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35935         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35936
35937 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35938
35939         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35940         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35941         don't pass arguments to AC_OUTPUT.
35942
35943 2009-09-02  Bruno Haible  <bruno@clisp.org>
35944
35945         * modules/mkdtemp (License): Relicense under LGPLv2+.
35946         Reported by Paolo Bonzini.
35947
35948 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35949
35950         Replace uses of obsolete autoconf macros in Jim's modules.
35951         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35952         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35953         can evoke a warning from autoconf when run with -Wobsolete
35954         enabled.  They were declared obsolete for good reasons (see
35955         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35956         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35957         should not continue using the deprecated macros.
35958         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35959         obsolete Autoconf macros with modern counterparts.
35960         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35961         * m4/dos.m4 (gl_AC_DOS): Likewise.
35962         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35963         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35964         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35965         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35966         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35967         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35968         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35969         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35970         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35971         Likewise.
35972         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35973         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35974         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35975         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35976         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35977         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35978
35979 2009-09-01  Eric Blake  <ebb9@byu.net>
35980
35981         fchdir: fix off-by-one bug in previous patch
35982         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35983         (_gl_unregister_fd): Delete useless if.
35984
35985 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35986
35987         maint.mk: sort the list of syntax-check rules
35988         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35989         easier to get a sense of progress when the rules are run sequentially
35990         and take a long time.
35991
35992 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35993
35994         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35995         * modules/netinet_in: Likewise.
35996         * modules/sys_file: Likewise.
35997         * modules/sys_ioctl: Likewise.
35998         * modules/sys_select: Likewise.
35999         * modules/sys_socket: Likewise.
36000         * modules/sys_stat: Likewise.
36001         * modules/sys_time: Likewise.
36002         * modules/sys_times: Likewise.
36003         * modules/sys_utsname: Likewise.
36004         * modules/sys_wait: Likewise.
36005
36006 2009-09-01  Jim Meyering  <meyering@redhat.com>
36007
36008         fts: help ensure that return values are not ignored
36009         * lib/fts_.h (__GNUC_PREREQ): Define.
36010         (__attribute_warn_unused_result__): Define.
36011         (fts_children, fts_close, fts_open, fts_read): Declare with
36012         __attribute_warn_unused_result__.
36013
36014         fts: fts_close now fails also when closing a dir file descriptor fails
36015         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
36016         and propagate to caller, along with errno.
36017
36018         announce-gen: correct formatting in --help output
36019         * build-aux/announce-gen (usage): Move the one-line description in
36020         --help output "up", to where it belongs, just after Usage:.
36021
36022 2009-08-31  Eric Blake  <ebb9@byu.net>
36023
36024         fchdir: port to mingw
36025         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
36026         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
36027         opened, then use a substitute.
36028         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
36029         replacement.
36030         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
36031         (_gl_register_fd): No need to check stat if open already filters
36032         all directories.
36033         (fchdir): Fix error condition to match POSIX.
36034         * modules/fchdir (Depends-on): Add sys_stat.
36035         * doc/posix-functions/open.texi (open): Document the limitation.
36036         * modules/fchdir-tests: New file.
36037         * tests/test-fchdir.c: Likewise.
36038
36039         canonicalize: allow cross-testing from cygwin to mingw
36040         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
36041         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
36042         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
36043         Likewise.
36044         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
36045         target does not support symlinks.
36046         * tests/test-canonicalize-lgpl.sh: Likewise.
36047
36048         chown: avoid compilation warning on mingw
36049         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
36050         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
36051         mingw.
36052         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
36053         * modules/chown (Depends-on): Add errno.
36054
36055 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
36056
36057         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
36058         command.
36059
36060 2009-08-31  Jim Meyering  <meyering@redhat.com>
36061
36062         canonicalize: remove useless initialization
36063         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
36064         initialization of local, "end".
36065
36066 2009-08-30  Bruno Haible  <bruno@clisp.org>
36067
36068         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
36069         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
36070         ENOSYS.
36071
36072 2009-08-30  Bruno Haible  <bruno@clisp.org>
36073
36074         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
36075         /usr/xpg4/bin/tr when it exists.
36076         * tests/test-pipe-filter-gi1.sh: Likewise.
36077
36078 2009-08-30  Bruno Haible  <bruno@clisp.org>
36079
36080         Work around deficient /usr/bin/id program on Solaris.
36081         * tests/test-file-has-acl.sh (ID): New variable.
36082         * tests/test-set-mode-acl.sh (ID): Likewise.
36083         * tests/test-copy-acl.sh (ID): Likewise.
36084         * tests/test-copy-file.sh (ID): Likewise.
36085
36086 2009-08-30  Bruno Haible  <bruno@clisp.org>
36087
36088         New module 'xstriconveh'.
36089         * lib/xstriconveh.h: New file.
36090         * lib/xstriconveh.c: New file.
36091         * modules/xstriconveh: New file.
36092
36093 2009-08-30  Bruno Haible  <bruno@clisp.org>
36094
36095         Make it easier to use mem_cd_iconveh.
36096         * lib/striconveh.h (iconveh_t): New type.
36097         (iconveh_open, iconveh_close): New declarations.
36098         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
36099         with a single 'const iconveh_t *' argument.
36100         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
36101         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
36102         with a single 'const iconveh_t *' argument.
36103         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
36104         * tests/test-striconveh.c (main): Update.
36105         * NEWS: Mention the change.
36106
36107 2009-08-30  Bruno Haible  <bruno@clisp.org>
36108
36109         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
36110         problem.
36111
36112 2009-08-30  Bruno Haible  <bruno@clisp.org>
36113
36114         Work around iconv_open problem on Solaris.
36115         * lib/iconv_open-solaris.gperf: New file.
36116         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
36117         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
36118         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
36119         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
36120         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
36121         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
36122
36123 2009-08-29  Jim Meyering  <meyering@redhat.com>
36124
36125         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
36126         * top/maint.mk (cvs-check): Remove target; it was just an alias
36127         to the better-named vc-diff-check.
36128         (maintainer-distcheck): Remove rule.  It was used only from
36129         the (alpha/beta/major) target, and all of its commands but one
36130         were coreutils-specific.
36131         (vc-dist): Remove rule.
36132         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
36133         Run vc-diff-check, not vc-dist.
36134         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
36135
36136 2009-08-27  Bruno Haible  <bruno@clisp.org>
36137
36138         * tests/test-bitrotate.c (main): Remove test that uses a shift count
36139         of 0.
36140
36141 2009-08-27  Bruno Haible  <bruno@clisp.org>
36142
36143         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
36144         compilers.
36145         * doc/func.texi: Document the SunPRO C bug.
36146
36147 2009-08-27  Bruno Haible  <bruno@clisp.org>
36148
36149         Fix link error on Solaris.
36150         * tests/test-parse-duration.c (xstrdup): Remove function.
36151
36152 2009-08-26  Pádraig Brady  <P@draigbrady.com>
36153
36154         ignore-value: handle pointer types, too
36155         * lib/ignore-value.h (__attribute__): Remove definition.
36156         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
36157         of a more concise and more-often effective "(void) i" statement.
36158         (ignore_ptr): New function to suppress warnings from functions that
36159         return pointers, and to make it explicit that one function doesn't
36160         handle all cases.
36161
36162 2009-08-25  Bruno Haible  <bruno@clisp.org>
36163
36164         dup2: work around a Linux bug.
36165         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
36166         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
36167         * doc/posix-functions/dup2.texi: Mention the Linux bug.
36168         Reported by Simon Josefsson.
36169
36170 2009-08-25  Jim Meyering  <meyering@redhat.com>
36171
36172         libguestfs uses gnulib
36173         * users.txt: Add libguestfs.
36174
36175 2009-08-24  Eric Blake  <ebb9@byu.net>
36176
36177         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
36178         * lib/pipe2.c (includes): Add binary-io.h.
36179         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
36180
36181 2009-08-24  Bruno Haible  <bruno@clisp.org>
36182
36183         Tolerate declared but missing accept4 syscall.
36184         * lib/accept4.c (accept4): Invoke original accept4 function first, if
36185         available.
36186         * lib/sys_socket.in.h (accept4): If the function is already present,
36187         override it.
36188         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
36189         * modules/accept4 (Makefile.am): Compile accept4.c always.
36190         Reported by Paolo Bonzini and Eric Blake.
36191
36192 2009-08-23  Bruno Haible  <bruno@clisp.org>
36193
36194         New module 'accept4'.
36195         * lib/sys_socket.in.h (accept4): New declaration.
36196         * lib/accept4.c: New file.
36197         * m4/accept4.m4: New file.
36198         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36199         GNULIB_ACCEPT4, HAVE_ACCEPT4.
36200         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
36201         HAVE_ACCEPT4.
36202         * modules/accept4: New file.
36203         * doc/glibc-functions/accept4.texi: Mention the new module.
36204
36205 2009-08-24  Jim Meyering  <meyering@redhat.com>
36206
36207         progname: also set global program_invocation_name, when possible
36208         Before this change, a libtool-enabled program that calls glibc's
36209         error function would report the program name as
36210         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
36211         * modules/progname (configure.ac): Check for a declaration of
36212         program_invocation_name.
36213         * lib/progname.c:  Include <errno.h>.
36214         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
36215         Set program_invocation_name.
36216
36217 2009-08-23  Bruno Haible  <bruno@clisp.org>
36218
36219         * lib/dup3.c: Include <string.h>.
36220
36221 2009-08-23  Bruno Haible  <bruno@clisp.org>
36222
36223         * lib/dup3.c (dup3): Test only once whether the system actually exists.
36224         * lib/pipe2.c (pipe2): Likewise.
36225         Suggested by Eric Blake.
36226
36227 2009-08-23  Bruno Haible  <bruno@clisp.org>
36228
36229         Tolerate declared but missing dup3 syscall.
36230         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
36231         * lib/unistd.in.h (dup3): If the function is already present,
36232         override it.
36233         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
36234         * modules/dup3 (Makefile.am): Compile dup3.c always.
36235         Reported by Paolo Bonzini.
36236
36237 2009-08-23  Bruno Haible  <bruno@clisp.org>
36238
36239         Tolerate declared but missing pipe2 syscall.
36240         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
36241         available.
36242         * lib/unistd.in.h (pipe2): If the function is already present,
36243         override it.
36244         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
36245         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
36246         Reported by Paolo Bonzini.
36247
36248 2009-08-23  Bruno Haible  <bruno@clisp.org>
36249
36250         * lib/pipe2.c (pipe2): Move #ifs inside function.
36251
36252 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36253
36254         quotearg: document limitations of quote_these_too
36255         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
36256         those limitations are created.
36257         * lib/quotearg.h (set_char_quoting): Document that digits and
36258         letters that are special after backslash are not permitted.
36259         (quotearg_char): Cross-reference set_char_quoting documentation.
36260
36261 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
36262
36263         quotearg: implement custom_quoting_style
36264         * lib/quotearg.c: (struct quoting_options): Add left_quote and
36265         right_quote fields.
36266         (set_custom_quoting): New public function.
36267         (quotearg_buffer_restyled): Add left_quote and right_quote
36268         arguments, handle them very much like locale quoting, and update
36269         all uses.
36270         (quotearg_n_custom): New public function.
36271         (quotearg_n_custom_mem): New public function.
36272         (quotearg_custom): New public function.
36273         (quotearg_custom_mem): New public function.
36274         * lib/quotearg.h: Prototype and document new public functions.
36275         (enum quoting_style): For escape_quoting_style and
36276         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
36277         ignored even though they're otherwise like c_quoting_style.
36278         Add custom_quoting_style member and document with comparison to
36279         clocale_quoting_style.
36280         * tests/test-quotearg.c (custom_quotes): New array.
36281         (custom_results): New array.
36282         (main): Extend to test custom quoting.
36283
36284 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36285
36286         quotearg: fix right quote escaping when it's in quote_these_too
36287         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
36288         quote, be sure to prepend only one backslash.
36289         * tests/test-quotearg.c (use_quote_double_quotes): New function.
36290         (main): Test it.
36291
36292 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36293
36294         quotearg-tests: test escaping of embedded locale quotes
36295         * tests/test-quotearg.c (struct result_strings): Add member for
36296         new input.
36297         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
36298         (inputs): Add new input.
36299         (results_g): Add expected results.
36300         (flag_results): Likewise.
36301         (locale_results): Likewise.
36302         (compare_strings): Check those.
36303
36304 2009-08-23  Bruno Haible  <bruno@clisp.org>
36305
36306         Tests for module 'dup3'.
36307         * modules/dup3-tests: New file.
36308         * tests/test-dup3.c: New file.
36309
36310         New module 'dup3'.
36311         * lib/unistd.in.h (dup3): New declaration.
36312         * lib/dup3.c: New file.
36313         * m4/dup3.m4: New file.
36314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
36315         HAVE_DUP3.
36316         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
36317         * modules/dup3: New file.
36318         * doc/glibc-functions/dup3.texi: Mention the new module.
36319
36320 2009-08-23  Bruno Haible  <bruno@clisp.org>
36321
36322         Tweak the dup2 test.
36323         * tests/test-dup2.c (main): Create the test file empty. Verify that an
36324         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
36325         the test file is still empty. Fix argument order of lseek.
36326
36327 2009-08-23  Bruno Haible  <bruno@clisp.org>
36328
36329         Avoid test link errors when the modules getopt-gnu, gettext are used.
36330         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
36331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36332
36333 2009-08-23  Bruno Haible  <bruno@clisp.org>
36334
36335         Fix getdtablesize() on mingw.
36336         * lib/getdtablesize.c (getdtablesize): Implement differently.
36337         * lib/unistd.in.h (getdtablesize): Improve comment.
36338
36339 2009-08-23  Bruno Haible  <bruno@clisp.org>
36340
36341         New module 'mkostemp'.
36342         Based on Ulrich Drepper's 2007-08-10 change in glibc.
36343         * lib/stdlib.in.h (mksotemp): New declaration.
36344         * lib/mkostemp.c: New file, from glibc with modifications.
36345         * lib/tempname.h (GT_FILE): Remove outdated comment.
36346         (gen_tempname): Add flags argument.
36347         * lib/tempname.c (__GT_BIGFILE): Remove macro.
36348         (__GT_FILE): Map to 1.
36349         (small_open, large_open): Remove macros.
36350         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
36351         * lib/mkstemp.c (mkstemp): Update.
36352         * lib/mkdtemp.c (mkdtemp): Likewise.
36353         * m4/mkostemp.m4: New file.
36354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
36355         HAVE_MKOSTEMP.
36356         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
36357         HAVE_MKOSTEMP.
36358         * modules/mkostemp: New file, based on modules/mkstemp.
36359         * doc/glibc-functions/mkostemp.texi: Mention the new module.
36360         * NEWS: Mention the change.
36361
36362 2009-08-23  Bruno Haible  <bruno@clisp.org>
36363
36364         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
36365         Reported by Eric Blake.
36366
36367 2009-08-23  Bruno Haible  <bruno@clisp.org>
36368
36369         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
36370         Reported by Eric Blake.
36371
36372 2009-08-23  Bruno Haible  <bruno@clisp.org>
36373
36374         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
36375         * modules/pipe2 (Depends-on): Likewise.
36376
36377 2009-08-23  Eric Blake  <ebb9@byu.net>
36378
36379         fcntl-h: add O_TTY_INIT support
36380         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
36381         * tests/test-fcntl-h.c (o): Test it.
36382         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36383
36384         fcntl-h: rename from fcntl, in preparation for fcntl(2)
36385         * modules/fcntl: Move <fcntl.h> header replacement...
36386         * modules/fcntl-h: ...to new name, so as not to collide with
36387         like-named function.
36388         * tests/test-fcntl.c: Rename...
36389         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
36390         * modules/fcntl-tests: Rename...
36391         * modules/fcntl-h-tests: ...to this.  Update test file name.
36392         * modules/chdir-long (Depends-on): Update clients.
36393         * modules/chdir-safer (Depends-on): Likewise.
36394         * modules/fcntl-safer (Depends-on): Likewise.
36395         * modules/fts (Depends-on): Likewise.
36396         * modules/mkancesdirs (Depends-on): Likewise.
36397         * modules/mkdir-p (Depends-on): Likewise.
36398         * modules/open (Depends-on): Likewise.
36399         * modules/savewd (Depends-on): Likewise.
36400         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
36401         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36402
36403 2009-08-22  Bruno Haible  <bruno@clisp.org>
36404
36405         * modules/binary-io (License): Relicense under LGPL.
36406         * modules/pipe2 (License): Likewise.
36407
36408 2009-08-22  Bruno Haible  <bruno@clisp.org>
36409
36410         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36411         return value.
36412         * lib/pipe-filter-gi.c (filter_init): Likewise.
36413         Reported by Eric Blake.
36414
36415 2009-08-22  Bruno Haible  <bruno@clisp.org>
36416
36417         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36418         * modules/pipe (Depends-on): Add pipe2.
36419
36420 2009-08-22  Bruno Haible  <bruno@clisp.org>
36421
36422         Tests for module 'pipe2'.
36423         * modules/pipe2-tests: New file.
36424         * tests/test-pipe2.c: New file.
36425
36426         New module 'pipe2'.
36427         * lib/unistd.in.h (pipe2): New declaration.
36428         * lib/pipe2.c: New file.
36429         * m4/pipe2.m4: New file.
36430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36431         HAVE_PIPE2.
36432         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36433         * modules/pipe2: New file.
36434         * doc/glibc-functions/pipe2.texi: Mention the new module.
36435
36436 2009-08-22  Bruno Haible  <bruno@clisp.org>
36437
36438         Reference some new glibc functions.
36439         * doc/glibc-functions/accept4.texi: New file.
36440         * doc/glibc-functions/dup3.texi: New file.
36441         * doc/glibc-functions/mkostemp.texi: New file.
36442         * doc/glibc-functions/pipe2.texi: New file.
36443         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36444         (Glibc sys/socket.h): Refer to accept4.
36445         (Glibc unistd.h): Refer to dup3, pipe2.
36446         Reported by Eric Blake.
36447
36448 2009-08-22  Jim Meyering  <meyering@redhat.com>
36449             Bruno Haible  <bruno@clisp.org>
36450
36451         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36452         This makes it so packages using automake-1.11's silent-rules option
36453         can print e.g., a single "GEN    configmake.h" line, rather than
36454         the 30+ statements that perform the job.  If you want to see the
36455         actual commands, you can still run "make V=1".
36456         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36457         so that make output is abbreviated when those variables are defined
36458         appropriately.
36459         * modules/argz: Likewise.
36460         * modules/arpa_inet: Likewise.
36461         * modules/byteswap: Likewise.
36462         * modules/configmake: Likewise.
36463         * modules/dirent: Likewise.
36464         * modules/errno: Likewise.
36465         * modules/fcntl: Likewise.
36466         * modules/float: Likewise.
36467         * modules/fnmatch: Likewise.
36468         * modules/getopt-posix: Likewise.
36469         * modules/glob: Likewise.
36470         * modules/iconv_open: Likewise.
36471         * modules/inttypes: Likewise.
36472         * modules/localcharset: Likewise.
36473         * modules/locale: Likewise.
36474         * modules/math: Likewise.
36475         * modules/netdb: Likewise.
36476         * modules/netinet_in: Likewise.
36477         * modules/poll: Likewise.
36478         * modules/posix_spawnp-tests: Likewise.
36479         * modules/sched: Likewise.
36480         * modules/search: Likewise.
36481         * modules/selinux-h: Likewise.
36482         * modules/signal: Likewise.
36483         * modules/spawn: Likewise.
36484         * modules/stdarg: Likewise.
36485         * modules/stdbool: Likewise.
36486         * modules/stddef: Likewise.
36487         * modules/stdint: Likewise.
36488         * modules/stdio: Likewise.
36489         * modules/stdlib: Likewise.
36490         * modules/string: Likewise.
36491         * modules/strings: Likewise.
36492         * modules/sys_file: Likewise.
36493         * modules/sys_ioctl: Likewise.
36494         * modules/sys_select: Likewise.
36495         * modules/sys_socket: Likewise.
36496         * modules/sys_stat: Likewise.
36497         * modules/sys_time: Likewise.
36498         * modules/sys_times: Likewise.
36499         * modules/sys_utsname: Likewise.
36500         * modules/sys_wait: Likewise.
36501         * modules/sysexits: Likewise.
36502         * modules/time: Likewise.
36503         * modules/unistd: Likewise.
36504         * modules/wchar: Likewise.
36505         * modules/wctype: Likewise.
36506
36507 2009-08-22  Jim Meyering  <meyering@redhat.com>
36508
36509         announce-gen: detect write failure
36510         * build-aux/announce-gen: Add Coda at end.
36511         Remove equivalent-but-more-verbose block at top.
36512
36513 2009-08-19  Akim Demaille  <demaille@gostai.com>
36514
36515         bootstrap: --help to stdout.
36516         * bootstrap (usage): Don't send --help to stderr.
36517         Use a here doc instead of a long string.
36518
36519 2009-08-21  Eric Blake  <ebb9@byu.net>
36520
36521         test-popen-safer: split from test-popen
36522         * tests/test-popen.c (main): Move...
36523         * tests/test-popen.h: ...into new file.
36524         * tests/test-popen-safer2.c: New file.
36525         * modules/popen-tests (Files): Add test-popen.h.
36526         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36527         Suggested by Bruno Haible.
36528
36529         test-fcntl-safer: split from test-open
36530         * tests/test-open.c (main): Move...
36531         * tests/test-open.h: ...into new file.
36532         * tests/test-fcntl-safer.c: New file.
36533         * modules/open-tests (Files): Add test-open.h.
36534         * modules/fcntl-safer-tests: New file.
36535         Suggested by Bruno Haible.
36536
36537         test-fopen-safer: split from test-fopen
36538         * tests/test-fopen.c (main): Move...
36539         * tests/test-fopen.h: ...into new file.
36540         * tests/test-fopen-safer.c: New file.
36541         * modules/fopen-tests (Files): Add test-fopen.h.
36542         * modules/fopen-safer-tests: New file.
36543         Suggested by Bruno Haible.
36544
36545 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36546
36547         popen-safer: test O_CLOEXEC at run-time.
36548         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36549
36550 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36551
36552         fcntl: move more flags to the header
36553         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36554         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36555         * lib/fcntl.in.h: Do both things here.
36556
36557 2009-08-21  Jim Meyering  <meyering@redhat.com>
36558
36559         consistently remove $@-t before redirecting to it
36560         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36561         * modules/alloca-opt: Likewise.
36562         * modules/byteswap: Likewise.
36563         * modules/fnmatch: Likewise.
36564         * modules/getopt-posix: Likewise.
36565         * modules/glob: Likewise.
36566         * modules/poll: Likewise.
36567         * modules/posix_spawnp-tests: Likewise.
36568         * modules/sys_socket: Likewise.
36569         * modules/sysexits: Likewise.
36570
36571 2009-08-21  Eric Blake  <ebb9@byu.net>
36572
36573         popen: simplify access to original popen
36574         * lib/popen.c (rpl_popen): No need to worry about popen being a
36575         macro.
36576         Reported by Bruno Haible.
36577
36578 2009-08-20  Eric Blake  <ebb9@byu.net>
36579
36580         build: avoid some compiler warnings
36581         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36582         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36583         type.
36584         (new_exclude_segment, excluded_file_pattern_p)
36585         (excluded_file_name_p): Reduce scope.
36586         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36587         old-style declaration.
36588
36589 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36590
36591         * tests/test-exclude1.sh: Handle Windows EOL.
36592         * tests/test-exclude2.sh: Likewise.
36593         * tests/test-exclude3.sh: Likewise.
36594         * tests/test-exclude4.sh: Likewise.
36595         * tests/test-exclude5.sh: Likewise.
36596         * tests/test-exclude6.sh: Likewise.
36597         * tests/test-exclude7.sh: Likewise.
36598
36599 2009-08-19  Akim Demaille  <demaille@gostai.com>
36600
36601         bootstrap: find sha1sum when named gsha1sum.
36602         * bootstrap (find_tool): New.
36603         ($SHA1SUM): New.
36604         Use it.
36605
36606 2009-08-20  Jim Meyering  <meyering@redhat.com>
36607
36608         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36609         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36610         expression that converts "." in a file name to "\." in the resulting
36611         regexp.  Start with a dummy statement, so that prior shell variable
36612         definitions are expanded portably.  Reported by Simon Josefsson.
36613
36614 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36615
36616         Fix polling for writeability of a screen buffer.
36617         * lib/poll.c: Distinguish input and screen buffers for the
36618         Win32 implementation.
36619         * lib/select.c: Likewise.
36620
36621 2009-08-19  Eric Blake  <ebb9@byu.net>
36622
36623         popen-safer: prevent popen from clobbering std descriptors
36624         * modules/popen-safer: New file.
36625         * lib/popen-safer.c: Likewise.
36626         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36627         * lib/stdio--.h (popen): Provide override.
36628         * lib/stdio-safer.h (popen_safer): Provide declaration.
36629         * tests/test-popen.c (includes): Partially test this.
36630         * modules/popen-safer-tests: New file, for more tests.
36631         * tests/test-popen-safer.c: Likewise.
36632         * MODULES.html.sh (file stream based Input/Output): Mention it.
36633
36634         tests: test some of the *-safer modules
36635         * modules/fopen-safer (Depends-on): Add fopen.
36636         * modules/fcntl-safer (Depends-on): Add fcntl.
36637         * modules/stdlib-safer (Depends-on): Add stdlib.
36638         (configure.ac): Set indicator.
36639         * modules/unistd-safer (configure.ac): Likewise.
36640         * modules/tmpfile-safer (configure.ac): Likewise.
36641         (Depends-on): Add tmpfile.
36642         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36643         active.
36644         * tests/test-fopen.c (includes): Test safer versions when they are
36645         in use.
36646         * tests/test-open.c (includes): Likewise.
36647
36648         popen: fix cygwin 1.5 bug when stdin closed
36649         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36650         * modules/popen: New file.
36651         * modules/popen-tests: Likewise.
36652         * tests/test-popen.c: Likewise.
36653         * m4/popen.m4: Likewise.
36654         * lib/popen.c: Likewise.
36655         * lib/stdio.in.h (popen): New declaration.
36656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36657         * modules/stdio (Makefile.am): Likewise.
36658         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36659
36660 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36661
36662         maint.mk: give full control over update-copyright exclusions
36663         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36664         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36665         (update-copyright): Don't force inclusion of top-level
36666         ChangeLog.  Don't force exclusion of all COPYING files, but make
36667         them the default exclusion instead.
36668
36669 2009-08-16  Bruno Haible  <bruno@clisp.org>
36670
36671         Fix test failures on Solaris 10.
36672         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36673         tests when Solaris iconv() is used.
36674         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36675         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36676         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36677         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36678         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36679
36680 2009-08-16  Bruno Haible  <bruno@clisp.org>
36681
36682         Fix test failures on Solaris 10.
36683         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36684         'tr' program and pass it as first argument.
36685         * tests/test-pipe-filter-gi1.sh: Likewise.
36686         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36687         program as first argument.
36688         * tests/test-pipe-filter-gi1.c (main): Likewise.
36689
36690 2009-08-16  Eric Blake  <ebb9@byu.net>
36691
36692         fpurge: fix previous commits
36693         * modules/fpurge (Makefile.am): Make replacement conditional,
36694         partially reverting 2007-04-29 change; missed in previous
36695         attempt.
36696         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36697         is missing.
36698
36699 2009-08-16  Bruno Haible  <bruno@clisp.org>
36700
36701         Clarify fpurge's effect on the file position.
36702         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36703         * tests/test-fpurge.c (main): Make a second pass for checking the file
36704         position.
36705
36706 2009-08-16  Bruno Haible  <bruno@clisp.org>
36707
36708         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36709         declaration of fpurge is missing.
36710         * tests/test-fpurge.c (main): Check that the file has not more contents
36711         than expected. Close the file before removing it.
36712
36713 2009-08-15  Eric Blake  <ebb9@byu.net>
36714
36715         fpurge: don't wrap working cygwin implementation
36716         * lib/fpurge.c (fpurge): Fix comment typo.
36717         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36718         1.7 to avoid replacement.
36719         * tests/test-fpurge.c (main): Enhance test.
36720
36721 2009-08-15  Eric Blake  <ebb9@byu.net>
36722         and Jim Meyering  <meyering@redhat.com>
36723
36724         test-update-copyright: skip if perl is insufficient
36725         * tests/test-update-copyright.sh: Failure to run maintainer tool
36726         should not cause testsuite failure on cygwin 1.5.
36727
36728 2009-08-14  Eric Blake  <ebb9@byu.net>
36729
36730         doc: mention more functions added in cygwin 1.7.0
36731         * doc/posix-headers/limits.texi (limits.h): Update for recent
36732         cygwin additions.
36733         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36734         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36735         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36736         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36737         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36738
36739 2009-08-14  Eric Blake  <ebb9@byu.net>
36740
36741         maint.mk: simplify update-copyright rule
36742         * top/maint.mk (update-copyright-local): Delete, and document how
36743         to do it in cfg.mk instead.
36744         (update-copyright-exclude-regexp): Delete, and document how to do
36745         it in .x-update-copyright instead.
36746         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36747         exclude ChangeLog.
36748
36749 2009-08-14  Bruno Haible  <bruno@clisp.org>
36750
36751         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36752
36753 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36754
36755         maint.mk: support update-copyright-env
36756         * top/maint.mk (update-copyright-env): Define place-holder.
36757         (update-copyright): Expand $(update-copyright-env) before
36758         invoking update-copyright.
36759
36760 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36761
36762         update-copyright: implement forced reformatting
36763         * build-aux/update-copyright: Implement and document
36764         UPDATE_COPYRIGHT_FORCE.
36765         * tests/test-update-copyright.sh: Test it.
36766
36767 2009-08-14  Eric Blake  <ebb9@byu.net>
36768         and Bruno Haible  <bruno@clisp.org>
36769
36770         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36771         * tests/test-locale.c: Revert previous patch related to NULL.
36772         * tests/test-stdio.c: Likewise.
36773         * tests/test-stdlib.c: Likewise.
36774         * tests/test-string.c: Likewise.
36775         * tests/test-unistd.c: Likewise.
36776         * modules/time-tests (Depends-on): Add verify.
36777         * modules/wchar-tests (Depends-on): Likewise.
36778         * tests/test-time.c: Test for NULL compliance.
36779         * tests/test-wchar.c: Likewise.
36780         * modules/locale (Depends-on): Add stddef.
36781         * modules/stdio (Depends-on): Likewise.
36782         * modules/stdlib (Depends-on): Likewise.
36783         * modules/string (Depends-on): Likewise.
36784         * modules/time (Depends-on): Likewise.
36785         * modules/unistd (Depends-on): Likewise.
36786         * modules/wchar (Depends-on): Likewise.
36787         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36788         * lib/stdlib.in.h (includes): Likewise.
36789         * lib/string.in.h (includes): Likewise.
36790         * lib/time.in.h (includes): Likewise.
36791         * lib/unistd.in.h (includes): Likewise.
36792         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36793         replaced.
36794         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36795         * m4/stddef_h.m4: New file.
36796         * modules/stddef: Likewise.
36797         * lib/stddef.in.h: Likewise.
36798         * modules/stddef-tests: Likewise.
36799         * tests/test-stddef.c: Likewise.
36800         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36801         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36802         * doc/posix-headers/locale.texi (locale.h): Likewise.
36803         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36804         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36805         * doc/posix-headers/string.texi (string.h): Likewise.
36806         * doc/posix-headers/time.texi (time.h): Likewise.
36807         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36808         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36809
36810 2009-08-14  Eric Blake  <ebb9@byu.net>
36811
36812         doc: improve git diff of texinfo files
36813         * .gitattributes: Add rule for *.texi files, with hint on how to
36814         use it.
36815         Copied from m4, and based on a report by Bruno Haible.
36816
36817 2009-08-14  Bruno Haible  <bruno@clisp.org>
36818
36819         Disable multithread support by default on Cygwin 1.5.x for real.
36820         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36821
36822 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36823
36824         update-copyright: much ado about intervals
36825         * build-aux/update-copyright: Implement and document
36826         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36827         of copyright year intervals.
36828         Also, document UPDATE_COPYRIGHT_YEAR.
36829         * tests/test-update-copyright.sh: Test it.
36830
36831         update-copyright: convert 2-digit to 4-digit years
36832         * build-aux/update-copyright: Implement and document.
36833         * tests/test-update-copyright.sh: Update.
36834
36835 2009-08-14  Jim Meyering  <meyering@redhat.com>
36836
36837         test-exclude: avoid coreutils "make check" failure
36838         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36839         just as in test-argmatch.c.
36840
36841 2009-08-13  Eric Blake  <ebb9@byu.net>
36842
36843         test-dup2: fix bad assumption
36844         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36845         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36846
36847         test-version-etc: fix CRLF portability issue
36848         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36849         recognize \r.
36850         * tests/test-argp-version-etc-1.sh: Likewise.
36851
36852         getopt: update client modules
36853         * modules/argp (Depends-on): Use getopt-gnu.
36854         * modules/git-merge-changelog (Depends-on): Likewise.
36855         * modules/long-options (Depends-on): Likewise.
36856         * modules/xstrtol (Depends-on): Likewise.
36857
36858 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36859
36860         * tests/test-version-etc.sh: Don't fail on different
36861         project/version.  Don't fail on CRLF differences.  Rewrite to use
36862         multiple -e instead of multiple sed forks, suggested by Eric Blake
36863         <ebb9@byu.net>.
36864         * tests/test-argp-version-etc-1.sh: Likewise.
36865
36866 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36867
36868         * tests/test-version-etc.sh: Don't fail on different
36869         project/version.
36870
36871 2009-08-12  Bruno Haible  <bruno@clisp.org>
36872
36873         Tests for modules 'getopt-posix', 'getopt-gnu'.
36874         * modules/getopt-posix-tests: New file.
36875         * tests/test-getopt.c: New file.
36876         * tests/test-getopt.h: New file.
36877         * tests/test-getopt_long.h: New file.
36878
36879         New modules 'getopt-posix', 'getopt-gnu'.
36880         * modules/getopt-gnu: New file, renamed from modules/getopt.
36881         * modules/getopt-posix: New file.
36882         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36883         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36884         (gl_GETOPT): Remove macro.
36885         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36886         Disable the test against BSD systems that declare optreset. Test
36887         against mingw bug. Test against lack of support of optional arguments
36888         on many platforms.
36889         * doc/glibc-headers/getopt.texi: Update module name and list of
36890         relevant platforms.
36891         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36892         'getopt-gnu' and more portability problems.
36893         * NEWS: Mention the changes.
36894
36895 2009-08-12  Bruno Haible  <bruno@clisp.org>
36896
36897         Ensure that optarg etc. get declared by <unistd.h>.
36898         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36899         AC_USE_SYSTEM_EXTENSIONS.
36900         * modules/getopt (Depends-on): Add 'extensions'.
36901
36902 2009-08-12  Bruno Haible  <bruno@clisp.org>
36903
36904         Avoid test link errors.
36905         * modules/pipe-filter-ii-tests (Makefile.am): Define
36906         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36907         * modules/pipe-filter-gi-tests (Makefile.am): Define
36908         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36909         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36910
36911 2009-08-12  Bruno Haible  <bruno@clisp.org>
36912
36913         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36914         gl_GETOPT_SUBSTITUTE before.
36915         (gl_GETOPT): Use it.
36916         * m4/argp.m4 (gl_ARGP): Update.
36917         Reported by Sergey Poznyakoff.
36918
36919         * m4/getopt.m4: Reorder macros.
36920         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36921         (gl_GETOPT_SUBSTITUTE): Remove macro.
36922
36923 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36924
36925         Minor improvement in gitlog-to-changelog
36926
36927         * build-aux/gitlog-to-changelog: New option `--format' makes
36928         output format string configurable.
36929
36930 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36931
36932         Optimize exclude: use hash tables for non-wildcard patterns.
36933
36934         * lib/exclude.c: Include hash.h and mbuiter.h
36935         (struct exclude_pattern, exclude_segment): New data types.
36936         (struct exclude): Rewrite.
36937         (fnmatch_pattern_has_wildcards): New function.
36938         (new_exclude_segment, free_exclude_segment): New functions.
36939         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36940         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36941         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36942         * modules/exclude: Depend on hash and mbuiter.
36943
36944         * modules/exclude-tests: New file.
36945         * tests/test-exclude.c: New file.
36946         * tests/test-exclude1.sh: New file.
36947         * tests/test-exclude2.sh: New file.
36948         * tests/test-exclude3.sh: New file.
36949         * tests/test-exclude4.sh: New file.
36950         * tests/test-exclude5.sh: New file.
36951         * tests/test-exclude6.sh: New file.
36952         * tests/test-exclude7.sh: New file.
36953
36954 2009-08-12  Bruno Haible  <bruno@clisp.org>
36955
36956         Ensure that getopt() gets declared by <unistd.h>.
36957         * lib/unistd.in.h: Conditionally include getopt.h.
36958         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36959         Set GNULIB_UNISTD_H_GETOPT.
36960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36961         GNULIB_UNISTD_H_GETOPT.
36962         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36963
36964 2009-08-12  Bruno Haible  <bruno@clisp.org>
36965
36966         Clarify logic.
36967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36968         gl_replace_getopt instead of GETOPT_H.
36969
36970 2009-08-12  Bruno Haible  <bruno@clisp.org>
36971
36972         * m4/getopt.m4: Add comments.
36973
36974 2009-08-12  Bruno Haible  <bruno@clisp.org>
36975
36976         Disable multithread support by default on Cygwin 1.5.x.
36977         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36978         set gl_use_threads=no if not specified otherwise.
36979
36980 2009-08-11  Bruno Haible  <bruno@clisp.org>
36981
36982         Avoid compilation error on NetBSD 5.0.
36983         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36984         * tests/test-stdio.c: Likewise.
36985         * tests/test-stdlib.c: Likewise.
36986         * tests/test-string.c: Likewise.
36987         * tests/test-unistd.c: Likewise.
36988         Reported by Greg Troxel <gdt@ir.bbn.com>
36989         at <https://savannah.gnu.org/support/?106973>.
36990
36991 2009-08-11  Bruno Haible  <bruno@clisp.org>
36992
36993         * modules/dup2-tests (Depends-on): Remove close.
36994
36995         Undo 2009-07-19 commit.
36996         * modules/acl-tests (Depends-on): Remove close.
36997         * modules/binary-io-tests (Depends-on): Likewise.
36998         * modules/closein-tests (Depends-on): Likewise.
36999         * modules/flock-tests (Depends-on): Likewise.
37000         * modules/fsync-tests (Depends-on): Likewise.
37001         * modules/lseek-tests (Depends-on): Likewise.
37002         * modules/pipe-tests (Depends-on): Likewise.
37003         * modules/posix_spawn-tests (Depends-on): Likewise.
37004         * modules/posix_spawnp-tests (Depends-on): Likewise.
37005         * modules/stat-time-tests (Depends-on): Likewise.
37006         * modules/yesno-tests (Depends-on): Likewise.
37007
37008 2009-08-10  Bruno Haible  <bruno@clisp.org>
37009
37010         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
37011
37012 2009-08-10  Bruno Haible  <bruno@clisp.org>
37013
37014         Fix a gcc warning.
37015         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
37016
37017 2009-08-10  Bruno Haible  <bruno@clisp.org>
37018
37019         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
37020         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
37021         not only the first time.
37022         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
37023         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
37024         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
37025         is 1, not only the the first time.
37026
37027 2009-08-10  Bruno Haible  <bruno@clisp.org>
37028
37029         Make it possible to use module 'gethostname' without module 'close'.
37030         * lib/unistd.in.h (close): Evoke a link error only if
37031         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
37032         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37033         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37034         * modules/unistd (Makefile.am): Substitute
37035         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37036         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
37037         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
37038         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
37039         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37040         * modules/sys_ioctl (Makefile.am): Substitute
37041         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37042         * modules/socket (configure.ac): On native Windows, set
37043         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
37044         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
37045         Reported by Sam Steingold <sds@gnu.org>.
37046
37047 2009-08-10  Bruno Haible  <bruno@clisp.org>
37048
37049         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
37050         * modules/ioctl (configure.ac): Likewise.
37051
37052 2009-08-10  Bruno Haible  <bruno@clisp.org>
37053
37054         Avoid collision between gnulib wrapper and libintl wrapper.
37055         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
37056         already defined in intl/printf.c.
37057         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
37058         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
37059
37060 2009-08-09  Bruno Haible  <bruno@clisp.org>
37061
37062         Make <sys/select.h> really self-contained, also on Solaris 10.
37063         * lib/sys_select.in.h: Include <string.h>.
37064         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
37065         Solaris 10 problem.
37066         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
37067         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
37068         Reported by Jim Meyering.
37069
37070 2009-08-09  Bruno Haible  <bruno@clisp.org>
37071
37072         Avoid warnings from 'aclocal' that are due to a use of macro name
37073         AM_XGETTEXT_OPTION that is not defined in automake.
37074         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
37075         automake.
37076         * modules/error (configure.ac): Likewise.
37077         * modules/propername (configure.ac): Likewise.
37078         * modules/vasprintf (configure.ac): Likewise.
37079         * modules/verror (configure.ac): Likewise.
37080         * modules/xprintf (configure.ac): Likewise.
37081         * modules/xvasprintf (configure.ac): Likewise.
37082
37083 2009-08-08  Bruno Haible  <bruno@clisp.org>
37084
37085         Avoid compilation error in C++ mode.
37086         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
37087         Reported by Sam Steingold <sds@gnu.org>.
37088
37089 2009-08-08  Bruno Haible  <bruno@clisp.org>
37090
37091         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
37092         for the various Unix platforms.
37093         * doc/posix-headers/limits.texi: Update platforms list regarding
37094         HOST_NAME_MAX.
37095         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37096
37097 2009-08-07  Jim Meyering  <meyering@redhat.com>
37098
37099         selinux-at: fix typo in a comment
37100         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
37101         Spotted by Paolo Bonzini.
37102
37103         selinux-at: remove redundant m4 code, add documentation
37104         * modules/selinux-at (configure.ac): Remove redundant code.
37105         LIB_SELINUX is already set via the dependent module, selinux-h.
37106         (Include): Add quotes around selinux-at.h.
37107         * lib/selinux-at.h: Add documentation.
37108         Reported by Bruno Haible in
37109         http://marc.info/?l=gnulib-bug&m=124958988300749
37110
37111 2009-08-07  Bruno Haible  <bruno@clisp.org>
37112
37113         Avoid link error on MacOS X 10.3 and 10.4.
37114         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
37115         on non-ELF systems.
37116         * lib/argp-pv.c (argp_program_version): Likewise.
37117         Reported by Simon Josefsson.
37118
37119 2009-08-07  Simon Josefsson  <simon@josefsson.org>
37120
37121         * tests/test-version-etc.sh: Use $EXEEXT.
37122
37123 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
37124
37125         update-copyright: update documentation to point to maint.mk
37126         * build-aux/update-copyright: Here.
37127
37128 2009-08-06  Jim Meyering  <meyering@redhat.com>
37129
37130         maint.mk: support update-copyright-local
37131         * top/maint.mk (update-copyright-local): Define place-holder.
37132         (update-copyright): Depend on $(update-copyright-local).
37133
37134 2009-08-06  Jim Meyering  <meyering@redhat.com>
37135
37136         selinux-at: new module
37137         Initially written for coreutils, this module will soon be
37138         used by findutils, too.
37139         * MODULES.html.sh [Misc]: Add selinux-at.
37140         * lib/selinux-at.h: New file, from coreutils.
37141         * lib/selinux-at.c: Likewise.
37142         * modules/selinux-at: Likewise.
37143         (License): Change from LGPL to GPL, since it depends
37144         on the GPL'd openat module.
37145
37146         doc: update README
37147         * README: Remove references to cogito.
37148         Remove cvs-repo-updating instructions from 2007.
37149         Don't imply that CVS is better if you have limited disk space.
37150
37151 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37152
37153         update-copyright: support C-style comments
37154         * build-aux/update-copyright: Implement and document.
37155         * tests/test-update-copyright.sh: Test.
37156
37157 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37158
37159         update-copyright: support omitted "(C)"
37160         * build-aux/update-copyright: Implement and document.  Also,
37161         allow variable whitespace before "(C)".
37162         * tests/test-update-copyright.sh: Test.
37163
37164 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37165
37166         update-copyright: don't trip on non-FSF copyright statements
37167         * build-aux/update-copyright: Fix so that the first correctly
37168         formatted FSF copyright statement is recognized no matter what
37169         appears before it.  Update documentation.
37170         * tests/test-update-copyright.sh: Test that.
37171
37172 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37173
37174         update-copyright: clean up code a little
37175         * build-aux/update-copyright: Append "_re" to the name of any
37176         variable holding a regular expression.
37177         Replace "old" and "new" with "stmt" in variable names.
37178         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
37179         handled correctly.
37180         Format code more consistently.
37181
37182 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
37183
37184         update-copyright-tests: improve portability
37185         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
37186         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
37187
37188 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37189
37190         update-copyright: support @copyright{} and &copy;
37191         * build-aux/update-copyright: Implement and document.
37192         * tests/test-update-copyright.sh: Test.
37193
37194 2009-08-04  Jim Meyering  <meyering@redhat.com>
37195
37196         update-copyright-tests: correctly test EOL=\r\n handling
37197         * tests/test-update-copyright.sh: Put \r at the end of some lines
37198         for the dos-eol tests.  Based on a patch by Joel E. Denny.
37199
37200         maint.mk: make update-copyright exclusion list more configurable
37201         * top/maint.mk (update-copyright): Default to excluding COPYING,
37202         but allow an override, in case someone does want to update that file.
37203
37204         maint.mk: don't update copyright date in COPYING
37205         * top/maint.mk (update-copyright): Exclude COPYING.
37206
37207         maint.mk: add a copyright-updating rule
37208         * top/maint.mk (update-copyright): New rule.
37209         Derived from coreutils/Makefile.am.
37210
37211         update-copyright: rename some variables
37212         * build-aux/update-copyright: Rename a few variables for clarity.
37213         Tweak syntax.  List Joel E. Denny as coauthor.
37214
37215 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
37216
37217         update-copyright: fix bug for 2-digit last year and add tests
37218         * build-aux/update-copyright: Fix bug.
37219         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
37220         specified.
37221         * modules/update-copyright-tests: New
37222         * tests/test-update-copyright.sh: New.
37223
37224 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37225
37226         update-copyright: handle leading tabs in line prefix
37227         * build-aux/update-copyright: Count leading tabs as 8 spaces
37228         when computing margin.  This helps with the formatting of
37229         ChangeLogs, for example.
37230         Fix documentation a little.
37231
37232 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37233
37234         update-copyright: support EOL=\r\n
37235         * build-aux/update-copyright: Implement that.
37236
37237 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
37238
37239         update-copyright: automatically format copyright statements
37240         * build-aux/update-copyright: Implement that.
37241         Also, be a little more predictable and safer by always failing
37242         when the full copyright format is not perfectly recognized as an
37243         unbroken whole.  Discussed at
37244         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
37245         Rewrite documentation.
37246
37247 2009-08-03  Bruno Haible  <bruno@clisp.org>
37248
37249         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
37250
37251 2009-08-02  Bruno Haible  <bruno@clisp.org>
37252
37253         Tests for module 'uname'.
37254         * modules/uname-tests: New file.
37255         * tests/test-uname.c: New file.
37256
37257         New module 'uname'.
37258         * lib/uname.c: New file.
37259         * m4/uname.m4: New file.
37260         * modules/uname: New file.
37261         * doc/posix-functions/uname.texi: Mention the new module.
37262
37263 2009-08-02  Bruno Haible  <bruno@clisp.org>
37264
37265         Tests for module 'sys_utsname'.
37266         * modules/sys_utsname-tests: New file.
37267         * tests/test-sys_utsname.c: New file.
37268
37269         New module 'sys_utsname'.
37270         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
37271         * m4/sys_utsname_h.m4: New file.
37272         * modules/sys_utsname: New file.
37273         * doc/posix-headers/sys_utsname.texi: Mention the new module.
37274
37275 2009-08-02  Bruno Haible  <bruno@clisp.org>
37276
37277         Implicitly initialize the sockets library.
37278         * lib/gethostname.c: Include sockets.h.
37279         (rpl_gethostname): Invoke gl_sockets_startup.
37280         * lib/socket.c: Include sockets.h.
37281         (rpl_socket): Invoke gl_sockets_startup.
37282         * modules/gethostname (Depends-on): Add sockets.
37283         * modules/socket (Depends-on): Likewise.
37284         * tests/test-poll.c: Don't include sockets.h.
37285         (main): Don't invoke gl_sockets_startup.
37286         * tests/test-select.c: Don't include sockets.h.
37287         (main): Don't invoke gl_sockets_startup.
37288
37289 2009-08-02  Bruno Haible  <bruno@clisp.org>
37290
37291         Allow multiple calls to gl_sockets_startup.
37292         * lib/sockets.c (initialized_sockets_version): New variable.
37293         (gl_sockets_startup): Do nothing if already called for this or a higher
37294         version.
37295         (gl_sockets_cleanup): Reset initialized_sockets_version.
37296
37297 2009-08-03  Simon Josefsson  <simon@josefsson.org>
37298
37299         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
37300         different project/version.
37301
37302 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
37303             Bruno Haible  <bruno@clisp.org>
37304
37305         Tests for module 'pipe-filter-gi'.
37306         * modules/pipe-filter-gi-tests: New file.
37307         * tests/test-pipe-filter-gi1.sh: New file.
37308         * tests/test-pipe-filter-gi1.c: New file.
37309         * tests/test-pipe-filter-gi2.sh: New file.
37310         * tests/test-pipe-filter-gi2-main.c: New file.
37311         * tests/test-pipe-filter-gi2-child.c: New file.
37312
37313         New module 'pipe-filter-gi'.
37314         * lib/pipe-filter-gi.c: New file.
37315         * modules/pipe-filter-gi: New file.
37316
37317 2009-08-02  Bruno Haible  <bruno@clisp.org>
37318             Paolo Bonzini  <bonzini@gnu.org>
37319
37320         Tests for module 'pipe-filter-ii'.
37321         * modules/pipe-filter-ii-tests: New file.
37322         * tests/test-pipe-filter-ii1.sh: New file.
37323         * tests/test-pipe-filter-ii1.c: New file.
37324         * tests/test-pipe-filter-ii2.sh: New file.
37325         * tests/test-pipe-filter-ii2-main.c: New file.
37326         * tests/test-pipe-filter-ii2-child.c: New file.
37327
37328         New module 'pipe-filter-ii'.
37329         * lib/pipe-filter.h: New file.
37330         * lib/pipe-filter-ii.c: New file.
37331         * lib/pipe-filter-aux.h: New file.
37332         * modules/pipe-filter-ii: New file.
37333
37334 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37335
37336         * lib/gc-libgcrypt.c: Change copyright to FSF.
37337         * lib/gc-gnulib.c: Likewise.
37338
37339 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
37340
37341         * lib/gethostname.c: Include limits.h.
37342
37343 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37344             Bruno Haible  <bruno@clisp.org>
37345
37346         Ensure HOST_NAME_MAX as part of the gethostname module.
37347         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
37348         define also HOST_NAME_MAX.
37349         * tests/test-gethostname.c: Include <limits.h>.
37350         (main): Check also HOST_NAME_MAX.
37351         * doc/posix-headers/limits.texi: Document the mingw problem.
37352
37353 2009-08-02  Bruno Haible  <bruno@clisp.org>
37354
37355         * lib/gethostname.c (gethostname): Fix handling of large len argument.
37356         Add comments.
37357
37358 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37359
37360         * lib/gethostname.c: Add Windows wrapper.
37361         * m4/gethostname.m4: Look for gethostname in -lws2_32.
37362         * modules/gethostname: Depend on sys_socket & errno, for also
37363         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
37364         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
37365
37366 2009-07-31  Jim Meyering  <meyering@redhat.com>
37367
37368         getloadavg: fix symbol name in comment
37369         * lib/getloadavg.c: Correct a typo I introduced when adding
37370         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
37371         Matt Kraai spotted the problem.
37372
37373 2009-07-29  Matt Kraai  <mkraai@beckman.com>
37374
37375         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
37376         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
37377         code also if ! defined N_NAME_POINTER.
37378         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
37379         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
37380         but the n_name member is a 12-byte array.
37381
37382 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
37383
37384         update-copyright: generalize comment handling
37385         * build-aux/update-copyright: Handle copyright statements
37386         within more comment styles.
37387         Document usage.
37388         Report any file with an external copyright holder or parse failure.
37389
37390 2009-07-29  Jim Meyering  <meyering@redhat.com>
37391
37392         mktime: correct setting of REPLACE_MKTIME
37393         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
37394
37395         update-copyright: new module
37396         * modules/update-copyright: New file.
37397         * build-aux/update-copyright: New file.
37398         * MODULES.html.sh (maint+release support): Add update-copyright.
37399
37400 2009-07-27  Bruno Haible  <bruno@clisp.org>
37401
37402         Fix compilation error when <ctime> is used and mktime is replaced.
37403         * lib/time.in.h (mktime): New declaration.
37404         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
37405         REPLACE_MKTIME instead of defining mktime in config.h.
37406         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37407         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37408         Reported by Ross McFarland <rwmcfa1@neces.com>.
37409
37410 2009-07-27  Bruno Haible  <bruno@clisp.org>
37411
37412         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37413         Reported by Matt Kraai <mkraai@beckman.com>.
37414
37415 2009-07-25  Jim Meyering  <meyering@redhat.com>
37416
37417         maint.mk: avoid warnings about missing files
37418         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37419         diagnostic when .prev-version does not exist.
37420         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37421         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37422         nonexistent cfg.mk.
37423         Suggestions from Simon Josefsson.
37424
37425 2009-07-25  Bruno Haible  <bruno@clisp.org>
37426
37427         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37428         defined as macros. Needed on QNX 6.4.1.
37429         Reported by Matt Kraai <mkraai@beckman.com>.
37430
37431 2009-07-23  Jim Meyering  <meyering@redhat.com>
37432
37433         maint.mk: invoke "make dist" with a working value of XZ_OPT
37434         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37435
37436 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37437
37438         Make fseeko.c compile on QNX.
37439         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37440
37441 2009-07-22  Peter Simons  <simons@cryp.to>
37442
37443         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37444         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37445         * lib/md4.h: Likewise.
37446         * lib/md5.h: Likewise.
37447         * lib/sha1.h: Likewise.
37448         * lib/sha256.h: Likewise.
37449         * lib/sha512.h: Likewise.
37450
37451         tests-sha1: don't assign literal string to 'char *' variable
37452         * tests/test-sha1.c (main): Declare locals with "const" to match
37453         attributes of the right hand side.
37454
37455 2009-07-21  Eric Blake  <ebb9@byu.net>
37456
37457         dup2: fix more mingw problems
37458         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37459         fd to itself.
37460         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37461         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37462         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37463         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37464         care of mingw bugs.
37465
37466 2009-07-21  Jim Meyering  <meyering@redhat.com>
37467
37468         vc-list-files: avoid failure when /bin/sh is dash
37469         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37470         On some Debian based systems, /bin/sh is a symlink to dash, and running
37471         this command would omit the "/" following each 'tests' prefix:
37472           dash -x build-aux/vc-list-files -C . tests
37473         That is because bash and dash work differently:
37474           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37475           bash ok
37476           dash odd
37477
37478 2009-07-21  Eric Blake  <ebb9@byu.net>
37479
37480         dup2-tests: test previous patch
37481         * modules/dup2-tests: New file.
37482         * tests/test-dup2.c: Likewise.
37483         * tests/test-open.c (main): Avoid unspecified behavior.
37484         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37485         test.
37486
37487         dup2: work around mingw and cygwin 1.5 bug
37488         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37490         * modules/unistd (Makefile.am): Substitute it.
37491         * lib/unistd.in.h (dup2): Declare the replacement.
37492         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37493         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37494         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37495         * modules/execute (Depends-on): Add dup2.
37496         * modules/fseterr (Depends-on): Likewise.
37497         * modules/pipe (Depends-on): Likewise.
37498         * modules/posix_spawn-internal (Depends-on): Likewise.
37499
37500 2009-07-21  Bruno Haible  <bruno@clisp.org>
37501
37502         * modules/.gitattributes: New file.
37503
37504 2009-07-20  Bruno Haible  <bruno@clisp.org>
37505
37506         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37507         (main): Use it.
37508
37509 2009-07-20  Eric Blake  <ebb9@byu.net>
37510
37511         test-pipe: make a bit more robust.
37512         * tests/test-pipe.c (myerr): Allow error messages regardless of
37513         what we do to stderr.
37514         (test_pipe): Rearrange to avoid deadlock.
37515         (child_main): Try a larger read, to ensure we avoided deadlock.
37516         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37517         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37518         if misused.
37519
37520 2009-07-19  Jim Meyering  <meyering@redhat.com>
37521
37522         fts: avoid false-positive cycle-detection
37523         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37524         for each new command line argument.
37525
37526 2009-07-19  Bruno Haible  <bruno@clisp.org>
37527
37528         Fix build error on mingw with the modules sys_select and unistd.
37529         * modules/acl-tests (Depends-on): Add close.
37530         * modules/binary-io-tests (Depends-on): Likewise.
37531         * modules/closein-tests (Depends-on): Likewise.
37532         * modules/flock-tests (Depends-on): Likewise.
37533         * modules/fsync-tests (Depends-on): Likewise.
37534         * modules/lseek-tests (Depends-on): Likewise.
37535         * modules/pipe-tests (Depends-on): Likewise.
37536         * modules/posix_spawn-tests (Depends-on): Likewise.
37537         * modules/posix_spawnp-tests (Depends-on): Likewise.
37538         * modules/stat-time-tests (Depends-on): Likewise.
37539         * modules/yesno-tests (Depends-on): Likewise.
37540
37541 2009-07-19  Bruno Haible  <bruno@clisp.org>
37542
37543         Unify conditionals.
37544         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37545         macros, not at the compiler macros.
37546         * lib/pipe.c: Likewise.
37547         * lib/execute.c: Likewise.
37548         * lib/spawni.c: Likewise.
37549
37550 2009-07-19  Bruno Haible  <bruno@clisp.org>
37551
37552         Fix handling of closed stdin/stdout/stderr on mingw.
37553         * lib/w32spawn.h: Include unistd.h.
37554         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37555         file descriptor with O_NOINHERIT flag.
37556         (fd_safer_noinherit): New function, based on fd-safer.c.
37557         (dup_safer_noinherit): New function, based on dup-safer.c.
37558         (undup_safer_noinherit): New function.
37559         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37560         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37561         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37562         instead of fd_safer.
37563         * tests/test-pipe.c: Include <windows.h>.
37564         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37565         result.
37566
37567         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37568         from main.
37569         (test_pipe): Pass an extra argument for disambiguation.
37570         (main): Invoke parent_main or child_main.
37571
37572         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37573         consistently.
37574
37575 2009-07-18  Eric Blake  <ebb9@byu.net>
37576
37577         test-pipe: fix mingw build
37578         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37579
37580 2009-07-18  Bruno Haible  <bruno@clisp.org>
37581
37582         * modules/pipe-tests (Makefile.am): Fix typo.
37583
37584 2009-07-18  Eric Blake  <ebb9@byu.net>
37585
37586         error: fix mingw build
37587         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37588         Reported by Bruno Haible.
37589
37590         error: avoid undefined use of stdout
37591         * lib/error.c (error, error_at_line): Check that fd 1 is open
37592         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37593         is handling faults and the close_stdout module wants to report the
37594         detection of closed stdout as an error.
37595
37596 2009-07-17  Eric Blake  <ebb9@byu.net>
37597
37598         pipe: be robust in face of closed fds
37599         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37600         should cause child to misbehave.
37601         * modules/pipe-tests: New module.
37602         * tests/test-pipe.c: New file.
37603         * tests/test-pipe.sh: New file.
37604         Reported by Akim Demaille.
37605
37606 2009-07-14  Bruno Haible  <bruno@clisp.org>
37607
37608         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37609         Reported by anonymous kc.
37610
37611 2009-07-07  Jim Meyering  <meyering@redhat.com>
37612
37613         maint.mk: don't look for translatable strings in *.m4 or *.mk
37614         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37615         when searching for translatable strings.
37616
37617 2009-07-05  Jim Meyering  <meyering@redhat.com>
37618
37619         remove superfluous parentheses in STREQ definition
37620         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37621         * lib/getugroups.c (STREQ): Likewise.
37622         * lib/fnmatch.c (STREQ): Likewise.
37623         Spotted by Bruno Haible.
37624
37625 2009-07-04  Jim Meyering  <meyering@redhat.com>
37626
37627         argv-iter: new module
37628         * MODULES.html.sh: Add argv-iter.
37629         * lib/argv-iter.c, lib/argv-iter.h: New files.
37630         * modules/argv-iter: New file.
37631         * modules/argv-iter-tests: New file.
37632         * tests/test-argv-iter.c: Test it.
37633
37634 2009-07-04  Bruno Haible  <bruno@clisp.org>
37635
37636         Fix assertion.
37637         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37638         contains more exact copies of a given entry than file2, leave the extra
37639         copies unpaired rather than aborting.
37640         Reported by Eric Blake.
37641
37642 2009-07-02  Bruno Haible  <bruno@clisp.org>
37643
37644         Speedup git-merge-changelog for git cherry-pick.
37645         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37646         (entries_mapping_get): New function, extracted from compute_mapping.
37647         (entries_mapping_reverse_get): New function.
37648         (compute_mapping): Add a 'full' argument. Return the result in a
37649         'struct entries_mapping'.
37650         (main): Update. Access the mappings through entries_mapping_get.
37651         Reported by Eric Blake.
37652
37653 2009-07-02  Bruno Haible  <bruno@clisp.org>
37654
37655         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37656         best_i.
37657
37658 2009-07-02  Bruno Haible  <bruno@clisp.org>
37659
37660         Speed up approximate search for matching ChangeLog entries.
37661         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37662         argument. Call fstrcmp_bounded instead of fstrcmp.
37663         (compute_mapping, try_split_merged_entry, main): Update callers.
37664
37665 2009-07-02  Bruno Haible  <bruno@clisp.org>
37666
37667         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37668
37669 2009-06-30  Bruno Haible  <bruno@clisp.org>
37670
37671         Reduce the number of uc_is_cased calls.
37672         * lib/unicase.h (casing_suffix_context_t): Add
37673         'first_char_except_ignorable' field.
37674         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37675         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37676         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37677         Update initializer.
37678         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37679         case-ignorable characters.
37680         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37681         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37682         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37683         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37684         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37685
37686 2009-06-30  Bruno Haible  <bruno@clisp.org>
37687
37688         Tests for module 'unicase/ignorable'.
37689         * modules/unicase/ignorable-tests: New file.
37690         * tests/unicase/test-ignorable.c: New file, generated by
37691         gen-uni-tables.
37692
37693         Tests for module 'unicase/cased'.
37694         * modules/unicase/cased-tests: New file.
37695         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37696         * tests/unicase/test-predicate-part1.h: New file, derived from
37697         tests/unictype/test-predicate-part1.h.
37698         * tests/unicase/test-predicate-part2.h: New file, same as
37699         tests/unictype/test-predicate-part2.h.
37700
37701         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37702         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37703         (output_casing_properties): New function.
37704         (main): Call it.
37705         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37706         * lib/unicase/cased.c: Include unictype/bitmap.h.
37707         (uc_is_cased): Define through a bitmap lookup.
37708         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37709         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37710         (uc_is_case_ignorable): Define through a bitmap lookup.
37711         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37712         lib/unictype/bitmap.h.
37713         (Depends-on): Add inline. Clean up.
37714         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37715         lib/unictype/bitmap.h.
37716         (Depends-on): Add inline. Clean up.
37717         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37718         recognition.
37719         * tests/unicase/test-u16-tolower.c (main): Likewise.
37720         * tests/unicase/test-u32-tolower.c (main): Likewise.
37721
37722 2009-06-30  Bruno Haible  <bruno@clisp.org>
37723
37724         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37725         * lib/unicase/u16-casemap.c: Likewise.
37726         * lib/unicase/u32-casemap.c: Likewise.
37727
37728 2009-06-29  Bruno Haible  <bruno@clisp.org>
37729
37730         Define u32_casefold as a wrapper around u32_ct_casefold.
37731         * lib/unicase/u32-casefold.c: Update.
37732         * modules/unicase/u32-casefold (Depends-on): Add
37733         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37734         unicase/empty-suffix-context. Clean up.
37735
37736         Define u16_casefold as a wrapper around u16_ct_casefold.
37737         * lib/unicase/u16-casefold.c: Update.
37738         * modules/unicase/u16-casefold (Depends-on): Add
37739         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37740         unicase/empty-suffix-context. Clean up.
37741
37742         Define u8_casefold as a wrapper around u8_ct_casefold.
37743         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37744         * lib/unicase/u8-casefold.c: Update.
37745         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37746         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37747
37748         Define u32_totitle as a wrapper around u32_ct_totitle.
37749         * lib/unicase/u32-totitle.c: Update.
37750         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37751         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37752
37753         Define u16_totitle as a wrapper around u16_ct_totitle.
37754         * lib/unicase/u16-totitle.c: Update.
37755         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37756         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37757
37758         Define u8_totitle as a wrapper around u8_ct_totitle.
37759         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37760         functions.
37761         (FUNC): Delegate to U_CT_TOTITLE.
37762         * lib/unicase/u8-totitle.c: Update.
37763         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37764         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37765
37766         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37767         invocation.
37768         * modules/unicase/u32-tolower (Depends-on): Add
37769         unicase/empty-prefix-context, unicase/empty-suffix-context.
37770
37771         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37772         invocation.
37773         * modules/unicase/u16-tolower (Depends-on): Add
37774         unicase/empty-prefix-context, unicase/empty-suffix-context.
37775
37776         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37777         * modules/unicase/u8-tolower (Depends-on): Add
37778         unicase/empty-prefix-context, unicase/empty-suffix-context.
37779
37780         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37781         invocation.
37782         * modules/unicase/u32-toupper (Depends-on): Add
37783         unicase/empty-prefix-context, unicase/empty-suffix-context.
37784
37785         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37786         invocation.
37787         * modules/unicase/u16-toupper (Depends-on): Add
37788         unicase/empty-prefix-context, unicase/empty-suffix-context.
37789
37790         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37791         * modules/unicase/u8-toupper (Depends-on): Add
37792         unicase/empty-prefix-context, unicase/empty-suffix-context.
37793
37794         New module 'unicase/u32-ct-casefold'.
37795         * lib/unicase/u32-ct-casefold.c: New file.
37796         * modules/unicase/u32-ct-casefold: New file.
37797
37798         New module 'unicase/u16-ct-casefold'.
37799         * lib/unicase/u16-ct-casefold.c: New file.
37800         * modules/unicase/u16-ct-casefold: New file.
37801
37802         New module 'unicase/u8-ct-casefold'.
37803         * lib/unicase/u8-ct-casefold.c: New file.
37804         * lib/unicase/u-ct-casefold.h: New file, derived from
37805         lib/unicase/u-casefold.h.
37806         * modules/unicase/u8-ct-casefold: New file.
37807
37808         New module 'unicase/u32-ct-totitle'.
37809         * lib/unicase/u32-ct-totitle.c: New file.
37810         * modules/unicase/u32-ct-totitle: New file.
37811
37812         New module 'unicase/u16-ct-totitle'.
37813         * lib/unicase/u16-ct-totitle.c: New file.
37814         * modules/unicase/u16-ct-totitle: New file.
37815
37816         New module 'unicase/u8-ct-totitle'.
37817         * lib/unicase/u8-ct-totitle.c: New file.
37818         * lib/unicase/u-ct-totitle.h: New file, derived from
37819         lib/unicase/u-totitle.h.
37820         * modules/unicase/u8-ct-totitle: New file.
37821
37822         New module 'unicase/u32-ct-tolower'.
37823         * lib/unicase/u32-ct-tolower.c: New file.
37824         * modules/unicase/u32-ct-tolower: New file.
37825
37826         New module 'unicase/u16-ct-tolower'.
37827         * lib/unicase/u16-ct-tolower.c: New file.
37828         * modules/unicase/u16-ct-tolower: New file.
37829
37830         New module 'unicase/u8-ct-tolower'.
37831         * lib/unicase/u8-ct-tolower.c: New file.
37832         * modules/unicase/u8-ct-tolower: New file.
37833
37834         New module 'unicase/u32-ct-toupper'.
37835         * lib/unicase/u32-ct-toupper.c: New file.
37836         * modules/unicase/u32-ct-toupper: New file.
37837
37838         New module 'unicase/u16-ct-toupper'.
37839         * lib/unicase/u16-ct-toupper.c: New file.
37840         * modules/unicase/u16-ct-toupper: New file.
37841
37842         New module 'unicase/u8-ct-toupper'.
37843         * lib/unicase/u8-ct-toupper.c: New file.
37844         * modules/unicase/u8-ct-toupper: New file.
37845
37846         Add context arguments to u*_casemap functions.
37847         * lib/unicase/unicasemap.h: Include unicase.h.
37848         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37849         suffix_context arguments.
37850         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37851         functions.
37852         (FUNC): Add prefix_context and suffix_context arguments. Use
37853         uc_is_cased and uc_is_case_ignorable.
37854         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37855         * lib/unicase/u16-casemap.c: Likewise.
37856         * lib/unicase/u32-casemap.c: Likewise.
37857         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37858         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37859         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37860         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37861         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37862         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37863
37864         New module 'unicase/u32-suffix-context'.
37865         * lib/unicase/u32-suffix-context.c: New file.
37866         * modules/unicase/u32-suffix-context: New file.
37867
37868         New module 'unicase/u16-suffix-context'.
37869         * lib/unicase/u16-suffix-context.c: New file.
37870         * modules/unicase/u16-suffix-context: New file.
37871
37872         New module 'unicase/u8-suffix-context'.
37873         * lib/unicase/u8-suffix-context.c: New file.
37874         * lib/unicase/u-suffix-context.h: New file.
37875         * modules/unicase/u8-suffix-context: New file.
37876
37877         New module 'unicase/empty-suffix-context'.
37878         * lib/unicase/empty-suffix-context.c: New file.
37879         * modules/unicase/empty-suffix-context: New file.
37880
37881         New module 'unicase/u32-prefix-context'.
37882         * lib/unicase/u32-prefix-context.c: New file.
37883         * modules/unicase/u32-prefix-context: New file.
37884
37885         New module 'unicase/u16-prefix-context'.
37886         * lib/unicase/u16-prefix-context.c: New file.
37887         * modules/unicase/u16-prefix-context: New file.
37888
37889         New module 'unicase/u8-prefix-context'.
37890         * lib/unicase/u8-prefix-context.c: New file.
37891         * lib/unicase/u-prefix-context.h: New file.
37892         * lib/unicase/context.h: New file.
37893         * modules/unicase/u8-prefix-context: New file.
37894
37895         New module 'unicase/empty-prefix-context'.
37896         * lib/unicase/empty-prefix-context.c: New file.
37897         * modules/unicase/empty-prefix-context: New file.
37898
37899         New module 'unicase/ignorable'.
37900         * lib/unicase/ignorable.c: New file.
37901         * modules/unicase/ignorable: New file.
37902
37903         New module 'unicase/cased'.
37904         * lib/unicase/caseprop.h: New file.
37905         * lib/unicase/cased.c: New file.
37906         * modules/unicase/cased: New file.
37907
37908         New functions for case mapping of substrings.
37909         * lib/unicase.h (casing_prefix_context_t): New type.
37910         (unicase_empty_prefix_context): New variable.
37911         (u8_casing_prefix_context, u16_casing_prefix_context,
37912         u32_casing_prefix_context, u8_casing_prefixes_context,
37913         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37914         declarations.
37915         (casing_suffix_context_t): New type.
37916         (unicase_empty_suffix_context): New variable.
37917         (u8_casing_suffix_context, u16_casing_suffix_context,
37918         u32_casing_suffix_context, u8_casing_suffixes_context,
37919         u16_casing_suffixes_context, u32_casing_suffixes_context,
37920         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37921         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37922         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37923         declarations.
37924
37925 2009-06-28  Jim Meyering  <meyering@redhat.com>
37926
37927         boostrap: indent only with spaces
37928         * build-aux/bootstrap: Indent only with spaces, never TABs.
37929
37930         bootstrap: split long lines
37931         * build-aux/bootstrap: Keep line length < 80.
37932
37933         bootstrap: sync from coreutils
37934         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37935         just as autoreconf does.  Verify a list of prerequisite
37936         package-name,version-number pairs if defined in bootstrap.conf.
37937         Refer to README-prereq, if prerequisites are not satisfied.
37938
37939 2009-06-27  Eric Blake  <ebb9@byu.net>
37940
37941         tests: add test for bogus NULL definition
37942         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37943         * tests/test-stdlib.c: Likewise.
37944         * tests/test-string.c: Likewise.
37945         * tests/test-locale.c: Likewise.
37946         * tests/test-unistd.c: Likewise.
37947         * modules/stdio-tests (Depends-on): Add verify.
37948         * modules/stdlib-tests (Depends-on): Likewise.
37949         * modules/string-tests (Depends-on): Likewise.
37950         * modules/locale-tests (Depends-on): Likewise.
37951         * modules/unistd-tests (Depends-on): Likewise.
37952
37953 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37954
37955         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37956         self-explaining comment.
37957         * m4/selinux-selinux-h: Update serial.
37958         (gl_LIBSELINUX): New macro, adding a warning for missing development
37959         packages to code extracted from...
37960         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37961         Add warning for missing development packages here, too.
37962
37963 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37964
37965         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37966
37967 2009-06-25  Eric Blake  <ebb9@byu.net>
37968
37969         version-etc: fix regression
37970         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37971         gcc.
37972         (version_etc): Use it, to catch bugs with trailing NULL.
37973         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37974         (version_etc_va): Fix logic bug.
37975         * modules/version-etc-tests: Add test.
37976         * tests/test-version-etc.c: New file.
37977         * tests/test-version-etc.sh: Likewise.
37978
37979 2009-06-25  Sam Steingold  <sds@gnu.org>
37980
37981         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37982         mbtowc declaration.
37983
37984 2009-06-25  Eric Blake  <ebb9@byu.net>
37985
37986         fpurge: migrate into <stdio.h>
37987         * lib/fpurge.h: Delete...
37988         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37989         * lib/fpurge.c (fpurge): Change declaring header.
37990         * modules/fpurge (Files): Drop deleted file.
37991         (Depends-on): Add stdio.
37992         (configure.ac): Set witness.
37993         * modules/stdio (Makefile.am): Support fpurge macros.
37994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37995         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37996         * lib/fflush.c: Update client.
37997         * tests/test-fpurge.c: Likewise.
37998         * NEWS: Mention the change.
37999
38000 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38001
38002         * lib/argp-version-etc.c (program_authors): Add const
38003         qualifier.
38004         * lib/version-etc.c: Fix typos in the comments.
38005         * modules/argp-version-etc: Depends on version-etc.
38006
38007 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38008
38009         argp-version-etc: new module.
38010
38011         * lib/argp-version-etc.c: New file.
38012         * lib/argp-version-etc.h: New file.
38013         * modules/argp-version-etc: New file.
38014         * modules/argp-version-etc-tests: New file.
38015         * tests/test-argp-version-etc.c: New test.
38016         * tests/test-argp-version-etc-1.sh: New test.
38017
38018 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38019
38020         Provide additional interfaces and documentation for version-etc
38021         module.
38022
38023         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
38024         interfaces.
38025         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
38026         prototypes.
38027
38028 2009-06-24  Bruno Haible  <bruno@clisp.org>
38029
38030         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
38031         HAVE_LIB${NAME} macro.
38032         Reported by Sam Steingold <sds@gnu.org>.
38033
38034 2009-06-23  Simon Josefsson  <simon@josefsson.org>
38035
38036         * modules/hash-tests (test_hash_LDADD): Link to libintl when
38037         needed.
38038
38039 2009-06-21  Bruno Haible  <bruno@clisp.org>
38040
38041         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
38042         work.
38043         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
38044         together with LIB${NAME}, LTLIB${NAME}.
38045         Reported by Sam Steingold <sds@gnu.org>.
38046
38047 2009-06-20  Jim Meyering  <meyering@redhat.com>
38048
38049         tests: make sc_require_test_exit_idiom more generic
38050         * top/maint.mk (Exit_witness_file): New overridable variable.
38051         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
38052         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
38053
38054 2009-06-19  Jim Meyering  <meyering@redhat.com>
38055
38056         hash: reverse order of src/dst parameters in an internal interface
38057         * lib/hash.c (transfer_entries): Reverse order of parameters to
38058         put DST before SRC.  Adjust callers.
38059
38060         tests: test-hash: avoid wholesale duplication
38061         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
38062         Instead, use a loop and add a single conditional.
38063
38064         tests: test-hash: allow seed selection via a command line argument
38065         * tests/test-hash.c (get_seed): New function.
38066         (main): Use it.
38067
38068 2009-06-19  Eric Blake  <ebb9@byu.net>
38069
38070         hash: avoid memory leak on allocation failure
38071         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
38072         failure.  Factor repeated algorithm...
38073         (transfer_entries): ...into new helper routine.
38074         (hash_delete): React to hash_rehash return value.
38075
38076         hash: reduce memory pressure in hash_rehash no-op case
38077         * lib/hash.c (next_prime): Avoid overflow.
38078         (hash_initialize): Factor bucket size computation...
38079         (compute_bucket_size): ...into new helper function.
38080         (hash_rehash): Use new function and open coding to reduce memory
38081         pressure, and avoid a memory leak in USE_OBSTACK code.
38082         Reported by Jim Meyering.
38083
38084 2009-06-18  Eric Blake  <ebb9@byu.net>
38085
38086         hash: make rotation more obvious
38087         * modules/hash (Depends-on): Add bitrotate and stdint.
38088         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
38089         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
38090         (SIZE_MAX): Rely on headers for definition.
38091         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
38092         (raw_hasher): Use rotr_sz.
38093         Suggested by Jim Meyering.
38094
38095         hash: fix memory leak in last patch
38096         * lib/hash.c (hash_rehash): Avoid memory leak.
38097
38098         hash: avoid no-op rehashing
38099         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
38100
38101         hash: provide default callback functions
38102         * lib/hash.c (raw_hasher, raw_comparator): New functions.
38103         (hash_initialize): Use them as defaults.
38104         * tests/test-hash.c (main): Test this.
38105
38106         hash: minor optimization
38107         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
38108         when possible.
38109         (hash_initialize): Document this promise.
38110         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
38111         * tests/test-hash.c (hash_compare_strings): Test this.
38112
38113 2009-06-18  Bruno Haible  <bruno@clisp.org>
38114
38115         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
38116         going to be replaced anyway.
38117
38118 2009-06-18  Bruno Haible  <bruno@clisp.org>
38119
38120         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
38121         in one place.
38122         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
38123         be replaced anyway.
38124
38125 2009-06-18  Eric Blake  <ebb9@byu.net>
38126
38127         hash: check for resize before insertion
38128         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
38129         threshold before insertion, so that a pathological hash_rehash
38130         that fills every bucket can still trigger another rehash.
38131
38132 2009-06-18  Jim Meyering  <meyering@redhat.com>
38133
38134         hash-tests: add a loop around the small tests
38135         * tests/test-hash.c (main): Repeat small tests with selected
38136         small initial table sizes.
38137
38138 2009-06-17  Eric Blake  <ebb9@byu.net>
38139
38140         hash: minor cleanups
38141         * lib/hash.h (hash_entry): Make opaque, by moving...
38142         * lib/hash.c (hash_entry): ...here.
38143         (hash_insert): Clarify restrictions on what can be inserted.
38144         (hash_get_next): Clarify when it is safe to remove an element
38145         during traversal.
38146         (check_tuning): Skip verification when tuning is known safe.
38147         (hash_initialize): Clarify restrictions on tuning.
38148
38149 2009-06-17  Jim Meyering  <jim@meyering.net>
38150         and Eric Blake  <ebb9@byu.net>
38151
38152         hash-tests: new module
38153         * modules/hash-tests: New file.
38154         * tests/test-hash.c: New file.
38155
38156 2009-06-17  Eric Blake  <ebb9@byu.net>
38157
38158         strstr-simple: document new module
38159         * MODULES.html.sh: Document new module.
38160
38161         strstr, strcasestr: replace on platforms with broken memchr
38162         * modules/strstr: Split into...
38163         * modules/strstr-simple: ...new module that does not care about
38164         performance, but does care about glibc bug.
38165         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
38166         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
38167         if platform memchr is broken, per Debian bug 521737.
38168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
38169         memchr.
38170         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
38171         * doc/posix-functions/strstr.texi (strstr): Document the fix.
38172         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
38173         * modules/mountlist (Depends-on): Add strstr-simple.
38174         * modules/gen-uni-tables (Depends-on): Likewise.
38175         * modules/argz (Depends-on): Add strstr.
38176
38177 2009-06-17  Bruno Haible  <bruno@clisp.org>
38178
38179         * modules/posix_spawn-internal (Depends-on): Add errno.
38180
38181 2009-06-17  Bruno Haible  <bruno@clisp.org>
38182
38183         Define missing ESTALE on Interix 3.5.
38184         * lib/errno.in.h (ESTALE): Assign a value if missing.
38185         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
38186         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
38187         missing.
38188         * doc/posix-headers/errno.texi: Mention the Interix bug.
38189         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
38190
38191 2009-06-15  Eric Blake  <ebb9@byu.net>
38192
38193         memchr, memchr2: add valgrind exception
38194         * lib/memchr.valgrind: New file.
38195         * lib/memchr2.valgrind: New file.
38196         * modules/memchr (Files): Distribute valgrind file.
38197         * modules/memchr2 (Files): Likewise.
38198
38199         docs: memchr is no longer obsolete
38200         * MODULES.html.sh: Move memchr from obsolete to string.h section.
38201         * lib/string.in.h (memchr): Simplify logic.
38202
38203 2009-06-14  Jim Meyering  <meyering@redhat.com>
38204
38205         link-follow: fix the "checking..." message to not mention trailing slash
38206         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
38207         never considered trailing slashes.
38208
38209 2009-06-14  Bruno Haible  <bruno@clisp.org>
38210
38211         * m4/memchr.m4: Mention also the bug on IA-64.
38212         * doc/posix-functions/memchr.texi: Likewise.
38213
38214 2009-06-12  Eric Blake  <ebb9@byu.net>
38215
38216         memchr: detect broken x86_64 and alpha implementations
38217         * modules/memchr-tests (Depends-on): Move mmap detection...
38218         * modules/memchr (Depends-on): ...here.
38219         (configure.ac): Set indicator.
38220         * lib/string.in.h (memchr): Declare replacement.
38221         * modules/string (Makefile.am): Trigger replacement.
38222         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
38223         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
38224         bugs.
38225         * doc/posix-functions/memchr.texi (memchr): Document the bug.
38226         * modules/getpagesize (License): Relax license.
38227
38228 2009-06-11  Bruno Haible  <bruno@clisp.org>
38229
38230         * lib/idpriv.h: Add more references.
38231
38232 2009-06-08  Bruno Haible  <bruno@clisp.org>
38233
38234         Tests for module 'idpriv-droptemp'.
38235         * modules/idpriv-droptemp-tests: New file.
38236         * tests/test-idpriv-droptemp.sh: New file.
38237         * tests/test-idpriv-droptemp.su.sh: New file.
38238         * tests/test-idpriv-droptemp.c: New file.
38239
38240         New module 'idpriv-droptemp'.
38241         * lib/idpriv-droptemp.c: New file.
38242         * modules/idpriv-droptemp: New file.
38243
38244 2009-06-08  Bruno Haible  <bruno@clisp.org>
38245
38246         Tests for module 'idpriv-drop'.
38247         * modules/idpriv-drop-tests: New file.
38248         * tests/test-idpriv-drop.sh: New file.
38249         * tests/test-idpriv-drop.su.sh: New file.
38250         * tests/test-idpriv-drop.c: New file.
38251
38252         New module 'idpriv-drop'.
38253         * lib/idpriv.h: New file.
38254         * lib-idpriv-drop.c: New file.
38255         * m4/idpriv.m4: New file.
38256         * modules/idpriv-drop: New file.
38257
38258 2009-06-08  Bruno Haible  <bruno@clisp.org>
38259
38260         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
38261         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38262         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38263         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38264         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38265         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38266         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38267
38268 2009-06-08  Eric Blake  <ebb9@byu.net>
38269
38270         test-strstr: use memory fence, when possible
38271         * tests/test-strstr.c (main): Use memory fence, in order to be
38272         more likely to trigger Debian bug 521737.
38273         * modules/strstr-tests (Files): Pull in additional files.
38274
38275         memchr: no longer obsolete, for wider field testing
38276         * modules/memchr (Status, Notice): Delete, this module is no
38277         longer obsolete.
38278         * modules/vasnprintf (Depends-on): Add memchr.
38279
38280 2009-06-07  Jim Meyering  <meyering@redhat.com>
38281
38282         hash: declare some functions with the warn_unused_result attribute
38283         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
38284
38285 2009-06-07  Bruno Haible  <bruno@clisp.org>
38286
38287         * tests/test-alignof.c: Don't test int64_t if it does not exist.
38288         Reported by Eric Blake.
38289
38290 2009-06-06  Eric Blake  <ebb9@byu.net>
38291
38292         test-alignof: fix typo with long double
38293         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
38294         compiler error.
38295
38296 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
38297
38298         Escape non-texinfo { and }s.
38299         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
38300         markup error.
38301
38302 2009-06-04  Jim Meyering  <meyering@redhat.com>
38303
38304         gitlog-to-changelog: don't infloop on an empty commit log
38305         * build-aux/gitlog-to-changelog: Warn about an empty log message.
38306         Reported by Boris Petersen <transacid@centerim.org>.
38307
38308 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
38309
38310         version-etc: extend for packagers
38311         Add three new configure options, intended for packagers:
38312           --with-packager="packager name"
38313           --with-packager-version="packager-specific version"
38314           --with-packager-bug-reports="packager bug reporting"
38315         An example with coreutils:
38316           $ ./configure \
38317             --with-packager=Gentoo \
38318             --with-packager-bug-report=http://bugs.gentoo.org/ \
38319             --with-packager-version="patchset 1.6"
38320           $ ./src/ls --version | head -n2
38321           ls (GNU coreutils) 7.1-dirty
38322           Packaged by Gentoo (patchset 1.6)
38323         Note that the bug reporting info via --help doesn't show up because
38324         coreutils uses its own custom emit_bug_reporting_address() implementation
38325         in src/system.h.  If it didn't, it'd look like:
38326           $ ./src/ls --help | tail -n4
38327           Report bugs to <bug-coreutils@gnu.org>.
38328           Report Gentoo bugs to <http://bugs.gentoo.org/>.
38329           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
38330           General help using GNU software: <http://www.gnu.org/gethelp/>.
38331         * lib/version-etc.c: Print new information, if provided.
38332         * m4/version-etc.m4: New file.
38333         * modules/version-etc (Files): Add m4/version-etc.m4.
38334         (configure.ac): Add gl_VERSION_ETC.
38335
38336 2009-05-31  Bruno Haible  <bruno@clisp.org>
38337
38338         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
38339         and 'int64_t'.
38340         * modules/alignof-tests (Dependencies): Add stdint.
38341         Reported by Eric Blake.
38342
38343 2009-05-31  Bruno Haible  <bruno@clisp.org>
38344
38345         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
38346         restriction due to compiler bugs.
38347         Reported by Eric Blake.
38348
38349 2009-05-31  Simon Josefsson  <simon@josefsson.org>
38350             Bruno Haible  <bruno@clisp.org>
38351
38352         Fix test-alignof failure.
38353         * lib/alignof.h (alignof_slot): New macro.
38354         (alignof_type): New macro, with the same semantics as the previous
38355         'alignof'.
38356         (alignof): Alias to alignof_slot.
38357         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
38358         check that the results are usable as constant expressions.
38359
38360 2009-05-31  Bruno Haible  <bruno@clisp.org>
38361
38362         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
38363         * tests/test-memchr.c (main): Check that memchr does not read past the
38364         first occurrence of the byte.
38365         * tests/test-strstr.c (main): Update comment.
38366         Suggested by Eric Blake.
38367
38368 2009-05-30  Bruno Haible  <bruno@clisp.org>
38369
38370         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
38371         detail how to use dumpbin.
38372         Reported by David Byron <dbyron@dbyron.com>.
38373
38374 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38375
38376         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
38377
38378 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38379
38380         * m4/manywarnings.m4: Add GCC 4.4 warnings.
38381
38382 2009-05-28  Bruno Haible  <bruno@clisp.org>
38383
38384         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
38385         build-aux/ files.
38386
38387 2009-05-28  Simon Josefsson  <simon@josefsson.org>
38388
38389         * gnulib-tool (func_import): Transform license on build-aux/ files too.
38390
38391 2009-05-27  Simon Josefsson  <simon@josefsson.org>
38392
38393         * gnulib-tool (sed_transform_main_lib_file)
38394         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
38395         regexps.
38396
38397 2009-05-26  Simon Josefsson  <simon@josefsson.org>
38398
38399         * tests/test-strstr.c: Add another self-test.
38400         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
38401         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
38402
38403 2009-05-23  Bruno Haible  <bruno@clisp.org>
38404
38405         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
38406         change.
38407
38408 2009-05-21  Bruno Haible  <bruno@clisp.org>
38409
38410         Simplify use of mode_t varargs.
38411         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38412         uses 'mode_t' or 'int'.
38413         * lib/openat.c (openat): Likewise.
38414         * lib/open-safer.c (open_safer): Likewise.
38415         * m4/mode_t.m4: New file.
38416         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38417         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38418         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38419         * modules/open (Files): Add m4/mode_t.m4.
38420         * modules/openat (Files): Likewise.
38421         * modules/fcntl-safer (Files): Likewise.
38422         Suggested by Eric Blake.
38423
38424 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38425
38426         * doc/glibc-functions/fallocate.texi: New file.
38427         * doc/gnulib.texi: Include it.
38428
38429 2009-05-21  Eric Blake  <ebb9@byu.net>
38430             Bruno Haible  <bruno@clisp.org>
38431
38432         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38433         invocations.
38434         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38435
38436 2009-05-21  Eric Blake  <ebb9@byu.net>
38437             Bruno Haible  <bruno@clisp.org>
38438
38439         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38440         include_next. Fix of 2008-11-20 commit.
38441         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38442         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38443         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38444         NEXT_MATH_H.
38445         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38446         instead of NEXT_MATH_H.
38447
38448 2009-05-21  Bruno Haible  <bruno@clisp.org>
38449
38450         Avoid redefinition warnings for SIZE_MAX.
38451         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38452         Reported by Simon Josefsson.
38453
38454 2009-05-21  Bruno Haible  <bruno@clisp.org>
38455
38456         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38457         AC_CACHE_VAL.
38458
38459 2009-05-20  Bruno Haible  <bruno@clisp.org>
38460
38461         Make zeroptr.h work on mingw.
38462         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38463         mprotect.
38464         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38465         * modules/memchr2-tests (configure.ac): Likewise.
38466         * modules/memcmp-tests (configure.ac): Likewise.
38467         * modules/memmem-tests (configure.ac): Likewise.
38468         * modules/memrchr-tests (configure.ac): Likewise.
38469         Reported by Simon Josefsson.
38470
38471 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38472
38473         * tests/test-glob.c: Include string.h for strcmp prototype.
38474
38475 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38476
38477         * modules/getdelim (Depends-on): Add explicit stdint, although it
38478         was implicitly already pulled in via realloc-posix.
38479         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38480
38481 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38482
38483         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38484         G. Christensen" <tgc@jupiterrise.com>.
38485         * m4/sys_socket_h.m4: Check for sa_family_t.
38486         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38487         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38488         * tests/test-sys_socket.c: Check that sa_family_t works.
38489
38490 2009-05-18  Eric Blake  <ebb9@byu.net>
38491
38492         maint.mk: allow gnulib_dir in VPATH build
38493         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38494
38495 2009-05-15  Jim Meyering  <meyering@redhat.com>
38496
38497         maint.mk: Give gnulib_dir a default definition.
38498         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38499         Thus, most packages no longer need to specify this variable in cfg.mk
38500
38501 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38502
38503         rename.m4: fix typos that would make non-mingw cross-configure fail
38504         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38505
38506 2009-05-13  Eric Blake  <ebb9@byu.net>
38507
38508         mmap-anon: avoid out-of-order autoconf expansion
38509         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38510         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38511         * modules/memchr-tests (Depends-on): Add extensions.
38512         * modules/memchr2-tests (Depends-on): Add extensions.
38513         * modules/memcmp-tests (Depends-on): Add extensions.
38514         * modules/memmem-tests (Depends-on): Add extensions.
38515         * modules/memrchr-tests (Depends-on): Add extensions.
38516
38517 2009-05-13  Bruno Haible  <bruno@clisp.org>
38518
38519         Make some tests ISO C 99 compliant.
38520         * tests/zerosize-ptr.h: New file.
38521         * tests/test-memchr.c: Include zerosize-ptr.h.
38522         (main): Use a zero-size object pointer instead of NULL.
38523         * tests/test-memchr2.c: Include zerosize-ptr.h.
38524         (main): Use a zero-size object pointer instead of NULL.
38525         * tests/test-memcmp.c: Include zerosize-ptr.h.
38526         (main): Use a zero-size object pointer instead of NULL.
38527         * tests/test-memmem.c: Include zerosize-ptr.h.
38528         (main): Use a zero-size object pointer instead of NULL.
38529         * tests/test-memrchr.c: Include zerosize-ptr.h.
38530         (main): Use a zero-size object pointer instead of NULL.
38531         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38532         m4/mmap-anon.m4.
38533         (Depends-on): Add getpagesize.
38534         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38535         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38536         m4/mmap-anon.m4.
38537         (Depends-on): Add getpagesize.
38538         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38539         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38540         m4/mmap-anon.m4.
38541         (Depends-on): Add getpagesize.
38542         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38543         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38544         m4/mmap-anon.m4.
38545         (Depends-on): Add getpagesize.
38546         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38547         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38548         m4/mmap-anon.m4.
38549         (Depends-on): Add getpagesize.
38550         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38551
38552 2009-05-12  Bruno Haible  <bruno@clisp.org>
38553
38554         Tests for module 'alignof'.
38555         * modules/alignof-tests: New file.
38556         * tests/test-alignof.c: New file.
38557
38558 2009-05-12  Bruno Haible  <bruno@clisp.org>
38559
38560         Fix alignof macro.
38561         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38562         vendor compilers that are always correct.
38563
38564 2009-05-12  Bruno Haible  <bruno@clisp.org>
38565
38566         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38567         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38568         not whether its fully works.
38569
38570 2009-05-12  Bruno Haible  <bruno@clisp.org>
38571
38572         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38573
38574 2009-05-12  Jim Meyering  <meyering@redhat.com>
38575
38576         * top/maint.mk: Adjust backslash alignment.
38577
38578 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38579
38580         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38581
38582 2009-05-11  Eric Blake  <ebb9@byu.net>
38583
38584         argp: avoid undefined behavior
38585         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38586         macros.
38587
38588 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38589
38590         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38591         user.name to prevent git commit from complaining.
38592
38593 2009-05-10  Bruno Haible  <bruno@clisp.org>
38594
38595         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38596         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38597         it rewrites every file name only once.
38598         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38599
38600 2009-05-08  Bruno Haible  <bruno@clisp.org>
38601
38602         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38603         instead of 'max'.
38604
38605 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38606
38607         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38608         sockaddr_storage test.
38609
38610 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38611
38612         * modules/sys_socket (Makefile.am): Substitute
38613         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38614         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38615         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38616         * tests/test-sys_socket.c: Check sockaddr_storage.
38617
38618 2009-05-08  Bruno Haible  <bruno@clisp.org>
38619
38620         New module 'alignof'.
38621         * lib/alignof.h: New file.
38622         * modules/alignof: New file.
38623
38624 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38625             Bruno Haible  <bruno@clisp.org>
38626
38627         Fix test-file-has-acl on FreeBSD.
38628         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38629         mask is implicitly added.
38630         * tests/test-file-has-acl.c: Include <signal.h>.
38631         (main): Terminate the test after 5 seconds.
38632         * modules/acl-tests (configure.ac): Check for alarm function.
38633
38634 2009-05-04  Bruno Haible  <bruno@clisp.org>
38635
38636         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38637         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38638         * modules/errno (configure.ac): Drop AC_REQUIRE.
38639         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38640         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38641
38642 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38643
38644         * modules/glob-tests: New module.
38645         * tests/test-glob.c: Add.
38646
38647 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38648
38649         * modules/fnmatch-tests: New module.
38650         * tests/test-fnmatch.c: Add.
38651
38652 2009-05-04  Eric Blake  <ebb9@byu.net>
38653
38654         maint: make the new no-submodule-changes rule VPATH-safe
38655         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38656
38657 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38658             Bruno Haible  <bruno@clisp.org>
38659
38660         acl: Fix infinite loop on FreeBSD.
38661         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38662         of return value from acl_get_entry.
38663         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38664         Likewise.
38665
38666 2009-05-03  Bruno Haible  <bruno@clisp.org>
38667
38668         * lib/acl-internal.h (acl_entries): Clarify return value.
38669         * lib/acl_entries.c (acl_entries): Likewise.
38670
38671 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38672
38673         Bug fix in acl module.
38674         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38675
38676 2009-05-03  Bruno Haible  <bruno@clisp.org>
38677
38678         Create gperf-generated file in the source dir, not in the build dir.
38679         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38680         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38681         * modules/unicase/locale-language (unicase/locale-languages.h):
38682         Likewise.
38683         * modules/unicase/special-casing (unicase/special-casing-table.h):
38684         Likewise.
38685         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38686         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38687         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38688         Reported by Ralf Wildenhues.
38689
38690 2009-05-03  Bruno Haible  <bruno@clisp.org>
38691
38692         * modules/fnmatch (Description, configure.ac): Taken from
38693         fnmatch-posix.
38694         * modules/fnmatch-posix: Turn into a symbolic reference to the
38695         'fnmatch' module, and deprecate.
38696         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38697
38698 2009-05-03  Bruno Haible  <bruno@clisp.org>
38699
38700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38701         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38702         Reported by Ralf Wildenhues.
38703
38704 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38705
38706         * m4/fnmatch.m4: Fix fnmatch re-define.
38707
38708 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38709
38710         priv-set: new module and tests; adapt write-any-file
38711         * lib/priv-set.c: New file.
38712         * lib/priv-set.h: New file.
38713         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38714         * lib/write-any-file.c: Simplify by using priv-set module.
38715         * m4/priv-set.m4: New file.
38716         * modules/priv-set: New file.
38717         * modules/unlinkdir: Add dependency on priv-set module.
38718         * modules/write-any-file: Likewise.
38719
38720         Tests for module 'priv-set'.
38721         * modules/priv-set-tests: New file.
38722         * tests/test-priv-set.c: New file.
38723
38724 2009-05-03  Jim Meyering  <meyering@redhat.com>
38725             Bruno Haible  <bruno@clisp.org>
38726
38727         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38728         use the converted UTF-8 variant of the name instead.
38729
38730 2009-05-03  Jim Meyering  <meyering@redhat.com>
38731
38732         tests: tighten some getdate tests
38733         * tests/test-getdate.c (main): Tighten tests: require equality,
38734         not just greater than.  Set TZ envvar to UTC0.
38735
38736 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38737
38738         getdate: correctly interpret "next monday" when run on a Monday
38739         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38740         that e.g., "next tues" (when run on a tuesday) results in a date
38741         that is one week in the future, and not today's date.
38742         I.e., add a week when the wday is the same as the current one.
38743         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38744         and earlier by Martin Bernreuther and Jan Minář.
38745         * tests/test-getdate.c (main): Check that "next DAY" is always in
38746         the future and that "last DAY" is always in the past.
38747
38748 2009-05-02  Jim Meyering  <meyering@redhat.com>
38749
38750         build: ensure that a release build fails when a submodule is unclean
38751         * top/maint.mk (no-submodule-changes): New rule.
38752         (alpha beta major): Depend on it.
38753
38754 2009-05-02  Bruno Haible  <bruno@clisp.org>
38755
38756         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38757         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38758         shell variable gl_fnmatch_required to detect which variant is
38759         requested.
38760         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38761         gl_FUNC_FNMATCH_POSIX.
38762         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38763         exclude fnmatch-posix.
38764
38765 2009-05-02  Bruno Haible  <bruno@clisp.org>
38766
38767         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38768         * modules/mbsrtowcs (License): Change to LGPLv2+.
38769         * modules/strnlen1 (License): Likewise.
38770         Reported by Simon Josefsson.
38771
38772 2009-05-02  Bruno Haible  <bruno@clisp.org>
38773
38774         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38775         "cross".
38776         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38777         gnulib-tool was called with option --source-base=lib.
38778
38779 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38780
38781         Use automake *-local hooks without commands, for extensibility.
38782         * modules/localcharset (Makefile.am): Rename install-exec-local
38783         rule to install-exec-localcharset, and make it a prerequisite of
38784         install-exec-local.  Likewise, rename the uninstall-local rule to
38785         uninstall-localcharset, and make it a prerequisite of the former.
38786
38787 2009-05-01  Bruno Haible  <bruno@clisp.org>
38788
38789         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38790         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38791         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38792         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38793         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38794         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38795         m4/locale-zh.m4, m4/codeset.m4.
38796
38797         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38798         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38799         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38800         m4/locale-zh.m4.
38801
38802         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38803         REPLACE_WCRTOMB if mbstate_t must be replaced.
38804         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38805         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38806
38807 2009-05-01  Bruno Haible  <bruno@clisp.org>
38808
38809         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38810         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38811         dngettext, dcngettext, textdomain, bindtextdomain,
38812         bind_textdomain_codeset): Undefine before redefining.
38813
38814 2009-04-30  Bruno Haible  <bruno@clisp.org>
38815
38816         Fix bug introduced on 2009-04-25.
38817         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38818         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38819         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38820         is defined.
38821         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38822         is defined.
38823         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38824         is defined.
38825         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38826
38827 2009-04-28  Bruno Haible  <bruno@clisp.org>
38828
38829         Comment tweaks.
38830         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38831         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38832         * lib/unicase.h (u*_casexfrm): Likewise.
38833         Reported by Paolo Bonzini.
38834
38835 2009-04-28  Bruno Haible  <bruno@clisp.org>
38836
38837         Fix a compilation error.
38838         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38839         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38840         Reported by Jim Meyering.
38841
38842 2009-04-27  Bruno Haible  <bruno@clisp.org>
38843
38844         New module 'libunistring'.
38845         * modules/libunistring: New file.
38846         * m4/libunistring.m4: New file.
38847         * MODULES.html.sh (Unicode string functions): Add it.
38848
38849 2009-04-27  Eric Blake  <ebb9@byu.net>
38850
38851         maint.mk: allow package-specific header to provide <config.h>
38852         * top/maint.mk (sc_require_config_h): New variable.
38853         (sc_require_config_h, sc_require_config_h_first): Use it.
38854
38855 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38856
38857         * top/maint.mk (sc_avoid_if_before_free): Except
38858         useless-if-before-free script.
38859
38860 2009-04-27  Eric Blake  <ebb9@byu.net>
38861
38862         maintainer-makefile: depend on all required helper scripts
38863         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38864         useless-if-before-free.
38865         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38866         version, rather than assuming gnulib checkout is available.
38867         Reported by Simen Josefsson.
38868
38869 2009-04-26  Bruno Haible  <bruno@clisp.org>
38870
38871         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38872         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38873         "../" or "..".
38874
38875 2009-04-26  Bruno Haible  <bruno@clisp.org>
38876
38877         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38878         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38879         AC_LIB_HAVE_LINKFLAGS.
38880
38881 2009-04-26  Bruno Haible  <bruno@clisp.org>
38882
38883         Simplify calling convention of u*_conv_from_encoding.
38884         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38885         u32_conv_from_encoding): Expect a resultbuf argument and return the
38886         result directly as a pointer.
38887         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38888         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38889         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38890         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38891         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38892         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38893         Update.
38894         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38895         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38896         * lib/vasnprintf.c (VASNPRINTF): Update.
38897         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38898         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38899         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38900         * NEWS: Mention the change.
38901
38902 2009-04-26  Bruno Haible  <bruno@clisp.org>
38903
38904         Simplify calling convention of u*_conv_to_encoding.
38905         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38906         u32_conv_to_encoding): Expect a resultbuf argument and return the
38907         result directly as a pointer.
38908         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38909         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38910         freeing scaled_offsets if mem_iconveha failed.
38911         * lib/unicase/u-casexfrm.h (FUNC): Update.
38912         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38913         * lib/vasnprintf.c (VASNPRINTF): Update.
38914         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38915         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38916         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38917         * NEWS: Mention the change.
38918
38919 2009-04-26  Bruno Haible  <bruno@clisp.org>
38920
38921         Avoid test failures on AIX and OSF/1.
38922         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38923         malloc(0).
38924         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38925         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38926         Likewise.
38927         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38928         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38929         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38930         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38931         * doc/posix-functions/malloc.texi: Document the portability problem
38932         related to malloc(0).
38933
38934 2009-04-26  Bruno Haible  <bruno@clisp.org>
38935
38936         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38937         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38938         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38939
38940 2009-04-25  Bruno Haible  <bruno@clisp.org>
38941
38942         Avoid link error when creating a namespace clean library.
38943         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38944         as macro with arguments if already defined as an alias.
38945         * lib/signbitf.c (gl_signbitf): Don't undefine.
38946         * lib/signbitd.c (gl_signbitd): Don't undefine.
38947         * lib/signbitl.c (gl_signbitl): Don't undefine.
38948
38949 2009-04-25  Jim Meyering  <meyering@redhat.com>
38950
38951         vc-list-files: fix another quoting bug
38952         * build-aux/vc-list-files: Avoid sed backslash expansion
38953         of pathological directory names.
38954
38955 2009-04-25  Eric Blake  <ebb9@byu.net>
38956
38957         vc-list-files: fix shell quoting error
38958         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38959         timestamp.
38960
38961 2009-04-25  Jim Meyering  <meyering@redhat.com>
38962
38963         vc-list-files: restore lost functionality with subdir argument
38964         * build-aux/vc-list-files: When given a non-"." sub-directory
38965         argument, substitute the $dir/ prefix back onto each resulting name.
38966         Otherwise, coreutils' root_tests check would fail.
38967
38968 2009-04-24  Eric Blake  <ebb9@byu.net>
38969
38970         vc-list-files: ignore git symlinks
38971         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38972         than ls-files, to ignore git symlinks.
38973
38974         maint.mk: import improvements from m4
38975         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38976         (move_if_change): Delete unused macro.
38977         (news-date-check, vc-diff-check): Support VPATH builds.
38978         (announcement): Likewise.  Split --bootstrap-tools list...
38979         (boostrap-tools): ...into separate list, which can be overridden
38980         in cfg.mk.
38981         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38982         requiring dependency on useless-if-before-free module.
38983         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38984         Support VPATH builds.
38985
38986 2009-04-24  Jim Meyering  <meyering@redhat.com>
38987
38988         maint.mk: remove coreutils-specific rules and variables
38989         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38990         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38991         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38992
38993         maint.mk: remove obsolete rule
38994         * top/maint.mk (rel-check): Remove rule.
38995         (WGET, WGETFLAGS): Remove now-unused variables.
38996
38997 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38998
38999         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
39000         consistency.
39001
39002         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
39003         '$(PATH_SEPARATOR)' instead of ':'.
39004
39005 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39006
39007         * lib/getopt1.c (main): Use 'const' for static array.
39008
39009 2009-04-24  Simon Josefsson  <simon@josefsson.org>
39010
39011         * top/maint.mk: Sync with coreutils.
39012         * NEWS: Explain incompatibilities.
39013
39014 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39015             Bruno Haible  <bruno@clisp.org>
39016
39017         Fix cross-compilation results.
39018         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
39019         statement, as third argument of AC_TRY_RUN.
39020         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
39021         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
39022         Likewise.
39023         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
39024         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
39025         Likewise.
39026         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
39027         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
39028         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
39029
39030 2009-04-20  Bruno Haible  <bruno@clisp.org>
39031
39032         Avoid test failure on mingw.
39033         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
39034
39035 2009-04-20  Bruno Haible  <bruno@clisp.org>
39036
39037         Avoid compilation error on mingw.
39038         * modules/localename-tests (Depends-on): Add locale.
39039
39040 2009-04-19  Bruno Haible  <bruno@clisp.org>
39041
39042         Support for building a shared library on Windows platforms.
39043         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
39044         (main): Test the presence of UNINORM_NFC here.
39045         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
39046         (main): Test the presence of UNINORM_NFD here.
39047         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
39048         (main): Test the presence of UNINORM_NFKC here.
39049         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
39050         (main): Test the presence of UNINORM_NFKD here.
39051
39052 2009-04-19  Bruno Haible  <bruno@clisp.org>
39053
39054         Avoid a compiler warning.
39055         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
39056         Change type of variable 'sequence'.
39057
39058 2009-04-19  Bruno Haible  <bruno@clisp.org>
39059
39060         * modules/configmake (Makefile.am): When the contents of configmake.h
39061         does not change, arrange to preserve its modification time.
39062
39063 2009-04-17  Simon Josefsson  <simon@josefsson.org>
39064
39065         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
39066         gettext domain.
39067
39068 2009-04-16  Jim Meyering  <meyering@redhat.com>
39069
39070         useless-if-before-free: improve conversion code
39071         * build-aux/useless-if-before-free: Adjust code-in-comment to match
39072         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
39073
39074 2009-04-14  Bruno Haible  <bruno@clisp.org>
39075
39076         * modules/fcntl (Depends-on): Add extensions.
39077         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
39078
39079 2009-04-12  Ben Pfaff  <blp@gnu.org>
39080
39081         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
39082         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
39083
39084 2009-03-20  Ben Pfaff  <blp@gnu.org>
39085
39086         Make rename replace existing destinations on Windows.
39087         * m4/rename.m4: Add test for Mingw.
39088         * lib/rename.c: Add rename replacement that uses MoveFileEx with
39089         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
39090         * doc/posix-functions/rename.texi: Document.
39091
39092 2009-04-10  Bruno Haible  <bruno@clisp.org>
39093
39094         New include file "iconveh.h".
39095         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
39096         * lib/striconveh.h: Include it.
39097         (enum iconv_ilseq_handler): Remove definition.
39098         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
39099         striconveh.h.
39100         * lib/striconveha.c: Include striconveh.h.
39101         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
39102         * modules/striconveh (Files): Add lib/iconveh.h.
39103         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
39104         lib/striconveh.h.
39105
39106 2009-04-10  Bruno Haible  <bruno@clisp.org>
39107
39108         * lib/uniconv.h: Update comment.
39109
39110 2009-04-10  Bruno Haible  <bruno@clisp.org>
39111
39112         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
39113         always.
39114         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
39115         * lib/unistr/u16-mbtouc-aux.c: Likewise.
39116         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
39117         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
39118         "unistring-notinline.h", so that the function gets defined always.
39119         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
39120         * lib/unistr/u8-uctomb.c: Likewise.
39121         * lib/unistr/u16-mbtouc.c: Likewise.
39122         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
39123         * lib/unistr/u16-uctomb.c: Likewise.
39124         * lib/unistr/u32-mbtouc.c: Likewise.
39125         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
39126         * lib/unistr/u32-uctomb.c: Likewise.
39127
39128 2009-04-10  Bruno Haible  <bruno@clisp.org>
39129
39130         Mark 'utime' obsolete.
39131         * modules/utime (Status, Notice): New sections.
39132         Suggested by Jim Meyering.
39133
39134         Fix cross-compile guess for utime test.
39135         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
39136         autoconf.
39137         * doc/posix-functions/utime.texi: Give more precisions.
39138         Reported by Jan <ipif@ymail.com>.
39139
39140 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
39141
39142         filevercmp: correct today's change
39143         * lib/filevercmp.c: Also handle coreutils' test inputs.
39144         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
39145
39146         Fix regression in 'filevercmp' module. Thanks Sven Joachim
39147         for reporting it.
39148         * lib/filevercmp.c: Special handle for "", "." and "..".
39149         * tests/test-filevercmp.c: Enlarge the set suite.
39150
39151 2009-04-07  Jim Meyering  <meyering@redhat.com>
39152
39153         useless-if-before-free: show how to remove braced useless free, too
39154         * build-aux/useless-if-before-free: still only in a comment, though.
39155
39156 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
39157
39158         maint.mk: import changes to syntax-check macros from coreutils
39159         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
39160         Use them in the relevant macros.
39161
39162 2009-04-06  Bruno Haible  <bruno@clisp.org>
39163
39164         Fix unportable use of bit-fields.
39165         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
39166         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
39167         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
39168
39169 2009-04-06  Bruno Haible  <bruno@clisp.org>
39170
39171         Avoid test failures on AIX and OSF/1.
39172         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
39173         that malloc(0) = NULL.
39174         * tests/unicase/test-u8-tolower.c (check): Likewise.
39175         * tests/unicase/test-u8-totitle.c (check): Likewise.
39176         * tests/unicase/test-u8-toupper.c (check): Likewise.
39177         * tests/unicase/test-u16-casefold.c (check): Likewise.
39178         * tests/unicase/test-u16-tolower.c (check): Likewise.
39179         * tests/unicase/test-u16-totitle.c (check): Likewise.
39180         * tests/unicase/test-u16-toupper.c (check): Likewise.
39181         * tests/unicase/test-u32-casefold.c (check): Likewise.
39182         * tests/unicase/test-u32-tolower.c (check): Likewise.
39183         * tests/unicase/test-u32-totitle.c (check): Likewise.
39184         * tests/unicase/test-u32-toupper.c (check): Likewise.
39185         * tests/uninorm/test-u8-nfc.c (check): Likewise.
39186         * tests/uninorm/test-u8-nfd.c (check): Likewise.
39187         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
39188         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
39189         * tests/uninorm/test-u16-nfc.c (check): Likewise.
39190         * tests/uninorm/test-u16-nfd.c (check): Likewise.
39191         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
39192         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
39193         * tests/uninorm/test-u32-nfc.c (check): Likewise.
39194         * tests/uninorm/test-u32-nfd.c (check): Likewise.
39195         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
39196         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
39197
39198 2009-04-05  Bruno Haible  <bruno@clisp.org>
39199
39200         Work around an autoconf limitation.
39201         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
39202         comment line if it would be longer than 3 KB.
39203
39204 2009-04-05  Bruno Haible  <bruno@clisp.org>
39205
39206         Avoid test failure with libiconv-1.13.
39207         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
39208         of the expected test results.
39209
39210 2009-04-05  Bruno Haible  <bruno@clisp.org>
39211
39212         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
39213         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
39214         that it should be installed.
39215
39216 2009-04-05  Bruno Haible  <bruno@clisp.org>
39217
39218         * gnulib-tool: New option --copy-file.
39219         (func_usage): Document it.
39220         (func_dest_tmpfilename): Moved out of func_import.
39221         (func_add_file, func_update_file): New functions, extracted from
39222         func_import.
39223         (func_import): Update.
39224
39225 2009-04-05  Karl Berry  <karl@gnu.org>
39226
39227         * README: prominently mention gnulib-tool.
39228         Rearrange sections so getting the code is near the top.
39229
39230 2009-04-05  Bruno Haible  <bruno@clisp.org>
39231
39232         * lib/unicase.h: Mention u*_cmp2.
39233         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39234         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
39235         * lib/unicase/ulc-casecmp.c: Likewise.
39236         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
39237         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
39238         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
39239         unistr/u8-cmp.
39240         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
39241         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
39242         unistr/u16-cmp.
39243         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
39244         unistr/u32-cmp.
39245
39246         * lib/uninorm.h: Mention u*_cmp2.
39247         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
39248         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
39249         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
39250         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
39251         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
39252         unistr/u8-cmp.
39253         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
39254         unistr/u16-cmp.
39255         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
39256         unistr/u32-cmp.
39257
39258         New module 'unistr/u32-cmp2'.
39259         * lib/unistr/u32-cmp2.c: New file.
39260         * modules/unistr/u32-cmp2: New file.
39261
39262         New module 'unistr/u16-cmp2'.
39263         * lib/unistr/u16-cmp2.c: New file.
39264         * modules/unistr/u16-cmp2: New file.
39265
39266         New module 'unistr/u8-cmp2'.
39267         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
39268         * lib/unistr/u8-cmp2.c: New file.
39269         * lib/unistr/u-cmp2.h: New file.
39270         * modules/unistr/u8-cmp2: New file.
39271
39272 2009-04-05  Bruno Haible  <bruno@clisp.org>
39273
39274         * lib/unictype.h (uc_property_is_valid): New macro.
39275         * tests/unictype/test-pr_byname.c (main): Use it.
39276
39277         * lib/unistr.h: Doc fixes.
39278         * lib/uniconv.h: Doc fixes.
39279         * lib/unictype.h: Doc fixes.
39280
39281 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
39282
39283         Port coreutils 7.2 to Solaris 8.
39284
39285         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
39286         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
39287         for Solaris 8.  This is a bit of a hack, as it means it's the
39288         caller's responsibility to add -lnsl if needed, but most likely it
39289         won't be needed since only getaddrinfo uses this and getaddrinfo
39290         isn't needed on Solaris 8.
39291
39292         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
39293         problem to Solaris 8 encountered with coreutils 7.2, which
39294         resulted in a message "fnmatch.c:292: warning: passing argument 4
39295         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
39296         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
39297
39298 2009-04-03  Simon Josefsson  <simon@josefsson.org>
39299
39300         * m4/ld-version-script.m4: Add FIXME comment.
39301
39302 2009-04-02  Simon Josefsson  <simon@josefsson.org>
39303
39304         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
39305         SOVERSION variable.
39306
39307 2009-04-02  Bruno Haible  <bruno@clisp.org>
39308
39309         * Makefile (info, html, dvi, pdf): Combine the rules.
39310         Suggested by Jim Meyering.
39311
39312 2009-04-01  Bruno Haible  <bruno@clisp.org>
39313
39314         * Makefile (info, html, dvi, pdf): New targets.
39315         Reported by Reuben Thomas <rrt@sc3d.org>.
39316
39317 2009-04-01  Bruno Haible  <bruno@clisp.org>
39318
39319         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
39320         can be put into PATH.
39321         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
39322
39323 2009-04-01  Bruno Haible  <bruno@clisp.org>
39324
39325         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
39326
39327 2009-04-01  Bruno Haible  <bruno@clisp.org>
39328
39329         Rename module 'visibility'.
39330         * modules/lib-symbol-visibility: Renamed from modules/visibility.
39331         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
39332         * doc/gnulib.texi: Update.
39333         * MODULES.html.sh (Misc): Update.
39334         * NEWS: Mention the change.
39335
39336 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39337
39338         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
39339         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
39340         Eric Blake <ebb9@byu.net> for review.
39341         * MODULES.html.sh: Add lib-msvc-compat.
39342         * doc/gnulib.texi: Link to new section.
39343         * m4/ld-output-def.m4: New file.
39344         * doc/ld-output-def.texi: New file.
39345
39346 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39347
39348         Rename ld-version-script to lib-symbol-versions.  Suggested by
39349         Bruno Haible <bruno@clisp.org>.
39350         * modules/ld-version-script: Renamed to lib-symbol-versions.
39351         * doc/ld-version-script.texi: Fix module name.
39352         * MODULES.html.sh: Add lib-symbol-versions.
39353
39354 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39355
39356         * modules/u64-tests: New file.
39357         * tests/test-u64.c: New file.
39358
39359 2009-03-04  Simon Josefsson  <simon@josefsson.org>
39360
39361         * MODULES.html.sh: Mention u64.
39362         * modules/u64: New module.
39363         * modules/crypto/sha512: Depend on u64 module instead of providing
39364         u64.h.
39365
39366 2009-03-27  Eric Blake  <ebb9@byu.net>
39367
39368         test-strerror: make debugging EAI_SYSTEM easier
39369         * modules/getaddrinfo-tests (Depends-on): Add strerror.
39370         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
39371         failure was EAI_SYSTEM.
39372
39373 2009-03-25  Bruno Haible  <bruno@clisp.org>
39374
39375         Fix a problem with --enable-relocatable on Solaris 7.
39376         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
39377         since 2008-02-24.
39378
39379 2009-03-25  Eric Blake  <ebb9@byu.net>
39380
39381         test-sockets: avoid gcc warning
39382         * tests/test-sockets.c (main): Silence compiler warning.
39383
39384 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39385
39386         New modules nproc, pthread, contributed by Glen Lenker.
39387
39388         * MODULES.html.sh: Add pthread, nproc.
39389         * lib/nproc.c: New file.
39390         * lib/nproc.h: New file.
39391         * lib/pthread.in.h: New file.
39392         * m4/pthread.m4: New file.
39393         * modules/nproc: New file.
39394         * modules/pthread: New file.
39395
39396 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39397
39398         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
39399         New variable.
39400
39401 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
39402
39403         filevercmp: handle simple~ and numbered.~3~ backup suffixes
39404         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
39405         * tests/test-filevercmp.c: Add tests for backup suffixes.
39406
39407 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39408
39409         * modules/stdlib (Depends-on): Add stdint, needed when defining
39410         struct random_data on, for example, HP-UX 10.20.  Reported by
39411         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39412
39413 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39414
39415         * lib/readline.c (readline): Call fflush on stdout after printing
39416         prompt.
39417
39418 2009-03-20  Bruno Haible  <bruno@clisp.org>
39419
39420         Remove dependency from 'close' module to -lws2_32 on native Windows.
39421         * lib/close-hook.h: New file.
39422         * lib/close-hook.c: New file.
39423         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39424         w32sock.h.
39425         (_gl_close_fd_maybe_socket): Remove function.
39426         (rpl_close): Invoke execute_all_close_hooks instead of
39427         _gl_close_fd_maybe_socket.
39428         * lib/sockets.c: Include close-hook.h, w32sock.h.
39429         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39430         (close_sockets_hook): New variable.
39431         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39432         (gl_sockets_cleanup): Unregister it.
39433         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39434         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39435         * modules/close-hook: New file.
39436         * modules/close (Files): Remove lib/w32sock.h.
39437         (Depends-on): Add close-hook.
39438         (Link): Remove section.
39439         * modules/sockets (Files): Add lib/w32sock.h.
39440         (Depends-on): Add close-hook.
39441         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39442         invocation.
39443         * NEWS: Mention that LIB_CLOSE is gone.
39444
39445 2009-03-23  Eric Blake  <ebb9@byu.net>
39446
39447         signal-tests: test previous patch
39448         * tests/test-signal.c: New file.
39449         * modules/signal-tests: Likewise.
39450
39451         signal.h: always support 'volatile sig_atomic_t'
39452         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39453         (gl_SIGNAL_H_DEFAULTS): Add a default.
39454         * modules/signal (Makefile.am): Substitute if needed.
39455         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39456         users can blindly add volatile.
39457         * doc/posix-headers/signal.texi (signal.h): Document it.
39458         Reported by Matthew Woehlke.
39459
39460 2009-03-23  Jim Meyering  <meyering@redhat.com>
39461
39462         pathmax: PATH_MAX: use pathconf only when available
39463         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39464         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39465         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39466         This avoids a link failure in a PSP cross-compilation environment
39467         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39468
39469         * lib/vasnprintf.c (divide): Fix typo in comment.
39470
39471 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39472
39473         * gnulib-tool (func_filter_filelist): Fix comment.
39474
39475 2009-03-20  Bruno Haible  <bruno@clisp.org>
39476
39477         Make sockets.h self-contained.
39478         * lib/sockets.c: Include sockets.h first.
39479         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39480
39481 2009-03-19  Eric Blake  <ebb9@byu.net>
39482
39483         doc: mention more functions added in cygwin 1.7.0
39484         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39485         addition.
39486         * doc/posix-functions/log2f.texi: Likewise.
39487
39488 2009-03-19  Jim Meyering  <meyering@redhat.com>
39489
39490         fsusage: avoid syntax error due to statement-before-declaration
39491         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39492         after all declarations.  Reported by Matthew Woehlke in
39493         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39494
39495 2009-03-18  Eric Blake  <ebb9@byu.net>
39496
39497         build-aux/compile: sync from automake
39498         * build-aux/compile: New file, from automake.
39499         * config/srclist.txt: Mention build-aux/compile.
39500
39501 2009-03-17  Bruno Haible  <bruno@clisp.org>
39502
39503         * lib/git-merge-changelog.c: Fix typo in comment.
39504         Reported by Reuben Thomas <rrt@sc3d.org>.
39505
39506 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39507
39508         * m4/regex.m4: update and improve help for
39509         --without-included-regex.
39510
39511 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39512
39513         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39514         failure on missing include files.
39515
39516 2009-03-17  Eric Blake  <ebb9@byu.net>
39517
39518         doc: mention more functions added in cygwin 1.7.0
39519         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39520         addition.
39521         * doc/posix-functions/fwscanf.texi: Likewise.
39522         * doc/posix-functions/swprintf.texi: Likewise.
39523         * doc/posix-functions/swscanf.texi: Likewise.
39524         * doc/posix-functions/vfwprintf.texi: Likewise.
39525         * doc/posix-functions/vfwscanf.texi: Likewise.
39526         * doc/posix-functions/vswprintf.texi: Likewise.
39527         * doc/posix-functions/vswscanf.texi: Likewise.
39528         * doc/posix-functions/vwprintf.texi: Likewise.
39529         * doc/posix-functions/vwscanf.texi: Likewise.
39530         * doc/posix-functions/wcscasecmp.texi: Likewise.
39531         * doc/posix-functions/wcsdup.texi: Likewise.
39532         * doc/posix-functions/wcsftime.texi: Likewise.
39533         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39534         * doc/posix-functions/wprintf.texi: Likewise.
39535         * doc/posix-functions/wscanf.texi: Likewise.
39536         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39537
39538 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39539
39540         maint.mk: really add $(AM_MAKEFLAGS)
39541         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39542         was inadvertently omitted in the last commit.
39543         Spotted by Bruno Haible.
39544
39545         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39546         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39547         $(AM_MAKEFLAGS)' rather than plain `make'.
39548
39549         gnulib-tool: execute $MAKE not make
39550         * gnulib-tool: Default $MAKE to 'make'.
39551         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39552         than make.  Initialize $MAKE in the do-autobuild script.
39553
39554         gnulib-tool: use $MAKE not make in generated files
39555         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39556         make, in generated files.  Initialize $MAKE in the do-autobuild
39557         script.
39558
39559         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39560
39561         GNUmakefile: disable parallelism only for multiple, recursive targets
39562         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39563         additions in the Makefile.
39564         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39565         by Automake.
39566         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39567         are listed on the command line and at least one of them is
39568         listed in $(ALL_RECURSIVE_TARGETS).
39569
39570 2009-03-14  Bruno Haible  <bruno@clisp.org>
39571
39572         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39573         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39574         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39575         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39576         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39577         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39578         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39579         unistr/u8-uctomb.
39580         * modules/unistr/u8-strchr (Depends-on): Likewise.
39581         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39582         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39583         unistr/u16-uctomb.
39584         * modules/unistr/u16-strchr (Depends-on): Likewise.
39585         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39586
39587 2009-03-12  Bruno Haible  <bruno@clisp.org>
39588
39589         Work around select() bug on Interix 3.5.
39590         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39591         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39592         * m4/select.m4: New file.
39593         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39594         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39595         * modules/select (Files): Add m4/select.m4.
39596         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39597         * modules/nanosleep (Depends-on): Add select.
39598         * modules/poll (Depends-on): Likewise.
39599         * doc/posix-functions/select.texi: Mention the Interix bug.
39600         Reported by Markus Duft <mduft@gentoo.org>.
39601
39602         * lib/select.c: Renamed from lib/winsock-select.c.
39603         * modules/select (Files): Add lib/select.c, remove
39604         lib/winsock-select.c.
39605         (configure.ac): Update.
39606
39607 2009-03-12  Jim Meyering  <meyering@redhat.com>
39608
39609         avoid gcc warnings about unused macro definitions
39610         * lib/readtokens.c (STREQ): Remove unused definition.
39611         * lib/xmalloc.c (SIZE_MAX): Likewise.
39612         * lib/openat-die.c (N_): Likewise.
39613         * lib/mountlist.c (SIZE_MAX): Remove definition.
39614         Instead, include <stdint.h>.
39615         * lib/readutmp.c: Likewise.
39616         * modules/readutmp (Depends-on): Add stdint.
39617         * modules/mountlist (Depends-on): Add stdint.
39618         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39619
39620 2009-03-10  Bruno Haible  <bruno@clisp.org>
39621
39622         Tests for module 'mbmemcasecoll'.
39623         * modules/mbmemcasecoll-tests: New file.
39624         * tests/test-mbmemcasecoll1.sh: New file.
39625         * tests/test-mbmemcasecoll2.sh: New file.
39626         * tests/test-mbmemcasecoll3.sh: New file.
39627         * tests/test-mbmemcasecoll.c: New file.
39628
39629         New module 'mbmemcasecoll'.
39630         * lib/mbmemcasecoll.h: New file.
39631         * lib/mbmemcasecoll.c: New file.
39632         * modules/mbmemcasecoll: New file.
39633
39634         * tests/test-mbmemcasecmp.h: New file, extracted from
39635         tests/test-mbmemcasecmp.c.
39636         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39637         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39638         (main): Update.
39639         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39640
39641 2009-03-09  Bruno Haible  <bruno@clisp.org>
39642
39643         Tests for module 'mbmemcasecmp'.
39644         * modules/mbmemcasecmp-tests: New file.
39645         * tests/test-mbmemcasecmp1.sh: New file.
39646         * tests/test-mbmemcasecmp2.sh: New file.
39647         * tests/test-mbmemcasecmp3.sh: New file.
39648         * tests/test-mbmemcasecmp.c: New file.
39649
39650         New module 'mbmemcasecmp'.
39651         * lib/mbmemcasecmp.h: New file.
39652         * lib/mbmemcasecmp.c: New file.
39653         * modules/mbmemcasecmp: New file.
39654
39655 2009-03-09  Bruno Haible  <bruno@clisp.org>
39656
39657         Tests for module 'unicase/ulc-casecoll'.
39658         * modules/unicase/ulc-casecoll-tests: New file.
39659         * tests/unicase/test-ulc-casecoll1.sh: New file.
39660         * tests/unicase/test-ulc-casecoll2.sh: New file.
39661         * tests/unicase/test-ulc-casecoll.c: New file.
39662
39663         New module 'unicase/ulc-casecoll'.
39664         * lib/unicase.h (ulc_casecoll): New declaration.
39665         * lib/unicase/ulc-casecoll.c: New file.
39666         * modules/unicase/ulc-casecoll: New file.
39667
39668         New module 'unicase/ulc-casexfrm'.
39669         * lib/unicase.h (ulc_casexfrm): New declaration.
39670         * lib/unicase/ulc-casexfrm.c: New file.
39671         * modules/unicase/ulc-casexfrm: New file.
39672
39673 2009-03-09  Bruno Haible  <bruno@clisp.org>
39674
39675         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39676         invocations.
39677
39678         * m4/mbscasecmp.m4: Remove file.
39679         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39680         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39681
39682         * m4/mbscasestr.m4: Remove file.
39683         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39684         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39685
39686         * m4/mbschr.m4: Remove file.
39687         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39688         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39689
39690         * m4/mbscspn.m4: Remove file.
39691         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39692         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39693
39694         * m4/mbslen.m4: Remove file.
39695         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39696         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39697
39698         * m4/mbsncasecmp.m4: Remove file.
39699         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39700         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39701
39702         * m4/mbsnlen.m4: Remove file.
39703         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39704         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39705
39706         * m4/mbspbrk.m4: Remove file.
39707         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39708         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39709
39710         * m4/mbspcasecmp.m4: Remove file.
39711         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39712         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39713
39714         * m4/mbsrchr.m4: Remove file.
39715         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39716         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39717
39718         * m4/mbssep.m4: Remove file.
39719         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39720         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39721
39722         * m4/mbsspn.m4: Remove file.
39723         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39724         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39725
39726         * m4/mbsstr.m4: Remove file.
39727         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39728         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39729
39730         * m4/mbstok_r.m4: Remove file.
39731         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39732         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39733
39734         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39735
39736         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39737         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39738
39739         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39740
39741 2009-03-08  Bruno Haible  <bruno@clisp.org>
39742
39743         Tests for module 'unicase/ulc-casecmp'.
39744         * modules/unicase/ulc-casecmp-tests: New file.
39745         * tests/unicase/test-ulc-casecmp1.sh: New file.
39746         * tests/unicase/test-ulc-casecmp2.sh: New file.
39747         * tests/unicase/test-ulc-casecmp.c: New file.
39748
39749         New module 'unicase/ulc-casecmp'.
39750         * lib/unicase.h (ulc_casecmp): New declaration.
39751         * lib/unicase/ulc-casecmp.c: New file.
39752         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39753         'const SRC_UNIT *'.
39754         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39755         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39756         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39757         * modules/unicase/ulc-casecmp: New file.
39758
39759         Tests for module 'unicase/u32-is-cased'.
39760         * modules/unicase/u32-is-cased-tests: New file.
39761         * tests/unicase/test-u32-is-cased.c: New file.
39762
39763         Tests for module 'unicase/u16-is-cased'.
39764         * modules/unicase/u16-is-cased-tests: New file.
39765         * tests/unicase/test-u16-is-cased.c: New file.
39766
39767         Tests for module 'unicase/u8-is-cased'.
39768         * modules/unicase/u8-is-cased-tests: New file.
39769         * tests/unicase/test-u8-is-cased.c: New file.
39770         * tests/unicase/test-is-cased.h: New file.
39771
39772         New module 'unicase/u32-is-cased'.
39773         * lib/unicase/u32-is-cased.c: New file.
39774         * modules/unicase/u32-is-cased: New file.
39775
39776         New module 'unicase/u16-is-cased'.
39777         * lib/unicase/u16-is-cased.c: New file.
39778         * modules/unicase/u16-is-cased: New file.
39779
39780         New module 'unicase/u8-is-cased'.
39781         * lib/unicase/u8-is-cased.c: New file.
39782         * lib/unicase/u-is-cased.h: New file.
39783         * modules/unicase/u8-is-cased: New file.
39784
39785         Tests for module 'unicase/u32-is-casefolded'.
39786         * modules/unicase/u32-is-casefolded-tests: New file.
39787         * tests/unicase/test-u32-is-casefolded.c: New file.
39788
39789         Tests for module 'unicase/u16-is-casefolded'.
39790         * modules/unicase/u16-is-casefolded-tests: New file.
39791         * tests/unicase/test-u16-is-casefolded.c: New file.
39792
39793         Tests for module 'unicase/u8-is-casefolded'.
39794         * modules/unicase/u8-is-casefolded-tests: New file.
39795         * tests/unicase/test-u8-is-casefolded.c: New file.
39796         * tests/unicase/test-is-casefolded.h: New file.
39797
39798         New module 'unicase/u32-is-casefolded'.
39799         * lib/unicase/u32-is-casefolded.c: New file.
39800         * modules/unicase/u32-is-casefolded: New file.
39801
39802         New module 'unicase/u16-is-casefolded'.
39803         * lib/unicase/u16-is-casefolded.c: New file.
39804         * modules/unicase/u16-is-casefolded: New file.
39805
39806         New module 'unicase/u8-is-casefolded'.
39807         * lib/unicase/u8-is-casefolded.c: New file.
39808         * modules/unicase/u8-is-casefolded: New file.
39809
39810         Tests for module 'unicase/u32-is-titlecase'.
39811         * modules/unicase/u32-is-titlecase-tests: New file.
39812         * tests/unicase/test-u32-is-titlecase.c: New file.
39813
39814         Tests for module 'unicase/u16-is-titlecase'.
39815         * modules/unicase/u16-is-titlecase-tests: New file.
39816         * tests/unicase/test-u16-is-titlecase.c: New file.
39817
39818         Tests for module 'unicase/u8-is-titlecase'.
39819         * modules/unicase/u8-is-titlecase-tests: New file.
39820         * tests/unicase/test-u8-is-titlecase.c: New file.
39821         * tests/unicase/test-is-titlecase.h: New file.
39822
39823         New module 'unicase/u32-is-titlecase'.
39824         * lib/unicase/u32-is-titlecase.c: New file.
39825         * modules/unicase/u32-is-titlecase: New file.
39826
39827         New module 'unicase/u16-is-titlecase'.
39828         * lib/unicase/u16-is-titlecase.c: New file.
39829         * modules/unicase/u16-is-titlecase: New file.
39830
39831         New module 'unicase/u8-is-titlecase'.
39832         * lib/unicase/u8-is-titlecase.c: New file.
39833         * modules/unicase/u8-is-titlecase: New file.
39834
39835         Tests for module 'unicase/u32-is-lowercase'.
39836         * modules/unicase/u32-is-lowercase-tests: New file.
39837         * tests/unicase/test-u32-is-lowercase.c: New file.
39838
39839         Tests for module 'unicase/u16-is-lowercase'.
39840         * modules/unicase/u16-is-lowercase-tests: New file.
39841         * tests/unicase/test-u16-is-lowercase.c: New file.
39842
39843         Tests for module 'unicase/u8-is-lowercase'.
39844         * modules/unicase/u8-is-lowercase-tests: New file.
39845         * tests/unicase/test-u8-is-lowercase.c: New file.
39846         * tests/unicase/test-is-lowercase.h: New file.
39847
39848         New module 'unicase/u32-is-lowercase'.
39849         * lib/unicase/u32-is-lowercase.c: New file.
39850         * modules/unicase/u32-is-lowercase: New file.
39851
39852         New module 'unicase/u16-is-lowercase'.
39853         * lib/unicase/u16-is-lowercase.c: New file.
39854         * modules/unicase/u16-is-lowercase: New file.
39855
39856         New module 'unicase/u8-is-lowercase'.
39857         * lib/unicase/u8-is-lowercase.c: New file.
39858         * modules/unicase/u8-is-lowercase: New file.
39859
39860         Tests for module 'unicase/u32-is-uppercase'.
39861         * modules/unicase/u32-is-uppercase-tests: New file.
39862         * tests/unicase/test-u32-is-uppercase.c: New file.
39863
39864         Tests for module 'unicase/u16-is-uppercase'.
39865         * modules/unicase/u16-is-uppercase-tests: New file.
39866         * tests/unicase/test-u16-is-uppercase.c: New file.
39867
39868         Tests for module 'unicase/u8-is-uppercase'.
39869         * modules/unicase/u8-is-uppercase-tests: New file.
39870         * tests/unicase/test-u8-is-uppercase.c: New file.
39871         * tests/unicase/test-is-uppercase.h: New file.
39872
39873         New module 'unicase/u32-is-uppercase'.
39874         * lib/unicase/u32-is-uppercase.c: New file.
39875         * modules/unicase/u32-is-uppercase: New file.
39876
39877         New module 'unicase/u16-is-uppercase'.
39878         * lib/unicase/u16-is-uppercase.c: New file.
39879         * modules/unicase/u16-is-uppercase: New file.
39880
39881         New module 'unicase/u8-is-uppercase'.
39882         * lib/unicase/u8-is-uppercase.c: New file.
39883         * modules/unicase/u8-is-uppercase: New file.
39884
39885         New module 'unicase/u32-is-invariant'.
39886         * lib/unicase/u32-is-invariant.c: New file.
39887         * modules/unicase/u32-is-invariant: New file.
39888
39889         New module 'unicase/u16-is-invariant'.
39890         * lib/unicase/u16-is-invariant.c: New file.
39891         * modules/unicase/u16-is-invariant: New file.
39892
39893         New module 'unicase/u8-is-invariant'.
39894         * lib/unicase/u8-is-invariant.c: New file.
39895         * lib/unicase/invariant.h: New file.
39896         * lib/unicase/u-is-invariant.h: New file.
39897         * modules/unicase/u8-is-invariant: New file.
39898
39899         Tests for module 'unicase/u32-casecoll'.
39900         * modules/unicase/u32-casecoll-tests: New file.
39901         * tests/unicase/test-u32-casecoll.c: New file.
39902
39903         Tests for module 'unicase/u16-casecoll'.
39904         * modules/unicase/u16-casecoll-tests: New file.
39905         * tests/unicase/test-u16-casecoll.c: New file.
39906
39907         Tests for module 'unicase/u8-casecoll'.
39908         * modules/unicase/u8-casecoll-tests: New file.
39909         * tests/unicase/test-u8-casecoll.c: New file.
39910
39911         New module 'unicase/u32-casecoll'.
39912         * lib/unicase/u32-casecoll.c: New file.
39913         * modules/unicase/u32-casecoll: New file.
39914
39915         New module 'unicase/u16-casecoll'.
39916         * lib/unicase/u16-casecoll.c: New file.
39917         * modules/unicase/u16-casecoll: New file.
39918
39919         New module 'unicase/u8-casecoll'.
39920         * lib/unicase/u8-casecoll.c: New file.
39921         * lib/unicase/u-casecoll.h: New file.
39922         * modules/unicase/u8-casecoll: New file.
39923
39924         New module 'unicase/u32-casexfrm'.
39925         * lib/unicase/u32-casexfrm.c: New file.
39926         * modules/unicase/u32-casexfrm: New file.
39927
39928         New module 'unicase/u16-casexfrm'.
39929         * lib/unicase/u16-casexfrm.c: New file.
39930         * modules/unicase/u16-casexfrm: New file.
39931
39932         New module 'unicase/u8-casexfrm'.
39933         * lib/unicase/u8-casexfrm.c: New file.
39934         * lib/unicase/u-casexfrm.h: New file.
39935         * modules/unicase/u8-casexfrm: New file.
39936
39937         Tests for module 'unicase/u32-casecmp'.
39938         * modules/unicase/u32-casecmp-tests: New file.
39939         * tests/unicase/test-u32-casecmp.c: New file.
39940
39941         Tests for module 'unicase/u16-casecmp'.
39942         * modules/unicase/u16-casecmp-tests: New file.
39943         * tests/unicase/test-u16-casecmp.c: New file.
39944
39945         Tests for module 'unicase/u8-casecmp'.
39946         * modules/unicase/u8-casecmp-tests: New file.
39947         * tests/unicase/test-u8-casecmp.c: New file.
39948         * tests/unicase/test-casecmp.h: New file.
39949
39950         New module 'unicase/u32-casecmp'.
39951         * lib/unicase/u32-casecmp.c: New file.
39952         * modules/unicase/u32-casecmp: New file.
39953
39954         New module 'unicase/u16-casecmp'.
39955         * lib/unicase/u16-casecmp.c: New file.
39956         * modules/unicase/u16-casecmp: New file.
39957
39958         New module 'unicase/u8-casecmp'.
39959         * lib/unicase/u8-casecmp.c: New file.
39960         * lib/unicase/u-casecmp.h: New file.
39961         * modules/unicase/u8-casecmp: New file.
39962
39963         Tests for module 'unicase/u32-casefold'.
39964         * modules/unicase/u32-casefold-tests: New file.
39965         * tests/unicase/test-u32-casefold.c: New file.
39966
39967         Tests for module 'unicase/u16-casefold'.
39968         * modules/unicase/u16-casefold-tests: New file.
39969         * tests/unicase/test-u16-casefold.c: New file.
39970
39971         Tests for module 'unicase/u8-casefold'.
39972         * modules/unicase/u8-casefold-tests: New file.
39973         * tests/unicase/test-u8-casefold.c: New file.
39974
39975         New module 'unicase/u32-casefold'.
39976         * lib/unicase/u32-casefold.c: New file.
39977         * modules/unicase/u32-casefold: New file.
39978
39979         New module 'unicase/u16-casefold'.
39980         * lib/unicase/u16-casefold.c: New file.
39981         * modules/unicase/u16-casefold: New file.
39982
39983         New module 'unicase/u8-casefold'.
39984         * lib/unicase/u8-casefold.c: New file.
39985         * lib/unicase/u-casefold.h: New file.
39986         * modules/unicase/u8-casefold: New file.
39987
39988         New module 'unicase/tocasefold'.
39989         * lib/unicase/casefold.h: New file.
39990         * lib/unicase/tocasefold.c: New file.
39991         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39992         * modules/unicase/tocasefold: New file.
39993
39994         Tests for module 'unicase/u32-totitle'.
39995         * modules/unicase/u32-totitle-tests: New file.
39996         * tests/unicase/test-u32-totitle.c: New file.
39997
39998         Tests for module 'unicase/u16-totitle'.
39999         * modules/unicase/u16-totitle-tests: New file.
40000         * tests/unicase/test-u16-totitle.c: New file.
40001
40002         Tests for module 'unicase/u8-totitle'.
40003         * modules/unicase/u8-totitle-tests: New file.
40004         * tests/unicase/test-u8-totitle.c: New file.
40005
40006         New module 'unicase/u32-totitle'.
40007         * lib/unicase/u32-totitle.c: New file.
40008         * modules/unicase/u32-totitle: New file.
40009
40010         New module 'unicase/u16-totitle'.
40011         * lib/unicase/u16-totitle.c: New file.
40012         * modules/unicase/u16-totitle: New file.
40013
40014         New module 'unicase/u8-totitle'.
40015         * lib/unicase/u8-totitle.c: New file.
40016         * lib/unicase/u-totitle.h: New file.
40017         * modules/unicase/u8-totitle: New file.
40018
40019         Tests for module 'unicase/u32-tolower'.
40020         * modules/unicase/u32-tolower-tests: New file.
40021         * tests/unicase/test-u32-tolower.c: New file.
40022
40023         Tests for module 'unicase/u16-tolower'.
40024         * modules/unicase/u16-tolower-tests: New file.
40025         * tests/unicase/test-u16-tolower.c: New file.
40026
40027         Tests for module 'unicase/u8-tolower'.
40028         * modules/unicase/u8-tolower-tests: New file.
40029         * tests/unicase/test-u8-tolower.c: New file.
40030
40031         New module 'unicase/u32-tolower'.
40032         * lib/unicase/u32-tolower.c: New file.
40033         * modules/unicase/u32-tolower: New file.
40034
40035         New module 'unicase/u16-tolower'.
40036         * lib/unicase/u16-tolower.c: New file.
40037         * modules/unicase/u16-tolower: New file.
40038
40039         New module 'unicase/u8-tolower'.
40040         * lib/unicase/u8-tolower.c: New file.
40041         * modules/unicase/u8-tolower: New file.
40042
40043         Tests for module 'unicase/u32-toupper'.
40044         * modules/unicase/u32-toupper-tests: New file.
40045         * tests/unicase/test-u32-toupper.c: New file.
40046
40047         Tests for module 'unicase/u16-toupper'.
40048         * modules/unicase/u16-toupper-tests: New file.
40049         * tests/unicase/test-u16-toupper.c: New file.
40050
40051         Tests for module 'unicase/u8-toupper'.
40052         * modules/unicase/u8-toupper-tests: New file.
40053         * tests/unicase/test-u8-toupper.c: New file.
40054
40055         New module 'unicase/u32-toupper'.
40056         * lib/unicase/u32-toupper.c: New file.
40057         * modules/unicase/u32-toupper: New file.
40058
40059         New module 'unicase/u16-toupper'.
40060         * lib/unicase/u16-toupper.c: New file.
40061         * modules/unicase/u16-toupper: New file.
40062
40063         New module 'unicase/u8-toupper'.
40064         * lib/unicase/u8-toupper.c: New file.
40065         * modules/unicase/u8-toupper: New file.
40066
40067         New module 'unicase/u32-casemap'.
40068         * lib/unicase/u32-casemap.c: New file.
40069         * modules/unicase/u32-casemap: New file.
40070
40071         New module 'unicase/u16-casemap'.
40072         * lib/unicase/u16-casemap.c: New file.
40073         * modules/unicase/u16-casemap: New file.
40074
40075         New module 'unicase/u8-casemap'.
40076         * lib/unicase/unicasemap.h: New file.
40077         * lib/unicase/u8-casemap.c: New file.
40078         * lib/unicase/u-casemap.h: New file.
40079         * modules/unicase/u8-casemap: New file.
40080
40081         New module 'unicase/special-casing'.
40082         * lib/unicase/special-casing.h: New file.
40083         * lib/unicase/special-casing.c: New file.
40084         * lib/unicase/special-casing-table.gperf: New file, generated by
40085         gen-uni-tables.c.
40086         * modules/unicase/special-casing: New file.
40087
40088         Tests for module 'unicase/locale-language'.
40089         * modules/unicase/locale-language-tests: New file.
40090         * tests/unicase/test-locale-language.sh: New file.
40091         * tests/unicase/test-locale-language.c: New file.
40092
40093         New module 'unicase/locale-language'.
40094         * lib/unicase/locale-language.c: New file.
40095         * lib/unicase/locale-languages.gperf: New file.
40096         * modules/unicase/locale-language: New file.
40097
40098         Generate more tables for case conversion and case folding.
40099         * lib/gen-uni-tables.c (SCC_*): New enum items.
40100         (struct special_casing_rule): New type.
40101         (casing_rules, num_casing_rules, allocated_casing_rules): New
40102         variables.
40103         (add_casing_rule, fill_casing_rules): New functions.
40104         (struct casefold_rule): New type.
40105         (casefolding_rules, num_casefolding_rules,
40106         allocated_casefolding_rules): New variables.
40107         (fill_casefolding_rules): New function.
40108         (unicode_casefold): New variable.
40109         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
40110         sort_casing_rules, output_casing_rules): New functions.
40111         (main): Accept to more arguments: SpecialCasing.txt and
40112         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
40113         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
40114         Output mapping for casefolding.
40115
40116         * lib/unicase.h: Include stdbool.h, uninorm.h.
40117         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
40118         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
40119         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
40120         arguments.
40121         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
40122         resultp arguments.
40123         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
40124         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
40125         resultp arguments.
40126         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
40127         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
40128         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
40129         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
40130         declarations.
40131         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
40132
40133 2009-03-08  Bruno Haible  <bruno@clisp.org>
40134
40135         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
40136         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
40137         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
40138         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
40139
40140 2009-03-07  Bruno Haible  <bruno@clisp.org>
40141
40142         Adjust u*_normcmp, u*_normcoll API.
40143         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
40144         u16_normcoll, u32_normcoll): Change failure conventions.
40145         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
40146         errno and return -1.
40147         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
40148
40149 2009-03-07  Bruno Haible  <bruno@clisp.org>
40150
40151         Tests for module 'uninorm/u32-normcoll'.
40152         * modules/uninorm/u32-normcoll-tests: New file.
40153         * tests/uninorm/test-u32-normcoll.c: New file.
40154
40155         Tests for module 'uninorm/u16-normcoll'.
40156         * modules/uninorm/u16-normcoll-tests: New file.
40157         * tests/uninorm/test-u16-normcoll.c: New file.
40158
40159         Tests for module 'uninorm/u8-normcoll'.
40160         * modules/uninorm/u8-normcoll-tests: New file.
40161         * tests/uninorm/test-u8-normcoll.c: New file.
40162
40163 2009-03-07  Bruno Haible  <bruno@clisp.org>
40164
40165         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
40166         tests/uninorm/test-u32-normcmp.c.
40167         * tests/uninorm/test-u32-normcmp.c: Include it.
40168         (test_nonascii): New function, extracted from main. Add some more
40169         tests.
40170         (main): Invoke test_ascii and test_nonascii.
40171         * modules/uninorm/u32-normcmp-tests (Files): Add
40172         tests/uninorm/test-u32-normcmp.h.
40173         (Depends-on): Remove uninorm/u32-normcmp.
40174
40175         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
40176         tests/uninorm/test-u16-normcmp.c.
40177         * tests/uninorm/test-u16-normcmp.c: Include it.
40178         (test_nonascii): New function, extracted from main. Add some more
40179         tests.
40180         (main): Invoke test_ascii and test_nonascii.
40181         * modules/uninorm/u16-normcmp-tests (Files): Add
40182         tests/uninorm/test-u16-normcmp.h.
40183         (Depends-on): Remove uninorm/u16-normcmp.
40184
40185         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
40186         tests/uninorm/test-u8-normcmp.c.
40187         * tests/uninorm/test-u8-normcmp.c: Include it.
40188         (test_nonascii): New function, extracted from main. Add some more
40189         tests.
40190         (main): Invoke test_ascii and test_nonascii.
40191         * modules/uninorm/u8-normcmp-tests (Files): Add
40192         tests/uninorm/test-u8-normcmp.h.
40193         (Depends-on): Remove uninorm/u8-normcmp.
40194
40195 2009-03-07  Bruno Haible  <bruno@clisp.org>
40196
40197         New module 'uninorm/u32-normcoll'.
40198         * lib/uninorm/u32-normcoll.c: New file.
40199         * modules/uninorm/u32-normcoll: New file.
40200
40201         New module 'uninorm/u16-normcoll'.
40202         * lib/uninorm/u16-normcoll.c: New file.
40203         * modules/uninorm/u16-normcoll: New file.
40204
40205         New module 'uninorm/u8-normcoll'.
40206         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
40207         declarations.
40208         * lib/uninorm/u8-normcoll.c: New file.
40209         * lib/uninorm/u-normcoll.h: New file.
40210         * modules/uninorm/u8-normcoll: New file.
40211
40212         New module 'uninorm/u32-normxfrm'.
40213         * lib/uninorm/u32-normxfrm.c: New file.
40214         * modules/uninorm/u32-normxfrm: New file.
40215
40216         New module 'uninorm/u16-normxfrm'.
40217         * lib/uninorm/u16-normxfrm.c: New file.
40218         * modules/uninorm/u16-normxfrm: New file.
40219
40220         New module 'uninorm/u8-normxfrm'.
40221         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
40222         declarations.
40223         * lib/uninorm/u8-normxfrm.c: New file.
40224         * lib/uninorm/u-normxfrm.h: New file.
40225         * modules/uninorm/u8-normxfrm: New file.
40226
40227 2009-03-07  Bruno Haible  <bruno@clisp.org>
40228
40229         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
40230         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
40231         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
40232
40233 2009-03-07  Bruno Haible  <bruno@clisp.org>
40234
40235         New module 'memxfrm'.
40236         * lib/memxfrm.h: New file.
40237         * lib/memxfrm.c: New file.
40238         * modules/memxfrm: New file.
40239
40240 2009-03-07  Bruno Haible  <bruno@clisp.org>
40241
40242         New module 'memcmp2'.
40243         * lib/memcmp2.h: New file.
40244         * lib/memcmp2.c: New file.
40245         * modules/memcmp2: New file.
40246
40247 2009-03-07  Bruno Haible  <bruno@clisp.org>
40248
40249         Tests for module 'uninorm/decomposing-form'.
40250         * modules/uninorm/decomposing-form-tests: New file.
40251         * tests/uninorm/test-decomposing-form.c: New file.
40252
40253         New module 'uninorm/decomposing-form'.
40254         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
40255         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
40256         Add 'decomposing_variant' field.
40257         * lib/uninorm/decomposing-form.c: New file.
40258         * lib/uninorm/nfc.c (uninorm_nfc): Update.
40259         * lib/uninorm/nfd.c (uninorm_nfd): Update.
40260         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
40261         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
40262         * modules/uninorm/decomposing-form: New file.
40263         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
40264         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
40265
40266 2009-03-07  Bruno Haible  <bruno@clisp.org>
40267
40268         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
40269         strings.
40270
40271 2009-03-06  Bruno Haible  <bruno@clisp.org>
40272
40273         Tests for module 'uninorm/u32-normcmp'.
40274         * tests/uninorm/test-u32-normcmp.c: New file.
40275         * modules/uninorm/u32-normcmp-tests: New file.
40276
40277         Tests for module 'uninorm/u16-normcmp'.
40278         * tests/uninorm/test-u16-normcmp.c: New file.
40279         * modules/uninorm/u16-normcmp-tests: New file.
40280
40281         Tests for module 'uninorm/u8-normcmp'.
40282         * tests/uninorm/test-u8-normcmp.c: New file.
40283         * modules/uninorm/u8-normcmp-tests: New file.
40284
40285         New module 'uninorm/u32-normcmp'.
40286         * lib/uninorm/u32-normcmp.c: New file.
40287         * modules/uninorm/u32-normcmp: New file.
40288
40289         New module 'uninorm/u16-normcmp'.
40290         * lib/uninorm/u16-normcmp.c: New file.
40291         * modules/uninorm/u16-normcmp: New file.
40292
40293         New module 'uninorm/u8-normcmp'.
40294         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
40295         declarations.
40296         * lib/uninorm/u8-normcmp.c: New file.
40297         * lib/uninorm/u-normcmp.h: New file.
40298         * modules/uninorm/u8-normcmp: New file.
40299
40300 2009-03-06  Bruno Haible  <bruno@clisp.org>
40301
40302         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
40303         Reported by Eric Blake.
40304
40305 2009-03-06  Eric Blake  <ebb9@byu.net>
40306             Bruno Haible  <bruno@clisp.org>
40307
40308         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
40309         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
40310         condition.
40311         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40312         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
40313         condition.
40314         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40315
40316 2009-03-06  Eric Blake  <ebb9@byu.net>
40317
40318         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
40319         to avoid compiler warnings.
40320         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
40321
40322 2009-03-05  Bruno Haible  <bruno@clisp.org>
40323
40324         * tests/test-ftell.c (main): Disable test beyond end of file on
40325         FreeMiNT.
40326         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40327
40328 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
40329
40330         * lib/filevercmp.c: Move hidden files up in ordering.
40331         * tests/test-filevercmp.c: Add tests for hidden files.
40332
40333 2009-03-04  Bruno Haible  <bruno@clisp.org>
40334
40335         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
40336         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
40337         AM_CFLAGS.
40338         Reported by Simon Josefsson.
40339
40340 2009-03-03  Bruno Haible  <bruno@clisp.org>
40341
40342         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
40343         Reported by Simon Josefsson.
40344
40345         * doc/ld-version-script.texi: Update node reference.
40346
40347 2009-03-03  Bruno Haible  <bruno@clisp.org>
40348
40349         * modules/visibility (License): Change to 'unlimited'.
40350         Suggested by Simon Josefsson.
40351
40352 2009-03-03  Jim Meyering  <meyering@redhat.com>
40353
40354         unlinkdir: cannot_unlink_dir may modify process state
40355         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
40356         it's neither thread-safe nor appropriate for use in a library.
40357
40358 2009-03-03  Eric Blake  <ebb9@byu.net>
40359
40360         test-closein: silence test under Darwin
40361         * tests/test-closein.sh: Ignore stderr from cat, since we don't
40362         care if it dies from EPIPE or EBADF.
40363
40364 2009-03-03  Bruno Haible  <bruno@clisp.org>
40365
40366         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
40367         earlier.
40368         * doc/visibility.texi: Fix @node and @section.
40369
40370 2009-03-03  Simon Josefsson  <simon@josefsson.org>
40371
40372         * doc/gnulib.texi: Link to sections for ld version script and
40373         visibility.
40374         * doc/visibility.texi: Add @node and @section.
40375         * modules/ld-version-script: New module.
40376         * m4/ld-version-script.m4: New file.
40377         * doc/ld-version-script.texi: New file.
40378
40379 2009-03-02  David Lutterkort  <lutter@redhat.com>
40380
40381         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
40382         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40383
40384 2009-03-02  Bruno Haible  <bruno@clisp.org>
40385
40386         * doc/visibility.texi: Mention libtool's -export-symbols option.
40387
40388 2009-03-02  Jim Meyering  <meyering@redhat.com>
40389
40390         announce-gen: new option: --no-print-checksums
40391         * build-aux/announce-gen (usage): Describe it.
40392         (print_checksums): Print a newline here, not in the [*] footnote.
40393         (main): Honor it.
40394
40395 2009-03-01  Bruno Haible  <bruno@clisp.org>
40396
40397         Use socklen_t in the native Windows replacements prototypes.
40398         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
40399         instead of 'int'.
40400         * lib/getsockopt.c (rpl_getsockopt): Likewise.
40401         * lib/setsockopt.c (rpl_setsockopt): Likewise.
40402         * modules/getsockopt (Depends-on): Add socklen.
40403         * modules/setsockopt (Depends-on): Add socklen.
40404
40405 2009-03-01  Bruno Haible  <bruno@clisp.org>
40406
40407         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40408         least 4.2.
40409
40410 2009-03-01  Eric Blake  <ebb9@byu.net>
40411             Bruno Haible  <bruno@clisp.org>
40412
40413         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40414         error messages.
40415         * lib/wait-process.c (wait_subprocess): Omit error message about
40416         deadly signal sent to the child of termsigp != NULL.
40417
40418 2009-03-01  Eric Blake  <ebb9@byu.net>
40419
40420         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40421
40422 2009-03-01  Bruno Haible  <bruno@clisp.org>
40423
40424         Avoid a gcc warning.
40425         * tests/test-sched.c (b): Make global.
40426         Reported by Eric Blake.
40427
40428 2009-01-19  Martin Lambers  <marlam@marlam.de>
40429
40430         Provide POSIX semantics for socket timeout options on W32.
40431         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40432         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40433         * modules/setsockopt: Depend on sys_time module for struct timeval.
40434         * modules/getsockopt: Depend on sys_time module for struct timeval.
40435
40436 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40437
40438         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40439         __USE_GNU, for consistency with netdb.in.h.
40440         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40441
40442 2009-03-01  Bruno Haible  <bruno@clisp.org>
40443
40444         More support for FreeMiNT.
40445         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40446         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40447
40448 2009-03-01  Bruno Haible  <bruno@clisp.org>
40449
40450         More support for FreeMiNT.
40451         * lib/fpurge.c (fpurge): Correct last commit.
40452         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40453
40454 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40455
40456         Fix unportable awk script in vc-list-files.
40457         * build-aux/vc-list-files: In the replacement awk script, use
40458         substr with a second argument of 1, not zero.
40459         Report by Simon Josefsson.
40460
40461 2009-02-28  Bruno Haible  <bruno@clisp.org>
40462
40463         More support for FreeMiNT.
40464         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40465         to FreeMiNT today.
40466         * lib/fwriting.c (fwriting): Likewise.
40467         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40468
40469 2009-02-28  Bruno Haible  <bruno@clisp.org>
40470
40471         * tests/test-freadseek.c (main): Disable test beyond end of file on
40472         FreeMiNT.
40473         * tests/test-ftello.c (main): Likewise.
40474         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40475
40476 2009-02-28  Bruno Haible  <bruno@clisp.org>
40477
40478         Add tentative support for FreeMiNT.
40479         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40480         * lib/fpurge.c (fpurge): Likewise.
40481         * lib/freadable.c (freadable): Likewise.
40482         * lib/freading.c (freading): Likewise.
40483         * lib/freadptr.c (freadptr): Likewise.
40484         * lib/freadseek.c (freadptrinc): Likewise.
40485         * lib/fseeko.c (rpl_fseeko): Likewise.
40486         * lib/fseterr.c (fseterr): Likewise.
40487         * lib/fwritable.c (fwritable): Likewise.
40488         * lib/fwriting.c (fwriting): Likewise.
40489         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40490         Hourihane.
40491         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40492
40493 2009-02-28  Bruno Haible  <bruno@clisp.org>
40494
40495         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40496         SIGCHLD.
40497         Reported by Jim Meyering.
40498
40499 2009-02-28  Bruno Haible  <bruno@clisp.org>
40500
40501         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40502         Mention the results of these tests on various platforms.
40503         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40504         order.
40505         * doc/posix-functions/printf.texi: Likewise.
40506         * doc/posix-functions/snprintf.texi: Likewise.
40507         * doc/posix-functions/sprintf.texi: Likewise.
40508         * doc/posix-functions/vfprintf.texi: Likewise.
40509         * doc/posix-functions/vprintf.texi: Likewise.
40510         * doc/posix-functions/vsnprintf.texi: Likewise.
40511         * doc/posix-functions/vsprintf.texi: Likewise.
40512         * doc/glibc-functions/obstack_printf.texi: Likewise.
40513         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40514
40515 2009-02-28  Bruno Haible  <bruno@clisp.org>
40516
40517         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40518         Reported by Loïc Minier <lool@dooz.org>.
40519
40520 2009-02-27  Bruno Haible  <bruno@clisp.org>
40521
40522         * gnulib-tool (func_import): Make the sed expression used to create the
40523         sed script for updating the .gitignore file POSIX compliant.
40524         Reported by Eric Blake.
40525
40526 2009-02-27  Bruno Haible  <bruno@clisp.org>
40527
40528         * gnulib-tool (sed): Don't alias as "sed --posix".
40529         Reported by Eric Blake.
40530
40531 2009-02-27  Bruno Haible  <bruno@clisp.org>
40532
40533         Avoid test link errors.
40534         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40535         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40536         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40537         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40538         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40539
40540 2009-02-27  Bruno Haible  <bruno@clisp.org>
40541
40542         Avoid spurious "(cached)" in configure output.
40543         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40544         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40545         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40546         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40547         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40548         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40549         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40550         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40551         Reported by Eric Blake.
40552
40553 2009-02-27  Eric Blake  <ebb9@byu.net>
40554
40555         printf: fix regression in previous patch
40556         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40557
40558 2009-02-27  Bruno Haible  <bruno@clisp.org>
40559
40560         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40561         value.
40562         * lib/stdint.in.h: Likewise.
40563         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40564
40565 2009-02-27  Eric Blake  <ebb9@byu.net>
40566
40567         doc: mention more functions added in cygwin 1.7.0
40568         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40569         addition.
40570         * doc/posix-functions/open_wmemstream.texi: Likewise.
40571         * doc/posix-functions/wcsnlen.texi: Likewise.
40572         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40573         * doc/posix-functions/wcstod.texi: Likewise.
40574         * doc/posix-functions/wcstof.texi: Likewise.
40575         * doc/posix-functions/wcstoimax.texi: Likewise.
40576         * doc/posix-functions/wcstok.texi: Likewise.
40577         * doc/posix-functions/wcstoumax.texi: Likewise.
40578
40579         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40580         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40581         * doc/posix-functions/fprintf.texi: Update.
40582         * doc/posix-functions/printf.texi: Update.
40583         * doc/posix-functions/snprintf.texi: Update.
40584         * doc/posix-functions/sprintf.texi: Update.
40585         * doc/posix-functions/vfprintf.texi: Update.
40586         * doc/posix-functions/vprintf.texi: Update.
40587         * doc/posix-functions/vsnprintf.texi: Update.
40588         * doc/posix-functions/vsprintf.texi: Update.
40589         * doc/glibc-functions/obstack_printf.texi: Update.
40590         * doc/glibc-functions/obstack_vprintf.texi: Update.
40591
40592 2009-02-26  Eric Blake  <ebb9@byu.net>
40593
40594         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40595         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40596         compilation bug by using runtime conversion.
40597         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40598         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40599         * modules/ceill-tests (Files): Use nan.h.
40600         * modules/floorl-tests (Files): Likewise.
40601         * modules/frexpl-tests (Files): Likewise.
40602         * modules/isnanl-tests (Files): Likewise.
40603         * modules/ldexpl-tests (Files): Likewise.
40604         * modules/roundl-tests (Files): Likewise.
40605         * modules/truncl-tests (Files): Likewise.
40606         * tests/test-ceill.c (main): Use a working NaN.
40607         * tests/test-floorl.c (main): Likewise.
40608         * tests/test-frexpl.c (main): Likewise.
40609         * tests/test-isnan.c (test_long_double): Likewise.
40610         * tests/test-isnanl.h (main): Likewise.
40611         * tests/test-ldexpl.h (main): Likewise.
40612         * tests/test-roundl.h (main): Likewise.
40613         * tests/test-truncl.h (main): Likewise.
40614         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40615
40616 2009-02-26  Eric Blake  <ebb9@byu.net>
40617             Bruno Haible  <bruno@clisp.org>
40618
40619         Work around a *printf bug with %ls on Solaris.
40620         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40621         precision is specified, sprintf stops converting the wide string
40622         argument when the number of bytes that have been produced by this
40623         conversion equals or exceeds the precision.
40624         * doc/posix-functions/fprintf.texi: Update.
40625         * doc/posix-functions/printf.texi: Update.
40626         * doc/posix-functions/snprintf.texi: Update.
40627         * doc/posix-functions/sprintf.texi: Update.
40628         * doc/posix-functions/vfprintf.texi: Update.
40629         * doc/posix-functions/vprintf.texi: Update.
40630         * doc/posix-functions/vsnprintf.texi: Update.
40631         * doc/posix-functions/vsprintf.texi: Update.
40632         * doc/glibc-functions/obstack_printf.texi: Update.
40633         * doc/glibc-functions/obstack_vprintf.texi: Update.
40634
40635 2009-02-26  Eric Blake  <ebb9@byu.net>
40636
40637         stdlib: favor compiler check of random.h
40638         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40639         to avoid an ObjC random.h installed by Swarm.
40640
40641 2009-02-26  Bruno Haible  <bruno@clisp.org>
40642
40643         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40644         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40645         Reported by Gary V. Vaughan <gary@gnu.org>.
40646
40647 2009-02-26  Bruno Haible  <bruno@clisp.org>
40648
40649         Fix *printf behaviour regarding the %ls directive.
40650         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40651         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40652         NEED_PRINTF_DIRECTIVE_LS.
40653         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40654         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40655         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40656         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40657         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40658         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40659         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40660         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40661         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40662         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40663         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40664         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40665         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40666         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40667         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40668         * doc/posix-functions/fprintf.texi: Update.
40669         * doc/posix-functions/printf.texi: Update.
40670         * doc/posix-functions/snprintf.texi: Update.
40671         * doc/posix-functions/sprintf.texi: Update.
40672         * doc/posix-functions/vfprintf.texi: Update.
40673         * doc/posix-functions/vprintf.texi: Update.
40674         * doc/posix-functions/vsnprintf.texi: Update.
40675         * doc/posix-functions/vsprintf.texi: Update.
40676         * doc/glibc-functions/obstack_printf.texi: Update.
40677         * doc/glibc-functions/obstack_vprintf.texi: Update.
40678         Reported by Eric Blake.
40679
40680 2009-02-25  Bruno Haible  <bruno@clisp.org>
40681
40682         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40683         with known value.
40684         Reported by Gary V. Vaughan <gary@gnu.org>.
40685
40686 2009-02-25  Bruno Haible  <bruno@clisp.org>
40687
40688         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40689         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40690         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40691         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40692         Reported by Gary V. Vaughan <gary@gnu.org>.
40693
40694 2009-02-25  Bruno Haible  <bruno@clisp.org>
40695
40696         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40697         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40698         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40699         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40700         Reported by Gary V. Vaughan <gary@gnu.org>.
40701
40702 2009-02-25  Eric Blake  <ebb9@byu.net>
40703
40704         tests: skip fseek/ftell tests if ungetc is broken
40705         * m4/ungetc.m4: New file.
40706         * modules/fseek-tests: Split test, so ungetc dependency is
40707         separate from rest of test.
40708         * modules/fseeko-tests: Likewise.
40709         * modules/ftell-tests: Likewise.
40710         * modules/ftello-tests: Likewise.
40711         * tests/test-fseek.c (main): Isolate ungetc dependency.
40712         * tests/test-fseeko.c (main): Likewise.
40713         * tests/test-ftell.c (main): Likewise.
40714         * tests/test-ftello.c (main): Likewise.
40715         * tests/test-fseek2.sh: New file.
40716         * tests/test-fseeko2.sh: Likewise.
40717         * tests/test-ftell2.sh: Likewise.
40718         * tests/test-ftello2.sh: Likewise.
40719
40720 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40721
40722         test-getaddrinfo: fix usage of skip return code 77
40723         * tests/test-gettaddrinfo.c: Return skip code 77 only
40724         for first occurance of skip (4x77 is not 77)
40725
40726 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40727
40728         strtod: avoid C99 decl-after-statement
40729         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40730
40731 2009-02-24  Eric Blake  <ebb9@byu.net>
40732
40733         strtod: detect HP-UX 11.31 bug
40734         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40735         Reported by Gary V. Vaughan.
40736
40737 2009-02-23  Bruno Haible  <bruno@clisp.org>
40738
40739         Fix invalid read past end of memory block.
40740         * lib/vasnprintf.c (DCHAR_SET): Define.
40741         (local_wcslen): Define only when needed.
40742         (local_strnlen, local_wcsnlen): New functions.
40743         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40744         directives that involve a conversion ourselves.
40745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40746         wcsnlen, mbrtowc, wcrtomb.
40747         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40748         * tests/test-vasprintf-posix.c (test_function): Likewise.
40749         * tests/test-snprintf-posix.h (test_function): Likewise.
40750         * tests/test-sprintf-posix.h (test_function): Likewise.
40751         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40752
40753 2009-02-22  Bruno Haible  <bruno@clisp.org>
40754
40755         Implement new clarified decomposition of Hangul syllables.
40756         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40757         of type LTV, return only a pairwise decomposition.
40758         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40759         Likewise.
40760         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40761         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40762         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40763
40764 2009-02-22  Bruno Haible  <bruno@clisp.org>
40765
40766         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40767         zero-length results and shrink excess allocated memory.
40768         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40769         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40770         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40771         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40772         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40773         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40774         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40775         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40776         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40777         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40778         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40779         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40780
40781 2009-02-21  Bruno Haible  <bruno@clisp.org>
40782
40783         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40784         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40785         spaces after a period. Put a space between a macro name and its
40786         argument list. Trivial rewordings.
40787         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40788         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40789         (main): Return 0 explicitly.
40790
40791 2009-02-21  Bruno Haible  <bruno@clisp.org>
40792
40793         Tests for module 'uninorm/filter'.
40794         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40795         * modules/uninorm/filter-tests: New file.
40796
40797         New module 'uninorm/filter'.
40798         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40799         uninorm_filter_flush, uninorm_filter_free): New declarations.
40800         * lib/uninorm/uninorm-filter.c: New file.
40801         * modules/uninorm/filter: New file.
40802
40803 2009-02-21  Bruno Haible  <bruno@clisp.org>
40804
40805         Tests for module 'uninorm/nfkc'.
40806         * tests/uninorm/test-nfkc.c: New file.
40807         * tests/uninorm/test-u8-nfkc.c: New file.
40808         * tests/uninorm/test-u16-nfkc.c: New file.
40809         * tests/uninorm/test-u32-nfkc.c: New file.
40810         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40811         * tests/uninorm/test-u32-nfkc-big.c: New file.
40812         * modules/uninorm/nfkc-tests: New file.
40813
40814         New module 'uninorm/nfkc'.
40815         * lib/uninorm/nfkc.c: New file.
40816         * modules/uninorm/nfkc: New file.
40817
40818         Tests for module 'uninorm/nfkd'.
40819         * tests/uninorm/test-nfkd.c: New file.
40820         * tests/uninorm/test-u8-nfkd.c: New file.
40821         * tests/uninorm/test-u16-nfkd.c: New file.
40822         * tests/uninorm/test-u32-nfkd.c: New file.
40823         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40824         * tests/uninorm/test-u32-nfkd-big.c: New file.
40825         * modules/uninorm/nfkd-tests: New file.
40826
40827         New module 'uninorm/nfkd'.
40828         * lib/uninorm/nfkd.c: New file.
40829         * modules/uninorm/nfkd: New file.
40830
40831         Tests for module 'uninorm/nfc'.
40832         * tests/uninorm/test-nfc.c: New file.
40833         * tests/uninorm/test-u8-nfc.c: New file.
40834         * tests/uninorm/test-u16-nfc.c: New file.
40835         * tests/uninorm/test-u32-nfc.c: New file.
40836         * tests/uninorm/test-u32-nfc-big.sh: New file.
40837         * tests/uninorm/test-u32-nfc-big.c: New file.
40838         * modules/uninorm/nfc-tests: New file.
40839
40840         New module 'uninorm/nfc'.
40841         * lib/uninorm/nfc.c: New file.
40842         * modules/uninorm/nfc: New file.
40843
40844         Tests for module 'uninorm/nfd'.
40845         * tests/uninorm/test-nfd.c: New file.
40846         * tests/uninorm/test-u8-nfd.c: New file.
40847         * tests/uninorm/test-u16-nfd.c: New file.
40848         * tests/uninorm/test-u32-nfd.c: New file.
40849         * tests/uninorm/test-u32-nfd-big.sh: New file.
40850         * tests/uninorm/test-u32-nfd-big.c: New file.
40851         * tests/uninorm/test-u32-normalize-big.h: New file.
40852         * tests/uninorm/test-u32-normalize-big.c: New file.
40853         * tests/uninorm/NormalizationTest.txt: New file, created from
40854         Unicode 5.1.0 NormalizationTest.txt.
40855         * modules/uninorm/nfd-tests: New file.
40856
40857         New module 'uninorm/nfd'.
40858         * lib/uninorm/nfd.c: New file.
40859         * modules/uninorm/nfd: New file.
40860
40861         New module 'uninorm/u32-normalize'.
40862         * lib/uninorm/u32-normalize.c: New file.
40863         * modules/uninorm/u32-normalize: New file.
40864
40865         New module 'uninorm/u16-normalize'.
40866         * lib/uninorm/u16-normalize.c: New file.
40867         * modules/uninorm/u16-normalize: New file.
40868
40869         New module 'uninorm/u8-normalize'.
40870         * lib/uninorm/u8-normalize.c: New file.
40871         * lib/uninorm/normalize-internal.h: New file.
40872         * lib/uninorm/u-normalize-internal.h: New file.
40873         * modules/uninorm/u8-normalize: New file.
40874
40875         New module 'uninorm/decompose-internal'.
40876         * lib/uninorm/decompose-internal.c: New file.
40877         * modules/uninorm/decompose-internal: New file.
40878
40879         Tests for module 'uninorm/composition'.
40880         * tests/uninorm/test-composition.c: New file.
40881         * modules/uninorm/composition-tests: New file.
40882
40883         New module 'uninorm/composition'.
40884         * lib/uninorm/composition.c: New file.
40885         * lib/uninorm/composition-table.gperf: New file, generated by
40886         gen-uni-tables.
40887         * modules/uninorm/composition: New file.
40888
40889         Tests for module 'uninorm/compat-decomposition'.
40890         * tests/uninorm/test-compat-decomposition.c: New file.
40891         * modules/uninorm/compat-decomposition-tests: New file.
40892
40893         New module 'uninorm/compat-decomposition'.
40894         * lib/uninorm/decompose-internal.h: New file.
40895         * lib/uninorm/compat-decomposition.c: New file.
40896         * modules/uninorm/compat-decomposition: New file.
40897
40898         Tests for module 'uninorm/canonical-decomposition'.
40899         * tests/uninorm/test-canonical-decomposition.c: New file.
40900         * modules/uninorm/canonical-decomposition-tests: New file.
40901
40902         New module 'uninorm/canonical-decomposition'.
40903         * lib/uninorm/canonical-decomposition.c: New file.
40904         * modules/uninorm/canonical-decomposition: New file.
40905
40906         Tests for module 'uninorm/decomposition'.
40907         * tests/uninorm/test-decomposition.c: New file.
40908         * modules/uninorm/decomposition-tests: New file.
40909
40910         New module 'uninorm/decomposition'.
40911         * lib/uninorm/decomposition.c: New file.
40912         * modules/uninorm/decomposition: New file.
40913
40914         New module 'uninorm/decomposition-table'.
40915         * lib/uninorm/decomposition-table.h: New file.
40916         * lib/uninorm/decomposition-table.c: New file.
40917         * lib/uninorm/decomposition-table1.h: New file, generated by
40918         gen-uni-tables.
40919         * lib/uninorm/decomposition-table2.h: New file, generated by
40920         gen-uni-tables.
40921         * modules/uninorm/decomposition-table: New file.
40922
40923         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40924         (UC_DECOMP_*): New enumeration items.
40925         (get_decomposition): New function.
40926         (struct decomp_table): New type.
40927         (output_decomposition, output_decomposition_tables): New functions.
40928         (unicode_composition_exclusions): New variable.
40929         (fill_composition_exclusions, debug_output_composition_tables): New
40930         functions.
40931         (main): Accept one more argument. Invoke fill_composition_exclusions.
40932         Output decomposition and composition tables.
40933
40934         New module 'uninorm/base'.
40935         * lib/uninorm.h: New file.
40936         * lib/unictype.h: Update comment.
40937         * modules/uninorm/base: New file.
40938
40939 2009-02-21  David Lutterkort  <lutter@redhat.com>
40940
40941         Tests for module 'safe-alloc'.
40942         * tests/test-safe-alloc.c: New file.
40943         * modules/safe-alloc-tests: New file.
40944
40945         New module 'safe-alloc'.
40946         * lib/safe-alloc.h: New file.
40947         * lib/safe-alloc.c: New file.
40948         * m4/safe-alloc.m4: New file.
40949         * modules/safe-alloc: New file.
40950         * doc/safe-alloc.texi: New file.
40951         * doc/gnulib.texi: Include it.
40952         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40953         safe-alloc.
40954
40955 2009-02-18  Bruno Haible  <bruno@clisp.org>
40956
40957         Fix link error on non-glibc systems.
40958         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40959         variable.
40960         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40961
40962 2009-02-18  Jim Meyering  <meyering@redhat.com>
40963
40964         fts: avoid used-uninitialized error due to recent change
40965         * lib/fts.c (fts_read): Guard uses of the new member,
40966         parent->fts_n_dirs_remaining, since it's not relevant for
40967         the parent of a directory specified on the command-line.
40968
40969 2009-02-17  James Youngman  <jay@gnu.org>
40970             Bruno Haible  <bruno@clisp.org>
40971
40972         * m4/include_next.m4: Reformulate comment.
40973
40974 2009-02-16  Jim Meyering  <meyering@redhat.com>
40975
40976         fts: add #if guards so that the fts_lgpl module still builds
40977         * lib/fts.c: Guard just-added hash-table-using parts with
40978         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40979         Reported by Simon Josefsson.
40980
40981 2009-02-15  Bruno Haible  <bruno@clisp.org>
40982
40983         * modules/array-mergesort-tests: New file.
40984         * tests/test-array-mergesort.c: New file.
40985
40986         New module 'array-mergesort'.
40987         * modules/array-mergesort: New file.
40988         * lib/array-mergesort.h: New file.
40989
40990 2009-02-15  Bruno Haible  <bruno@clisp.org>
40991
40992         Fix 2009-02-07 commit.
40993         * lib/gen-uni-tables.c (output_predicate, output_category,
40994         output_combclass, output_bidi_category, output_decimal_digit,
40995         output_digit, output_numeric, output_mirror, output_scripts,
40996         output_ident_category, output_simple_mapping): Fix format directives.
40997         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40998
40999 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
41000
41001         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
41002         fixes are available from IBM.
41003
41004 2009-02-13  Jim Meyering  <meyering@redhat.com>
41005
41006         fts: arrange not to stat non-directories in more cases
41007         This makes GNU find (when it doesn't need to stat each file)
41008         *much* more efficient at traversing reiserfs file systems.
41009         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
41010         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
41011         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
41012         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
41013         (leaf_optimization_applies): New function.
41014         (LCO_hash, LCO_compare): New helper functions.
41015         (link_count_optimize_ok): New function.
41016         (fts_stat): Initialize new member (if dir).
41017         (fts_read): Decrement parent's fts_n_dirs_remaining count if
41018         we've just stat'ed a directory.  Skip the stat call when possible.
41019         ---
41020         Note this AFS-related exchange:
41021         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
41022         and note find's pioctl call in find/fstype.c.
41023         But that is necessary only if you want to enable the
41024         optimization for AFS, and for now, I don't.
41025
41026         fts: move a function definition "up" (no semantic change)
41027         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
41028         "up" to precede upcoming use of a related function.
41029
41030 2009-02-11  Jim Meyering  <meyering@redhat.com>
41031
41032         fts: correct internal computation of nlinks (optimization-related)
41033         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
41034         whether the current entry is a directory, so don't test it.
41035
41036 2009-02-10  Bruno Haible  <bruno@clisp.org>
41037
41038         Tests for module 'uniwbrk/ulc-wordbreaks'.
41039         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
41040         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
41041         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
41042
41043         Tests for module 'uniwbrk/u32-wordbreaks'.
41044         * modules/uniwbrk/u32-wordbreaks-tests: New file.
41045         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
41046
41047         Tests for module 'uniwbrk/u16-wordbreaks'.
41048         * modules/uniwbrk/u16-wordbreaks-tests: New file.
41049         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
41050
41051         Tests for module 'uniwbrk/u8-wordbreaks'.
41052         * modules/uniwbrk/u8-wordbreaks-tests: New file.
41053         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
41054
41055 2009-02-10  Bruno Haible  <bruno@clisp.org>
41056
41057         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
41058         property.
41059         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
41060         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
41061         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
41062
41063 2009-02-10  Simon Josefsson  <simon@josefsson.org>
41064
41065         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
41066         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
41067
41068 2009-02-10  Bruno Haible  <bruno@clisp.org>
41069
41070         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
41071         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
41072         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
41073         * lib/unilbrk/u8-possible-linebreaks.c: Update.
41074         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
41075         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
41076
41077 2009-02-09  Simon Josefsson  <simon@josefsson.org>
41078
41079         * lib/sockets.h (gl_fd_to_handle): New function.
41080
41081         * tests/test-sockets.c: Call gl_fd_to_handle.
41082
41083 2009-02-09  Bruno Haible  <bruno@clisp.org>
41084
41085         * doc/havelib.texi: Document the conventions on bi-arch systems.
41086
41087 2009-02-08  Bruno Haible  <bruno@clisp.org>
41088
41089         Document the AC_LIB_LINKFLAGS macro.
41090         * doc/havelib.texi: New file, mostly written on 2005-05-24.
41091         * doc/gnulib.texi: Include it.
41092
41093 2009-02-08  Bruno Haible  <bruno@clisp.org>
41094
41095         Fix wrong order of sections, compared to TOC.
41096         * doc/gnulib.texi: Include relocatable-maint.texi after the
41097         "Regular expressions" node, not before.
41098
41099 2009-02-08  Bruno Haible  <bruno@clisp.org>
41100
41101         Tests for module 'unicase/totitle'.
41102         * modules/unicase/totitle-tests: New file.
41103
41104         Tests for module 'unicase/tolower'.
41105         * modules/unicase/tolower-tests: New file.
41106
41107         Tests for module 'unicase/toupper'.
41108         * modules/unicase/toupper-tests: New file.
41109         * tests/unicase/test-mapping-part1.h: New file.
41110         * tests/unicase/test-mapping-part2.h: New file.
41111
41112         New module 'unicase/totitle'.
41113         * modules/unicase/totitle: New file.
41114         * lib/unicase/totitle.c: New file.
41115
41116         New module 'unicase/tolower'.
41117         * modules/unicase/tolower: New file.
41118         * lib/unicase/tolower.c: New file.
41119
41120         New module 'unicase/toupper'.
41121         * modules/unicase/toupper: New file.
41122         * lib/unicase/toupper.c: New file.
41123         * lib/unicase/simple-mapping.h: New file.
41124
41125         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
41126         (mapping_table): New structure.
41127         (output_simple_mapping): New function.
41128         (main): Invoke output_simple_mapping_test and output_simple_mapping.
41129         * modules/gen-uni-tables (Description): Update.
41130         * lib/unicase/toupper.h: New file, automatically generated by
41131         gen-uni-tables.
41132         * lib/unicase/tolower.h: New file, automatically generated by
41133         gen-uni-tables.
41134         * lib/unicase/totitle.h: New file, automatically generated by
41135         gen-uni-tables.
41136         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
41137         gen-uni-tables.
41138         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
41139         gen-uni-tables.
41140         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
41141         gen-uni-tables.
41142
41143         New module 'unicase/base'.
41144         * modules/unicase/base: New file.
41145         * lib/unicase.h: New file.
41146
41147 2009-02-08  Bruno Haible  <bruno@clisp.org>
41148
41149         New module 'uniwbrk/ulc-wordbreaks'.
41150         * modules/uniwbrk/ulc-wordbreaks: New file.
41151         * lib/uniwbrk/ulc-wordbreaks.c: New file.
41152
41153         New module 'uniwbrk/u32-wordbreaks'.
41154         * modules/uniwbrk/u32-wordbreaks: New file.
41155         * lib/uniwbrk/u32-wordbreaks.c: New file.
41156
41157         New module 'uniwbrk/u16-wordbreaks'.
41158         * modules/uniwbrk/u16-wordbreaks: New file.
41159         * lib/uniwbrk/u16-wordbreaks.c: New file.
41160
41161         New module 'uniwbrk/u8-wordbreaks'.
41162         * modules/uniwbrk/u8-wordbreaks: New file.
41163         * lib/uniwbrk/u8-wordbreaks.c: New file.
41164         * lib/uniwbrk/u-wordbreaks.h: New file.
41165
41166         New module 'uniwbrk/table'.
41167         * modules/uniwbrk/table: New file.
41168         * lib/uniwbrk/wbrktable.h: New file.
41169         * lib/uniwbrk/wbrktable.c: New file.
41170
41171         New module 'uniwbrk/wordbreak-property'.
41172         * modules/uniwbrk/wordbreak-property: New file.
41173         * lib/uniwbrk/wordbreak-property.c: New file.
41174
41175         * lib/gen-uni-tables.c (WBP_*): New enum items.
41176         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
41177         (unicode_org_wbp): New variable.
41178         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
41179         New functions.
41180         (wbp_table): New structure.
41181         (output_wbp, output_wbrk_tables): New functions.
41182         (main): Accept additional argument. Invoke fill_org_wbp,
41183         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
41184         output_wbrk_tables.
41185         * modules/gen-uni-tables (Description): Update.
41186         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
41187         gen-uni-tables.
41188
41189         New module 'uniwbrk/base'.
41190         * modules/uniwbrk/base: New file.
41191         * lib/uniwbrk.h: New file.
41192
41193 2009-02-08  Bruno Haible  <bruno@clisp.org>
41194
41195         Update to Unicode 5.1.0.
41196         * lib/gen-uni-tables.c (is_property_alphabetic): Include
41197         U+2185..U+2188.
41198         (is_property_default_ignorable_code_point): Don't include characters
41199         of category Cc or Cs and not-a-characters.
41200         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
41201         U+0D79, U+109E, U+109F, U+A60C.
41202         * lib/unictype/bidi_of.h: Regenerated.
41203         * lib/unictype/blocks.h: Regenerated.
41204         * lib/unictype/categ_C.h: Regenerated.
41205         * lib/unictype/categ_Cf.h: Regenerated.
41206         * lib/unictype/categ_Cn.h: Regenerated.
41207         * lib/unictype/categ_L.h: Regenerated.
41208         * lib/unictype/categ_Ll.h: Regenerated.
41209         * lib/unictype/categ_Lm.h: Regenerated.
41210         * lib/unictype/categ_Lo.h: Regenerated.
41211         * lib/unictype/categ_Lu.h: Regenerated.
41212         * lib/unictype/categ_M.h: Regenerated.
41213         * lib/unictype/categ_Mc.h: Regenerated.
41214         * lib/unictype/categ_Me.h: Regenerated.
41215         * lib/unictype/categ_Mn.h: Regenerated.
41216         * lib/unictype/categ_N.h: Regenerated.
41217         * lib/unictype/categ_Nd.h: Regenerated.
41218         * lib/unictype/categ_Nl.h: Regenerated.
41219         * lib/unictype/categ_No.h: Regenerated.
41220         * lib/unictype/categ_P.h: Regenerated.
41221         * lib/unictype/categ_Pd.h: Regenerated.
41222         * lib/unictype/categ_Pe.h: Regenerated.
41223         * lib/unictype/categ_Pf.h: Regenerated.
41224         * lib/unictype/categ_Pi.h: Regenerated.
41225         * lib/unictype/categ_Po.h: Regenerated.
41226         * lib/unictype/categ_Ps.h: Regenerated.
41227         * lib/unictype/categ_S.h: Regenerated.
41228         * lib/unictype/categ_Sk.h: Regenerated.
41229         * lib/unictype/categ_Sm.h: Regenerated.
41230         * lib/unictype/categ_So.h: Regenerated.
41231         * lib/unictype/categ_of.h: Regenerated.
41232         * lib/unictype/combining.h: Regenerated.
41233         * lib/unictype/ctype_alnum.h: Regenerated.
41234         * lib/unictype/ctype_alpha.h: Regenerated.
41235         * lib/unictype/ctype_graph.h: Regenerated.
41236         * lib/unictype/ctype_lower.h: Regenerated.
41237         * lib/unictype/ctype_print.h: Regenerated.
41238         * lib/unictype/ctype_punct.h: Regenerated.
41239         * lib/unictype/ctype_upper.h: Regenerated.
41240         * lib/unictype/decdigit.h: Regenerated.
41241         * lib/unictype/digit.h: Regenerated.
41242         * lib/unictype/mirror.h: Regenerated.
41243         * lib/unictype/numeric.h: Regenerated.
41244         * lib/unictype/pr_alphabetic.h: Regenerated.
41245         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
41246         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
41247         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
41248         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
41249         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
41250         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
41251         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
41252         * lib/unictype/pr_combining.h: Regenerated.
41253         * lib/unictype/pr_dash.h: Regenerated.
41254         * lib/unictype/pr_decimal_digit.h: Regenerated.
41255         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
41256         * lib/unictype/pr_deprecated.h: Regenerated.
41257         * lib/unictype/pr_diacritic.h: Regenerated.
41258         * lib/unictype/pr_extender.h: Regenerated.
41259         * lib/unictype/pr_format_control.h: Regenerated.
41260         * lib/unictype/pr_grapheme_base.h: Regenerated.
41261         * lib/unictype/pr_grapheme_extend.h: Regenerated.
41262         * lib/unictype/pr_grapheme_link.h: Regenerated.
41263         * lib/unictype/pr_id_continue.h: Regenerated.
41264         * lib/unictype/pr_id_start.h: Regenerated.
41265         * lib/unictype/pr_ideographic.h: Regenerated.
41266         * lib/unictype/pr_ignorable_control.h: Regenerated.
41267         * lib/unictype/pr_lowercase.h: Regenerated.
41268         * lib/unictype/pr_math.h: Regenerated.
41269         * lib/unictype/pr_numeric.h: Regenerated.
41270         * lib/unictype/pr_other_alphabetic.h: Regenerated.
41271         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
41272         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
41273         * lib/unictype/pr_other_id_continue.h: Regenerated.
41274         * lib/unictype/pr_other_lowercase.h: Regenerated.
41275         * lib/unictype/pr_other_math.h: Regenerated.
41276         * lib/unictype/pr_punctuation.h: Regenerated.
41277         * lib/unictype/pr_sentence_terminal.h: Regenerated.
41278         * lib/unictype/pr_soft_dotted.h: Regenerated.
41279         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
41280         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
41281         * lib/unictype/pr_unified_ideograph.h: Regenerated.
41282         * lib/unictype/pr_uppercase.h: Regenerated.
41283         * lib/unictype/pr_xid_continue.h: Regenerated.
41284         * lib/unictype/pr_xid_start.h: Regenerated.
41285         * lib/unictype/pr_zero_width.h: Regenerated.
41286         * lib/unictype/scripts.h: Regenerated.
41287         * lib/unictype/scripts_byname.gperf: Regenerated.
41288         * lib/unictype/sy_java_ident.h: Regenerated.
41289         * lib/unilbrk/lbrkprop1.h: Regenerated.
41290         * lib/unilbrk/lbrkprop2.h: Regenerated.
41291         * tests/unictype/test-categ_C.c: Regenerated.
41292         * tests/unictype/test-categ_Cf.c: Regenerated.
41293         * tests/unictype/test-categ_Cn.c: Regenerated.
41294         * tests/unictype/test-categ_L.c: Regenerated.
41295         * tests/unictype/test-categ_Ll.c: Regenerated.
41296         * tests/unictype/test-categ_Lm.c: Regenerated.
41297         * tests/unictype/test-categ_Lo.c: Regenerated.
41298         * tests/unictype/test-categ_Lu.c: Regenerated.
41299         * tests/unictype/test-categ_M.c: Regenerated.
41300         * tests/unictype/test-categ_Mc.c: Regenerated.
41301         * tests/unictype/test-categ_Me.c: Regenerated.
41302         * tests/unictype/test-categ_Mn.c: Regenerated.
41303         * tests/unictype/test-categ_N.c: Regenerated.
41304         * tests/unictype/test-categ_Nd.c: Regenerated.
41305         * tests/unictype/test-categ_Nl.c: Regenerated.
41306         * tests/unictype/test-categ_No.c: Regenerated.
41307         * tests/unictype/test-categ_P.c: Regenerated.
41308         * tests/unictype/test-categ_Pd.c: Regenerated.
41309         * tests/unictype/test-categ_Pe.c: Regenerated.
41310         * tests/unictype/test-categ_Pf.c: Regenerated.
41311         * tests/unictype/test-categ_Pi.c: Regenerated.
41312         * tests/unictype/test-categ_Po.c: Regenerated.
41313         * tests/unictype/test-categ_Ps.c: Regenerated.
41314         * tests/unictype/test-categ_S.c: Regenerated.
41315         * tests/unictype/test-categ_Sk.c: Regenerated.
41316         * tests/unictype/test-categ_Sm.c: Regenerated.
41317         * tests/unictype/test-categ_So.c: Regenerated.
41318         * tests/unictype/test-ctype_alnum.c: Regenerated.
41319         * tests/unictype/test-ctype_alpha.c: Regenerated.
41320         * tests/unictype/test-ctype_graph.c: Regenerated.
41321         * tests/unictype/test-ctype_lower.c: Regenerated.
41322         * tests/unictype/test-ctype_print.c: Regenerated.
41323         * tests/unictype/test-ctype_punct.c: Regenerated.
41324         * tests/unictype/test-ctype_upper.c: Regenerated.
41325         * tests/unictype/test-decdigit.h: Regenerated.
41326         * tests/unictype/test-digit.h: Regenerated.
41327         * tests/unictype/test-numeric.h: Regenerated.
41328         * tests/unictype/test-pr_alphabetic.c: Regenerated.
41329         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
41330         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
41331         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
41332         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
41333         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
41334         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
41335         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
41336         * tests/unictype/test-pr_combining.c: Regenerated.
41337         * tests/unictype/test-pr_dash.c: Regenerated.
41338         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
41339         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
41340         * tests/unictype/test-pr_deprecated.c: Regenerated.
41341         * tests/unictype/test-pr_diacritic.c: Regenerated.
41342         * tests/unictype/test-pr_extender.c: Regenerated.
41343         * tests/unictype/test-pr_format_control.c: Regenerated.
41344         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
41345         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
41346         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
41347         * tests/unictype/test-pr_id_continue.c: Regenerated.
41348         * tests/unictype/test-pr_id_start.c: Regenerated.
41349         * tests/unictype/test-pr_ideographic.c: Regenerated.
41350         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
41351         * tests/unictype/test-pr_lowercase.c: Regenerated.
41352         * tests/unictype/test-pr_math.c: Regenerated.
41353         * tests/unictype/test-pr_numeric.c: Regenerated.
41354         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
41355         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
41356         Regenerated.
41357         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
41358         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
41359         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
41360         * tests/unictype/test-pr_other_math.c: Regenerated.
41361         * tests/unictype/test-pr_punctuation.c: Regenerated.
41362         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
41363         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
41364         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
41365         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
41366         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
41367         * tests/unictype/test-pr_uppercase.c: Regenerated.
41368         * tests/unictype/test-pr_xid_continue.c: Regenerated.
41369         * tests/unictype/test-pr_xid_start.c: Regenerated.
41370         * tests/unictype/test-pr_zero_width.c: Regenerated.
41371
41372         Update to Unicode 5.1.0.
41373         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
41374         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
41375         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
41376         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
41377         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
41378         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
41379         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
41380         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
41381         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
41382         (nonspacing_table_ind): Update.
41383         * tests/uniwidth/test-uc_width2.sh: Update expected result.
41384
41385         Update to Unicode 5.1.0.
41386         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
41387         code transform.
41388         * lib/uniname/uniname.c (unicode_character_name,
41389         unicode_name_character): Add the range 0x1Fxxx to the code transform.
41390         * lib/uniname/uninames.h: Regenerated.
41391         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
41392
41393 2009-02-07  Bruno Haible  <bruno@clisp.org>
41394
41395         Merge gen-ctype and gen-lbrk into a single program.
41396         * lib/gen-uni-tables.c: New file, incorporating
41397         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
41398         Add directory prefixes to the names of the generated files.
41399         * lib/unictype/gen-ctype.c: Remove file.
41400         * lib/unilbrk/gen-lbrk.c: Remove file.
41401         * modules/gen-uni-tables: New file.
41402         * modules/unictype/gen-ctype: Remove file.
41403         * modules/unilbrk/gen-lbrk: Remove file.
41404
41405 2009-02-07  Bruno Haible  <bruno@clisp.org>
41406
41407         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41408
41409         New module 'unistr/u32-strcoll'.
41410         * modules/unistr/u32-strcoll: New file.
41411         * lib/unistr/u32-strcoll.c: New file.
41412
41413         New module 'unistr/u16-strcoll'.
41414         * modules/unistr/u16-strcoll: New file.
41415         * lib/unistr/u16-strcoll.c: New file.
41416
41417         New module 'unistr/u8-strcoll'.
41418         * modules/unistr/u8-strcoll: New file.
41419         * lib/unistr/u8-strcoll.c: New file.
41420         * lib/unistr/u-strcoll.h: New file.
41421
41422 2009-02-07  Bruno Haible  <bruno@clisp.org>
41423
41424         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41425         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41426         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41427         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41428         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41429         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41430
41431 2009-02-07  Bruno Haible  <bruno@clisp.org>
41432
41433         Make 64-bit clean.
41434         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41435         output_combclass, output_bidi_category, output_decimal_digit,
41436         output_digit, output_numeric, output_mirror, output_scripts,
41437         output_ident_category): Use proper width specifier in format strings.
41438
41439 2009-02-07  Bruno Haible  <bruno@clisp.org>
41440
41441         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41442         failure behaviour.
41443
41444 2009-02-07  Jim Meyering  <meyering@redhat.com>
41445
41446         regex: avoid compilation failure with upcoming gcc-4.4
41447         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41448         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41449         "... error: integer overflow in preprocessor expression".
41450
41451 2009-02-05  Ben Pfaff  <blp@gnu.org>
41452
41453         Fix link errors on Windows when close module is used.
41454         * modules/close: Add $(LIB_CLOSE) to Link section.
41455         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41456         $(LIB_CLOSE) on Windows.
41457
41458 2009-02-05  Jim Meyering  <meyering@redhat.com>
41459
41460         still avoid unused-parameter warnings, but do it cleanly
41461         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41462         (get_fs_usage): Cast to void instead.
41463         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41464         (dev_from_mount_options, read_file_system_list): Cast to void.
41465         Prompted by Bruno Haible.
41466
41467 2009-02-04  Jim Meyering  <meyering@redhat.com>
41468
41469         fsusage.c: correct copyright year
41470         * lib/fsusage.c: Reflect year in which the change is pushed into
41471
41472         avoid misc. warnings
41473         * lib/fsusage.c (UNUSED_PARAM): Define.
41474         (get_fs_usage): Mark parameter "disk" as unused.
41475         * lib/getugroups.c (getgrent): Use "void" in prototype.
41476         * lib/mountlist.c: Mark unused parameters.
41477         (read_file_system_list): Declare a local with "const".
41478         * lib/nanosleep.c (getnow): Declare static.
41479         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41480
41481         dirfd: set errno upon failure
41482         * lib/dirfd.c: Include <errno.h>.
41483         Set errno to ENOTSUP when returning -1.
41484         * modules/dirfd (Depends-on): Add errno.
41485         Suggested by John Kodis <kodis@comcast.net>.
41486
41487 2009-02-01  Bruno Haible  <bruno@clisp.org>
41488
41489         Don't assume sizeof (long) >= sizeof (void *).
41490         * lib/memcmp.c: Include stdint.h.
41491         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41492         srcp2 to 'const byte *'.
41493         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41494         types to uintptr_t.
41495         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41496         * modules/memcmp (Depends-on): Add stdint.
41497         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41498
41499 2009-01-30  Eric Blake  <ebb9@byu.net>
41500
41501         fix more require-before-expand issues
41502         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41503         expand, AC_PROG_AWK.
41504         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41505
41506 2009-01-28  Eric Blake  <ebb9@byu.net>
41507
41508         version-etc: use consistent URL formatting
41509         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41510         Improve formatting.  Use fputs for string without %.
41511
41512 2009-01-28  Jim Meyering  <meyering@redhat.com>
41513
41514         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41515         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41516         "underquoted definition of NAME" from autoconf-2.59.
41517
41518 2009-01-28  Bruno Haible  <bruno@clisp.org>
41519
41520         * doc/gnulib.texi: Add "Obsolete modules" to index.
41521
41522 2009-01-28  Jim Meyering  <meyering@redhat.com>
41523
41524         useless-if-before-free: recognize more variants
41525         * build-aux/useless-if-before-free: Also recognize e.g.,
41526         if (NULL != p) free (p);
41527
41528 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41529
41530         test-getaddrinfo: skip (don't fail) this test when there's no network
41531         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41532         on the presumption that it means you lack network access.
41533
41534 2009-01-26  Jim Meyering  <meyering@redhat.com>
41535
41536         fflush: avoid warnings on modern systems
41537         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41538         pos and result, into scopes where they're used.
41539
41540 2009-01-26  Eric Blake  <ebb9@byu.net>
41541
41542         Silence warning reintroduced by recent extensions patch.
41543         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41544         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41545         autoconf.
41546
41547         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41548         * m4/00gnulib.m4: New file.
41549         * gnulib-tool (func_get_filelist): Always use it.
41550         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41551         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41552
41553 2009-01-25  Bruno Haible  <bruno@clisp.org>
41554
41555         Make test-quotearg work on MacOS X and AIX.
41556         * tests/test-quotearg.sh: New file.
41557         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41558         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41559         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41560         include <libintl.h>.
41561         (fake_locale): Remove variable.
41562         (gettext, dgettext, dcgettext): Remove functions.
41563         (main): Instead of setting a fake locale, set a real locale. Call
41564         textdomain and bindtextdomain.
41565         * modules/quotearg-tests (Files): Add the new files.
41566         (Depends-on): Add gettext, setenv, unsetenv.
41567         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41568         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41569         Augment TESTS_ENVIRONMENT.
41570
41571 2009-01-25  Bruno Haible  <bruno@clisp.org>
41572
41573         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41574         fr_FR.ISO8859-1 locale on MacOS X.
41575         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41576         ja_JP.eucJP locale on MacOS X.
41577         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41578         zh_CN.GB18030 locale on MacOS X.
41579
41580 2009-01-25  Bruno Haible  <bruno@clisp.org>
41581
41582         Avoid link errors on MacOS X 10.3.
41583         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41584         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41585
41586 2009-01-25  Bruno Haible  <bruno@clisp.org>
41587
41588         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41589         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41590         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41591         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41592         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41593         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41594         posix_spawnattr_init, posix_spawnattr_setsigmask,
41595         posix_spawnattr_setflags, posix_spawnattr_destroy.
41596
41597         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41598         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41599         * modules/execute (Files): Remove m4/posix_spawn.m4.
41600         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41601         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41602         posix_spawnattr_init, posix_spawnattr_setsigmask,
41603         posix_spawnattr_setflags, posix_spawnattr_destroy.
41604
41605 2009-01-25  Bruno Haible  <bruno@clisp.org>
41606
41607         * lib/glthread/threadlib.c: Include <stdlib.h>.
41608
41609 2009-01-25  Bruno Haible  <bruno@clisp.org>
41610
41611         * lib/glthread/threadlib.c (dummy): New declaration.
41612
41613 2009-01-25  Bruno Haible  <bruno@clisp.org>
41614
41615         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41616         multibyte characters also for the GB18030 encoding. Don't crash when
41617         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41618
41619 2009-01-25  Bruno Haible  <bruno@clisp.org>
41620
41621         Avoid redefining 'struct random_data' on OSF/1 5.1.
41622         * lib/stdlib.in.h: Include <random.h> if it exists.
41623         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41624         HAVE_RANDOM_H. Include <random.h> when testing whether
41625         'struct random_data' exists.
41626         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41627
41628 2009-01-25  Bruno Haible  <bruno@clisp.org>
41629
41630         Don't install charset.alias on MacOS X >= 10.3.
41631         * lib/localcharset.c (DARWIN7): New macro.
41632         (get_charset_aliases): Hardcode the result for Darwin7.
41633         * modules/localcharset (install-exec-local): Don't install
41634         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41635
41636 2009-01-25  Bruno Haible  <bruno@clisp.org>
41637
41638         Don't install charset.alias on mingw and Cygwin.
41639         * modules/localcharset (install-exec-local): Don't install
41640         charset.alias on mingw and Cygwin, if the file does not yet exist.
41641         The result for these platforms is hardcoded in localcharset.c.
41642
41643 2009-01-25  Bruno Haible  <bruno@clisp.org>
41644
41645         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41646         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41647         before requiring AC_USE_SYSTEM_EXTENSIONS.
41648
41649 2009-01-25  Jim Meyering  <meyering@redhat.com>
41650
41651         c-strtod: avoid warnings
41652         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41653         "assignment discards qualifiers from pointer target type" warnings.
41654
41655 2009-01-24  Bruno Haible  <bruno@clisp.org>
41656
41657         Add support for non-UTF-8 locales on MacOS X.
41658         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41659         canonical encodings. For Darwin 7 and newer, don't map traditional
41660         encodings to UTF-8.
41661         Reported by Vincent Lefevre <vincent@vinc17.org>
41662         at <http://savannah.gnu.org/bugs/?25235>.
41663
41664 2009-01-24  Bruno Haible  <bruno@clisp.org>
41665
41666         * doc/gnulib.texi (Obsolete modules): New section.
41667         Reported by Mike Frysinger <vapier@gentoo.org>.
41668
41669 2009-01-24  Bruno Haible  <bruno@clisp.org>
41670
41671         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41672         (%.dvi): New rule.
41673
41674 2009-01-24  Bruno Haible  <bruno@clisp.org>
41675
41676         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41677         Reported by Eric Blake.
41678
41679 2009-01-24  Bruno Haible  <bruno@clisp.org>
41680
41681         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41682         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41683         Reported by Gary V. Vaughan <gary@gnu.org>.
41684
41685 2009-01-24  Bruno Haible  <bruno@clisp.org>
41686
41687         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41688
41689 2009-01-23  Bruno Haible  <bruno@clisp.org>
41690
41691         Make c-strtod, c-strtold usable in libraries.
41692         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41693         (C_STRTOD): Call strdup instead of xstrdup.
41694         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41695         * modules/c-strtold (Depends-on): Likewise.
41696         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41697         * NEWS: Mention the change.
41698         Reported by Michael Gold <mgold@ncf.ca>.
41699
41700 2009-01-23  Jim Meyering  <meyering@redhat.com>
41701
41702         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41703         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41704         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41705
41706 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41707
41708         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41709         GNU CoreUtils.
41710         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41711         * modules/version-etc (Description): Update.
41712
41713 2009-01-22  Bruno Haible  <bruno@clisp.org>
41714
41715         Cache the C locale object.
41716         * lib/c-strtod.c (c_locale_cache): New variable.
41717         (c_locale): New function.
41718         (C_STRTOD): Use it, and don't call freelocale.
41719         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41720         Suggested by Paolo Bonzini.
41721
41722 2009-01-21  Bruno Haible  <bruno@clisp.org>
41723
41724         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41725         conditions other than overflow.
41726
41727 2009-01-21  Bruno Haible  <bruno@clisp.org>
41728
41729         * lib/c-strtod.c: Include errno.h.
41730         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41731         value from STRTOD_L and STRTOD.
41732
41733 2009-01-21  Bruno Haible  <bruno@clisp.org>
41734         and Jim Meyering  <meyering@redhat.com>
41735
41736         nanosleep: skip configure test (fail it) for apple universal builds
41737         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41738         universal builds, assume that nanosleep does not work.
41739         * modules/nanosleep (Depends-on): Add multiarch.
41740
41741         mktime: skip configure test (fail it) for apple universal builds
41742         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41743         universal builds, assume that mktime does not work.
41744         * modules/mktime (Depends-on): Add multiarch.
41745
41746 2009-01-21  Eric Blake  <ebb9@byu.net>
41747
41748         multiarch: avoid expand-before-require warning
41749         * modules/multiarch (configure.ac): Require, rather than expand,
41750         gl_MULTIARCH.
41751         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41752         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41753         enforce that all clients require it.  Partial reversion of
41754         2008-12-29 patch.
41755
41756         error: avoid expand-before-require warning
41757         * modules/errno (configure.ac): Require, rather than expand,
41758         gl_HEADER_ERRNO_H.
41759         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41760         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41761         enforce that all clients require it.
41762
41763         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41764         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41765         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41766         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41767
41768 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41769
41770         Revert:
41771         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41772
41773         regex: do not depend on obsolete modules.
41774         * modules/regex: Remove memcmp and memmove.
41775
41776 2009-01-20  Bruno Haible  <bruno@clisp.org>
41777
41778         Make the 'link' module link on Windows NT 4.
41779         * lib/link.c (_WIN32_WINNT): Don't define.
41780         (CreateHardLinkFuncType): New type.
41781         (CreateHardLinkFunc, initialized): New variables.
41782         (initialize): New function.
41783         (link): Invoke CreateHardLink indirectly through the function pointer.
41784
41785 2009-01-20  Bruno Haible  <bruno@clisp.org>
41786
41787         Fix compilation failure on mingw.
41788         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41789
41790 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41791
41792         * doc/c-strtod.texi: Mention a couple of restrictions.
41793
41794 2009-01-20  Jim Meyering  <meyering@redhat.com>
41795
41796         gettimeofday: move more declarations out of functions
41797         * lib/gettimeofday.c: Move extern declarations of tzset and
41798         gmtime out of containing functions.  Prompted by Bruno Haible.
41799
41800 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41801
41802         regex: do not depend on obsolete modules.
41803         * modules/regex: Remove memcmp and memmove.
41804
41805 2009-01-19  Bruno Haible  <bruno@clisp.org>
41806
41807         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41808         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41809         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41810         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41811         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41812
41813 2009-01-19  Bruno Haible  <bruno@clisp.org>
41814
41815         * tests/test-link.c: Include <errno.h>.
41816         (main): Exit with code 77 when a hard link cannot be created due to
41817         the file system.
41818         * tests/test-link.sh: Skip test when a hard link cannot be created due
41819         to the file system.
41820         Suggested by Eric Blake.
41821
41822 2009-01-19  Martin Lambers  <marlam@marlam.de>
41823
41824         * modules/link-tests: New file.
41825         * tests/test-link.sh: New file.
41826         * tests/test-link.c: New file.
41827
41828 2009-01-19  Eric Blake  <ebb9@byu.net>
41829
41830         doc: mention another function added in cygwin 1.7.0
41831         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41832         Another new function in cygwin 1.7.
41833
41834 2009-01-19  Bruno Haible  <bruno@clisp.org>
41835
41836         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41837         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41838         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41839         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41840         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41841         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41842         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41843         * m4/md4.m4 (gl_MD4): Likewise.
41844         * m4/md5.m4 (gl_MD5): Likewise.
41845         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41846         * m4/sha1.m4 (gl_SHA1): Likewise.
41847         * m4/sha256.m4 (gl_SHA256): Likewise.
41848         * m4/sha512.m4 (gl_SHA512): Likewise.
41849
41850 2009-01-19  Bruno Haible  <bruno@clisp.org>
41851
41852         * modules/uniname/uniname-tests (Depends-on): Add progname.
41853         * tests/uniname/test-uninames.c: Include progname.h.
41854         (main): Call set_program_name.
41855
41856         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41857         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41858         (main): Call set_program_name.
41859
41860         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41861         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41862         (main): Call set_program_name.
41863
41864         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41865         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41866         (main): Call set_program_name.
41867
41868         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41869         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41870         (main): Call set_program_name.
41871
41872         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41873         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41874         (main): Call set_program_name.
41875
41876         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41877         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41878         (main): Call set_program_name.
41879
41880         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41881         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41882         (main): Call set_program_name.
41883
41884         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41885         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41886         (main): Call set_program_name.
41887
41888 2009-01-19  Eric Blake  <ebb9@byu.net>
41889
41890         test-unistd: test previous patch
41891         * tests/test-unistd.c: Test *_FILENO macros.
41892
41893         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41894         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41895         Guarantee a definition.
41896         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41897         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41898         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41899         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41900         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41901         Likewise.
41902         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41903         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41904         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41905         Likewise.
41906         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41907         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41908         (STDERR_FILENO): Likewise.
41909         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41910         (STDERR_FILENO): Likewise.
41911         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41912         (STDERR_FILENO): Likewise.
41913         Reported by Elbert Pol.
41914
41915 2009-01-19  Eric Blake  <ebb9@byu.net>
41916
41917         doc: mention more functions added in cygwin 1.7.0
41918         * doc/posix-functions/abort.texi (abort): Update wording related
41919         to cygwin.
41920         * doc/posix-functions/daylight.texi (daylight): Likewise.
41921         * doc/posix-functions/optarg.texi (optarg): Likewise.
41922         * doc/posix-functions/optarg.texi (opterr): Likewise.
41923         * doc/posix-functions/optarg.texi (optind): Likewise.
41924         * doc/posix-functions/optarg.texi (optopt): Likewise.
41925         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41926         worked in 1.5.x, and was withdrawn in 1.7.
41927         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41928         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41929         cygwin versions.
41930         * doc/posix-functions/perror.texi (perror): Likewise.
41931         * doc/posix-functions/printf.texi (printf): Likewise.
41932         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41933         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41934         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41935         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41936         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41937         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41938         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41939         Likewise.
41940         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41941         Likewise.
41942         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41943         this function.
41944         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41945         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41946         Likewise.
41947         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41948         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41949         * doc/posix-functions/confstr.texi (confstr): Likewise.
41950         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41951         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41952         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41953         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41954         * doc/posix-functions/fputws.texi (fputws): Likewise.
41955         * doc/posix-functions/fwide.texi (fwide): Likewise.
41956         * doc/posix-functions/getwc.texi (getwc): Likewise.
41957         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41958         * doc/posix-functions/putwc.texi (putwc): Likewise.
41959         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41960         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41961         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41962         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41963         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41964         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41965         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41966         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41967         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41968         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41969         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41970
41971 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41972
41973         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41974         * lib/ioctl.c: Include <sys/ioctl.h>.
41975
41976 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41977
41978         * modules/getdate-tests (Depends-on): Add progname.
41979         * tests/test-getdate.c: Use progname module, to avoid link errors
41980         on non-glibc systems.
41981
41982 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41983
41984         * modules/filenamecat-tests (Depends-on): Add progname.
41985         * modules/fstrcmp-tests (Depends-on): Likewise.
41986
41987         * tests/test-filenamecat.c: Use progname module, to avoid link
41988         errors on non-glibc systems.
41989         * tests/test-fstrcmp.c: Likewise.
41990
41991 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41992
41993         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41994         * lib/gettimeofday.c: Move extern declaration out of function.
41995
41996 2009-01-18  Bruno Haible  <bruno@clisp.org>
41997
41998         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41999         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
42000         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
42001
42002 2009-01-18  Bruno Haible  <bruno@clisp.org>
42003
42004         * lib/strftime.c (MEMPCPY): Remove unused macro.
42005         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
42006
42007 2009-01-18  Martin Lambers  <marlam@marlam.de>
42008
42009         New module 'link'.
42010         * lib/unistd.in.h (link): New declaration.
42011         * lib/link.c: New file.
42012         * m4/link.m4: New file.
42013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
42014         HAVE_LINK.
42015         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
42016         * modules/link: New file.
42017         * doc/posix-functions/link.texi: Mention the new module.
42018
42019 2009-01-18  Bruno Haible  <bruno@clisp.org>
42020
42021         * tests/test-avltree_list.c (main): Call set_program_name.
42022         * tests/test-avltree_oset.c (main): Likewise.
42023         * tests/test-obstack-printf.c: Include progname.h.
42024         (main): Call set_program_name.
42025         * tests/test-quotearg.c: Include progname.h.
42026         (main): Call set_program_name.
42027         * tests/test-xmemdup0.c: Include progname.h.
42028         (main): Call set_program_name.
42029
42030 2009-01-18  Bruno Haible  <bruno@clisp.org>
42031
42032         New module 'alphasort'.
42033         * lib/dirent.in.h (alphasort): New declaration.
42034         * lib/alphasort.c: New file, from glibc with modifications.
42035         * m4/alphasort.m4: New file.
42036         * modules/alphasort: New file.
42037         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
42038         HAVE_ALPHASORT.
42039         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
42040         HAVE_ALPHASORT.
42041         * doc/posix-functions/alphasort.texi: Mention the new module and the
42042         portability problems.
42043
42044 2009-01-18  Bruno Haible  <bruno@clisp.org>
42045
42046         New module 'scandir'.
42047         * lib/dirent.in.h (scandir): New declaration.
42048         * lib/scandir.c: New file, from glibc with modifications.
42049         * m4/scandir.m4: New file.
42050         * modules/scandir: New file.
42051         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
42052         HAVE_SCANDIR.
42053         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
42054         HAVE_SCANDIR.
42055         * doc/posix-functions/scandir.texi: Mention the new module and the
42056         portability problems.
42057
42058 2009-01-17  Bruno Haible  <bruno@clisp.org>
42059
42060         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
42061         Update documentation.
42062         (func_remove_suffix): Escape all dots in the suffix. Update
42063         documentation.
42064         (func_filter_filelist): Update documentation.
42065         Reported by Ralf Wildenhues.
42066
42067 2009-01-17  Bruno Haible  <bruno@clisp.org>
42068
42069         * modules/dprintf-posix-tests: New file.
42070         * tests/test-dprintf-posix.sh: New file.
42071         * tests/test-dprintf-posix.c: New file.
42072
42073         New modules 'dprintf', 'dprintf-posix'.
42074         * lib/stdio.in.h (dprintf): New declaration.
42075         * lib/dprintf.c: New file.
42076         * m4/dprintf.m4: New file.
42077         * m4/dprintf-posix.m4: New file.
42078         * modules/dprintf: New file.
42079         * modules/dprintf-posix: New file.
42080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
42081         HAVE_DPRINTF, REPLACE_DPRINTF.
42082         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
42083         HAVE_DPRINTF, REPLACE_DPRINTF.
42084         * doc/posix-functions/dprintf.texi: Mention the new modules.
42085
42086 2009-01-17  Bruno Haible  <bruno@clisp.org>
42087
42088         * modules/vdprintf-posix-tests: New file.
42089         * tests/test-vdprintf-posix.sh: New file.
42090         * tests/test-vdprintf-posix.c: New file.
42091
42092         New modules 'vdprintf', 'vdprintf-posix'.
42093         * lib/stdio.in.h (vdprintf): New declaration.
42094         * lib/vdprintf.c: New file.
42095         * m4/vdprintf.m4: New file.
42096         * m4/vdprintf-posix.m4: New file.
42097         * modules/vdprintf: New file.
42098         * modules/vdprintf-posix: New file.
42099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
42100         HAVE_VDPRINTF, REPLACE_VDPRINTF.
42101         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
42102         HAVE_VDPRINTF, REPLACE_VDPRINTF.
42103         * doc/posix-functions/vdprintf.texi: Mention the new modules.
42104
42105 2009-01-17  Bruno Haible  <bruno@clisp.org>
42106
42107         Fix replacement of fopen on mingw.
42108         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
42109         mingw.
42110
42111 2009-01-17  Bruno Haible  <bruno@clisp.org>
42112
42113         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
42114         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
42115
42116 2009-01-17  Bruno Haible  <bruno@clisp.org>
42117
42118         Avoid test-fflush2.sh failure on mingw.
42119         * tests/test-fflush2.c: Include binary-io.h.
42120         (main): Put standard input into binary mode.
42121         * modules/fflush-tests (Depends-on): Add binary-io.
42122
42123 2009-01-17  Bruno Haible  <bruno@clisp.org>
42124
42125         * lib/wchar.in.h: In another particular situation, include only the
42126         system's <wchar.h> file.
42127         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
42128         Reported by Albert Chin-A-Young <china@thewrittenword.com>
42129         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
42130
42131 2009-01-17  Bruno Haible  <bruno@clisp.org>
42132
42133         Support for stripping executables in --enable-relocatable.
42134         * build-aux/install-reloc: Expect one more argument, or an environment
42135         variable RELOC_STRIP_PROG. If set, strip the destination program and
42136         its wrapper.
42137         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
42138         RELOC_STRIP_PROG.
42139         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
42140         to set RELOCATABLE_STRIP.
42141         * NEWS: Mention the new Makefile requirement.
42142
42143 2009-01-17  Bruno Haible  <bruno@clisp.org>
42144
42145         * build-aux/install-reloc: Remove debugging information left over by
42146         C compiler on MacOS X.
42147
42148 2009-01-17  Bruno Haible  <bruno@clisp.org>
42149
42150         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
42151         * lib/progreloc.c (find_executable): Fix type of pointer passed to
42152         _NSGetExecutablePath.
42153
42154 2009-01-16  Jim Meyering  <meyering@redhat.com>
42155
42156         strerror: avoid warnings about discarding "const"
42157         * lib/strerror.c (rpl_strerror): Instead of returning a const
42158         string from each and every "case", use a variable, and add a single
42159         cast after the switch.
42160
42161 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
42162
42163         * lib/arpa_inet.in.h: Add extern "C" block for C++.
42164
42165 2009-01-16  Bruno Haible  <bruno@clisp.org>
42166
42167         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
42168         array initializer syntax that also works in C++ mode.
42169         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42170
42171 2009-01-16  Jim Meyering  <meyering@redhat.com>
42172
42173         poll: suppress a warning
42174         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
42175         to ignore "...unsigned expression < 0 is always false" warnings.
42176
42177 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
42178
42179         poll: remove declarations of unused variables
42180         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
42181         sockbuf and optlen.
42182
42183 2009-01-15  Bruno Haible  <bruno@clisp.org>
42184
42185         Make fflush-after-ungetc POSIX compliant on BSD systems.
42186         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
42187         (clear_ungetc_buffer): Implement also for other systems.
42188         (rpl_fflush): On glibc systems, invoke
42189         clear_ungetc_buffer_preserving_position. Otherwise, invoke
42190         clear_ungetc_buffer after fetching the stream's position, not before.
42191
42192 2009-01-15  Bruno Haible  <bruno@clisp.org>
42193
42194         Make fflush-after-ungetc POSIX compliant on glibc systems.
42195         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
42196         after ungetc.
42197         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
42198         (rpl_fflush): On glibc systems, simply call the system's fflush
42199         function after clearing the ungetc buffer.
42200         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
42201         Instead, lseek only to the end of file, then use the system's fseeko
42202         for the rest. On glibc systems, reset the EOF indicator bit.
42203
42204 2009-01-15  Jim Meyering  <meyering@redhat.com>
42205
42206         openmp.m4: revert quote-adding change, for portability to older autoconf
42207         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
42208         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
42209         Simon Josefsson noticed the problem when using autoconf-2.61.
42210
42211 2009-01-15  Bruno Haible  <bruno@clisp.org>
42212
42213         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
42214         * tests/test-fflush2.c (ASSERT): Always fail.
42215         (main): Add two tests for fflush() after ungetc(), taking into account
42216         the Austin Group's clarification.
42217         Suggested by Eric Blake.
42218
42219 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
42220
42221         mktime.m4: remove K&R-style function prototypes
42222         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
42223         for the Sun C++ compiler.
42224
42225 2009-01-14  Bruno Haible  <bruno@clisp.org>
42226
42227         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
42228         while including <wchar.h>.
42229         * lib/wchar.in.h: In two particular situations on HP-UX, include only
42230         the system's <wchar.h> file.
42231         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42232
42233 2009-01-14  Bruno Haible  <bruno@clisp.org>
42234
42235         * m4/csharp.m4: Don't mention gettext on the serial number line.
42236         * m4/csharpexec.m4: Likewise.
42237         * m4/eaccess.m4: Likewise.
42238         * m4/javaexec.m4: Likewise.
42239         * m4/sig_atomic_t.m4: Likewise.
42240         * m4/tmpdir.m4: Likewise.
42241         * m4/intldir.m4: Bump gettext version.
42242         * m4/lib-ld.m4: Likewise.
42243
42244 2009-01-14  Bruno Haible  <bruno@clisp.org>
42245
42246         * lib/progname.c (set_program_name): Add more comments.
42247         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42248
42249 2009-01-14  Simon Josefsson  <simon@josefsson.org>
42250
42251         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
42252         were sys/stat.h does not define it.
42253
42254 2009-01-14  Jim Meyering  <meyering@redhat.com>
42255
42256         many *.m4 files: improve m4 quoting
42257         99% of this change was performed by running the following commands:
42258         git ls-files | grep '\.m4$' | xargs perl -pi \
42259           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
42260           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42261           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42262           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
42263         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
42264         The remainder were to add Copyright dates, increment serial numbers,
42265         undo some changes in comments, exclude m4/intl.m4, and add quotes
42266         around the "1" in ",1" where the unusual spacing prohibited the
42267         above regexps from doing the job.  For more details, see
42268         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
42269         * m4/acl.m4: Modified.
42270         * m4/afs.m4: Likewise.
42271         * m4/alloca.m4: Likewise.
42272         * m4/argp.m4: Likewise.
42273         * m4/argz.m4: Likewise.
42274         * m4/atexit.m4: Likewise.
42275         * m4/bison-i18n.m4: Likewise.
42276         * m4/bison.m4: Likewise.
42277         * m4/byteswap.m4: Likewise.
42278         * m4/c-stack.m4: Likewise.
42279         * m4/c-strtod.m4: Likewise.
42280         * m4/calloc.m4: Likewise.
42281         * m4/canonicalize-lgpl.m4: Likewise.
42282         * m4/chown.m4: Likewise.
42283         * m4/clock_time.m4: Likewise.
42284         * m4/codeset.m4: Likewise.
42285         * m4/copy-file.m4: Likewise.
42286         * m4/csharp.m4: Likewise.
42287         * m4/csharpcomp.m4: Likewise.
42288         * m4/csharpexec.m4: Likewise.
42289         * m4/d-ino.m4: Likewise.
42290         * m4/d-type.m4: Likewise.
42291         * m4/dirfd.m4: Likewise.
42292         * m4/double-slash-root.m4: Likewise.
42293         * m4/eaccess.m4: Likewise.
42294         * m4/eealloc.m4: Likewise.
42295         * m4/environ.m4: Likewise.
42296         * m4/errno_h.m4: Likewise.
42297         * m4/euidaccess.m4: Likewise.
42298         * m4/execute.m4: Likewise.
42299         * m4/fatal-signal.m4: Likewise.
42300         * m4/fchdir.m4: Likewise.
42301         * m4/fcntl_h.m4: Likewise.
42302         * m4/fileblocks.m4: Likewise.
42303         * m4/filenamecat.m4: Likewise.
42304         * m4/findprog.m4: Likewise.
42305         * m4/flexmember.m4: Likewise.
42306         * m4/fnmatch.m4: Likewise.
42307         * m4/fopen.m4: Likewise.
42308         * m4/fpending.m4: Likewise.
42309         * m4/fprintf-posix.m4: Likewise.
42310         * m4/free.m4: Likewise.
42311         * m4/frexp.m4: Likewise.
42312         * m4/frexpl.m4: Likewise.
42313         * m4/fsusage.m4: Likewise.
42314         * m4/ftruncate.m4: Likewise.
42315         * m4/gc-camellia.m4: Likewise.
42316         * m4/gc-random.m4: Likewise.
42317         * m4/gc.m4: Likewise.
42318         * m4/getaddrinfo.m4: Likewise.
42319         * m4/getcwd-abort-bug.m4: Likewise.
42320         * m4/getcwd-path-max.m4: Likewise.
42321         * m4/getdate.m4: Likewise.
42322         * m4/getdomainname.m4: Likewise.
42323         * m4/getgroups.m4: Likewise.
42324         * m4/gethostname.m4: Likewise.
42325         * m4/gethrxtime.m4: Likewise.
42326         * m4/getline.m4: Likewise.
42327         * m4/getloadavg.m4: Likewise.
42328         * m4/getndelim2.m4: Likewise.
42329         * m4/getpass.m4: Likewise.
42330         * m4/gettext.m4: Likewise.
42331         * m4/gettime.m4: Likewise.
42332         * m4/gettimeofday.m4: Likewise.
42333         * m4/gnulib-common.m4: Likewise.
42334         * m4/group-member.m4: Likewise.
42335         * m4/host-os.m4: Likewise.
42336         * m4/iconv.m4: Likewise.
42337         * m4/iconv_open.m4: Likewise.
42338         * m4/inet_ntop.m4: Likewise.
42339         * m4/inet_pton.m4: Likewise.
42340         * m4/inline.m4: Likewise.
42341         * m4/intldir.m4: Likewise.
42342         * m4/intlmacosx.m4: Likewise.
42343         * m4/intmax.m4: Likewise.
42344         * m4/intmax_t.m4: Likewise.
42345         * m4/inttypes.m4: Likewise.
42346         * m4/inttypes_h.m4: Likewise.
42347         * m4/inttypes-pri.m4: Likewise.
42348         * m4/isapipe.m4: Likewise.
42349         * m4/isnand.m4: Likewise.
42350         * m4/isnanf.m4: Likewise.
42351         * m4/isnanl.m4: Likewise.
42352         * m4/javacomp.m4: Likewise.
42353         * m4/javaexec.m4: Likewise.
42354         * m4/jm-winsz1.m4: Likewise.
42355         * m4/jm-winsz2.m4: Likewise.
42356         * m4/lchown.m4: Likewise.
42357         * m4/lcmessage.m4: Likewise.
42358         * m4/ldexpl.m4: Likewise.
42359         * m4/lib-ld.m4: Likewise.
42360         * m4/lib-link.m4: Likewise.
42361         * m4/libsigsegv.m4: Likewise.
42362         * m4/link-follow.m4: Likewise.
42363         * m4/localcharset.m4: Likewise.
42364         * m4/locale-fr.m4: Likewise.
42365         * m4/locale-ja.m4: Likewise.
42366         * m4/locale-tr.m4: Likewise.
42367         * m4/locale-zh.m4: Likewise.
42368         * m4/lock.m4: Likewise.
42369         * m4/longlong.m4: Likewise.
42370         * m4/ls-mntd-fs.m4: Likewise.
42371         * m4/lstat.m4: Likewise.
42372         * m4/malloc.m4: Likewise.
42373         * m4/mathl.m4: Likewise.
42374         * m4/mbrtowc.m4: Likewise.
42375         * m4/mbstate_t.m4: Likewise.
42376         * m4/mbswidth.m4: Likewise.
42377         * m4/memchr.m4: Likewise.
42378         * m4/memcmp.m4: Likewise.
42379         * m4/memcpy.m4: Likewise.
42380         * m4/memmem.m4: Likewise.
42381         * m4/memmove.m4: Likewise.
42382         * m4/mempcpy.m4: Likewise.
42383         * m4/memrchr.m4: Likewise.
42384         * m4/memset.m4: Likewise.
42385         * m4/minmax.m4: Likewise.
42386         * m4/mkdir-slash.m4: Likewise.
42387         * m4/mkdtemp.m4: Likewise.
42388         * m4/mktime.m4: Likewise.
42389         * m4/mmap-anon.m4: Likewise.
42390         * m4/mountlist.m4: Likewise.
42391         * m4/nanosleep.m4: Likewise.
42392         * m4/nls.m4: Likewise.
42393         * m4/nocrash.m4: Likewise.
42394         * m4/open.m4: Likewise.
42395         * m4/openat.m4: Likewise.
42396         * m4/openmp.m4: Likewise.
42397         * m4/pathmax.m4: Likewise.
42398         * m4/perl.m4: Likewise.
42399         * m4/physmem.m4: Likewise.
42400         * m4/pipe.m4: Likewise.
42401         * m4/po.m4: Likewise.
42402         * m4/poll.m4: Likewise.
42403         * m4/posixtm.m4: Likewise.
42404         * m4/posixver.m4: Likewise.
42405         * m4/printf-frexp.m4: Likewise.
42406         * m4/printf-frexpl.m4: Likewise.
42407         * m4/printf-posix.m4: Likewise.
42408         * m4/printf-posix-rpl.m4: Likewise.
42409         * m4/printf.m4: Likewise.
42410         * m4/progtest.m4: Likewise.
42411         * m4/putenv.m4: Likewise.
42412         * m4/readline.m4: Likewise.
42413         * m4/readlink.m4: Likewise.
42414         * m4/readutmp.m4: Likewise.
42415         * m4/realloc.m4: Likewise.
42416         * m4/regex.m4: Likewise.
42417         * m4/relocatable.m4: Likewise.
42418         * m4/relocatable-lib.m4: Likewise.
42419         * m4/rename-dest-slash.m4: Likewise.
42420         * m4/rename.m4: Likewise.
42421         * m4/rmdir-errno.m4: Likewise.
42422         * m4/rmdir.m4: Likewise.
42423         * m4/roundf.m4: Likewise.
42424         * m4/roundl.m4: Likewise.
42425         * m4/rpmatch.m4: Likewise.
42426         * m4/save-cwd.m4: Likewise.
42427         * m4/selinux-selinux-h.m4: Likewise.
42428         * m4/setenv.m4: Likewise.
42429         * m4/settime.m4: Likewise.
42430         * m4/sig2str.m4: Likewise.
42431         * m4/sig_atomic_t.m4: Likewise.
42432         * m4/signalblocking.m4: Likewise.
42433         * m4/signbit.m4: Likewise.
42434         * m4/sigpipe.m4: Likewise.
42435         * m4/sockets.m4: Likewise.
42436         * m4/sockpfaf.m4: Likewise.
42437         * m4/st_dm_mode.m4: Likewise.
42438         * m4/stat-time.m4: Likewise.
42439         * m4/stdbool.m4: Likewise.
42440         * m4/stdint.m4: Likewise.
42441         * m4/stdint_h.m4: Likewise.
42442         * m4/stpcpy.m4: Likewise.
42443         * m4/stpncpy.m4: Likewise.
42444         * m4/strcase.m4: Likewise.
42445         * m4/strchrnul.m4: Likewise.
42446         * m4/strcspn.m4: Likewise.
42447         * m4/strdup.m4: Likewise.
42448         * m4/strftime.m4: Likewise.
42449         * m4/strndup.m4: Likewise.
42450         * m4/strnlen.m4: Likewise.
42451         * m4/strpbrk.m4: Likewise.
42452         * m4/strptime.m4: Likewise.
42453         * m4/strsep.m4: Likewise.
42454         * m4/strtod.m4: Likewise.
42455         * m4/strtoimax.m4: Likewise.
42456         * m4/strtok_r.m4: Likewise.
42457         * m4/strtol.m4: Likewise.
42458         * m4/strtoll.m4: Likewise.
42459         * m4/strtoul.m4: Likewise.
42460         * m4/strtoull.m4: Likewise.
42461         * m4/strtoumax.m4: Likewise.
42462         * m4/strverscmp.m4: Likewise.
42463         * m4/threadlib.m4: Likewise.
42464         * m4/timegm.m4: Likewise.
42465         * m4/tm_gmtoff.m4: Likewise.
42466         * m4/tmpdir.m4: Likewise.
42467         * m4/tmpfile.m4: Likewise.
42468         * m4/tzset.m4: Likewise.
42469         * m4/uintmax_t.m4: Likewise.
42470         * m4/unlinkdir.m4: Likewise.
42471         * m4/unlocked-io.m4: Likewise.
42472         * m4/uptime.m4: Likewise.
42473         * m4/userspec.m4: Likewise.
42474         * m4/utimbuf.m4: Likewise.
42475         * m4/utime.m4: Likewise.
42476         * m4/utimes-null.m4: Likewise.
42477         * m4/utimes.m4: Likewise.
42478         * m4/vararrays.m4: Likewise.
42479         * m4/vasnprintf.m4: Likewise.
42480         * m4/vfprintf-posix.m4: Likewise.
42481         * m4/vprintf-posix.m4: Likewise.
42482         * m4/wait-process.m4: Likewise.
42483         * m4/wchar_t.m4: Likewise.
42484         * m4/wint_t.m4: Likewise.
42485         * m4/write-any-file.m4: Likewise.
42486         * m4/yield.m4: Likewise.
42487
42488 2009-01-13  Bruno Haible  <bruno@clisp.org>
42489
42490         Avoid test-copy-file.sh failures when ACL support insufficient.
42491         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42492         TESTS_ENVIRONMENT.
42493         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42494         Reported by Jim Meyering.
42495
42496 2009-01-13  Bruno Haible  <bruno@clisp.org>
42497
42498         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42499         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42500         * modules/unistdio/u8-printf-parse (Files): Likewise.
42501         * modules/unistdio/u32-printf-parse (Files): Likewise.
42502         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42503
42504 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42505
42506         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42507         and m4/inttypes_h.m4 too.
42508
42509 2009-01-12  Eric Blake  <ebb9@byu.net>
42510
42511         tests: IRIX 6.2 cc can't compile -0.0 into .data
42512         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42513         rather than at compile-time.
42514         * tests/test-floorl.c (minus_zero): Likewise.
42515         * tests/test-frexpl.c (minus_zero): Likewise.
42516         * tests/test-isnan.c (minus_zerol): Likewise.
42517         * tests/test-isnanl.h (minus_zero): Likewise.
42518         * tests/test-ldexpl.c (minus_zero): Likewise.
42519         * tests/test-roundl.c (minus_zero): Likewise.
42520         * tests/test-signbit.c (minus_zerol): Likewise.
42521         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42522         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42523         * tests/test-truncl.c (minus_zero): Likewise.
42524         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42525         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42526         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42527
42528 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42529
42530         regex: fix glibc bug 9697
42531         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42532         handling.
42533
42534 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42535
42536         regex: fix glibc bug 697
42537         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42538         being NULL also if there are no backreferences.
42539
42540 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42541
42542         regex: merge glibc changes
42543         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42544         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42545         re_string_skip_chars, re_string_reconstruct): Likewise.
42546         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42547
42548 2009-01-07  Jim Meyering  <meyering@redhat.com>
42549
42550         poll: filter through cppi
42551         * lib/poll.c: Indent cpp directives to reflect nesting.
42552
42553 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42554
42555         poll: don't return uninitialized
42556         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42557
42558 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42559
42560         avoid compile failure on AIX 6.1
42561         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42562         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42563
42564 2009-01-04  Jim Meyering  <meyering@redhat.com>
42565
42566         remove duplicate inclusion of <stdio.h>
42567         * tests/test-fprintf-posix.c: Likewise.
42568         * tests/test-printf-posix.c: Likewise.
42569         * tests/test-snprintf-posix.c: Likewise.
42570         * tests/test-sprintf-posix.c: Likewise.
42571         * tests/test-vasprintf-posix.c: Likewise.
42572         * tests/test-vfprintf-posix.c: Likewise.
42573         * tests/test-vprintf-posix.c: Likewise.
42574         * tests/test-vsnprintf-posix.c: Likewise.
42575         * tests/test-vsprintf-posix.c: Likewise.
42576
42577 2009-01-03  Jim Meyering  <meyering@redhat.com>
42578
42579         gnulib-tool: fix sed-based filtering
42580         * gnulib-tool (func_filter_filelist): Remove extra backslash
42581         in sed_fff_filter definition.
42582
42583 2009-01-02  Jim Meyering  <meyering@redhat.com>
42584
42585         strftime: avoid compilation failure on Solaris 2.6
42586         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42587         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42588         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42589         be available.  Reported by Tom G. Christensen.  Details in
42590         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42591
42592 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42593             Bruno Haible  <bruno@clisp.org>
42594
42595         Speed up gnulib-tool by doing more string processing through shell
42596         built-ins.
42597         * gnulib-tool (fast_func_append): New variable.
42598         (func_remove_prefix, func_remove_suffix): New functions.
42599         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42600         (func_filter_filelist): New function.
42601         (func_get_dependencies): Use func_remove_suffix instead of sed.
42602         (func_get_automake_snippet): Use func_filter_filelist instead of a
42603         subshell and sed invocation.
42604
42605 2009-01-01  Bruno Haible  <bruno@clisp.org>
42606
42607         Fix a security bug.
42608         * gnulib-tool (func_import, import, update): Don't allow the characters
42609         '"', '$', '`', '\' in macro arguments that become part of commands that
42610         are evaluated.
42611
42612 2009-01-01  Bruno Haible  <bruno@clisp.org>
42613
42614         * gnulib-tool (func_reset_sigpipe): Add more comments.
42615
42616 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42617
42618         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42619         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42620         already know the answer.
42621
42622 2009-01-01  Jim Meyering  <meyering@redhat.com>
42623
42624         * lib/version-etc.c (version_etc_va): Update copyright year.
42625
42626 2008-12-30  Bruno Haible  <bruno@clisp.org>
42627
42628         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42629         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42630         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42631
42632 2008-12-29  Eric Blake  <ebb9@byu.net>
42633
42634         multiarch: avoid autoconf AC_REQUIRE bug
42635         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42636         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42637         2.63 and older.
42638         Reported by Bruno Haible, and analyzed in
42639         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42640
42641 2008-12-29  Bruno Haible  <bruno@clisp.org>
42642
42643         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42644         files in subdirectories correctly.
42645         Reported by Ralf Wildenhues.
42646
42647 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42648
42649         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42650         rather than 'join FILE -', for Solaris join.
42651
42652 2008-12-29  Bruno Haible  <bruno@clisp.org>
42653
42654         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42655         quoting.
42656         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42657         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42658         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42659         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42660         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42661         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42662         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42663         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42664         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42665         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42666         * m4/nls.m4 (AM_NLS): Likewise.
42667         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42668         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42669         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42670         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42671         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42672         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42673         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42674         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42675         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42676         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42677         * m4/xsize.m4 (gl_XSIZE): Likewise.
42678         Suggested by Jim Meyering.
42679
42680 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42681
42682         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42683         * lib/parse-duration.c: use a switch instead of cascading if's.
42684
42685 2008-12-29  Eric Blake  <ebb9@byu.net>
42686
42687         wchar.h: supply WEOF on Irix 5.3
42688         * lib/wchar.in.h (wint_t): Also supply WEOF.
42689         * lib/wctype.in.h (wint_t): Likewise.
42690         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42691         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42692         Reported by Tom G. Christensen.
42693
42694 2008-12-26  Bruno Haible  <bruno@clisp.org>
42695
42696         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42697         i486, i586, i686.
42698
42699 2008-12-26  Bruno Haible  <bruno@clisp.org>
42700
42701         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42702
42703 2008-12-26  Bruno Haible  <bruno@clisp.org>
42704
42705         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42706         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42707         not __STDC_CONSTANT_MACROS.
42708         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42709
42710 2008-12-25  Bruno Haible  <bruno@clisp.org>
42711
42712         Add support for universal builds to vasnprintf.
42713         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42714         universal builds, guess no.
42715         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42716         * modules/vasprintf-posix (Depends-on): Likewise.
42717         * modules/fprintf-posix (Depends-on): Likewise.
42718         * modules/vfprintf-posix (Depends-on): Likewise.
42719         * modules/snprintf-posix (Depends-on): Likewise.
42720         * modules/vsnprintf-posix (Depends-on): Likewise.
42721         * modules/sprintf-posix (Depends-on): Likewise.
42722         * modules/vsprintf-posix (Depends-on): Likewise.
42723         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42724         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42725         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42726         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42727         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42728         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42729         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42730
42731         Add support for universal builds to <inttypes.h>.
42732         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42733         _SCNu64_PREFIX): In Apple
42734         universal builds, define directly, using _LP64.
42735         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42736         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42737         * modules/inttypes (Depends-on): Add multiarch.
42738         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42739
42740         Add support for universal builds to <stdint.h>.
42741         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42742         universal builds, define directly, using _LP64.
42743         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42744         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42745         and size_t.
42746         * modules/stdint (Depends-on): Add multiarch.
42747         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42748
42749         New module 'multiarch'.
42750         * modules/multiarch: New file.
42751         * m4/multiarch.m4: New file.
42752
42753 2008-12-25  Bruno Haible  <bruno@clisp.org>
42754
42755         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42756
42757 2008-12-25  Bruno Haible  <bruno@clisp.org>
42758
42759         * modules/btowc (License): Relicense under LGPLv2+.
42760         * modules/mbsinit (License): Likewise.
42761         * modules/mbrtowc (License): Likewise.
42762         * modules/wcrtomb (License): Likewise.
42763         * modules/streq (License): Likewise.
42764         Reported by David Lutterkort <lutter@redhat.com>.
42765
42766 2008-12-23  Bruno Haible  <bruno@clisp.org>
42767
42768         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42769
42770 2008-12-23  Bruno Haible  <bruno@clisp.org>
42771
42772         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42773         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42774         GETADDRINFO_LIB, not in LIBS.
42775         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42776         * modules/canon-host (Link): Likewise.
42777         * NEWS: Mention the change.
42778         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42779         GETADDRINFO_LIB.
42780
42781 2008-12-22  Bruno Haible  <bruno@clisp.org>
42782
42783         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42784         * doc/posix-functions/iswalpha_l.texi: Likewise.
42785         * doc/posix-functions/iswblank_l.texi: Likewise.
42786         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42787         * doc/posix-functions/iswctype_l.texi: Likewise.
42788         * doc/posix-functions/iswdigit_l.texi: Likewise.
42789         * doc/posix-functions/iswgraph_l.texi: Likewise.
42790         * doc/posix-functions/iswlower_l.texi: Likewise.
42791         * doc/posix-functions/iswprint_l.texi: Likewise.
42792         * doc/posix-functions/iswpunct_l.texi: Likewise.
42793         * doc/posix-functions/iswspace_l.texi: Likewise.
42794         * doc/posix-functions/iswupper_l.texi: Likewise.
42795         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42796         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42797         * doc/posix-functions/open_wmemstream.texi: Likewise.
42798         * doc/posix-functions/swscanf.texi: Likewise.
42799         * doc/posix-functions/towctrans_l.texi: Likewise.
42800         * doc/posix-functions/towlower.texi: Likewise.
42801         * doc/posix-functions/towlower_l.texi: Likewise.
42802         * doc/posix-functions/towupper.texi: Likewise.
42803         * doc/posix-functions/towupper_l.texi: Likewise.
42804         * doc/posix-functions/vfwprintf.texi: Likewise.
42805         * doc/posix-functions/vfwscanf.texi: Likewise.
42806         * doc/posix-functions/vswscanf.texi: Likewise.
42807         * doc/posix-functions/vwprintf.texi: Likewise.
42808         * doc/posix-functions/vwscanf.texi: Likewise.
42809         * doc/posix-functions/wcpcpy.texi: Likewise.
42810         * doc/posix-functions/wcpncpy.texi: Likewise.
42811         * doc/posix-functions/wcscasecmp.texi: Likewise.
42812         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42813         * doc/posix-functions/wcscoll_l.texi: Likewise.
42814         * doc/posix-functions/wcsdup.texi: Likewise.
42815         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42816         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42817         * doc/posix-functions/wcsnlen.texi: Likewise.
42818         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42819         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42820         * doc/posix-functions/wctrans_l.texi: Likewise.
42821         * doc/posix-functions/wctype_l.texi: Likewise.
42822         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42823         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42824         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42825         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42826         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42827         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42828         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42829         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42830         * doc/glibc-functions/wcschrnul.texi: Likewise.
42831         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42832         * doc/glibc-functions/wcstod_l.texi: Likewise.
42833         * doc/glibc-functions/wcstof_l.texi: Likewise.
42834         * doc/glibc-functions/wcstol_l.texi: Likewise.
42835         * doc/glibc-functions/wcstold_l.texi: Likewise.
42836         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42837         * doc/glibc-functions/wcstoq.texi: Likewise.
42838         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42839         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42840         * doc/glibc-functions/wcstouq.texi: Likewise.
42841         * doc/glibc-functions/wmempcpy.texi: Likewise.
42842
42843 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42844             Eric Blake  <ebb9@byu.net>
42845             Paolo Bonzini  <bonzini@gnu.org>
42846             Bruno Haible  <bruno@clisp.org>
42847
42848         Make c-stack work on Haiku.
42849         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42850         (c_stack_action): Use SA_ONSTACK flag.
42851
42852 2008-12-22  Bruno Haible  <bruno@clisp.org>
42853
42854         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42855
42856 2008-12-22  Bruno Haible  <bruno@clisp.org>
42857
42858         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42859         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42860         being overridden.
42861         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42862         New macros.
42863         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42864         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42865         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42866         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42867
42868 2008-12-22  Bruno Haible  <bruno@clisp.org>
42869
42870         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42871         from test code.
42872
42873 2008-12-22  Eric Blake  <ebb9@byu.net>
42874
42875         Avoid gcc warnings on cygwin.
42876         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42877         Avoid unused variable.
42878         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42879         Likewise.
42880
42881 2008-12-22  Bruno Haible  <bruno@clisp.org>
42882
42883         Remove HAVE_MBRTOWC conditionals.
42884         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42885         (mbscasecmp): Assume mbrtowc function.
42886         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42887         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42888         * lib/mbschr.c: Include mbuiter.h unconditionally.
42889         (mbschr): Assume mbrtowc function.
42890         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42891         (mbscspn): Assume mbrtowc function.
42892         * lib/mbslen.c: Include mbuiter.h unconditionally.
42893         (mbslen): Assume mbrtowc function.
42894         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42895         (mbsncasecmp): Assume mbrtowc function.
42896         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42897         (mbsnlen): Assume mbrtowc function.
42898         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42899         (mbspbrk): Assume mbrtowc function.
42900         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42901         (mbspcasecmp): Assume mbrtowc function.
42902         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42903         (mbsrchr): Assume mbrtowc function.
42904         * lib/mbssep.c: Include mbuiter.h unconditionally.
42905         (mbssep): Assume mbrtowc function.
42906         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42907         (mbsspn): Assume mbrtowc function.
42908         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42909         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42910         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42911         (mbstok_r): Assume mbrtowc function.
42912         * lib/propername.c: Include mbuiter.h unconditionally.
42913         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42914         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42915         (trim2): Assume mbrtowc function.
42916         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42917         (mbsnwidth): Assume mbrtowc function.
42918         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42919         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42920         fallback definitions.
42921         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42922
42923 2008-12-22  Bruno Haible  <bruno@clisp.org>
42924
42925         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42926
42927 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42928
42929         * modules/regex: Request emulations for the mb*/wc* functions we need.
42930         * m4/regex.m4: Don't look for those functions here.
42931         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42932
42933 2008-12-22  Bruno Haible  <bruno@clisp.org>
42934
42935         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42936
42937 2008-12-21  Bruno Haible  <bruno@clisp.org>
42938
42939         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42940         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42941         (Include): Remove conditionalization.
42942         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42943         (Include): Remove conditionalization.
42944         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42945         (Include): Remove conditionalization.
42946         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42947         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42948         * NEWS: Mention the change.
42949         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42950         via Sergey Poznyakoff <gray@gnu.org.ua>.
42951
42952 2008-12-21  Bruno Haible  <bruno@clisp.org>
42953
42954         * MODULES.html.sh (Extended multibyte and wide character utilities
42955         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42956         wcrtomb, wcsrtombs.
42957         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42958         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42959         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42960         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42961
42962 2008-12-21  Bruno Haible  <bruno@clisp.org>
42963
42964         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42965
42966 2008-12-21  Bruno Haible  <bruno@clisp.org>
42967
42968         * modules/wcsnrtombs-tests: New file.
42969         * tests/test-wcsnrtombs1.sh: New file.
42970         * tests/test-wcsnrtombs2.sh: New file.
42971         * tests/test-wcsnrtombs3.sh: New file.
42972         * tests/test-wcsnrtombs4.sh: New file.
42973         * tests/test-wcsnrtombs.c: New file.
42974
42975         New module 'wcsnrtombs'.
42976         * lib/wchar.in.h (wcsnrtombs): New declaration.
42977         * lib/wcsnrtombs.c: New file.
42978         * lib/wcsrtombs-state.c: New file.
42979         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42980         (internal_state): Remove variable.
42981         * m4/wcsnrtombs.m4: New file.
42982         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42983         compilation units.
42984         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42985         HAVE_WCSNRTOMBS.
42986         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42987         HAVE_WCSNRTOMBS.
42988         * modules/wcsnrtombs: New file.
42989         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42990         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42991
42992 2008-12-21  Bruno Haible  <bruno@clisp.org>
42993
42994         * modules/wcsrtombs-tests: New file.
42995         * tests/test-wcsrtombs1.sh: New file.
42996         * tests/test-wcsrtombs2.sh: New file.
42997         * tests/test-wcsrtombs3.sh: New file.
42998         * tests/test-wcsrtombs4.sh: New file.
42999         * tests/test-wcsrtombs.c: New file.
43000
43001         New module 'wcsrtombs'.
43002         * lib/wchar.in.h (wcsrtombs): New declaration.
43003         * lib/wcsrtombs.c: New file.
43004         * m4/wcsrtombs.m4: New file.
43005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
43006         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
43007         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
43008         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
43009         * modules/wcsrtombs: New file.
43010         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
43011         bugs.
43012
43013 2008-12-21  Bruno Haible  <bruno@clisp.org>
43014
43015         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
43016         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
43017         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
43018         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
43019         if not correct.
43020         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
43021         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
43022         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43023         m4/locale-zh.m4, m4/codeset.m4.
43024         * doc/posix-functions/wcrtomb.texi: Document the bug.
43025
43026 2008-12-21  Bruno Haible  <bruno@clisp.org>
43027
43028         Work around a btowc() bug on IRIX 6.5.
43029         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
43030         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
43031         REPLACE_WTOBC if not.
43032         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
43033         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
43034         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
43035
43036 2008-12-21  Bruno Haible  <bruno@clisp.org>
43037
43038         * modules/wcrtomb-tests: New file.
43039         * tests/test-wcrtomb.sh: New file.
43040         * tests/test-wcrtomb.c: New file.
43041
43042         New module 'wcrtomb'.
43043         * lib/wchar.in.h (wcrtomb): New declaration.
43044         * lib/wcrtomb.c: New file.
43045         * m4/wcrtomb.m4: New file.
43046         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
43047         HAVE_WCRTOMB.
43048         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
43049         HAVE_WCRTOMB.
43050         * modules/wcrtomb: New file.
43051         * doc/posix-functions/wcrtomb.texi: Mention the new module.
43052
43053 2008-12-21  Bruno Haible  <bruno@clisp.org>
43054
43055         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
43056         * modules/mbsrtowcs (Files): Likewise.
43057         * modules/wctob (Files): Likewise.
43058         * modules/c-strcase-tests (Files): Likewise.
43059         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
43060         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
43061         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
43062         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
43063         * modules/vasnprintf-posix-tests (Files): Likewise.
43064
43065 2008-12-21  William Pursell  <bill.pursell@gmail.com>
43066
43067         gitlog-to-changelog: pass all command-line arguments to git-log
43068         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
43069         it is sometimes convenient to filter the commits in various ways.
43070         gitlog-to-changelog only allows --since to specify a start date,
43071         but git-log itself supports many other filtering mechanisms.
43072         At the moment, I want to filter by branch name.  Rather than
43073         adding a --branch option to gitlog-to-changelog, it seems more
43074         flexible to simply pass all options directly to git-log and let
43075         git do the work.  Notice that this effectively makes --since a
43076         redundant option for gitlog-to-changelog, but removing it would
43077         require current usage to change since calls would then require
43078         an additional '--'.
43079
43080 2008-12-21  Bruno Haible  <bruno@clisp.org>
43081
43082         * modules/mbsnrtowcs-tests: New file.
43083         * tests/test-mbsnrtowcs1.sh: New file.
43084         * tests/test-mbsnrtowcs2.sh: New file.
43085         * tests/test-mbsnrtowcs3.sh: New file.
43086         * tests/test-mbsnrtowcs4.sh: New file.
43087         * tests/test-mbsnrtowcs.c: New file.
43088
43089         New module 'mbsnrtowcs'.
43090         * lib/wchar.in.h (mbsnrtowcs): New declaration.
43091         * lib/mbsnrtowcs.c: New file.
43092         * lib/mbsrtowcs-state.c: New file.
43093         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
43094         (internal_state): Remove variable.
43095         * m4/mbsnrtowcs.m4: New file.
43096         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
43097         compilation units.
43098         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
43099         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
43100         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
43101         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
43102         * modules/mbsnrtowcs: New file.
43103         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
43104         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
43105         portability problem.
43106
43107 2008-12-21  Bruno Haible  <bruno@clisp.org>
43108
43109         Work around mbsrtowcs bug.
43110         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
43111         (gl_FUNC_MBSRTOWCS): Invoke it.
43112         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43113         m4/locale-zh.m4.
43114         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
43115
43116 2008-12-21  Bruno Haible  <bruno@clisp.org>
43117
43118         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
43119
43120 2008-12-21  Bruno Haible  <bruno@clisp.org>
43121
43122         Update doc for AIX.
43123         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
43124         16-bit wchar_t type.
43125         * doc/posix-functions/btowc.texi: Likewise.
43126         * doc/posix-functions/fgetwc.texi: Likewise.
43127         * doc/posix-functions/fgetws.texi: Likewise.
43128         * doc/posix-functions/fputwc.texi: Likewise.
43129         * doc/posix-functions/fputws.texi: Likewise.
43130         * doc/posix-functions/fwide.texi: Likewise.
43131         * doc/posix-functions/fwprintf.texi: Likewise.
43132         * doc/posix-functions/fwscanf.texi: Likewise.
43133         * doc/posix-functions/getwchar.texi: Likewise.
43134         * doc/posix-functions/getwc.texi: Likewise.
43135         * doc/posix-functions/iswalnum.texi: Likewise.
43136         * doc/posix-functions/iswalpha.texi: Likewise.
43137         * doc/posix-functions/iswblank.texi: Likewise.
43138         * doc/posix-functions/iswcntrl.texi: Likewise.
43139         * doc/posix-functions/iswctype.texi: Likewise.
43140         * doc/posix-functions/iswdigit.texi: Likewise.
43141         * doc/posix-functions/iswgraph.texi: Likewise.
43142         * doc/posix-functions/iswlower.texi: Likewise.
43143         * doc/posix-functions/iswprint.texi: Likewise.
43144         * doc/posix-functions/iswpunct.texi: Likewise.
43145         * doc/posix-functions/iswspace.texi: Likewise.
43146         * doc/posix-functions/iswupper.texi: Likewise.
43147         * doc/posix-functions/iswxdigit.texi: Likewise.
43148         * doc/posix-functions/mbrtowc.texi: Likewise.
43149         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43150         * doc/posix-functions/mbstowcs.texi: Likewise.
43151         * doc/posix-functions/mbtowc.texi: Likewise.
43152         * doc/posix-functions/putwchar.texi: Likewise.
43153         * doc/posix-functions/putwc.texi: Likewise.
43154         * doc/posix-functions/swprintf.texi: Likewise.
43155         * doc/posix-functions/tolower.texi: Likewise.
43156         * doc/posix-functions/toupper.texi: Likewise.
43157         * doc/posix-functions/towctrans.texi: Likewise.
43158         * doc/posix-functions/ungetwc.texi: Likewise.
43159         * doc/posix-functions/vswprintf.texi: Likewise.
43160         * doc/posix-functions/wcrtomb.texi: Likewise.
43161         * doc/posix-functions/wcscat.texi: Likewise.
43162         * doc/posix-functions/wcschr.texi: Likewise.
43163         * doc/posix-functions/wcscmp.texi: Likewise.
43164         * doc/posix-functions/wcscoll.texi: Likewise.
43165         * doc/posix-functions/wcscpy.texi: Likewise.
43166         * doc/posix-functions/wcscspn.texi: Likewise.
43167         * doc/posix-functions/wcsftime.texi: Likewise.
43168         * doc/posix-functions/wcslen.texi: Likewise.
43169         * doc/posix-functions/wcsncat.texi: Likewise.
43170         * doc/posix-functions/wcsncmp.texi: Likewise.
43171         * doc/posix-functions/wcsncpy.texi: Likewise.
43172         * doc/posix-functions/wcspbrk.texi: Likewise.
43173         * doc/posix-functions/wcsrchr.texi: Likewise.
43174         * doc/posix-functions/wcsrtombs.texi: Likewise.
43175         * doc/posix-functions/wcsspn.texi: Likewise.
43176         * doc/posix-functions/wcsstr.texi: Likewise.
43177         * doc/posix-functions/wcstod.texi: Likewise.
43178         * doc/posix-functions/wcstof.texi: Likewise.
43179         * doc/posix-functions/wcstoimax.texi: Likewise.
43180         * doc/posix-functions/wcstok.texi: Likewise.
43181         * doc/posix-functions/wcstold.texi: Likewise.
43182         * doc/posix-functions/wcstoll.texi: Likewise.
43183         * doc/posix-functions/wcstol.texi: Likewise.
43184         * doc/posix-functions/wcstombs.texi: Likewise.
43185         * doc/posix-functions/wcstoull.texi: Likewise.
43186         * doc/posix-functions/wcstoul.texi: Likewise.
43187         * doc/posix-functions/wcstoumax.texi: Likewise.
43188         * doc/posix-functions/wcswidth.texi: Likewise.
43189         * doc/posix-functions/wcsxfrm.texi: Likewise.
43190         * doc/posix-functions/wctob.texi: Likewise.
43191         * doc/posix-functions/wctomb.texi: Likewise.
43192         * doc/posix-functions/wctrans.texi: Likewise.
43193         * doc/posix-functions/wctype.texi: Likewise.
43194         * doc/posix-functions/wcwidth.texi: Likewise.
43195         * doc/posix-functions/wmemchr.texi: Likewise.
43196         * doc/posix-functions/wmemcmp.texi: Likewise.
43197         * doc/posix-functions/wmemcpy.texi: Likewise.
43198         * doc/posix-functions/wmemmove.texi: Likewise.
43199         * doc/posix-functions/wmemset.texi: Likewise.
43200         * doc/posix-functions/wprintf.texi: Likewise.
43201         * doc/posix-functions/wscanf.texi: Likewise.
43202
43203 2008-12-21  Bruno Haible  <bruno@clisp.org>
43204
43205         Update doc for HP-UX 11.11.
43206         * doc/posix-functions/btowc.texi: Clarify that the function is missing
43207         in HP-UX version 11.00, not in all versions of HP-UX 11.
43208         * doc/posix-functions/fwide.texi: Likewise.
43209         * doc/posix-functions/fwprintf.texi: Likewise.
43210         * doc/posix-functions/fwscanf.texi: Likewise.
43211         * doc/posix-functions/inet_ntop.texi: Likewise.
43212         * doc/posix-functions/inet_pton.texi: Likewise.
43213         * doc/posix-functions/mbrlen.texi: Likewise.
43214         * doc/posix-functions/mbrtowc.texi: Likewise.
43215         * doc/posix-functions/mbsinit.texi: Likewise.
43216         * doc/posix-functions/mbsrtowcs.texi: Likewise.
43217         * doc/posix-functions/swprintf.texi: Likewise.
43218         * doc/posix-functions/swscanf.texi: Likewise.
43219         * doc/posix-functions/towctrans.texi: Likewise.
43220         * doc/posix-functions/vfwprintf.texi: Likewise.
43221         * doc/posix-functions/vswprintf.texi: Likewise.
43222         * doc/posix-functions/vwprintf.texi: Likewise.
43223         * doc/posix-functions/wcrtomb.texi: Likewise.
43224         * doc/posix-functions/wcsrtombs.texi: Likewise.
43225         * doc/posix-functions/wcsstr.texi: Likewise.
43226         * doc/posix-functions/wctob.texi: Likewise.
43227         * doc/posix-functions/wctrans.texi: Likewise.
43228         * doc/posix-functions/wmemchr.texi: Likewise.
43229         * doc/posix-functions/wmemcmp.texi: Likewise.
43230         * doc/posix-functions/wmemcpy.texi: Likewise.
43231         * doc/posix-functions/wmemmove.texi: Likewise.
43232         * doc/posix-functions/wmemset.texi: Likewise.
43233         * doc/posix-functions/wprintf.texi: Likewise.
43234         * doc/posix-functions/wscanf.texi: Likewise.
43235
43236 2008-12-21  Bruno Haible  <bruno@clisp.org>
43237
43238         Work around a portability problem.
43239         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
43240         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
43241
43242 2008-12-20  Bruno Haible  <bruno@clisp.org>
43243
43244         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
43245         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
43246         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
43247         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
43248         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
43249
43250         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
43251         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
43252         set.
43253         (GNULIB_defined_mbstate_t): New macro.
43254         (mbsinit): Redefine if REPLACE_MBSINIT is set.
43255         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
43256         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
43257         reuses the system's mbrtowc function but works around the bugs.
43258         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
43259         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
43260         macros.
43261         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
43262         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
43263         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
43264         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
43265         REPLACE_MBSINIT if mbsinit needs to be overridden.
43266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
43267         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43268         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
43269         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43270         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43271         m4/locale-zh.m4.
43272         (Depends): Add mbsinit.
43273         * modules/mbsinit (Depends): Add mbrtowc.
43274         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
43275
43276 2008-12-20  Bruno Haible  <bruno@clisp.org>
43277
43278         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
43279         so that there are no conversion errors on AIX.
43280         * tests/test-mbsrtowcs.c (main): LIkewise.
43281
43282 2008-12-20  Bruno Haible  <bruno@clisp.org>
43283
43284         Work around wctob bug on Solaris <= 9.
43285         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
43286         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
43287         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
43288         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
43289         * modules/wctob (Files): Add m4/locale-fr.m4.
43290         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
43291
43292 2008-12-20  Bruno Haible  <bruno@clisp.org>
43293
43294         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
43295         /dev/null.
43296         * tests/test-select-in.sh: Likewise.
43297         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43298
43299 2008-12-20  Bruno Haible  <bruno@clisp.org>
43300
43301         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
43302         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
43303         Cygwin 1.5.x.
43304
43305 2008-12-20  Bruno Haible  <bruno@clisp.org>
43306
43307         Ensure mbstate_t is defined on HP-UX 11.11.
43308         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
43309         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
43310         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
43311         AC_USE_SYSTEM_EXTENSIONS.
43312         * modules/fnmatch (Depends-on): Add extensions.
43313         * modules/mbrlen (Depends-on): Likewise.
43314         * modules/mbrtowc (Depends-on): Likewise.
43315         * modules/mbsinit (Depends-on): Likewise.
43316         * modules/mbsrtowcs (Depends-on): Likewise.
43317         * modules/mbswidth (Depends-on): Likewise.
43318         * modules/quotearg (Depends-on): Likewise.
43319         * modules/strftime (Depends-on): Likewise.
43320
43321 2008-12-20  Bruno Haible  <bruno@clisp.org>
43322
43323         Ensure wctob is declared on IRIX 6.5.
43324         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
43325         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
43326         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
43327         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
43328         of HAVE_WCTOB.
43329         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
43330         HAVE_WCTOB.
43331         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
43332
43333 2008-12-19  Bruno Haible  <bruno@clisp.org>
43334
43335         * modules/mbsrtowcs-tests: New file.
43336         * tests/test-mbsrtowcs1.sh: New file.
43337         * tests/test-mbsrtowcs2.sh: New file.
43338         * tests/test-mbsrtowcs3.sh: New file.
43339         * tests/test-mbsrtowcs4.sh: New file.
43340         * tests/test-mbsrtowcs.c: New file.
43341
43342         New module 'mbsrtowcs'.
43343         * lib/wchar.in.h (mbsrtowcs): New declaration.
43344         * lib/mbsrtowcs.c: New file.
43345         * m4/mbsrtowcs.m4: New file.
43346         * modules/mbsrtowcs: New file.
43347         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
43348         HAVE_MBSRTOWCS.
43349         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
43350         HAVE_MBSRTOWCS.
43351         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
43352
43353 2008-12-19  Bruno Haible  <bruno@clisp.org>
43354
43355         New module 'mbrlen'.
43356         * lib/wchar.in.h (mbrlen): New declaration.
43357         * lib/mbrlen.c: New file.
43358         * m4/mbrlen.m4: New file.
43359         * modules/mbrlen: New file.
43360         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
43361         HAVE_MBRLEN.
43362         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
43363         HAVE_MBRLEN.
43364         * doc/posix-functions/mbrlen.texi: Document the new module.
43365
43366 2008-12-19  Bruno Haible  <bruno@clisp.org>
43367
43368         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
43369         * modules/mbrtowc (Depends-on): Add verify.
43370         Suggested by Paul Eggert.
43371
43372 2008-12-18  Bruno Haible  <bruno@clisp.org>
43373
43374         * modules/mbsinit-tests: New file.
43375         * tests/test-mbsinit.sh: New file.
43376         * tests/test-mbsinit.c: New file.
43377
43378 2008-12-18  Bruno Haible  <bruno@clisp.org>
43379
43380         * modules/mbrtowc-tests: New file.
43381         * tests/test-mbrtowc1.sh: New file.
43382         * tests/test-mbrtowc2.sh: New file.
43383         * tests/test-mbrtowc3.sh: New file.
43384         * tests/test-mbrtowc4.sh: New file.
43385         * tests/test-mbrtowc.c: New file.
43386
43387         New module 'mbrtowc'.
43388         * lib/wchar.in.h (mbstate_t): Override when the system does not have
43389         mbsinit and mbrtowc.
43390         (mbrtowc): New declaration.
43391         * lib/mbrtowc.c: New file.
43392         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
43393         * modules/mbrtowc: New file.
43394         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
43395         HAVE_MBRTOWC.
43396         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
43397         HAVE_MBRTOWC.
43398         * doc/posix-functions/mbrtowc.texi: Document the new module.
43399
43400 2008-12-18  Bruno Haible  <bruno@clisp.org>
43401
43402         New module 'wctob'.
43403         * lib/wchar.in.h (wctob): New declaration.
43404         * lib/wctob.c: New file.
43405         * m4/wctob.m4: New file.
43406         * modules/wctob: New file.
43407         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43408         HAVE_WCTOB.
43409         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43410         * doc/posix-functions/wctob.texi: Document the new module.
43411
43412 2008-12-18  Bruno Haible  <bruno@clisp.org>
43413
43414         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43415         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43416
43417 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43418
43419         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43420         G. Christensen" <tgc@jupiterrise.com>.
43421
43422         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43423         G. Christensen" <tgc@jupiterrise.com>.
43424
43425         * lib/flock.c: Need to include string.h.  Reported by "Tom
43426         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43427         <ebb9@byu.net>.
43428
43429 2008-12-18  Bruno Haible  <bruno@clisp.org>
43430
43431         * m4/locale-ja.m4: New file, from GNU gettext.
43432
43433 2008-12-17  Bruno Haible  <bruno@clisp.org>
43434
43435         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43436         Suggested by Eric Blake.
43437
43438 2008-12-17  Bruno Haible  <bruno@clisp.org>
43439
43440         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43441
43442 2008-12-17  Bruno Haible  <bruno@clisp.org>
43443
43444         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43445         * modules/mbsinit (Depends-on): Add verify.
43446         Suggested by Paul Eggert.
43447
43448 2008-12-17  Bruno Haible  <bruno@clisp.org>
43449
43450         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43451         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43452         gl_FUNC_MBRTOWC.
43453         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43454         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43455         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43456         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43457         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43458         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43459         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43460         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43461         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43462         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43463         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43464         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43465         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43466         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43467         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43468         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43469         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43470         * modules/trim (configure.ac): Likewise.
43471
43472 2008-12-17  Bruno Haible  <bruno@clisp.org>
43473
43474         * modules/btowc-tests: New file.
43475         * tests/test-btowc1.sh: New file.
43476         * tests/test-btowc2.sh: New file.
43477         * tests/test-btowc.c: New file.
43478
43479         New module 'btowc'.
43480         * lib/wchar.in.h (btowc): New declaration.
43481         * lib/btowc.c: New file.
43482         * m4/btowc.m4: New file.
43483         * modules/btowc: New file.
43484         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43485         HAVE_BTOWC.
43486         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43487         * doc/posix-functions/btowc.texi: Document the new module.
43488
43489 2008-12-17  Bruno Haible  <bruno@clisp.org>
43490
43491         New module 'mbsinit'.
43492         * lib/wchar.in.h (mbsinit): New declaration.
43493         * lib/mbsinit.c: New file.
43494         * m4/mbsinit.m4: New file.
43495         * modules/mbsinit: New file.
43496         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43497         HAVE_MBSINIT.
43498         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43499         HAVE_MBSINIT.
43500         * doc/posix-functions/mbsinit.texi: Document the new module.
43501
43502 2008-12-16  Bruno Haible  <bruno@clisp.org>
43503
43504         * lib/unistd.in.h: Add comment.
43505         * tests/test-environ.c: Don't include <stdlib.h>.
43506
43507 2008-12-16  Bruno Haible  <bruno@clisp.org>
43508
43509         * lib/parse-duration.h (parse_duration): Document return value
43510         convention.
43511         * lib/parse-duration.c: Include specification header first. Add
43512         comments.
43513         (_): Remove macro.
43514         (parse_year_month_day, parse_hour_minute_second): Move side effects
43515         outside of strchr call.
43516         (parse_non_iso8601): Move side effects outside of isspace call.
43517         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43518         call.
43519
43520 2008-12-16  Bruno Haible  <bruno@clisp.org>
43521
43522         * tests/test-parse-duration.sh: Produce no output when the test
43523         succeeds.
43524
43525 2008-12-16  Bruno Haible  <bruno@clisp.org>
43526
43527         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43528         expressions.
43529
43530 2008-12-15  Bruno Haible  <bruno@clisp.org>
43531
43532         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43533         * doc/glibc-functions/flistxattr.texi: Likewise.
43534         * doc/glibc-functions/fopencookie.texi: Likewise.
43535         * doc/glibc-functions/fremovexattr.texi: Likewise.
43536         * doc/glibc-functions/fsetxattr.texi: Likewise.
43537         * doc/glibc-functions/getxattr.texi: Likewise.
43538         * doc/glibc-functions/lgetxattr.texi: Likewise.
43539         * doc/glibc-functions/listxattr.texi: Likewise.
43540         * doc/glibc-functions/llistxattr.texi: Likewise.
43541         * doc/glibc-functions/lremovexattr.texi: Likewise.
43542         * doc/glibc-functions/lsetxattr.texi: Likewise.
43543         * doc/glibc-functions/removexattr.texi: Likewise.
43544         * doc/glibc-functions/setxattr.texi: Likewise.
43545         * doc/posix-functions/open_memstream.texi: Likewise.
43546
43547 2008-12-15  Eric Blake  <ebb9@byu.net>
43548
43549         Update doc for cygwin 1.7.
43550         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43551         functions.
43552         * doc/posix-functions/fchmodat.texi: Likewise.
43553         * doc/posix-functions/fchownat.texi: Likewise.
43554         * doc/posix-functions/fdopendir.texi: Likewise.
43555         * doc/posix-functions/fmemopen.texi: Likewise.
43556         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43557         * doc/posix-functions/fstatat.texi: Likewise.
43558         * doc/posix-functions/futimens.texi: Likewise.
43559         * doc/posix-functions/gai_strerror.texi: Likewise.
43560         * doc/posix-functions/getaddrinfo.texi: Likewise.
43561         * doc/posix-functions/getnameinfo.texi: Likewise.
43562         * doc/posix-functions/if_freenameindex.texi: Likewise.
43563         * doc/posix-functions/if_indextoname.texi: Likewise.
43564         * doc/posix-functions/if_nameindex.texi: Likewise.
43565         * doc/posix-functions/if_nametoindex.texi: Likewise.
43566         * doc/posix-functions/insque.texi: Likewise.
43567         * doc/posix-functions/linkat.texi: Likewise.
43568         * doc/posix-functions/llrint.texi: Likewise.
43569         * doc/posix-functions/llrintf.texi: Likewise.
43570         * doc/posix-functions/llrintl.texi: Likewise.
43571         * doc/posix-functions/lockf.texi: Likewise.
43572         * doc/posix-functions/lrintl.texi: Likewise.
43573         * doc/posix-functions/mkdirat.texi: Likewise.
43574         * doc/posix-functions/mkfifoat.texi: Likewise.
43575         * doc/posix-functions/mknodat.texi: Likewise.
43576         * doc/posix-functions/mq_close.texi: Likewise.
43577         * doc/posix-functions/mq_getattr.texi: Likewise.
43578         * doc/posix-functions/mq_notify.texi: Likewise.
43579         * doc/posix-functions/mq_open.texi: Likewise.
43580         * doc/posix-functions/mq_receive.texi: Likewise.
43581         * doc/posix-functions/mq_send.texi: Likewise.
43582         * doc/posix-functions/mq_setattr.texi: Likewise.
43583         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43584         * doc/posix-functions/mq_timedsend.texi: Likewise.
43585         * doc/posix-functions/mq_unlink.texi: Likewise.
43586         * doc/posix-functions/open_memstream.texi: Likewise.
43587         * doc/posix-functions/openat.texi: Likewise.
43588         * doc/posix-functions/posix_fadvise.texi: Likewise.
43589         * doc/posix-functions/posix_fallocate.texi: Likewise.
43590         * doc/posix-functions/posix_madvise.texi: Likewise.
43591         * doc/posix-functions/posix_memalign.texi: Likewise.
43592         * doc/posix-functions/posix_openpt.texi: Likewise.
43593         * doc/posix-functions/readlinkat.texi: Likewise.
43594         * doc/posix-functions/remque.texi: Likewise.
43595         * doc/posix-functions/renameat.texi: Likewise.
43596         * doc/posix-functions/rintl.texi: Likewise.
43597         * doc/posix-functions/sem_unlink.texi: Likewise.
43598         * doc/posix-functions/shm_open.texi: Likewise.
43599         * doc/posix-functions/shm_unlink.texi: Likewise.
43600         * doc/posix-functions/signgam.texi: Likewise.
43601         * doc/posix-functions/sigset.texi: Likewise.
43602         * doc/posix-functions/stpcpy.texi: Likewise.
43603         * doc/posix-functions/stpncpy.texi: Likewise.
43604         * doc/posix-functions/strerror.texi: Likewise.
43605         * doc/posix-functions/strtod.texi: Likewise.
43606         * doc/posix-functions/symlinkat.texi: Likewise.
43607         * doc/posix-functions/unlinkat.texi: Likewise.
43608         * doc/posix-functions/utimensat.texi: Likewise.
43609         * doc/glibc-functions/bindresvport.texi: Likewise.
43610         * doc/glibc-functions/dn_expand.texi: Likewise.
43611         * doc/glibc-functions/exp10.texi: Likewise.
43612         * doc/glibc-functions/exp10f.texi: Likewise.
43613         * doc/glibc-functions/fgetxattr.texi: Likewise.
43614         * doc/glibc-functions/flistxattr.texi: Likewise.
43615         * doc/glibc-functions/fopencookie.texi: Likewise.
43616         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43617         * doc/glibc-functions/fremovexattr.texi: Likewise.
43618         * doc/glibc-functions/fsetxattr.texi: Likewise.
43619         * doc/glibc-functions/getifaddrs.texi: Likewise.
43620         * doc/glibc-functions/getxattr.texi: Likewise.
43621         * doc/glibc-functions/lgetxattr.texi: Likewise.
43622         * doc/glibc-functions/listxattr.texi: Likewise.
43623         * doc/glibc-functions/llistxattr.texi: Likewise.
43624         * doc/glibc-functions/lremovexattr.texi: Likewise.
43625         * doc/glibc-functions/lsetxattr.texi: Likewise.
43626         * doc/glibc-functions/pow10.texi: Likewise.
43627         * doc/glibc-functions/pow10f.texi: Likewise.
43628         * doc/glibc-functions/rcmd_af.texi: Likewise.
43629         * doc/glibc-functions/removexattr.texi: Likewise.
43630         * doc/glibc-functions/res_init.texi: Likewise.
43631         * doc/glibc-functions/res_mkquery.texi: Likewise.
43632         * doc/glibc-functions/res_query.texi: Likewise.
43633         * doc/glibc-functions/res_querydomain.texi: Likewise.
43634         * doc/glibc-functions/res_send.texi: Likewise.
43635         * doc/glibc-functions/rresvport_af.texi: Likewise.
43636         * doc/glibc-functions/setxattr.texi: Likewise.
43637         * doc/glibc-functions/strcasestr.texi: Likewise.
43638
43639 2008-12-15  Bruno Haible  <bruno@clisp.org>
43640
43641         Fix compilation error on OSF/1 4.0.
43642         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43643         <sys/time.h>, simply delegate to the system header.
43644         Reported by Daniel Richard G. <oss@teragram.com>.
43645
43646 2008-12-15  Bruno Haible  <bruno@clisp.org>
43647
43648         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43649         * doc/posix-functions/fchmodat.texi: Likewise.
43650         * doc/posix-functions/fchownat.texi: Likewise.
43651         * doc/posix-functions/fdopendir.texi: Likewise.
43652         * doc/posix-functions/fstatat.texi: Likewise.
43653         * doc/posix-functions/mkdirat.texi: Likewise.
43654         * doc/posix-functions/unlinkat.texi: Likewise.
43655
43656 2008-12-14  Bruno Haible  <bruno@clisp.org>
43657
43658         Update doc for POSIX:2008.
43659         * doc/posix-functions/faccessat.texi: New file.
43660         * doc/posix-functions/fchmodat.texi: New file.
43661         * doc/posix-functions/fchownat.texi: New file.
43662         * doc/posix-functions/fdopendir.texi: New file.
43663         * doc/posix-functions/fstatat.texi: New file.
43664         * doc/posix-functions/futimens.texi: New file.
43665         * doc/posix-functions/linkat.texi: New file.
43666         * doc/posix-functions/mkdirat.texi: New file.
43667         * doc/posix-functions/mkfifoat.texi: New file.
43668         * doc/posix-functions/mknodat.texi: New file.
43669         * doc/posix-functions/open_wmemstream.texi: New file.
43670         * doc/posix-functions/openat.texi: New file.
43671         * doc/posix-functions/psiginfo.texi: New file.
43672         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43673         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43674         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43675         * doc/posix-functions/readlinkat.texi: New file.
43676         * doc/posix-functions/renameat.texi: New file.
43677         * doc/posix-functions/strerror_l.texi: New file.
43678         * doc/posix-functions/symlinkat.texi: New file.
43679         * doc/posix-functions/unlinkat.texi: New file.
43680         * doc/posix-functions/utimensat.texi: New file.
43681         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43682
43683 2008-12-14  Bruno Haible  <bruno@clisp.org>
43684
43685         Update doc for POSIX:2008.
43686         * doc/posix-functions/alphasort.texi: Renamed from
43687         doc/glibc-functions/alphasort.texi.
43688         * doc/posix-functions/dirfd.texi: Renamed from
43689         doc/glibc-functions/dirfd.texi.
43690         * doc/posix-functions/dprintf.texi: Renamed from
43691         doc/glibc-functions/dprintf.texi.
43692         * doc/posix-functions/duplocale.texi: Renamed from
43693         doc/glibc-functions/duplocale.texi.
43694         * doc/posix-functions/fexecve.texi: Renamed from
43695         doc/glibc-functions/fexecve.texi.
43696         * doc/posix-functions/fmemopen.texi: Renamed from
43697         doc/glibc-functions/fmemopen.texi.
43698         * doc/posix-functions/freelocale.texi: Renamed from
43699         doc/glibc-functions/freelocale.texi.
43700         * doc/posix-functions/getdate_err.texi: Renamed from
43701         doc/glibc-functions/getdate_err.texi.
43702         * doc/posix-functions/isalnum_l.texi: Renamed from
43703         doc/glibc-functions/isalnum_l.texi.
43704         * doc/posix-functions/isalpha_l.texi: Renamed from
43705         doc/glibc-functions/isalpha_l.texi.
43706         * doc/posix-functions/isblank_l.texi: Renamed from
43707         doc/glibc-functions/isblank_l.texi.
43708         * doc/posix-functions/iscntrl_l.texi: Renamed from
43709         doc/glibc-functions/iscntrl_l.texi.
43710         * doc/posix-functions/isdigit_l.texi: Renamed from
43711         doc/glibc-functions/isdigit_l.texi.
43712         * doc/posix-functions/isgraph_l.texi: Renamed from
43713         doc/glibc-functions/isgraph_l.texi.
43714         * doc/posix-functions/islower_l.texi: Renamed from
43715         doc/glibc-functions/islower_l.texi.
43716         * doc/posix-functions/isprint_l.texi: Renamed from
43717         doc/glibc-functions/isprint_l.texi.
43718         * doc/posix-functions/ispunct_l.texi: Renamed from
43719         doc/glibc-functions/ispunct_l.texi.
43720         * doc/posix-functions/isspace_l.texi: Renamed from
43721         doc/glibc-functions/isspace_l.texi.
43722         * doc/posix-functions/isupper_l.texi: Renamed from
43723         doc/glibc-functions/isupper_l.texi.
43724         * doc/posix-functions/iswalnum_l.texi: Renamed from
43725         doc/glibc-functions/iswalnum_l.texi.
43726         * doc/posix-functions/iswalpha_l.texi: Renamed from
43727         doc/glibc-functions/iswalpha_l.texi.
43728         * doc/posix-functions/iswblank_l.texi: Renamed from
43729         doc/glibc-functions/iswblank_l.texi.
43730         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43731         doc/glibc-functions/iswcntrl_l.texi.
43732         * doc/posix-functions/iswctype_l.texi: Renamed from
43733         doc/glibc-functions/iswctype_l.texi.
43734         * doc/posix-functions/iswdigit_l.texi: Renamed from
43735         doc/glibc-functions/iswdigit_l.texi.
43736         * doc/posix-functions/iswgraph_l.texi: Renamed from
43737         doc/glibc-functions/iswgraph_l.texi.
43738         * doc/posix-functions/iswlower_l.texi: Renamed from
43739         doc/glibc-functions/iswlower_l.texi.
43740         * doc/posix-functions/iswprint_l.texi: Renamed from
43741         doc/glibc-functions/iswprint_l.texi.
43742         * doc/posix-functions/iswpunct_l.texi: Renamed from
43743         doc/glibc-functions/iswpunct_l.texi.
43744         * doc/posix-functions/iswspace_l.texi: Renamed from
43745         doc/glibc-functions/iswspace_l.texi.
43746         * doc/posix-functions/iswupper_l.texi: Renamed from
43747         doc/glibc-functions/iswupper_l.texi.
43748         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43749         doc/glibc-functions/iswxdigit_l.texi.
43750         * doc/posix-functions/isxdigit_l.texi: Renamed from
43751         doc/glibc-functions/isxdigit_l.texi.
43752         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43753         doc/glibc-functions/mbsnrtowcs.texi.
43754         * doc/posix-functions/mkdtemp.texi: Renamed from
43755         doc/glibc-functions/mkdtemp.texi.
43756         * doc/posix-functions/newlocale.texi: Renamed from
43757         doc/glibc-functions/newlocale.texi.
43758         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43759         doc/glibc-functions/nl_langinfo_l.texi.
43760         * doc/posix-functions/open_memstream.texi: Renamed from
43761         doc/glibc-functions/open_memstream.texi.
43762         * doc/posix-functions/opterr.texi: Renamed from
43763         doc/glibc-functions/opterr.texi.
43764         * doc/posix-functions/optind.texi: Renamed from
43765         doc/glibc-functions/optind.texi.
43766         * doc/posix-functions/optopt.texi: Renamed from
43767         doc/glibc-functions/optopt.texi.
43768         * doc/posix-functions/psignal.texi: Renamed from
43769         doc/glibc-functions/psignal.texi.
43770         * doc/posix-functions/scandir.texi: Renamed from
43771         doc/glibc-functions/scandir.texi.
43772         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43773         doc/glibc-functions/sched_get_priority_min.texi.
43774         * doc/posix-functions/signgam.texi: Renamed from
43775         doc/glibc-functions/signgam.texi.
43776         * doc/posix-functions/stpcpy.texi: Renamed from
43777         doc/glibc-functions/stpcpy.texi.
43778         * doc/posix-functions/stpncpy.texi: Renamed from
43779         doc/glibc-functions/stpncpy.texi.
43780         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43781         doc/glibc-functions/strcasecmp_l.texi.
43782         * doc/posix-functions/strcoll_l.texi: Renamed from
43783         doc/glibc-functions/strcoll_l.texi.
43784         * doc/posix-functions/strfmon_l.texi: Renamed from
43785         doc/glibc-functions/strfmon_l.texi.
43786         * doc/posix-functions/strftime_l.texi: Renamed from
43787         doc/glibc-functions/strftime_l.texi.
43788         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43789         doc/glibc-functions/strncasecmp_l.texi.
43790         * doc/posix-functions/strndup.texi: Renamed from
43791         doc/glibc-functions/strndup.texi.
43792         * doc/posix-functions/strnlen.texi: Renamed from
43793         doc/glibc-functions/strnlen.texi.
43794         * doc/posix-functions/strsignal.texi: Renamed from
43795         doc/glibc-functions/strsignal.texi.
43796         * doc/posix-functions/strxfrm_l.texi: Renamed from
43797         doc/glibc-functions/strxfrm_l.texi.
43798         * doc/posix-functions/timer_gettime.texi: Renamed from
43799         doc/glibc-functions/timer_gettime.texi.
43800         * doc/posix-functions/tolower_l.texi: Renamed from
43801         doc/glibc-functions/tolower_l.texi.
43802         * doc/posix-functions/toupper_l.texi: Renamed from
43803         doc/glibc-functions/toupper_l.texi.
43804         * doc/posix-functions/towctrans_l.texi: Renamed from
43805         doc/glibc-functions/towctrans_l.texi.
43806         * doc/posix-functions/towlower_l.texi: Renamed from
43807         doc/glibc-functions/towlower_l.texi.
43808         * doc/posix-functions/towupper_l.texi: Renamed from
43809         doc/glibc-functions/towupper_l.texi.
43810         * doc/posix-functions/uselocale.texi: Renamed from
43811         doc/glibc-functions/uselocale.texi.
43812         * doc/posix-functions/vdprintf.texi: Renamed from
43813         doc/glibc-functions/vdprintf.texi.
43814         * doc/posix-functions/wcpcpy.texi:
43815         Renamed from doc/glibc-functions/wcpcpy.texi.
43816         * doc/posix-functions/wcpncpy.texi: Renamed from
43817         doc/glibc-functions/wcpncpy.texi.
43818         * doc/posix-functions/wcscasecmp.texi: Renamed from
43819         doc/glibc-functions/wcscasecmp.texi.
43820         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43821         doc/glibc-functions/wcscasecmp_l.texi.
43822         * doc/posix-functions/wcscoll_l.texi: Renamed from
43823         doc/glibc-functions/wcscoll_l.texi.
43824         * doc/posix-functions/wcsdup.texi: Renamed from
43825         doc/glibc-functions/wcsdup.texi.
43826         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43827         doc/glibc-functions/wcsncasecmp.texi.
43828         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43829         doc/glibc-functions/wcsncasecmp_l.texi.
43830         * doc/posix-functions/wcsnlen.texi: Renamed from
43831         doc/glibc-functions/wcsnlen.texi.
43832         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43833         doc/glibc-functions/wcsnrtombs.texi.
43834         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43835         doc/glibc-functions/wcsxfrm_l.texi.
43836         * doc/posix-functions/wctrans_l.texi: Renamed from
43837         doc/glibc-functions/wctrans_l.texi.
43838         * doc/posix-functions/wctype_l.texi: Renamed from
43839         doc/glibc-functions/wctype_l.texi.
43840         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43841         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43842         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43843         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43844         these subsections.
43845         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43846         Remove sections.
43847
43848 2008-12-14  Bruno Haible  <bruno@clisp.org>
43849
43850         Update doc for POSIX:2008.
43851         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43852
43853 2008-12-14  Bruno Haible  <bruno@clisp.org>
43854
43855         Update doc for POSIX:2008.
43856         * doc/pastposix-functions/bcmp.texi: Renamed from
43857         doc/posix-functions/bcmp.texi.
43858         * doc/pastposix-functions/bcopy.texi: Renamed from
43859         doc/posix-functions/bcopy.texi.
43860         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43861         doc/posix-functions/bsd_signal.texi.
43862         * doc/pastposix-functions/bzero.texi: Renamed from
43863         doc/posix-functions/bzero.texi.
43864         * doc/pastposix-functions/ecvt.texi: Renamed from
43865         doc/posix-functions/ecvt.texi.
43866         * doc/pastposix-functions/fcvt.texi: Renamed from
43867         doc/posix-functions/fcvt.texi.
43868         * doc/pastposix-functions/ftime.texi: Renamed from
43869         doc/posix-functions/ftime.texi.
43870         * doc/pastposix-functions/gcvt.texi: Renamed from
43871         doc/posix-functions/gcvt.texi.
43872         * doc/pastposix-functions/getcontext.texi: Renamed from
43873         doc/posix-functions/getcontext.texi.
43874         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43875         doc/posix-functions/gethostbyaddr.texi.
43876         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43877         doc/posix-functions/gethostbyname.texi.
43878         * doc/pastposix-functions/getwd.texi: Renamed from
43879         doc/posix-functions/getwd.texi.
43880         * doc/pastposix-functions/h_errno.texi: Renamed from
43881         doc/posix-functions/h_errno.texi.
43882         * doc/pastposix-functions/index.texi: Renamed from
43883         doc/posix-functions/index.texi.
43884         * doc/pastposix-functions/makecontext.texi: Renamed from
43885         doc/posix-functions/makecontext.texi.
43886         * doc/pastposix-functions/mktemp.texi: Renamed from
43887         doc/posix-functions/mktemp.texi.
43888         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43889         doc/posix-functions/pthread_attr_getstackaddr.texi.
43890         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43891         doc/posix-functions/pthread_attr_setstackaddr.texi.
43892         * doc/pastposix-functions/rindex.texi: Renamed from
43893         doc/posix-functions/rindex.texi.
43894         * doc/pastposix-functions/scalb.texi: Renamed from
43895         doc/posix-functions/scalb.texi.
43896         * doc/pastposix-functions/setcontext.texi: Renamed from
43897         doc/posix-functions/setcontext.texi.
43898         * doc/pastposix-functions/swapcontext.texi: Renamed from
43899         doc/posix-functions/swapcontext.texi.
43900         * doc/pastposix-functions/ualarm.texi: Renamed from
43901         doc/posix-functions/ualarm.texi.
43902         * doc/pastposix-functions/usleep.texi: Renamed from
43903         doc/posix-functions/usleep.texi.
43904         * doc/pastposix-functions/vfork.texi: Renamed from
43905         doc/posix-functions/vfork.texi.
43906         * doc/pastposix-functions/wcswcs.texi: Renamed from
43907         doc/posix-functions/wcswcs.texi.
43908         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43909         (Function Substitutes): Update.
43910
43911 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43912
43913         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43914         m4/strerror.m4.
43915
43916 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43917             Bruno Haible  <bruno@clisp.org>
43918
43919         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43920
43921 2008-12-13  Bruno Haible  <bruno@clisp.org>
43922
43923         * modules/strtoull (Depends-on): Remove unistd.
43924
43925 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43926
43927         * modules/strtoull (Depends-on): Add stdlib.
43928
43929 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43930
43931         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43932
43933 2008-12-10  Jim Meyering  <meyering@redhat.com>
43934
43935         gl_ASSERT: don't say assertions are disabled when they're not
43936         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43937         "checking whether to enable assertions... no", when they are in
43938         fact enabled.  This is solely a bug in the output of configure.
43939         In spite of saying "no", NDEBUG was not defined in that case.
43940         Also, as noted by Eric Blake, leave assertions enabled upon
43941         --enable-assert=INVALID.
43942
43943 2008-12-10  Bruno Haible  <bruno@clisp.org>
43944
43945         Change MODULES.html to refer to POSIX:2008 where possible.
43946         * MODULES.html.sh (POSIX2008_URL): New variable.
43947         (posix_headers): Remove sys/timeb, ucontext.
43948         (posix2001_headers): New variable.
43949         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43950         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43951         index, makecontext, mktemp, pthread_attr_getstackaddr,
43952         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43953         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43954         (posix2001_functions): New variable.
43955         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43956         otherwise.
43957
43958 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43959
43960         add missing include to parse-duration.c
43961         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43962         * modules/parse-duration (Depends-on): Add xalloc.
43963
43964         fix sed script reading maint.mk
43965         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43966         (syntax-check-rules): Use it.
43967
43968 2008-12-09  Bruno Haible  <bruno@clisp.org>
43969
43970         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43971         MacOS X 10.4/PowerPC.
43972         Reported by Simon Josefsson.
43973
43974 2008-12-08  Jim Meyering  <meyering@redhat.com>
43975
43976         work around mingw's lack of some S_IF definitions
43977         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43978         Reported by Simon Josefsson.
43979
43980 2008-12-08  Bruno Haible  <bruno@clisp.org>
43981
43982         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43983         applied to variables. Needed on MacOS X 10.4/PowerPC.
43984         Reported by Simon Josefsson.
43985
43986 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43987         and Eric Blake  <ebb9@byu.net>
43988
43989         assert: honor --enable-assert
43990         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43991         order to honor --enable-assert, rather than treating it as a
43992         synonym for --disable-assert.
43993
43994 2008-12-08  Jim Meyering  <meyering@redhat.com>
43995
43996         * lib/posixtm.c: Remove now-useless declaration of mktime.
43997
43998         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43999
44000 2008-12-07  Bruno Haible  <bruno@clisp.org>
44001
44002         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
44003         test_once): Mark functions as static.
44004         * tests/test-tls.c (test_tls): Likewise.
44005
44006 2008-12-07  Bruno Haible  <bruno@clisp.org>
44007
44008         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
44009         iconv_register_autodetect.
44010
44011 2008-12-07  Jim Meyering  <meyering@redhat.com>
44012
44013         posixtm.c: avoid a warning
44014         * lib/posixtm.c (posixtime): Don't initialize tm0.
44015         It's no longer needed to placate gcc4's -Wuninitialized,
44016         and the attempt to placate would elicit a new warning.
44017
44018         unicodeio.c: mark unused parameters
44019         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
44020         (fallback_failure_callback): Likewise.
44021
44022 2008-12-07  Bruno Haible  <bruno@clisp.org>
44023
44024         * gnulib-tool (func_create_testdir): When building the tests
44025         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
44026         Reported by Simon Josefsson.
44027
44028 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44029
44030         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
44031
44032 2008-12-06  Bruno Haible  <bruno@clisp.org>
44033
44034         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
44035         Suggested by Eric Blake.
44036
44037 2008-12-06  Bruno Haible  <bruno@clisp.org>
44038
44039         Fix a c-stack test failure on MacOS X.
44040         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
44041         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
44042         handler for SIGBUS as well.
44043         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
44044         install a signal handler for SIGBUS as well.
44045         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
44046
44047 2008-12-06  Bruno Haible  <bruno@clisp.org>
44048
44049         Advocacy documentation.
44050         * doc/gnulib-intro.texi (Benefits): New section.
44051         * doc/gnulib.texi: Update.
44052
44053 2008-12-06  Bruno Haible  <bruno@clisp.org>
44054
44055         Document the 'manywarnings' module.
44056         * doc/manywarnings.texi: New file.
44057         * doc/gnulib.texi: Include it.
44058
44059 2008-12-05  Eric Blake  <ebb9@byu.net>
44060
44061         tests: silence some gcc warnings
44062         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
44063         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
44064         type mismatches.
44065
44066 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44067             Bruno Haible  <bruno@clisp.org>
44068
44069         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
44070
44071 2008-11-29  Jim Meyering  <meyering@redhat.com>
44072
44073         unicodeio.c: mark unused parameters
44074         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
44075         (fallback_failure_callback): Likewise.
44076
44077         fts: fix a thinko
44078         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
44079         (set_stat_type): Return S_IF*-valued "type" directly.
44080         Prompted by James Youngman's spotting a related bug.
44081         Confirmed by further testing through find.
44082
44083         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
44084         * lib/fts.c (D_TYPE): Define.
44085         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
44086         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
44087         (s_ifmt_shift_bits): New function.
44088         (set_stat_type): New function.
44089         (fts_build): When not calling fts_stat, call set_stat_type
44090         to propagate dirent.d_type info to fts_read caller.
44091         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
44092         fts_statp->st_mode type information may be valid.
44093
44094 2008-11-28  Simon Josefsson  <simon@josefsson.org>
44095
44096         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
44097         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
44098         <sds@gnu.org>.
44099
44100 2008-11-20  Bruno Haible  <bruno@clisp.org>
44101
44102         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
44103         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
44104         INCLUDE_NEXT.
44105         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
44106         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
44107         * modules/math (Makefile.am): Substitute
44108         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
44109         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44110
44111 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
44112             Bruno Haible  <bruno@clisp.org>
44113
44114         * lib/stdint.in.h: Define all type macros so that their expansion is
44115         a single typedef'ed token. Fixes a compilation failure in Boost which
44116         does "using ::int8_t;".
44117
44118 2008-11-18  Simon Josefsson  <simon@josefsson.org>
44119
44120         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
44121         gl_MANYWARN_ALL_GCC.
44122         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
44123         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
44124         * modules/manywarnings: New file.
44125         * MODULES.html.sh: Mention manywarnings module.
44126
44127 2008-11-18  Bruno Haible  <bruno@clisp.org>
44128
44129         * doc/gnulib-tool.texi (Unit tests): New section.
44130
44131 2008-11-18  Simon Josefsson  <simon@josefsson.org>
44132
44133         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
44134         paths like 'lib/po/foo.po'.
44135
44136 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44137
44138         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
44139         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
44140
44141 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44142
44143         * m4/warnings.m4: Use CPPFLAGS to really check whether the
44144         parameter works.
44145
44146 2008-11-17  Simon Josefsson  <simon@josefsson.org>
44147
44148         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
44149
44150 2008-11-17  Bruce Korb  <bkorb@gnu.org>
44151
44152         * modules/parse-duration-tests: New file.
44153         * tests/test-parse-duration.sh: New file.
44154         * tests/test-parse-duration.c: New file.
44155
44156         New module 'parse-duration'.
44157         * lib/parse-duration.h: New file.
44158         * lib/parse-duration.c: New file.
44159         * modules/parse-duration: New file.
44160
44161 2008-11-17  Bruno Haible  <bruno@clisp.org>
44162
44163         * tests/test-select-out.sh: Comment out the first pipe test.
44164         Reported by Simon Josefsson.
44165
44166 2008-11-17  Bruno Haible  <bruno@clisp.org>
44167
44168         * modules/getaddrinfo (Depends-on): Add servent, hostent.
44169         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
44170         gl_HOSTENT.
44171
44172 2008-11-17  Bruno Haible  <bruno@clisp.org>
44173
44174         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
44175         -lnetwork and -lnet. Needed for Haiku and BeOS.
44176
44177 2008-11-16  Bruno Haible  <bruno@clisp.org>
44178
44179         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
44180
44181 2008-11-16  Bruno Haible  <bruno@clisp.org>
44182
44183         Avoid test failure on Haiku.
44184         * tests/test-fsync.c: Include <errno.h>.
44185         (main): Don't require that fsync (0) fails.
44186
44187 2008-11-15  Bruno Haible  <bruno@clisp.org>
44188
44189         New module 'hostent'.
44190         * modules/hostent: New file.
44191         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
44192
44193 2008-11-15  Bruno Haible  <bruno@clisp.org>
44194
44195         New module 'servent'.
44196         * modules/servent: New file.
44197         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
44198
44199 2008-11-15  Bruno Haible  <bruno@clisp.org>
44200
44201         Avoid generating same test program with two different rules.
44202         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
44203         test-frexp to test-frexp-nolibm.
44204         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
44205         test-frexpl to test-frexpl-nolibm.
44206
44207 2008-11-15  Bruno Haible  <bruno@clisp.org>
44208
44209         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
44210         $(FREXPL_LIBM).
44211
44212 2008-11-15  Bruno Haible  <bruno@clisp.org>
44213
44214         * lib/netdb.in.h: Activate the definitions also when the system's
44215         <netdb.h> has 'struct addrinfo'.
44216         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
44217         EAI_OVERFLOW or AI_NUMERICSERV.
44218         * doc/posix-headers/netdb.texi: Document the problem.
44219
44220 2008-11-15  Bruno Haible  <bruno@clisp.org>
44221
44222         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
44223
44224         Make the 'sched' module work on platforms where <sched.h> exists but
44225         is incomplete (such as Haiku).
44226         * lib/sched.in.h; Include the system's <sched.h> if it exists.
44227         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
44228         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
44229         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
44230         HAVE_STRUCT_SCHED_PARAM.
44231         * modules/sched (Depends-on): Add include_next.
44232         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
44233         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
44234         * doc/posix-headers/sched.texi: Document the issue.
44235
44236 2008-11-13  Jim Meyering  <meyering@redhat.com>
44237
44238         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
44239         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
44240         test would fail due to the difference in the Report bugs to ...
44241         line.  The expected address is empty, "<>", while the actual
44242         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
44243
44244 2008-11-12  Bruno Haible  <bruno@clisp.org>
44245
44246         lstat: don't compile lstat.c on systems lacking lstat
44247         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
44248         which don't have lstat; this is handled by lib/sys_stat.in.h already.
44249         Reported by Daniel P. Berrange via Jim Meyering.
44250
44251 2008-11-12  Jim Meyering  <meyering@redhat.com>
44252
44253         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
44254
44255 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44256
44257         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
44258         instead.
44259
44260 2008-11-12  Bruno Haible  <bruno@clisp.org>
44261
44262         * lib/unicodeio.c: Include unistr.h.
44263         (utf8_wctomb): Remove function.
44264         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
44265
44266 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44267
44268         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
44269         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
44270         <bruno@clisp.org>.
44271         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
44272
44273 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44274
44275         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
44276         * doc/gnulib.texi: Add section for warnings.
44277
44278 2008-11-11  Bruno Haible  <bruno@clisp.org>
44279
44280         * lib/sockets.h: Add a comment.
44281
44282 2008-11-11  Karl Berry  <karl@gnu.org>
44283
44284         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
44285
44286 2008-11-11  Eric Blake  <ebb9@byu.net>
44287
44288         fdl.texi: avoid git symlinks
44289         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
44290
44291 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44292
44293         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
44294
44295 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44296
44297         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
44298         (gl_WARN_ADD): Substitute $2 if literal.
44299
44300 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44301
44302         * m4/warning.m4: Remove.
44303
44304 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44305
44306         * m4/warnings.m4: Almost complete rewrite. :-)
44307
44308 2008-11-10  Simon Josefsson  <simon@josefsson.org>
44309
44310         * modules/warnings: New module.
44311         * m4/warnings.m4: New file.
44312         * MODULES.html.sh: Mention warnings module.
44313         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
44314         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44315
44316 2008-11-10  Eric Blake  <ebb9@byu.net>
44317
44318         fdl.texi: make a symlink to the latest version
44319         * doc/standards.texi: Revert today's earlier change.
44320         * doc/fdl-1.2.texi: Rename from old fdl.texi...
44321         * doc/fdl.texi: ...and replace this with a symlink to the newer
44322         fdl-1.3.texi.
44323
44324 2008-11-10  Bruno Haible  <bruno@clisp.org>
44325
44326         * tests/test-select-fd.c (main): Accept the result file name as fourth
44327         argument.
44328         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
44329         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
44330
44331 2008-11-10  Bruno Haible  <bruno@clisp.org>
44332
44333         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
44334         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
44335         as autoconf-substituted macros.
44336         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
44337         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
44338         gl_NETDB_H_DEFAULTS. Set these variables.
44339         * modules/netdb (Makefile.am): Substitute these variables.
44340
44341 2008-11-10  Eric Blake  <ebb9@byu.net>
44342
44343         standards.texi: include correct file for FDL 1.3
44344         * doc/standards.texi (GNU Free Documentation License): Change
44345         include file to pull in FDL 1.3, not 1.2.
44346
44347         fdl.texi: revert accidental change to license
44348         * doc/fdl.texi: This is FDL 1.2, not 1.3.
44349
44350 2008-11-10  Bruno Haible  <bruno@clisp.org>
44351
44352         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
44353         cross-compiling guesses also when the native compile gives no result.
44354
44355 2008-11-10  Bruno Haible  <bruno@clisp.org>
44356
44357         * lib/spawni.c (__spawni): Force variable into the stack.
44358
44359 2008-11-10  Bruno Haible  <bruno@clisp.org>
44360
44361         Add support for Haiku.
44362         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
44363         glibc and BeOS, but also on Haiku.
44364         * lib/fpurge.c (fpurge): Likewise.
44365         * lib/freadable.c (freadable): Likewise.
44366         * lib/freadahead.c (freadahead): Likewise.
44367         * lib/freading.c (freading): Likewise.
44368         * lib/freadptr.c (freadptr): Likewise.
44369         * lib/freadseek.c (freadptrinc): Likewise.
44370         * lib/fseeko.c (rpl_fseeko): Likewise.
44371         * lib/fseterr.c (fseterr): Likewise.
44372         * lib/fwritable.c (fwritable): Likewise.
44373         * lib/fwriting.c (fwriting): Likewise.
44374         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
44375
44376 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44377
44378         * lib/config.charset: Treat Haiku like BeOS.
44379
44380 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44381
44382         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
44383         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
44384
44385 2008-11-08  Bruno Haible  <bruno@clisp.org>
44386
44387         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
44388         AC_CACHE_CHECK.
44389
44390 2008-11-08  Bruno Haible  <bruno@clisp.org>
44391
44392         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
44393
44394 2008-11-08  Bruno Haible  <bruno@clisp.org>
44395
44396         * tests/test-select-fd.c: New file.
44397         * tests/test-select-in.sh: New file.
44398         * tests/test-select-out.sh: New file.
44399         * tests/test-select-stdin.c: New file.
44400         * modules/select-tests (Files): Add the new files.
44401         (Depends-on): Add gettimeofday.
44402         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
44403         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
44404         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
44405
44406 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44407             Bruno Haible  <bruno@clisp.org>
44408
44409         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44410
44411 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44412
44413         * build-aux/pmccabe2html: Added support for C++ source files.
44414
44415 2008-11-05  Ben Pfaff  <blp@gnu.org>
44416
44417         Fix lib/close.c build on Windows.
44418         * modules/close (Files): Add lib/w32sock.h.
44419
44420 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44421
44422         Accept Bison's NEWS format.
44423         * build-aux/announce-gen (print_news_deltas): Tweak
44424         $re_prefix.
44425
44426 2008-11-04  Bruno Haible  <bruno@clisp.org>
44427
44428         * modules/random_r (Maintainer): Add glibc.
44429
44430 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44431
44432         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44433         by karl@freefriends.org (Karl Berry).
44434         * doc/alloca.texi: Likewise.
44435         * doc/c-ctype.texi: Likewise.
44436         * doc/c-strcase.texi: Likewise.
44437         * doc/c-strcaseeq.texi: Likewise.
44438         * doc/c-strcasestr.texi: Likewise.
44439         * doc/c-strstr.texi: Likewise.
44440         * doc/c-strtod.texi: Likewise.
44441         * doc/c-strtold.texi: Likewise.
44442         * doc/ctime.texi: Likewise.
44443         * doc/error.texi: Likewise.
44444         * doc/fdl.texi: Likewise.
44445         * doc/gcd.texi: Likewise.
44446         * doc/getdate.texi: Likewise.
44447         * doc/gnulib-intro.texi: Likewise.
44448         * doc/gnulib-tool.texi: Likewise.
44449         * doc/gnulib.texi: Likewise.
44450         * doc/inet_ntoa.texi: Likewise.
44451         * doc/maintain.texi: Likewise.
44452         * doc/make-stds.texi: Likewise.
44453         * doc/quote.texi: Likewise.
44454         * doc/regexprops-generic.texi: Likewise.
44455         * doc/standards.texi: Likewise.
44456         * doc/verify.texi: Likewise.
44457         * doc/visibility.texi: Likewise.
44458         * doc/gnulib.texi (GNU Free Documentation License): Include
44459         fdl-1.3.texi instead of fdl.texi.
44460
44461 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44462
44463         * doc/fdl-1.3.texi: New file, from
44464         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44465         * modules/fdl-1.3: Add.
44466         * MODULES.html.sh: Add fdl-1.3.
44467
44468 2008-11-03  Bruno Haible  <bruno@clisp.org>
44469
44470         Make determination of absolute name of header file work with AIX xlc.
44471         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44472         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44473         preprocessing.
44474         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44475         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44476
44477 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44478
44479         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44480         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44481         <ludo@gnu.org>.
44482
44483 2008-11-02  Bruno Haible  <bruno@clisp.org>
44484
44485         Mark 'strpbrk' obsolete.
44486         * modules/strpbrk (Status, Notice): New sections.
44487         * modules/strtok_r (Depends-on): Add strpbrk.
44488
44489 2008-11-02  Bruno Haible  <bruno@clisp.org>
44490
44491         Mark 'strdup' obsolete.
44492         * modules/strdup (Status, Notice): New sections.
44493         * modules/findprog (Depends-on): Add strdup.
44494         * modules/getaddrinfo (Depends-on): Likewise.
44495         * modules/localename (Depends-on): Likewise.
44496         * modules/relocatable-lib (Depends-on): Likewise.
44497         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44498         * modules/relocatable-prog (Depends-on): Likewise.
44499         * modules/trim (Depends-on): Likewise.
44500         * modules/unictype/gen-ctype (Depends-on): Likewise.
44501         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44502
44503 2008-11-02  Bruno Haible  <bruno@clisp.org>
44504
44505         Mark 'strcspn' obsolete.
44506         * modules/strcspn (Status, Notice): New sections.
44507
44508 2008-11-02  Bruno Haible  <bruno@clisp.org>
44509
44510         Mark 'rmdir' obsolete.
44511         * modules/rmdir (Status, Notice): New sections.
44512         * modules/clean-temp (Depends-on): Add rmdir.
44513         * modules/openat (Depends-on): Likewise.
44514
44515 2008-11-02  Bruno Haible  <bruno@clisp.org>
44516
44517         Mark 'raise' obsolete.
44518         * modules/raise (Status, Notice): New sections.
44519         (Include): Specify <signal.h>.
44520         * modules/stdio (Depends-on): Add raise.
44521         * modules/write (Depends-on): Likewise.
44522
44523 2008-11-02  Bruno Haible  <bruno@clisp.org>
44524
44525         Mark 'memset' obsolete.
44526         * modules/memset (Status, Notice): New sections.
44527
44528 2008-11-02  Bruno Haible  <bruno@clisp.org>
44529
44530         Mark 'memmove' obsolete.
44531         * modules/memmove (Status, Notice): New sections.
44532         * modules/argp (Depends-on): Add memmove.
44533         * modules/argz (Depends-on): Likewise.
44534         * modules/canonicalize (Depends-on): Likewise.
44535         * modules/canonicalize-lgpl (Depends-on): Likewise.
44536         * modules/fts (Depends-on): Likewise.
44537         * modules/getcwd (Depends-on): Likewise.
44538         * modules/human (Depends-on): Likewise.
44539         * modules/regex (Depends-on): Likewise.
44540         * modules/striconveh (Depends-on): Likewise.
44541         * modules/trim (Depends-on): Likewise.
44542         * modules/unistr/u8-move (Depends-on): Likewise.
44543         * modules/unistr/u16-move (Depends-on): Likewise.
44544         * modules/unistr/u32-move (Depends-on): Likewise.
44545
44546 2008-11-02  Bruno Haible  <bruno@clisp.org>
44547
44548         Mark 'memcpy' obsolete.
44549         * modules/memcpy (Status, Notice): New sections.
44550
44551 2008-11-02  Bruno Haible  <bruno@clisp.org>
44552
44553         Mark 'memcmp' obsolete.
44554         * modules/memcmp (Status, Notice): New sections.
44555         * modules/argmatch (Depends-on): Add memchr.
44556         * modules/backupfile (Depends-on): Likewise.
44557         * modules/c-strcasestr (Depends-on): Likewise.
44558         * modules/crypto/des (Depends-on): Likewise.
44559         * modules/csharpcomp (Depends-on): Likewise.
44560         * modules/fnmatch (Depends-on): Likewise.
44561         * modules/git-merge-changelog (Depends-on): Likewise.
44562         * modules/isnand (Depends-on): Likewise.
44563         * modules/isnand-nolibm (Depends-on): Likewise.
44564         * modules/isnanf (Depends-on): Likewise.
44565         * modules/isnanf-nolibm (Depends-on): Likewise.
44566         * modules/isnanl (Depends-on): Likewise.
44567         * modules/isnanl-nolibm (Depends-on): Likewise.
44568         * modules/mbchar (Depends-on): Likewise.
44569         * modules/memcoll (Depends-on): Likewise.
44570         * modules/quotearg (Depends-on): Likewise.
44571         * modules/regex (Depends-on): Likewise.
44572         * modules/relocatable-prog (Depends-on): Likewise.
44573         * modules/same (Depends-on): Likewise.
44574         * modules/signbit (Depends-on): Likewise.
44575         * modules/strcasestr-simple (Depends-on): Likewise.
44576         * modules/unictype/gen-ctype (Depends-on): Likewise.
44577         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44578         * modules/uniname/uniname (Depends-on): Likewise.
44579         * modules/unistr/u8-cmp (Depends-on): Likewise.
44580
44581 2008-11-02  Bruno Haible  <bruno@clisp.org>
44582
44583         Mark 'memchr' obsolete.
44584         * modules/memchr (Status, Notice): New sections.
44585         * modules/argp (Depends-on): Add memchr.
44586         * modules/base64 (Depends-on): Likewise.
44587         * modules/c-strcasestr (Depends-on): Likewise.
44588         * modules/chdir-long (Depends-on): Likewise.
44589         * modules/fnmatch (Depends-on): Likewise.
44590         * modules/getsubopt (Depends-on): Likewise.
44591         * modules/git-merge-changelog (Depends-on): Likewise.
44592         * modules/glob (Depends-on): Likewise.
44593         * modules/strcasestr-simple (Depends-on): Likewise.
44594         * modules/strnlen (Depends-on): Likewise.
44595
44596 2008-11-02  Bruno Haible  <bruno@clisp.org>
44597
44598         Mark 'atexit' obsolete.
44599         * modules/atexit (Status, Notice): New sections.
44600         * modules/chdir-long (Depends-on): Add atexit.
44601         * modules/wait-process (Depends-on): Likewise.
44602
44603 2008-11-02  Bruno Haible  <bruno@clisp.org>
44604
44605         * gnulib-tool: New option --with-obsolete.
44606         (func_usage): Document it.
44607         (func_modules_transitive_closure): Drop obsolete dependencies if
44608         incobsolete is not true.
44609         (func_import): Read and save the incobsolete variable to the cache.
44610
44611 2008-11-02  Bruno Haible  <bruno@clisp.org>
44612
44613         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44614         * gnulib-tool: New option --extract-status.
44615         (func_usage): Document it.
44616         (sed_extract_prog): Recognize it.
44617         (func_get_status): New function.
44618
44619 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44620
44621         * modules/sockets (License): Change from LGPL to LGPLv2+.
44622
44623 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44624
44625         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44626
44627 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44628
44629         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44630         Mention times and sys_times.
44631         * modules/sys_times, modules/sys_times-tests: New modules.
44632         * modules/times, modules/times-tests: Likewise
44633         * m4/sys_times_h.m4: New file.
44634         * lib/sys_times.in.h: Likewise
44635         * lib/times.c: Likewise.
44636         * tests/test-sys_times.c: Likewise.
44637         * tests/test-times.c: Likewise.
44638         * doc/posix-headers/sys_times.texi: Update.
44639         * doc/posix-functions/times.texi: Update.
44640
44641 2008-10-28  Jim Meyering  <meyering@redhat.com>
44642
44643         * modules/tempname (Depends-on): Add lstat.
44644
44645         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44646
44647 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44648
44649         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44650         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44651         using idiom used elsewhere in gnulib.
44652
44653 2008-10-27  Jim Meyering  <meyering@redhat.com>
44654
44655         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44656
44657 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44658
44659         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44660         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44661         programs.
44662         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44663
44664 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44665
44666         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44667
44668 2008-10-27  Bruno Haible  <bruno@clisp.org>
44669
44670         * tests/test-lstat.c: Include <stdio.h>.
44671
44672 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44673
44674         * modules/lstat-tests: New module.
44675         * tests/test-lstat.c: New file.
44676
44677 2008-10-26  Jim Meyering  <meyering@redhat.com>
44678
44679         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44680
44681 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44682             Bruno Haible  <bruno@clisp.org>
44683
44684         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44685         * modules/configmake (Include): Add a note that the include must come
44686         after all system headers.
44687         * lib/javaversion.c: Include configmake.h after all other includes.
44688
44689 2008-10-26  Bruno Haible  <bruno@clisp.org>
44690
44691         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44692         HAVE_STRUCT_RANDOM_DATA to 1.
44693         (gl_STDLIB_H): Simplify.
44694
44695 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44696
44697         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44698         substitute HAVE_STRUCT_RANDOM_DATA.
44699         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44700         random_data.
44701         * modules/stdlib (Makefile.am): Substitute
44702         HAVE_STRUCT_RANDOM_DATA.
44703
44704 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44705
44706         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44707         * doc/gnulib-intro.texi (Copyright): Likewise.
44708
44709 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44710
44711         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44712         findings.
44713
44714 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44715             Bruno Haible  <bruno@clisp.org>
44716
44717         * lib/unistd.in.h: Include <winsock2.h>.
44718         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44719         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44720         Provide dummy declarations.
44721         (gethostname): Override.
44722         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44723         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44724         gl_PREREQ_SYS_H_WINSOCK2.
44725         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44726         * doc/posix-functions/gethostname.texi: More details.
44727
44728 2008-10-25  Bruno Haible  <bruno@clisp.org>
44729
44730         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44731         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44732         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44733
44734         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44735         here ...
44736         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44737         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44738         gl_UNISTD_H_DEFAULTS.
44739
44740 2008-10-25  Eric Blake  <ebb9@byu.net>
44741
44742         signbit: avoid spurious compiler failure
44743         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44744         declarations inside function.
44745
44746 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44747             Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44750         * modules/random_r (Depends-on): Add stdint.
44751
44752 2008-10-24  Bruno Haible  <bruno@clisp.org>
44753
44754         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44755         Eggert.
44756         * modules/strerror (License): Likewise.
44757
44758 2008-10-24  Jim Meyering  <meyering@redhat.com>
44759
44760         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44761         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44762
44763 2008-10-24  Eric Blake  <ebb9@byu.net>
44764
44765         getgroups: fix compilation when getgroups is available
44766         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44767         but with <config.h> override of getgroups disabled.
44768
44769 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44770
44771         * doc/gnulib.texi (Header files): Add note about C++ problems.
44772         Explained by Bruno Haible <bruno@clisp.org>.
44773
44774 2008-10-23  Bruno Haible  <bruno@clisp.org>
44775
44776         Define a dummy SA_NODEFER macro on Interix.
44777         * lib/signal.in.h (SA_NODEFER): Define fallback.
44778         Reported by Aleksey Cheusov <cheusov@tut.by> via
44779         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44780
44781 2008-10-23  Bruno Haible  <bruno@clisp.org>
44782
44783         * modules/freadahead (License): Change to LGPLv2+.
44784         Suggested by Simon Josefsson.
44785
44786 2008-10-23  Jim Meyering  <meyering@redhat.com>
44787
44788         random_r: new module
44789         * modules/random_r: New file.
44790         * m4/random_r.m4: New file.
44791         * lib/random_r.c: New file, from glibc.
44792         * modules/random_r-tests: New file.
44793         * tests/test-random_r.c: New file.
44794         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44795          Declare.
44796         (RAND_MAX): Define.
44797         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44798         * modules/stdlib: Substitute them, too.
44799         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44800         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44801         * doc/glibc-functions/random_r.texi: Likewise.
44802         * doc/glibc-functions/setstate_r.texi: Likewise.
44803         * doc/glibc-functions/srandom_r.texi: Likewise.
44804         * config/srclist.txt: Mention it.
44805
44806 2008-10-23  David Lutterkort  <lutter@redhat.com>
44807
44808         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44809         link requirement
44810
44811 2008-10-23  Jim Meyering  <meyering@redhat.com>
44812
44813         selinux-h: mark parameters of stub functions as intentionally unused
44814         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44815         * lib/se-context.in.h: Likewise.
44816
44817 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44818
44819         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44820
44821 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44822
44823         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44824
44825 2008-10-22  Eric Blake  <ebb9@byu.net>
44826
44827         glthread/thread: avoid compiler warning
44828         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44829         Add unreachable abort to silence compiler.
44830
44831 2008-10-22  Eric Blake  <ebb9@byu.net>
44832
44833         netdb: also supply struct addrinfo for cygwin 1.5.x
44834         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44835         older cygwin.
44836         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44837         cygwin.
44838         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44839
44840 2008-10-22  Bruno Haible  <bruno@clisp.org>
44841
44842         * users.txt: Update entry about pspp.
44843
44844 2008-10-21  Bruno Haible  <bruno@clisp.org>
44845
44846         Simplification.
44847         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44848         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44849
44850         Simplification.
44851         * lib/ioctl.c (ioctl): Don't undefine.
44852         * lib/socket.c (socket): Don't undefine.
44853
44854         Remove unused module indicator macros.
44855         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44856         GNULIB_$1 as a C macro.
44857
44858         * doc/posix-functions/close.texi: Undo last change.
44859         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44860         Windows platforms.
44861
44862 2008-10-21  Bruno Haible  <bruno@clisp.org>
44863
44864         Add gethostname() declaration to <unistd.h>.
44865         * lib/unistd.in.h (gethostname): New declaration.
44866         * lib/gethostname.c: Include <unistd.h>.
44867         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44868         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44869         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44870         and HAVE_GETHOSTNAME.
44871         * modules/gethostname (Depends-on): Add unistd.
44872         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44873         (Include): Specify <unistd.h>.
44874         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44875         HAVE_GETHOSTNAME.
44876         * tests/test-gethostname.c: Include <unistd.h> first.
44877
44878 2008-10-21  Bruno Haible  <bruno@clisp.org>
44879
44880         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44881         * modules/select-tests (Depends-on): Likewise.
44882         Reported by Simon Josefsson.
44883
44884 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44885
44886         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44887         * lib/accept.c: New file, based on winsock.c.
44888         * lib/bind.c: New file, based on winsock.c.
44889         * lib/connect.c: New file, based on winsock.c.
44890         * lib/getpeername.c: New file, based on winsock.c.
44891         * lib/getsockname.c: New file, based on winsock.c.
44892         * lib/getsockopt.c: New file, based on winsock.c.
44893         * lib/ioctl.c: New file, based on winsock.c.
44894         * lib/listen.c: New file, based on winsock.c.
44895         * lib/recv.c: New file, based on winsock.c.
44896         * lib/recvfrom.c: New file, based on winsock.c.
44897         * lib/send.c: New file, based on winsock.c.
44898         * lib/sendto.c: New file, based on winsock.c.
44899         * lib/setsockopt.c: New file, based on winsock.c.
44900         * lib/shutdown.c: New file, based on winsock.c.
44901         * lib/socket.c: New file, based on winsock.c.
44902         * lib/w32sock.h: New file, based on winsock.c.
44903         * lib/winsock.c: Remove file.
44904         * modules/accept: Likewise.
44905         * modules/bind: Likewise.
44906         * modules/connect: Likewise.
44907         * modules/getpeername: Likewise.
44908         * modules/getsockname: Likewise.
44909         * modules/getsockopt: Likewise.
44910         * modules/ioctl: Likewise.
44911         * modules/listen: Likewise.
44912         * modules/recv: Likewise.
44913         * modules/recvfrom: Likewise.
44914         * modules/send: Likewise.
44915         * modules/sendto: Likewise.
44916         * modules/setsockopt: Likewise.
44917         * modules/shutdown: Likewise.
44918         * modules/socket: Use socket.c instead of winsock.c.
44919         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44920         * doc/posix-functions/accept.texi: Doc fix.
44921         * doc/posix-functions/bind.texi: Doc fix.
44922         * doc/posix-functions/close.texi: Doc fix.
44923         * doc/posix-functions/connect.texi: Doc fix.
44924         * doc/posix-functions/getpeername.texi: Doc fix.
44925         * doc/posix-functions/getsockname.texi: Doc fix.
44926         * doc/posix-functions/getsockopt.texi: Doc fix.
44927         * doc/posix-functions/ioctl.texi: Doc fix.
44928         * doc/posix-functions/listen.texi: Doc fix.
44929         * doc/posix-functions/recv.texi: Doc fix.
44930         * doc/posix-functions/recvfrom.texi: Doc fix.
44931         * doc/posix-functions/send.texi: Doc fix.
44932         * doc/posix-functions/sendto.texi: Doc fix.
44933         * doc/posix-functions/setsockopt.texi: Doc fix.
44934         * doc/posix-functions/shutdown.texi: Doc fix.
44935         * doc/posix-functions/socket.texi: Doc fix.
44936
44937 2008-10-20  Bruno Haible  <bruno@clisp.org>
44938
44939         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44940         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44941         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44942         as an alias for SIGABRT.
44943         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44944         (sigaction): Map it to SIGABRT.
44945         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44946
44947 2008-10-20  Bruno Haible  <bruno@clisp.org>
44948
44949         * lib/fts.c: Don't include lstat.h.
44950         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44951
44952         Move the lstat() declaration to <sys/stat.h>.
44953         * lib/lstat.h: Remove file.
44954         * lib/sys_stat.in.h: Add special invocation convention.
44955         (lstat): New declaration.
44956         * lib/lstat.c (orig_lstat): New function.
44957         (rpl_lstat): Use orig_lstat instead of lstat.
44958         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44959         AC_C_INLINE. Set REPLACE_LSTAT.
44960         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44961         and REPLACE_LSTAT.
44962         * modules/lstat (Files): Remove lib/lstat.h.
44963         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44964         (Include): Specify <sys/stat.h> instead of lstat.h.
44965         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44966         REPLACE_LSTAT.
44967         * NEWS: Mention the change.
44968
44969 2008-10-20  Bruno Haible  <bruno@clisp.org>
44970
44971         * modules/posix_spawn-tests: New file.
44972         * tests/test-posix_spawn3.c: New file.
44973
44974 2008-10-20  Bruno Haible  <bruno@clisp.org>
44975
44976         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44977         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44978         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44979         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44980         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44981
44982 2008-10-20  Bruno Haible  <bruno@clisp.org>
44983
44984         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44985         of posix_spawn on AIX 5.3.
44986
44987 2008-10-20  Bruno Haible  <bruno@clisp.org>
44988
44989         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44990
44991 2008-10-20  Bruno Haible  <bruno@clisp.org>
44992
44993         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44994         of AC_LANG_PROGRAM.
44995
44996 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44997
44998         * lib/netdb.in.h: Don't define GNU specific constants until they
44999         are supported or needed.  Reported by Bruno Haible
45000         <bruno@clisp.org>.
45001
45002 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45003
45004         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
45005
45006 2008-10-20  Simon Josefsson  <simon@josefsson.org>
45007
45008         * lib/getaddrinfo.h: Remove file.
45009         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
45010         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
45011         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
45012         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
45013         * modules/netdb: Substitute GNULIB_GETADDRINFO.
45014         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
45015         * tests/test-getaddrinfo.c: Likewise.
45016         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
45017         * NEWS: Mention change.
45018
45019 2008-10-19  Bruno Haible  <bruno@clisp.org>
45020
45021         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
45022
45023 2008-10-19  Bruno Haible  <bruno@clisp.org>
45024
45025         * lib/wait-process.c: Include simply <sys/wait.h>.
45026         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
45027         WIFSTOPPED): Remove fallback definitions.
45028         * modules/wait-process (Depends-on): Add sys_wait.
45029
45030         New module 'sys_wait'.
45031         * modules/sys_wait: New file.
45032         * lib/sys_wait.in.h: New file, partially copied from
45033         lib/wait-process.c.
45034         * m4/sys_wait_h.m4: New file.
45035         * doc/posix-headers/sys_wait.texi: Mention the new module.
45036
45037 2008-10-19  Bruno Haible  <bruno@clisp.org>
45038
45039         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
45040
45041 2008-10-19  Bruno Haible  <bruno@clisp.org>
45042
45043         Assume that waitpid() fills an 'int' status, not a 'union wait'.
45044         * lib/wait-process.c (WAIT_T): Remove type.
45045         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
45046         (wait_subprocess): Update.
45047
45048 2008-10-19  Bruno Haible  <bruno@clisp.org>
45049
45050         New module 'atoll'.
45051         * modules/atoll: New file.
45052         * lib/stdlib.in.h (atoll): New declaration.
45053         * lib/atoll.c: New file, from glibc with modifications.
45054         * m4/atoll.m4: New file.
45055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
45056         HAVE_ATOLL.
45057         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
45058         * doc/posix-functions/atoll.texi: Mention the new module.
45059
45060 2008-10-19  Bruno Haible  <bruno@clisp.org>
45061
45062         Add strtoull() declaration to <stdlib.h>.
45063         * lib/stdlib.in.h (strtoull): New declaration.
45064         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
45065         Set HAVE_STRTOULL.
45066         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
45067         HAVE_STRTOULL.
45068         * modules/strtoull (Depends-on): Add stdlib.
45069         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45070         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
45071         HAVE_STRTOULL.
45072
45073 2008-10-19  Bruno Haible  <bruno@clisp.org>
45074
45075         Add strtoll() declaration to <stdlib.h>.
45076         * lib/stdlib.in.h (strtoll): New declaration.
45077         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
45078         Set HAVE_STRTOLL.
45079         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
45080         HAVE_STRTOLL.
45081         * modules/strtoll (Depends-on): Add stdlib.
45082         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45083         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
45084
45085 2008-10-19  Bruno Haible  <bruno@clisp.org>
45086
45087         * modules/bcopy (Depends-on): Add strings.
45088         (Include): Specify <strings.h>.
45089
45090 2008-10-19  Bruno Haible  <bruno@clisp.org>
45091
45092         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
45093
45094 2008-10-19  Bruno Haible  <bruno@clisp.org>
45095
45096         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
45097         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
45098         mingw.
45099
45100 2008-10-19  Bruno Haible  <bruno@clisp.org>
45101
45102         * lib/atanl.c: Don't include isnanl.h.
45103         * lib/cosl.c: Likewise.
45104         * lib/ldexpl.c: Likewise.
45105         * lib/logl.c: Likewise.
45106         * lib/sinl.c: Likewise.
45107         * lib/sqrtl.c: Likewise.
45108         * lib/tanl.c: Likewise.
45109
45110         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
45111         * lib/isnanf.h: Remove file.
45112         * lib/isnand.h: Remove file.
45113         * lib/isnanl.h: Remove file.
45114         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
45115         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
45116         macros.
45117         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
45118         HAVE_ISNANF, don't define it as a C macro.
45119         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
45120         HAVE_ISNAND, don't define it as a C macro.
45121         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
45122         HAVE_ISNANL, don't define it as a C macro.
45123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
45124         HAVE_ISNAN[FDL].
45125         * modules/isnanf (Files): Remove lib/isnanf.h.
45126         (Depends-on): Add math.
45127         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45128         (Include): Specify <math.h> instead of isnanf.h.
45129         * modules/isnand (Files): Remove lib/isnand.h.
45130         (Depends-on): Add math.
45131         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45132         (Include): Specify <math.h> instead of isnand.h.
45133         * modules/isnanl (Files): Remove lib/isnanl.h.
45134         (Depends-on): Add math.
45135         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45136         (Include): Specify <math.h> instead of isnanl.h.
45137         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
45138         HAVE_ISNAN[FDL].
45139         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
45140         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
45141         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
45142         * NEWS: Mention the change.
45143
45144 2008-10-18  Bruno Haible  <bruno@clisp.org>
45145
45146         Add getusershell(), setusershell(), endusershell() declarations to
45147         <unistd.h>.
45148         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
45149         declarations.
45150         * lib/getusershell.c: Include unistd.h.
45151         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
45152         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45153         HAVE_GETUSERSHELL.
45154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
45155         and HAVE_GETUSERSHELL.
45156         * modules/getusershell (Depends-on): Add unistd, extensions.
45157         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45158         (Include): Specify <unistd.h>.
45159         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
45160         HAVE_GETUSERSHELL.
45161
45162 2008-10-18  Bruno Haible  <bruno@clisp.org>
45163
45164         Add a getloadavg() declaration to <stdlib.h>.
45165         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
45166         getloadavg declaration.
45167         (getloadavg): New declaration.
45168         * lib/getloadavg.c: Include <stdlib.h> first.
45169         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
45170         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
45171         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
45172         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
45173         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
45174         * modules/getloadavg (Depends-on): Add stdlib, extensions.
45175         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45176         (Include): Specify <stdlib.h>.
45177         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
45178         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
45179
45180 2008-10-18  Bruno Haible  <bruno@clisp.org>
45181
45182         * lib/dirchownmod.c: Don't include lchmod.h.
45183
45184         Move the lchmod() declaration to <sys/stat.h>.
45185         * lib/lchmod.h: Remove file.
45186         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
45187         (lchmod): New declaration, moved here from lib/lchown.h.
45188         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
45189         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
45190         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
45191         and HAVE_LCHMOD.
45192         * modules/lchmod (Files): Remove lib/lchmod.h.
45193         (Depends-on): Add sys_stat, extensions.
45194         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
45195         (Include): Specify <sys/stat.h> instead of lchmod.h.
45196         * modules/sys_stat (Depends-on): Add link-warning.
45197         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
45198         definition of GL_LINK_WARNING.
45199         * NEWS: Mention the change.
45200
45201 2008-10-18  Bruno Haible  <bruno@clisp.org>
45202
45203         * lib/fchdir.c: Don't include dirfd.h.
45204         * lib/fts.c: Likewise.
45205         * lib/getcwd.c: Likewise.
45206         * lib/glob.c: Likewise.
45207
45208         Move the dirfd() declaration to <dirent.h>.
45209         * lib/dirfd.h: Remove file.
45210         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
45211         (dirfd): New declaration.
45212         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
45213         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
45214         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
45215         HAVE_DECL_DIRFD.
45216         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
45217         HAVE_DECL_DIRFD.
45218         * modules/dirfd (Files): Remove lib/dirfd.h.
45219         (Depends-on): Add dirent, extensions.
45220         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
45221         (Include): Specify <dirent.h> instead of dirfd.h.
45222         * modules/dirent (Depends-on): Add link-warning.
45223         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
45224         definition of GL_LINK_WARNING.
45225         * NEWS: Mention the change.
45226
45227 2008-10-18  Bruno Haible  <bruno@clisp.org>
45228
45229         Move the euidaccess() declaration to <unistd.h>.
45230         * lib/euidaccess.h: Remove file.
45231         * lib/unistd.in.h (euidaccess): New declaration.
45232         * lib/euidaccess.c: Don't include euidaccess.h.
45233         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
45234         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
45235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
45236         and HAVE_EUIDACCESS.
45237         * modules/euidaccess (Files): Remove lib/euidaccess.h.
45238         (Depends-on): Add unistd.
45239         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45240         (Include): Specify <unistd.h> instead of euidaccess.h.
45241         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
45242         HAVE_EUIDACCESS.
45243         * NEWS: Mention the change.
45244
45245 2008-10-18  Bruno Haible  <bruno@clisp.org>
45246
45247         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
45248
45249         Move the getdomainname() declaration to <unistd.h>.
45250         * lib/getdomainname.h: Remove file.
45251         * lib/unistd.in.h (getdomainname): New declaration.
45252         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
45253         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45254         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
45255         HAVE_GETDOMAINNAME.
45256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45257         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
45258         * modules/getdomainname (Files): Remove lib/getdomainname.h.
45259         (Depends-on): Add unistd, extensions.
45260         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45261         (Includes): Specify <unistd.h> instead of getdomainname.h.
45262         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
45263         HAVE_GETDOMAINNAME.
45264         * NEWS: Mention the change.
45265
45266 2008-10-18  Bruno Haible  <bruno@clisp.org>
45267
45268         * modules/dirent: New file.
45269         * m4/dirent_h.m4: New file.
45270         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
45271         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
45272         * modules/fchdir (Files): Remove lib/dirent.in.h.
45273         (Depends-on): Add dirent.
45274         (Makefile.am): Move rules to modules/dirent.
45275         * doc/posix-headers/dirent.texi: Mention the new module.
45276
45277 2008-10-18  Bruno Haible  <bruno@clisp.org>
45278
45279         Avoid -Wunused-parameter warnings in public gnulib header files.
45280         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
45281         macro.
45282         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
45283
45284 2008-10-18  Bruno Haible  <bruno@clisp.org>
45285
45286         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
45287         * doc/glibc-functions/error.texi: Mention the module 'error'.
45288         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
45289         * doc/glibc-functions/getdomainname.texi: Mention the module
45290         'getdomainname'.
45291         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
45292         * doc/glibc-functions/getpagesize.texi: Mention the module
45293         'getpagesize'.
45294         * doc/glibc-functions/getusershell.texi: Mention the module
45295         'getusershell'.
45296         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
45297         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
45298         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
45299         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
45300         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
45301         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
45302         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
45303         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
45304         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
45305         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
45306         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
45307         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
45308         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
45309         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
45310
45311 2008-10-17  Bruno Haible  <bruno@clisp.org>
45312
45313         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
45314         HP-UX and IRIX, use -0.0L.
45315         * tests/test-ceill.c (minus_zero): Likewise.
45316         * tests/test-floorl.c (minus_zero): Likewise.
45317         * tests/test-frexpl.c (minus_zero): Likewise.
45318         * tests/test-isnan.c (minus_zerol): Likewise.
45319         * tests/test-isnanl.h (minus_zero): Likewise.
45320         * tests/test-ldexpl.c (minus_zero): Likewise.
45321         * tests/test-roundl.c (minus_zero): Likewise.
45322         * tests/test-signbit.c (minus_zerol): Likewise.
45323         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45324         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45325         * tests/test-truncl.c (minus_zero): Likewise.
45326         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45327         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45328         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
45329         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45330
45331 2008-10-17  Bruno Haible  <bruno@clisp.org>
45332
45333         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
45334         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
45335         that it gets activated only for gcc >= 3.0.
45336         * lib/dirent.in.h: Likewise.
45337         * lib/errno.in.h: Likewise.
45338         * lib/fcntl.in.h: Likewise.
45339         * lib/float.in.h: Likewise.
45340         * lib/iconv.in.h: Likewise.
45341         * lib/inttypes.in.h: Likewise.
45342         * lib/locale.in.h: Likewise.
45343         * lib/math.in.h: Likewise.
45344         * lib/netdb.in.h: Likewise.
45345         * lib/netinet_in.in.h: Likewise.
45346         * lib/search.in.h: Likewise.
45347         * lib/signal.in.h: Likewise.
45348         * lib/spawn.in.h: Likewise.
45349         * lib/stdarg.in.h: Likewise.
45350         * lib/stdint.in.h: Likewise.
45351         * lib/stdio.in.h: Likewise.
45352         * lib/stdlib.in.h: Likewise.
45353         * lib/string.in.h: Likewise.
45354         * lib/strings.in.h: Likewise.
45355         * lib/sys_file.in.h: Likewise.
45356         * lib/sys_ioctl.in.h: Likewise.
45357         * lib/sys_select.in.h: Likewise.
45358         * lib/sys_socket.in.h: Likewise.
45359         * lib/sys_stat.in.h: Likewise.
45360         * lib/sys_time.in.h: Likewise.
45361         * lib/sysexits.in.h: Likewise.
45362         * lib/time.in.h: Likewise.
45363         * lib/unistd.in.h: Likewise.
45364         * lib/wchar.in.h: Likewise.
45365         * lib/wctype.in.h: Likewise.
45366         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45367
45368 2008-10-17  Jim Meyering  <meyering@redhat.com>
45369
45370         ignore-value: don't depend on inline module
45371         * modules/ignore-value (Depends-on): Remove 'inline'.
45372         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
45373         Suggestion from Bruno Haible.
45374
45375 2008-10-17  Bruno Haible  <bruno@clisp.org>
45376
45377         New implementation of condition variables for Win32.
45378         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
45379         (gl_linked_waitqueue_t): New type.
45380         (gl_cond_t): Use it.
45381         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
45382         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
45383         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
45384         (glthread_cond_init_func, glthread_cond_wait_func,
45385         glthread_cond_timedwait_func, glthread_cond_signal_func,
45386         glthread_cond_broadcast_func, glthread_cond_destroy_func):
45387         Reimplemented on the basis of gl_linked_waitqueue_t.
45388         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
45389         gl_waitqueue_t.
45390         (gl_rwlock_t): Update.
45391         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
45392
45393 2008-10-17  Simon Josefsson  <simon@josefsson.org>
45394
45395         * modules/recvfrom (Depends-on): Add dependency on getpeername.
45396         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45397
45398 2008-10-17  Jim Meyering  <meyering@redhat.com>
45399
45400         ignore-value: new module
45401         * modules/ignore-value: New file.
45402         * lib/ignore-value.h: New file.
45403         * MODULES.html.sh (Compiler warning management): New section,
45404         just for this module.  More to come.
45405
45406 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45407
45408         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45409         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45410         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45411
45412 2008-10-16  Jim Meyering  <meyering@redhat.com>
45413
45414         openat-die.c: avoid 'no previous prototype' warning
45415         * lib/openat-die.c: Include "openat.h".
45416         Reported by Reuben Thomas <rrt@sc3d.org>.
45417
45418 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45419
45420         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45421         * lib/netdb.in.h: Fix typo.
45422         Reported by Bruno Haible  <bruno@clisp.org>
45423
45424         * lib/netdb.in.h: Include sys/socket.h for platforms without
45425         netdb.h, to get structures like hostent on MinGW.
45426         * modules/netdb (Depends-on): Add sys_socket.
45427
45428 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45429
45430         * modules/netdb, modules/netdb-tests: New file.
45431         * m4/netdb_h.m4: New file.
45432         * lib/netdb.in.h: Add, currently just an empty file pending
45433         definitions.
45434         * tests/test-netdb.c: New file.
45435         * doc/posix-headers/netdb.texi: Mention that we replace it if
45436         needed.
45437         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45438         netdb.
45439
45440 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45441
45442         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45443         with code.
45444
45445 2008-10-13  Bruno Haible  <bruno@clisp.org>
45446
45447         * lib/glthread/cond.c (glthread_cond_wait_func,
45448         glthread_cond_timedwait_func): Add a comment.
45449
45450 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45451
45452         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45453         * tests/test-select.c: Likewise,
45454
45455 2008-10-13  Bruno Haible  <bruno@clisp.org>
45456
45457         * lib/glthread/cond.c (glthread_cond_wait_func,
45458         glthread_cond_timedwait_func): Fix variable name.
45459         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45460
45461 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45462
45463         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45464         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45465         struct sockaddr.sa_len.
45466         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45467
45468 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45469
45470         * build-aux/pmccabe2html: Add css and css_url parameters.
45471
45472 2008-10-12  Bruno Haible  <bruno@clisp.org>
45473
45474         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45475         calling aclx_get.
45476         Reported by Rainer Tammer <tammer@tammer.net>.
45477
45478 2008-10-12  Bruno Haible  <bruno@clisp.org>
45479
45480         Use msvcrt aware primitives for creation/termination of Win32 threads.
45481         * lib/glthread/thread.c: Include <process.h>.
45482         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45483         (wrapper_func): Update signature.
45484         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45485
45486 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45487             Bruno Haible  <bruno@clisp.org>
45488
45489         Provide a Win32 implementation of the 'cond' module.
45490         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45491         * lib/glthread/cond.c (glthread_cond_init_func,
45492         glthread_cond_wait_func, glthread_cond_timedwait_func,
45493         glthread_cond_signal_func, glthread_cond_broadcast_func,
45494         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45495         * modules/cond (Dependencies): Add gettimeofday.
45496
45497 2008-10-11  Bruno Haible  <bruno@clisp.org>
45498
45499         Make sleep work on older versions of mingw.
45500         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45501         only whether it exists.
45502         * doc/posix-functions/sleep.texi: Mention the problem with older
45503         versions of mingw.
45504
45505 2008-10-11  Bruno Haible  <bruno@clisp.org>
45506
45507         New module 'shutdown'.
45508         * modules/shutdown: New file.
45509         * lib/sys_socket.in.h (shutdown): New declaration.
45510         * lib/winsock.c (shutdown): New function.
45511         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45512         GNULIB_SHUTDOWN.
45513         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45514         * doc/posix-functions/shutdown.texi: Document the new module.
45515
45516 2008-10-11  Jim Meyering  <meyering@redhat.com>
45517
45518         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45519
45520 2008-10-11  Bruno Haible  <bruno@clisp.org>
45521
45522         New module 'fclose'.
45523         * modules/fclose: New file.
45524         * lib/stdio.in.h (fclose): New declaration.
45525         * lib/fclose.c: New file.
45526         * m4/fclose.m4: New file.
45527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45528         REPLACE_FCLOSE.
45529         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45530         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45531         REPLACE_FCLOSE.
45532         * modules/close (Depends-on): fclose.
45533         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45534
45535 2008-10-11  Bruno Haible  <bruno@clisp.org>
45536
45537         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45538         set errno and don't call _close.
45539
45540 2008-10-10  Bruno Haible  <bruno@clisp.org>
45541
45542         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45543         ACL, not afterwards. Fixes test failure on Cygwin.
45544
45545 2008-10-09  Ben Pfaff  <blp@gnu.org>
45546
45547         * build-aux/announce-gen: Fix gnulib version related part of usage
45548         message.  Die with a useful error message if no tarballs are
45549         found.
45550
45551 2008-10-10  Jim Meyering  <meyering@redhat.com>
45552
45553         bootstrap: use git's --depth=N option only if it's supported
45554         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45555         recognize the --depth option.  Reported by Pádraig Brady.
45556
45557 2008-10-09  Bruno Haible  <bruno@clisp.org>
45558
45559         New module 'ioctl'.
45560         * modules/ioctl: New file.
45561         * lib/sys_socket.in.h (ioctl): Remove declaration.
45562         * lib/winsock.c: Include <sys/ioctl.h>.
45563         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45564         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45565         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45566         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45567         * doc/posix-functions/ioctl.texi: Mention the new module.
45568
45569 2008-10-09  Bruno Haible  <bruno@clisp.org>
45570
45571         New module 'sys_ioctl'.
45572         * lib/sys_ioctl.in.h: New file.
45573         * m4/sys_ioctl_h.m4: New file.
45574         * modules/sys_ioctl: New file.
45575         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45576
45577 2008-10-09  Bruno Haible  <bruno@clisp.org>
45578
45579         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45580         * lib/winsock.c: Include <stdarg.h>.
45581         (rpl_ioctl): Change to second argument 'int' and then varargs.
45582
45583 2008-10-09  Bruno Haible  <bruno@clisp.org>
45584
45585         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45586         when the sys_socket module is present and the system has <winsock2.h>.
45587
45588 2008-10-09  Bruno Haible  <bruno@clisp.org>
45589
45590         * doc/posix-functions/close.texi: Mention module 'close' instead of
45591         module 'sys_socket'.
45592
45593 2008-10-09  Bruno Haible  <bruno@clisp.org>
45594
45595         * doc/glibc-headers/sys_ioctl.texi: New file.
45596         * doc/gnulib.texi: Include it.
45597
45598 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45599             Bruno Haible  <bruno@clisp.org>
45600
45601         Combine the two replacements of 'close'.
45602         * lib/sys_socket.in.h (close): Define to a reminder to include
45603         <unistd.h>.
45604         (_gl_close_fd_maybe_socket): New declaration.
45605         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45606         * lib/winsock.c (close): Remove undefinition.
45607         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45608         needed for the gnulib module 'close'.
45609         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45610         define to an error symbol or to a warning, if suitable.
45611         * lib/close.c: Include <sys/socket.h>.
45612         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45613         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45614         UNISTD_H_HAVE_WINSOCK2_H.
45615         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45617         UNISTD_H_HAVE_WINSOCK2_H.
45618         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45619         (configure.ac): Set a module indicator.
45620         (Makefile.am): Substitute GNULIB_CLOSE.
45621         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45622         * modules/poll-tests (Depends-on): Add close.
45623         * modules/select-tests (Depends-on): Likewise.
45624
45625 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45626             Bruno Haible  <bruno@clisp.org>
45627
45628         New module 'close'.
45629         * modules/close: New file.
45630         * lib/unistd.in.h (close): Move declaration out of the
45631         FCHDIR_REPLACEMENT scope.
45632         (_gl_unregister_fd): New declaration.
45633         * lib/close.c: New file.
45634         * lib/fchdir.c (rpl_close): Remove function.
45635         * m4/close.m4: New file.
45636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45637         close.
45638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45639         REPLACE_CLOSE.
45640         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45641         REPLACE_CLOSE.
45642         * modules/fchdir (Depends-on): Add close.
45643
45644 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45645             Bruno Haible  <bruno@clisp.org>
45646
45647         * lib/fcntl.in.h (open): Simplify conditionals.
45648         (_gl_register_fd): New declaration.
45649         * lib/fchdir.c (rpl_open): Remove function.
45650         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45651         also.
45652         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45653         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45654         open.
45655
45656 2008-10-09  Jim Meyering  <meyering@redhat.com>
45657
45658         GNUmakefile: use the more name-space-friendly "_version"
45659         * top/GNUmakefile (_dummy): Update.
45660         (_version): Rename from "version".
45661
45662 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45663             Bruno Haible  <bruno@clisp.org>
45664
45665         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45666         rpl_close.
45667         (_gl_register_fd): New function, extracted from rpl_open.
45668         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45669         (rpl_open, rpl_opendir): Use _gl_register_fd.
45670
45671 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45672
45673         Fix organization of 'open' replacement.
45674         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45675         (gl_FUNC_OPEN): Use it.
45676         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45677
45678 2008-10-08  Bruno Haible  <bruno@clisp.org>
45679
45680         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45681
45682 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45683
45684         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45685         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45686         listen).
45687
45688 2008-10-08  Eric Blake  <ebb9@byu.net>
45689
45690         GNUmakefile: add 'make version' target
45691         * top/GNUmakefile (_curr-ver): Split version update rules...
45692         (version): ...into a target.
45693
45694 2008-10-07  Bruno Haible  <bruno@clisp.org>
45695
45696         Use a more portable replacement expression for -0.0L.
45697         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45698         instead of -0.0L. Fix m4 quotation.
45699
45700         * tests/test-signbit.c: Include <float.h>.
45701         (minus_zero): New variable.
45702         (test_signbitl): Use minus_zero instead of -zero.
45703         * modules/signbit-tests (Depends-on): Add float.
45704
45705         * tests/test-ceill.c: Include <float.h>.
45706         (zero): Remove variable.
45707         (minus_zero): New variable.
45708         (main): Use minus_zero instead of -zero.
45709         * modules/ceill-tests (Depends-on): Add float.
45710
45711         * tests/test-floorl.c: Include <float.h>.
45712         (zero): Remove variable.
45713         (minus_zero): New variable.
45714         (main): Use minus_zero instead of -zero.
45715         * modules/floorl-tests (Depends-on): Add float.
45716
45717         * tests/test-roundl.c: Include <float.h>.
45718         (zero): Remove variable.
45719         (minus_zero): New variable.
45720         (main): Use minus_zero instead of -zero.
45721         * modules/roundl-tests (Depends-on): Add float.
45722
45723         * tests/test-truncl.c: Include <float.h>.
45724         (zero): Remove variable.
45725         (minus_zero): New variable.
45726         (main): Use minus_zero instead of -zero.
45727         * modules/truncl-tests (Depends-on): Add float.
45728
45729         * tests/test-frexpl.c (zero): Remove variable.
45730         (minus_zero): New variable.
45731         (main): Use minus_zero instead of -zero.
45732         * modules/frexpl-tests (Depends-on): Add float.
45733
45734         * tests/test-isnan.c (zerol): Remove variable.
45735         (minus_zerol): New variable.
45736         (test_long_double): Use minus_zerol instead of -zerol.
45737         * modules/isnan-tests (Depends-on): Add float.
45738
45739         * tests/test-isnanl.h (zero): Remove variable.
45740         (minus_zero): New variable.
45741         (main): Use minus_zero instead of -zero.
45742         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45743         * modules/isnanl-tests (Depends-on): Add float.
45744
45745         * tests/test-ldexpl.c (zero): Remove variable.
45746         (minus_zero): New variable.
45747         (main): Use minus_zero instead of -zero.
45748         * modules/ldexpl-tests (Depends-on): Add float.
45749
45750         * tests/test-snprintf-posix.h (zerol): Remove variable.
45751         (minus_zerol): New variable.
45752         (test_function): Use minus_zerol instead of -zerol.
45753         * modules/snprintf-posix-tests (Depends-on): Add float.
45754         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45755
45756         * tests/test-sprintf-posix.h (zerol): Remove variable.
45757         (minus_zerol): New variable.
45758         (test_function): Use minus_zerol instead of -zerol.
45759         * modules/sprintf-posix-tests (Depends-on): Add float.
45760         * modules/vsprintf-posix-tests (Depends-on): Add float.
45761
45762         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45763         (minus_zerol): New variable.
45764         (test_function): Use minus_zerol instead of -zerol.
45765         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45766
45767         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45768         (minus_zerol): New variable.
45769         (test_function): Use minus_zerol instead of -zerol.
45770         * modules/vasprintf-posix-tests (Depends-on): Add float.
45771
45772 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45773
45774         * MODULES.html.sh (Support for building documentation): Mention
45775         pmccabe2html.  Sort entries.
45776
45777         Add pmccabe2html module, from gnupdf.
45778         * build-aux/pmccabe.css: New file.
45779         * build-aux/pmccabe2html: New file.
45780         * m4/pmccabe2html.m4: New file.
45781         * modules/pmccabe2html: New file.
45782
45783 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45784
45785         flock: new module
45786         * MODULES.html.sh: Add to list of modules.
45787         * lib/flock.c: flock implementation for Windows and Unix systems
45788         which have fcntl.
45789         * doc/glibc-functions/flock.texi: Update documentation.
45790         * lib/sys_file.in.h: <sys/file.h> header file.
45791         * m4/flock.m4: M4 macros.
45792         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45793         * modules/flock: flock module.
45794         * modules/flock-tests: flock tests module.
45795         * modules/sys_file: sys/file.h module.
45796         * tests/test-flock.c: test suite for flock.
45797
45798 2008-10-06  Jim Meyering  <meyering@redhat.com>
45799
45800         bootstrap: check for LT_INIT more portably still ;-)
45801         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45802         Spotted by Bruno Haible.
45803
45804 2008-10-06  Eric Blake  <ebb9@byu.net>
45805
45806         test-signbit: avoid tripping Irix cc bug on -0.0L
45807         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45808         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45809         entire testsuite consistent and avoids an Irix 6.2 bug.
45810
45811 2008-10-05  Bruno Haible  <bruno@clisp.org>
45812             Jim Meyering  <jim@meyering.net>
45813
45814         Add an option for ignoring EPIPE during close_stdout.
45815         * lib/closeout.h: Include <stdbool.h>.
45816         (close_stdout_set_ignore_EPIPE): New declaration.
45817         * lib/closeout.c: Include <stdbool.h>.
45818         (ignore_EPIPE): New variable.
45819         (close_stdout_set_ignore_EPIPE): New function.
45820         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45821         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45822         failure.
45823         * modules/closeout (Depends-on): Add stdbool.
45824
45825 2008-10-05  Bruno Haible  <bruno@clisp.org>
45826
45827         * modules/accept: New file.
45828         * modules/bind: New file.
45829         * modules/connect: New file.
45830         * modules/getpeername: New file.
45831         * modules/getsockname: New file.
45832         * modules/getsockopt: New file.
45833         * modules/listen: New file.
45834         * modules/recv: New file.
45835         * modules/recvfrom: New file.
45836         * modules/send: New file.
45837         * modules/sendto: New file.
45838         * modules/setsockopt: New file.
45839         * modules/socket: New file.
45840         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45841         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45842         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45843         the particular module is requested. Add a link warning when the
45844         particular module is not requested.
45845         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45846         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45847         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45848         the particular module is requested.
45849         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45850         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45851         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45852         * modules/sys_socket (Depends-on): Add link-warning.
45853         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45854         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45855         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45856         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45857         GL_LINK_WARNING.
45858         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45859         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45860         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45861         * doc/posix-functions/getpeername.texi: Mention the new module
45862         'getpeername'.
45863         * doc/posix-functions/getsockname.texi: Mention the new module
45864         'getsockname'.
45865         * doc/posix-functions/getsockopt.texi: Mention the new module
45866         'getsockopt'.
45867         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45868         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45869         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45870         * doc/posix-functions/send.texi: Mention the new module 'send'.
45871         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45872         * doc/posix-functions/setsockopt.texi: Mention the new module
45873         'setsockopt'.
45874         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45875         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45876         listen, connect, accept.
45877         * modules/select-tests (Depends-on): Likewise.
45878
45879 2008-10-05  Bruno Haible  <bruno@clisp.org>
45880
45881         * lib/winsock.c (strerror): Remove unused #undef.
45882         (rpl_close): Remove unused local variable.
45883
45884         * modules/sys_socket (Depends-on); Add errno.
45885
45886 2008-10-05  Bruno Haible  <bruno@clisp.org>
45887
45888         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45889         (select): Add a link warning when the 'select' module is not used.
45890         * modules/sys_select (Depends-on): Add link-warning.
45891         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45892         Suggested by Paolo Bonzini.
45893
45894 2008-10-05  Jim Meyering  <meyering@redhat.com>
45895
45896         bootstrap: check for LT_INIT more portably
45897         * build-aux/bootstrap: Avoid using grep -E, since it's not
45898         portable enough.  Suggestion from Bruno Haible.
45899
45900 2008-10-05  Bruno Haible  <bruno@clisp.org>
45901
45902         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45903         as being fixed by gnulib.
45904
45905 2008-10-05  Bruno Haible  <bruno@clisp.org>
45906
45907         * modules/select-tests: New file, mostly copied from
45908         modules/sys_select-tests.
45909         * tests/test-select.c: New file, mostly copied from
45910         tests/test-sys_select.c.
45911         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45912         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45913         (Makefile.am): Remove test_sys_select_LDADD.
45914
45915         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45916         to an undefined symbol, for an error message.
45917         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45918         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45919         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45920         winsock-select.c here.
45921         * modules/sys_select (Files): Remove lib/winsock-select.c.
45922         (Depends-on): Remove alloca.
45923         (Makefile.am): Substitute GNULIB_SELECT.
45924         * modules/select: New file.
45925         * doc/posix-functions/select.texi: Update.
45926
45927 2008-10-05  Bruno Haible  <bruno@clisp.org>
45928
45929         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45930         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45931         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45932         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45933         getdtablesize.
45934         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45935         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45936
45937 2008-10-05  Bruno Haible  <bruno@clisp.org>
45938
45939         * modules/getdtablesize-tests: New file.
45940         * tests/test-getdtablesize.c: New file.
45941
45942         New module 'getdtablesize'.
45943         * lib/unistd.in.h (getdtablesize): New declaration.
45944         * lib/getdtablesize.c: New file.
45945         * m4/getdtablesize.m4: New file.
45946         * modules/getdtablesize: New file.
45947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45948         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45949         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45950         HAVE_GETDTABLESIZE.
45951         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45952
45953 2008-10-05  Bruno Haible  <bruno@clisp.org>
45954
45955         * modules/sched (Makefile.am): Fix typo.
45956         Reported by Simon Josefsson.
45957
45958 2008-10-05  Jim Meyering  <meyering@redhat.com>
45959
45960         bootstrap: check for LT_INIT, too
45961         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45962         are deprecated.  Suggestion from Ralf Wildenhues.
45963
45964 2008-10-05  Bruno Haible  <bruno@clisp.org>
45965
45966         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45967         overriding them by ours.
45968         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45969
45970 2008-10-05  Jim Meyering  <meyering@redhat.com>
45971
45972         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45973         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45974         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45975
45976 2008-10-04  Bruno Haible  <bruno@clisp.org>
45977
45978         * modules/dup2 (License): Change to LGPLv2+.
45979         * modules/sleep (License): Likewise.
45980         * modules/perror (License): Likewise.
45981         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45982         Blake.
45983         * modules/signal (License): Likewise.
45984         * modules/sigprocmask (License): Likewise.
45985         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45986         Meyering.
45987
45988 2008-10-04  Bruno Haible  <bruno@clisp.org>
45989
45990         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45991         Reported by Rainer Tammer <tammer@tammer.net>.
45992
45993 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45994             Bruno Haible  <bruno@clisp.org>
45995
45996         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45997         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45998         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45999
46000 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
46001
46002         filevercmp: new module
46003         * lib/filevercmp.h: New function filevercmp comparing version strings.
46004         * lib/filevercmp.c: Implementation of filevercmp function.
46005         * modules/filevercmp: Module metadata.
46006         * tests/test-filevercmp.c: Unit test for new module.
46007         * modules/filevercmp-tests: Unit test metadata.
46008         * MODULES.html.sh: Add filevercmp module.
46009
46010 2008-10-03  Bruno Haible  <bruno@clisp.org>
46011
46012         * lib/c-ctype.h: Add comment.
46013         Reported by Jim Meyering.
46014
46015 2008-10-02  Bruno Haible  <bruno@clisp.org>
46016
46017         * modules/posix_spawn-internal (Depends-on): Add 'open'.
46018
46019 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46020
46021         * build-aux/bootstrap: Allow renaming bootstrap, and change the
46022         name of bootstrap.conf accordingly.
46023
46024 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46025
46026         * build-aux/bootstrap: Install git-merge-changelog configuration
46027         items into .gitconfig if needed.
46028
46029 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
46030
46031         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
46032         git repository, and initialize/update it accordingly.
46033
46034 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
46035
46036         * modules/fsync-tests: New file.
46037         * tests/test-fsync.c: New file.
46038
46039         New module 'fsync'.
46040         * lib/fsync.c: New file.
46041         * m4/fsync.m4: New file.
46042         * modules/fsync: New file.
46043         * lib/unistd.in.h (fsync): New declaration.
46044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
46045         GNULIB_FSYNC and HAVE_FSYNC.
46046         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
46047         * MODULES.html.sh (posix_functions): Add fsync.
46048         * doc/posix-functions/fsync.texi: Mention the new module.
46049
46050 2008-10-02  Jim Meyering  <meyering@redhat.com>
46051
46052         fts.c: sync with similar code from coreutils' remove.c
46053         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
46054         Guard also with "#if defined __linux__", since for now at least,
46055         this code is Linux-kernel-specific.
46056
46057 2008-10-02  Jim Meyering  <meyering@redhat.com>
46058
46059         fts: bug fixes
46060         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
46061         Include <sys/vfs.h>, not <sys/statfs.h>.
46062
46063         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
46064         Include <sys/vfs.h>, not <sys/statfs.h>.
46065
46066 2008-10-01  Bruno Haible  <bruno@clisp.org>
46067
46068         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
46069         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
46070         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
46071         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
46072         * doc/posix-functions/posix_spawnp.texi: Likewise.
46073         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
46074         whether posix_spawn actually works.
46075         * m4/pipe.m4 (gl_PIPE): Likewise.
46076         * modules/execute (Files): Add m4/posix_spawn.m4.
46077         * modules/pipe (Files): Add m4/posix_spawn.m4.
46078         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
46079
46080 2008-10-01  Jim Meyering  <meyering@redhat.com>
46081
46082         remove trailing spaces
46083         * NEWS: Likewise.
46084         * lib/poll.c (poll): Likewise.
46085         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
46086         * lib/winsock.c (rpl_close): Likewise.
46087         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
46088         * modules/yield: Likewise.
46089         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
46090         * tests/test-sys_select.c (connect_to_socket): Likewise.
46091
46092         fts.c: adjust a new interface to be more generally useful
46093         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
46094         (fts_build): Adjust caller.
46095
46096 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46097
46098         * modules/cond-tests: New file.
46099         * tests/test-cond.c: New file.
46100
46101 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46102             Bruno Haible  <bruno@clisp.org>
46103
46104         * modules/cond (Dependencies): Add errno, time.
46105         * lib/glthread/cond.h: Include <time.h>.
46106         (gl_cond_define, gl_cond_define_initialized): Use the same definition
46107         across platforms.
46108
46109 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46110             Bruno Haible  <bruno@clisp.org>
46111
46112         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
46113
46114 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46115             Bruno Haible  <bruno@clisp.org>
46116
46117         * modules/tls-tests (Depends-on): Add thread, yield.
46118         (configure.ac): Remove all checks.
46119         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
46120         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
46121         gl_thread_self): Remove definitions. Include glthread/thread.h and
46122         glthread/yield.h instead.
46123         (test_tls): Pass an additional NULL argument to gl_thread_join.
46124
46125 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46126             Bruno Haible  <bruno@clisp.org>
46127
46128         * modules/lock-tests (Depends-on): Add thread, yield.
46129         (configure.ac): Remove all checks.
46130         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
46131         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
46132         gl_thread_self): Remove definitions. Include glthread/thread.h and
46133         glthread/yield.h instead.
46134         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
46135         additional NULL argument to gl_thread_join.
46136
46137 2008-09-30  Bruno Haible  <bruno@clisp.org>
46138
46139         Fix the Win32 implementation of the 'thread' module.
46140         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
46141         pointer type.
46142         (gl_thread_self): Invoke gl_thread_self_func.
46143         (gl_thread_self_func): New declaration.
46144         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
46145         (do_init_self_key, init_self_key): New functions.
46146         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
46147         Remove some fields.
46148         (running_threads, running_lock): Remove variables.
46149         (get_current_thread_handle): New function.
46150         (gl_thread_self_func, wrapper_func, glthread_create_func,
46151         glthread_join_func, gl_thread_exit_func): Largely rewritten and
46152         simplified.
46153
46154 2008-09-30  Bruno Haible  <bruno@clisp.org>
46155
46156         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
46157         files.
46158
46159 2008-09-30  Jim Meyering  <meyering@redhat.com>
46160
46161         fts.m4: correct the test for statfs.f_type
46162         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
46163         when checking for statfs.f_type.
46164
46165 2008-09-15  Simon Josefsson  <simon@josefsson.org>
46166
46167         tests: avoid some compiler warnings
46168         * tests/test-memchr.c (main): Pass NULL indirectly.
46169         * tests/test-getdate.c (main): Remove unused variable 'ret'.
46170
46171 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
46172
46173         getdate.y: disallow countable dayshifts like "4 yesterday ago"
46174         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
46175         exactly specified dayshifts.
46176         (dayshift): New rule.
46177         (rel): Add dayshift.
46178         (relative_time_table) [tomorrow, yesterday, today, now]:
46179         Use tDAY_SHIFT in place of tDAY_UNIT.
46180         * tests/test-getdate.c: Add tests for now-disallowed countable
46181         dayshifts, e.g., "4 yesterday ago".
46182
46183 2008-09-29  Bruno Haible  <bruno@clisp.org>
46184
46185         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
46186         * tests/test-posix_spawn1.in.sh: Renamed from
46187         tests/test-posix_spawn.in.sh.
46188         * tests/test-posix_spawn2.c: New file.
46189         * tests/test-posix_spawn2.in.sh: New file.
46190         * modules/posix_spawnp-tests (Files): Update.
46191         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
46192
46193 2008-09-29  Bruno Haible  <bruno@clisp.org>
46194
46195         Propagate effects of putenv/setenv/unsetenv to child processes.
46196         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
46197         * lib/pipe.c (create_pipe): Likewise.
46198
46199 2008-09-29  Bruno Haible  <bruno@clisp.org>
46200
46201         Enable use of shell scripts as executables in mingw.
46202         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
46203         run the program as a shell script.
46204         * lib/pipe.c (create_pipe): Likewise.
46205         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
46206         resulting array.
46207
46208 2008-09-29  Eric Blake  <ebb9@byu.net>
46209
46210         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
46211
46212 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
46213
46214         * doc/posix-functions/accept.texi: Update mingw problems.
46215         * doc/posix-functions/bind.texi: Update mingw problems.
46216         * doc/posix-functions/close.texi: Update mingw problems.
46217         * doc/posix-functions/connect.texi: Update mingw problems.
46218         * doc/posix-functions/getpeername.texi: Update mingw problems.
46219         * doc/posix-functions/getsockname.texi: Update mingw problems.
46220         * doc/posix-functions/getsockopt.texi: Update mingw problems.
46221         * doc/posix-functions/ioctl.texi: Update mingw problems.
46222         * doc/posix-functions/listen.texi: Update mingw problems.
46223         * doc/posix-functions/recv.texi: Update mingw problems.
46224         * doc/posix-functions/recvfrom.texi: Update mingw problems.
46225         * doc/posix-functions/select.texi: Update mingw problems.
46226         * doc/posix-functions/send.texi: Update mingw problems.
46227         * doc/posix-functions/sendto.texi: Update mingw problems.
46228         * doc/posix-functions/setsockopt.texi: Update mingw problems.
46229         * doc/posix-functions/socket.texi: Update mingw problems.
46230
46231 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
46232             Bruno Haible  <bruno@clisp.org>
46233
46234         * lib/sys_select.in.h: Include sys/time.h.
46235         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
46236         * modules/sys_select: Depend on sys_time.
46237         * tests/test-sys_select.c: Test that sys/select.h defines struct
46238         timeval fully.
46239
46240 2008-09-29  Bruno Haible  <bruno@clisp.org>
46241
46242         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
46243         * lib/sys_select.in.h: Likewise.
46244
46245 2008-09-29  Bruno Haible  <bruno@clisp.org>
46246
46247         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
46248
46249 2008-09-29  Bruno Haible  <bruno@clisp.org>
46250
46251         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
46252         Set LIBSOCKET instead of augmenting LIBS.
46253         * modules/sockets (Link): New section.
46254         * modules/sockets-tests (test_sockets_LDADD): New variable.
46255         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
46256         * modules/poll-tests (test_poll_LDADD): New variable.
46257         * NEWS: Document the change.
46258
46259 2008-09-29  Bruno Haible  <bruno@clisp.org>
46260
46261         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
46262         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
46263         ARPA_INET_H directly.
46264         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46265
46266 2008-09-28  Bruno Haible  <bruno@clisp.org>
46267
46268         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
46269         from gl_HEADER_SYS_SOCKET.
46270         (gl_HEADER_SYS_SOCKET): Invoke it.
46271         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46272
46273 2008-09-28  Bruno Haible  <bruno@clisp.org>
46274
46275         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
46276         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
46277         Needed on OSF/1 4.0.
46278
46279 2008-09-28  Bruno Haible  <bruno@clisp.org>
46280
46281         Override open more carefully.
46282         * lib/open.c (orig_open): New function.
46283         (rpl_open): Use orig_open instead of open.
46284         * lib/fcntl.in.h: Add special invocation convention.
46285         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
46286         (gl_FUNC_OPEN): Invoke it.
46287
46288         Override freopen more carefully.
46289         * lib/freopen.c (orig_freopen): New function.
46290         (rpl_freopen): Use orig_freopen instead of freopen.
46291         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
46292         (gl_FUNC_FREOPEN): Invoke it.
46293
46294         Override fopen more carefully.
46295         * lib/fopen.c (orig_fopen): New function.
46296         (rpl_fopen): Use orig_fopen instead of fopen.
46297         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
46298         (gl_FUNC_FOPEN): Invoke it.
46299         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
46300
46301 2008-09-28  Bruno Haible  <bruno@clisp.org>
46302
46303         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
46304         SIGPIPE.
46305
46306 2008-09-28  Bruno Haible  <bruno@clisp.org>
46307
46308         * tests/test-sigaction.c (handler, main): Disable the check whether
46309         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
46310         glibc systems with LinuxThreads.
46311
46312 2008-09-28  Bruno Haible  <bruno@clisp.org>
46313
46314         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
46315
46316         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
46317         with AIX xlc.
46318         * lib/fcntl.in.h (open): Likewise.
46319         Reported by Rainer Tammer <tammer@tammer.net>.
46320
46321 2008-09-28  Bruno Haible  <bruno@clisp.org>
46322
46323         * modules/posix_spawnp-tests: New file.
46324         * tests/test-posix_spawn.c: New file.
46325         * tests/test-posix_spawn.in.sh: New file.
46326
46327         New module 'posix_spawnp'.
46328         * modules/posix_spawnp: New file.
46329         * lib/spawnp.c: New file, from GNU libc with modifications.
46330         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
46331
46332         New module 'posix_spawn'.
46333         * modules/posix_spawn: New file.
46334         * lib/spawn.c: New file, from GNU libc with modifications.
46335         * doc/posix-functions/posix_spawn.texi: Mention the new module.
46336
46337         New module 'posix_spawnattr_destroy'.
46338         * modules/posix_spawnattr_destroy: New file.
46339         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
46340         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
46341         module.
46342
46343         New module 'posix_spawnattr_setsigmask'.
46344         * modules/posix_spawnattr_setsigmask: New file.
46345         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
46346         modifications.
46347         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
46348         new module.
46349
46350         New module 'posix_spawnattr_getsigmask'.
46351         * modules/posix_spawnattr_getsigmask: New file.
46352         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
46353         modifications.
46354         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
46355         new module.
46356
46357         New module 'posix_spawnattr_setsigdefault'.
46358         * modules/posix_spawnattr_setsigdefault: New file.
46359         * lib/spawnattr_setdefault.c: New file, from GNU libc with
46360         modifications.
46361         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
46362         new module.
46363
46364         New module 'posix_spawnattr_getsigdefault'.
46365         * modules/posix_spawnattr_getsigdefault: New file.
46366         * lib/spawnattr_getdefault.c: New file, from GNU libc with
46367         modifications.
46368         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
46369         new module.
46370
46371         New module 'posix_spawnattr_setschedpolicy'.
46372         * modules/posix_spawnattr_setschedpolicy: New file.
46373         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
46374         modifications.
46375         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
46376         new module.
46377
46378         New module 'posix_spawnattr_getschedpolicy'.
46379         * modules/posix_spawnattr_getschedpolicy: New file.
46380         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
46381         modifications.
46382         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
46383         new module.
46384
46385         New module 'posix_spawnattr_setschedparam'.
46386         * modules/posix_spawnattr_setschedparam: New file.
46387         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
46388         modifications.
46389         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
46390         new module.
46391
46392         New module 'posix_spawnattr_getschedparam'.
46393         * modules/posix_spawnattr_getschedparam: New file.
46394         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
46395         modifications.
46396         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
46397         new module.
46398
46399         New module 'posix_spawnattr_setpgroup'.
46400         * modules/posix_spawnattr_setpgroup: New file.
46401         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
46402         modifications.
46403         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
46404         module.
46405
46406         New module 'posix_spawnattr_getpgroup'.
46407         * modules/posix_spawnattr_getpgroup: New file.
46408         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46409         modifications.
46410         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46411         module.
46412
46413         New module 'posix_spawnattr_setflags'.
46414         * modules/posix_spawnattr_setflags: New file.
46415         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46416         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46417         module.
46418
46419         New module 'posix_spawnattr_getflags'.
46420         * modules/posix_spawnattr_getflags: New file.
46421         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46422         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46423         module.
46424
46425         New module 'posix_spawnattr_init'.
46426         * modules/posix_spawnattr_init: New file.
46427         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46428         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46429         module.
46430
46431         New module 'posix_spawn_file_actions_destroy'.
46432         * modules/posix_spawn_file_actions_destroy: New file.
46433         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46434         modifications.
46435         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46436         the new module.
46437
46438         New module 'posix_spawn_file_actions_addopen'.
46439         * modules/posix_spawn_file_actions_addopen: New file.
46440         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46441         modifications.
46442         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46443         the new module.
46444
46445         New module 'posix_spawn_file_actions_adddup2'.
46446         * modules/posix_spawn_file_actions_adddup2: New file.
46447         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46448         modifications.
46449         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46450         the new module.
46451
46452         New module 'posix_spawn_file_actions_addclose'.
46453         * modules/posix_spawn_file_actions_addclose: New file.
46454         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46455         modifications.
46456         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46457         the new module.
46458
46459         New module 'posix_spawn_file_actions_init'.
46460         * modules/posix_spawn_file_actions_init: New file.
46461         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46462         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46463         new module.
46464
46465         New module 'posix_spawn-internal'.
46466         * modules/posix_spawn-internal: New file.
46467         * lib/spawn_int.h: New file, from GNU libc with modifications.
46468         * lib/spawni.c: New file, from GNU libc with modifications.
46469         * m4/posix_spawn.m4: New file.
46470
46471         New module 'spawn'.
46472         * modules/spawn: New file.
46473         * lib/spawn.in.h: New file, from GNU libc with modifications.
46474         * m4/spawn_h.m4: New file.
46475         * doc/posix-headers/spawn.texi: Mention the new module.
46476
46477 2008-09-28  Bruno Haible  <bruno@clisp.org>
46478
46479         * modules/sched-tests: New file.
46480         * tests/test-sched.c: New file.
46481
46482         New module 'sched'.
46483         * modules/sched: New file.
46484         * lib/sched.in.h: New file.
46485         * m4/sched_h.m4: New file.
46486         * doc/posix-headers/sched.texi: Mention the new module.
46487
46488 2008-09-27  Eric Blake  <ebb9@byu.net>
46489
46490         Fix previous patch, and tweak references to $0.
46491         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46492         (func_version, func_gnulib_dir): Don't call this program
46493         gnulib-tool.
46494         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46495         with using $0 in function.
46496         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46497         (func_fatal_error): Reuse the name the user invoked us with.
46498
46499 2008-09-27  Bruno Haible  <bruno@clisp.org>
46500
46501         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46502         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46503         (gl_ICONV_H): Not here.
46504         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46505         instead of assigning ICONV_H directly.
46506
46507         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46508         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46509         WCHAR_H directly.
46510
46511 2008-09-27  Bruno Haible  <bruno@clisp.org>
46512
46513         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46514         * modules/arpa_inet (Depends-on): Add link-warning.
46515         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46516         * modules/unistd (Makefile.am): Likewise.
46517
46518 2008-09-26  Bruno Haible  <bruno@clisp.org>
46519
46520         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46521         variables.
46522         (func_version): Essentially copied from gnulib-tool.
46523         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46524         func_readlink): Copied from gnulib-tool.
46525
46526 2008-09-26  Bruno Haible  <bruno@clisp.org>
46527
46528         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46529         invoking git-version-gen.
46530
46531 2008-09-26  Bruno Haible  <bruno@clisp.org>
46532
46533         * posix-modules: Update to directory names changed on 2008-01-19.
46534         Remove commas in output before splitting into words. No more need to
46535         avoid 'ftruncate' since 2007-02-19.
46536
46537 2008-09-26  Bruno Haible  <bruno@clisp.org>
46538
46539         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46540
46541 2008-09-26  Bruno Haible  <bruno@clisp.org>
46542
46543         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46544         * modules/fwriteerror (Depends-on): Add errno.
46545
46546 2008-09-26  Bruno Haible  <bruno@clisp.org>
46547
46548         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46549         * tests/test-vc-list-files-cvs.sh: Likewise.
46550
46551 2008-09-26  Bruno Haible  <bruno@clisp.org>
46552
46553         * doc/posix-headers/sys_resource.texi: Reorder items.
46554
46555 2008-09-26  Jim Meyering  <meyering@redhat.com>
46556
46557         fts: tweak inode comparison function
46558         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46559         inode numbers, as documented.
46560
46561         fts: sort dirent entries on inode number before traversing
46562         This avoids a quadratic, seek-related performance penalty when
46563         operating on a directory containing many entries (measurable at 10k;
46564         3.5 hours at 2 million entries with a cold cache) on certain types
46565         of file systems, including ext3 and ext4, but not tmpfs.
46566         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46567         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46568         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46569         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46570         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46571         (fts_build): Set the stat.st_ino member from D_INO.
46572         If it is likely to be useful, sort dirent entries on inode number.
46573
46574         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46575         and the struct statfs.f_type member.
46576         * modules/fts (Depends-on): Add d-ino.
46577
46578 2008-09-26  Bruno Haible  <bruno@clisp.org>
46579
46580         * modules/sigpipe-die (Depends-on): Add sigpipe.
46581
46582         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46583         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46584         and GNULIB_STDIO_H_SIGPIPE are set.
46585         * lib/stdio-write.c: New file.
46586         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46587         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46588         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46589         REPLACE_STDIO_WRITE_FUNCS.
46590         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46591         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46592         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46593         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46594         * modules/stdio (Files): Add lib/stdio-write.c.
46595         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46596         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46597         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46598         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46599         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46600         REPLACE_FPRINTF_POSIX.
46601         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46602         REPLACE_PRINTF_POSIX.
46603         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46604         REPLACE_VFPRINTF_POSIX.
46605         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46606         REPLACE_VPRINTF_POSIX.
46607         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46608         SIGPIPE issue.
46609         * doc/posix-functions/fputc.texi: Likewise.
46610         * doc/posix-functions/fputs.texi: Likewise.
46611         * doc/posix-functions/fwrite.texi: Likewise.
46612         * doc/posix-functions/printf.texi: Likewise.
46613         * doc/posix-functions/putc.texi: Likewise.
46614         * doc/posix-functions/putchar.texi: Likewise.
46615         * doc/posix-functions/puts.texi: Likewise.
46616         * doc/posix-functions/vfprintf.texi: Likewise.
46617         * doc/posix-functions/vprintf.texi: Likewise.
46618
46619         * modules/safe-write (Depends-on): Add write.
46620
46621         * modules/sigpipe-tests: New file.
46622         * tests/test-sigpipe.c: New file.
46623         * tests/test-sigpipe.sh: New file.
46624
46625         * modules/write: New file.
46626         * lib/unistd.in.h: Include <sys/types.h>.
46627         (write): New declaration.
46628         * lib/write.c: New file.
46629         * m4/write.m4: New file.
46630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46631         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46632         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46633         GNULIB_WRITE, REPLACE_WRITE.
46634         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46635         and the SIGPIPE issue.
46636
46637         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46638         (raise): New declaration.
46639         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46640         (ext_signal): New function.
46641         (rpl_raise): New function.
46642         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46643         GNULIB_SIGNAL_H_SIGPIPE.
46644         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46645         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46646
46647         * modules/sigpipe: New file.
46648         * m4/sigpipe.m4: New file.
46649
46650 2008-09-25  Derek Price  <derek@ximbiot.com>
46651             Bruno Haible  <bruno@clisp.org>
46652
46653         * gnulib-tool (func_import): Report all license incompatibilities, not
46654         just the first one.
46655
46656 2008-09-25  Bruno Haible  <bruno@clisp.org>
46657
46658         * gnulib-tool (func_import): When computing the edits, consider not
46659         only the Makefile.ams that exist but also those that will be generated.
46660
46661 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46662
46663         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46664         fixes gnulib-tool --test warning about duplicate dependency.
46665
46666 2008-09-25  Bruno Haible  <bruno@clisp.org>
46667
46668         * gnulib-tool: Don't ask the user to perform edits in the generated
46669         Makefile.ams.
46670         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46671         apply to the Makefile.am being generated.
46672         (func_emit_tests_Makefile_am): Execute edits that apply to the
46673         Makefile.am being generated.
46674         (func_import): Setup list of Makefile.am edits before emitting the
46675         Makefile.ams, not at the end.
46676         (func_create_testdir): Update.
46677         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46678
46679 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46680
46681         * gnulib-tool (func_import): Store the --tests-base option in the
46682         comment in gnulib-cache.m4.
46683
46684 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46685
46686         * NEWS: Document increased portability that sys_select now provides.
46687
46688         * lib/sys_select.in.h: Install select wrapper.
46689         * lib/sys_socket.in.h: Use more descriptive name when there is no
46690         select wrapper.
46691         * lib/winsock-select.c: New.
46692         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46693         Require gl_HEADER_SYS_SOCKET.
46694         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46695         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46696         * tests/test-sys_select.c: Add functional tests.
46697
46698 2008-09-24  Eric Blake  <ebb9@byu.net>
46699
46700         open, fopen: close fd leak in last patch
46701         * lib/open.c (rpl_open): Close fd before returning error.
46702         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46703         * doc/posix-functions/open.texi (open): Document that Irix also
46704         has the bug.
46705         * doc/posix-functions/fopen.texi (fopen): Likewise.
46706         Reported by Paolo Bonzini.
46707
46708 2008-09-24  Bruno Haible  <bruno@clisp.org>
46709
46710         Ensure that a filename ending in a slash cannot be used to access a
46711         non-directory.
46712         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46713         to check whether it's really a directory.
46714         * lib/fopen.c: Include fcntl.h, unistd.h.
46715         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46716         and fdopen().
46717         * modules/fopen (Depends-on): Add unistd.
46718         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46719         * tests/test-fopen.c (main): Likewise.
46720         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46721         * doc/posix-functions/fopen.texi: Likewise.
46722         Reported by Eric Blake.
46723
46724 2008-09-23  Eric Blake  <ebb9@byu.net>
46725
46726         c-stack: avoid compiler optimizations when provoking overflow
46727         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46728         recursion harder to optimize, to ensure a stack overflow occurs.
46729         * tests/test-c-stack.c (recurse): Likewise.
46730         Borrowed from libsigsegv.
46731
46732         c-stack: work around Irix sigaltstack bug
46733         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46734         whether sigaltstack uses wrong end of stack_t (copied in part from
46735         libsigsegv).
46736         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46737         Irix bug, without requiring an over-allocation.
46738         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46739         bug.
46740
46741         fopen: document mingw bug on directories
46742         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46743         not allowing a stream visiting a directory, even though reading
46744         from such a stream is not portable.
46745
46746 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46747
46748         * lib/poll.c: Rewrite.
46749         * modules/poll: Depend on alloca.
46750
46751 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46752
46753         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46754         instead define prototypes for a full set of wrappers.  Ensure
46755         that Cygwin does not use the compatibility code, which is only
46756         for MinGW.
46757         * lib/winsock.c: New.
46758         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46759         * modules/sys_socket: Add lib/winsock.c.
46760
46761         * modules/poll-tests: Add errno and perror.
46762         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46763
46764 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46765
46766         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46767
46768 2008-09-23  Bruno Haible  <bruno@clisp.org>
46769
46770         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46771         * doc/glibc-functions/*: Likewise.
46772
46773 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46774
46775         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46776         success.
46777
46778 2008-09-22  Eric Blake  <ebb9@byu.net>
46779             Bruno Haible  <bruno@clisp.org>
46780
46781         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46782         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46783         supply %A but mishandle pseudo-NaN.
46784         Reported by Simon Josefsson.
46785
46786 2008-09-21  Bruno Haible  <bruno@clisp.org>
46787
46788         * tests/test-lock.c (main): Tweak skip message.
46789         * tests/test-tls.c (main): Likewise.
46790
46791 2008-09-21  Bruno Haible  <bruno@clisp.org>
46792
46793         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46794         whether 'struct sigaction' has sa_sigaction here...
46795         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46796         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46797
46798 2008-09-21  Bruno Haible  <bruno@clisp.org>
46799
46800         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46801         section.
46802         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46803         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46804         the new section.
46805         (Support for obsolete systems lacking POSIX:2001): New section.
46806         (String handling <string.h>): Move strdup to the new section.
46807         Suggested by Simon Josefsson and Paolo Bonzini.
46808
46809 2008-09-21  Bruno Haible  <bruno@clisp.org>
46810
46811         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46812         exponents in %e and %g results on 'long double'. Needed for mingw's
46813         improved *printf functions.
46814         * tests/test-vasprintf-posix.c (test_function): Likewise.
46815         * tests/test-snprintf-posix.h (test_function): Likewise.
46816         * tests/test-sprintf-posix.h (test_function): Likewise.
46817         Reported by Eric Blake.
46818
46819 2008-09-21  Bruno Haible  <bruno@clisp.org>
46820
46821         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46822         * tests/test-sprintf-posix.h (test_function): Likewise.
46823
46824 2008-09-21  Bruno Haible  <bruno@clisp.org>
46825
46826         * modules/getpass (Depends-on): Add strdup-posix.
46827
46828         New module 'strdup-posix'.
46829         * modules/strdup-posix: New file.
46830         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46831         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46832         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46833         REPLACE_STRDUP.
46834         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46835         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46836         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46837         strdup-posix.
46838
46839         * modules/strdup (Depends-on): Remove malloc-posix.
46840
46841 2008-09-20  Bruno Haible  <bruno@clisp.org>
46842
46843         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46844         Wildenhues.
46845
46846 2008-09-20  Bruno Haible  <bruno@clisp.org>
46847
46848         Ensure that wint_t gets defined on IRIX 5.3.
46849         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46850         * lib/wctype.in.h (wint_t): Likewise.
46851         (__wctype_wint_t): Remove type.
46852         (isw*): Use wint_t instead of __wctype_wint_t.
46853         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46854         * modules/wchar (Files): Add m4/wint_t.m4.
46855         (Makefile.am): Substitute HAVE_WINT_T.
46856         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46857         * tests/test-wctype.c: Check that wint_t is defined.
46858         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46859         * doc/posix-headers/wctype.texi: Likewise.
46860         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46861
46862 2008-09-18  Bruno Haible  <bruno@clisp.org>
46863
46864         * gnulib-tool (func_exit): Update comment.
46865
46866 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46867
46868         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46869         assumes strdup exists and does not depend on strdup to return
46870         ENOMEM on out of memory conditions.
46871
46872 2008-09-18  Bruno Haible  <bruno@clisp.org>
46873
46874         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46875         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46876         digits for the exponent.
46877
46878 2008-09-18  Jim Meyering  <meyering@redhat.com>
46879             Bruno Haible  <bruno@clisp.org>
46880
46881         * lib/vasnprintf.c (decimal_point_char): Define also if
46882         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46883
46884 2008-09-16  Bruno Haible  <bruno@clisp.org>
46885         and Eric Blake  <ebb9@byu.net>
46886
46887         vasnprintf: support Irix 5.3
46888         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46889         that mishandle long double infinity.
46890         Reported by Tom G. Christensen.
46891
46892 2008-09-16  Bruno Haible  <bruno@clisp.org>
46893
46894         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46895         Solaris 9.
46896         * doc/glibc-functions/alphasort.texi: Likewise.
46897         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46898
46899 2008-09-16  Jim Meyering  <meyering@redhat.com>
46900
46901         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46902         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46903         a umask modification leak out of a subshell.  Otherwise, the
46904         opensolaris /bin/sh would be accepted and thus cause unwarranted
46905         failures in the coreutils test suite.
46906
46907 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46908
46909         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46910         to succeed.
46911
46912 2008-09-16  Jim Meyering  <meyering@redhat.com>
46913
46914         avoid spurious test failure when library is built without ACL support
46915         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46916         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46917         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46918         * tests/test-copy-acl.sh: Likewise.
46919
46920 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46921
46922         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46923         based on character occurrence counts.
46924
46925 2008-09-15  Eric Blake  <ebb9@byu.net>
46926
46927         tests: avoid some compiler warnings
46928         * tests/test-memchr.c (main): Pass NULL indirectly.
46929         * tests/test-closein.c (main): Avoid unused variable.
46930
46931 2008-09-15  Bruno Haible  <bruno@clisp.org>
46932
46933         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46934         are missing on OpenBSD 4.0 individually.
46935         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46936
46937 2008-09-15  Bruno Haible  <bruno@clisp.org>
46938
46939         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46940         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46941         * doc/posix-functions/perror.texi: Likewise.
46942         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46943         is missing.
46944         Reported by Eric Blake.
46945
46946         * lib/errno.in.h: Use replacement values >= 2000.
46947         Reported by Eric Blake.
46948
46949 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46950
46951         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46952         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46953         limit.
46954         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46955         compareseq was aborted.
46956
46957 2008-09-14  Bruno Haible  <bruno@clisp.org>
46958
46959         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46960         yvec_edit_count.
46961         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46962         (fstrcmp_bounded): Simplify result computation accordingly.
46963
46964 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46965
46966         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46967         (fstrcmp): Define in terms of fstrcmp_bounded.
46968         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46969         lower_bound argument.
46970         Return quickly if the result is certainly < lower_bound.
46971         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46972
46973 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46974
46975         * lib/diffseq.h (EARLY_ABORT): New macro.
46976         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46977         evaluates to true.
46978
46979 2008-09-14  Bruno Haible  <bruno@clisp.org>
46980
46981         * modules/perror-tests: New file.
46982         * tests/test-perror.sh: New file.
46983         * tests/test-perror.c: New file.
46984
46985         New module 'perror'.
46986         * lib/stdio.in.h (perror): New declaration.
46987         * lib/perror.c: New file.
46988         * m4/perror.m4: New file.
46989         * modules/perror: New file.
46990         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46991         * doc/posix-functions/perror.texi: Mention the perror module.
46992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46993         REPLACE_PERROR.
46994         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46995         REPLACE_PERROR.
46996
46997 2008-09-14  Bruno Haible  <bruno@clisp.org>
46998
46999         * modules/stdio (Makefile.am): Reorder to match the order in
47000         lib/stdio.in.h.
47001         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47002
47003 2008-09-13  Bruno Haible  <bruno@clisp.org>
47004
47005         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
47006
47007 2008-09-13  Bruno Haible  <bruno@clisp.org>
47008
47009         Extend strerror to cover the added errno values.
47010         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
47011         (rpl_strerror): Provide error messages for the added errno values and
47012         for the WSA* values.
47013         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
47014         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
47015         strerror.
47016         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
47017         * modules/strerror (Depends-on): Add errno.
47018         * doc/posix-functions/strerror.texi: Document the change.
47019         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
47020         and EOVERFLOW.
47021
47022 2008-09-13  Bruno Haible  <bruno@clisp.org>
47023
47024         * modules/EOVERFLOW: Remove file.
47025         * m4/eoverflow.m4: Remove file.
47026         * modules/EOVERFLOW-tests: Remove file.
47027         * tests/test-EOVERFLOW.c: Remove file.
47028         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
47029         * modules/ftell (Depends-on): Likewise.
47030         * modules/getdelim (Depends-on): Likewise.
47031         * modules/getugroups (Depends-on): Likewise.
47032         * modules/poll (Depends-on): Likewise.
47033         * modules/snprintf (Depends-on): Likewise.
47034         * modules/sprintf-posix (Depends-on): Likewise.
47035         * modules/vasnprintf (Depends-on): Likewise.
47036         * modules/vasprintf (Depends-on): Likewise.
47037         * modules/vfprintf-posix (Depends-on): Likewise.
47038         * modules/vsnprintf (Depends-on): Likewise.
47039         * modules/vsprintf-posix (Depends-on): Likewise.
47040         * modules/xvasprintf (Depends-on): Likewise.
47041         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47042         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
47043         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
47044         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
47045         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47046         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
47047         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
47048         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
47049         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47050         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
47051         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
47052         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
47053         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47054         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
47055         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
47056         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
47057         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47058         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
47059         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
47060         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
47061         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47062         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
47063         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
47064         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
47065         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
47066         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47067         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
47068         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
47069         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
47070         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
47071         * MODULES.html.sh: Remove EOVERFLOW.
47072         * NEWS: Mention the change.
47073
47074 2008-09-13  Bruno Haible  <bruno@clisp.org>
47075
47076         * modules/errno-tests: New file.
47077         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
47078
47079         * lib/errno.in.h: New file.
47080         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
47081         * modules/errno: New file.
47082         * doc/posix-headers/errno.texi: Update documentation.
47083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
47084
47085 2008-09-13  Bruno Haible  <bruno@clisp.org>
47086
47087         * tests/test-poll.c: Use #if for native Windows, rather than testing
47088         __MSVCRT__.
47089
47090 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47091             Bruno Haible  <bruno@clisp.org>
47092
47093         * lib/glob.c: Don't include <pwd.h> on native Windows.
47094         (WINDOWS32): New macro.
47095         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
47096
47097 2008-09-13  Bruno Haible  <bruno@clisp.org>
47098
47099         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
47100         (ETIMEDOUT): Remove macro.
47101         (glthread_cond_timedwait_multithreaded): New declaration.
47102         (glthread_cond_timedwait): Use it.
47103         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
47104         (glthread_cond_timedwait_multithreaded): New function.
47105
47106 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47107
47108         * modules/poll-tests: Do not check for io.h.
47109         * tests/test-poll.c: Check for __MSVCRT__ instead.
47110
47111 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47112
47113         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
47114         * modules/poll-tests: Add inet_pton, stdbool, sockets.
47115         * tests/test-poll.c: Use them.  Use _pipe on Windows.
47116
47117 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
47118
47119         * modules/poll-tests: New.
47120         * tests/test-poll.c: New.
47121
47122 2008-09-12  Eric Blake  <ebb9@byu.net>
47123
47124         frexp: test for NetBSD failure on -0.0
47125         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
47126         not all, bugs from NetBSD 3.0 have been fixed.
47127         * doc/posix-functions/frexp.texi (frexp): Document bug.
47128         Reported by Thomas Klausner.
47129
47130         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
47131         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
47132         literal -0.0.
47133         Reported by Jonathan C. Patschke <jp@centtech.com>.
47134
47135 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47136
47137         * lib/glthread/cond.h: Use dummy implementation also if
47138         USE_WIN32_THREADS.
47139
47140 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47141
47142         * modules/fnmatch-posix (License): Change to LGPLv2+.
47143         * modules/fnmatch-gnu (License): Likewise.
47144
47145 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47146
47147         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
47148
47149 2008-09-11  Jim Meyering  <meyering@redhat.com>
47150
47151         * users.txt: Add gtk-vnc.
47152
47153 2008-09-08  Simon Josefsson  <simon@josefsson.org>
47154
47155         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
47156         rotate amounts.
47157
47158         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
47159         required for 16-bit and 8-bit rotates.
47160         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
47161         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
47162         UINT8_MAX instead of hard-coded constants.
47163         Suggested by Paul Eggert.
47164
47165 2008-09-07  Bruno Haible  <bruno@clisp.org>
47166
47167         * tests/test-striconveh.c (main): Check behaviour when converting from
47168         UTF-7.
47169
47170         Make striconveh work better with stateful encodings.
47171         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
47172         that iconv does not increment the inptr when returning -1/EINVAL.
47173
47174 2008-09-07  Bruno Haible  <bruno@clisp.org>
47175
47176         * build-aux/config.rpath: Update according to libtool-2.2.6.
47177         * build-aux/config.libpath: Likewise.
47178
47179 2008-09-06  Bruno Haible  <bruno@clisp.org>
47180
47181         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
47182         * lib/freadptr.c (freadptr): Likewise.
47183         * lib/freadseek.c (freadptrinc): Likewise.
47184         Reported by Simon Josefsson.
47185
47186 2008-09-06  Bruno Haible  <bruno@clisp.org>
47187
47188         * modules/freadptr (License): Change to LGPLv2+.
47189         * modules/freadseek (License): Likewise.
47190         Suggested by Eric Blake.
47191
47192         * modules/memchr2 (License): Change to LGPLv2+.
47193         Approved by Eric Blake.
47194
47195 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47196             Bruno Haible  <bruno@clisp.org>
47197
47198         Make gnulib-tool work with native 'sed' on AIX.
47199         * gnulib-tool (sed_noop): New variable.
47200         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
47201         func_add_or_update, func_create_testdir): Use it to initialize sed
47202         script variables.
47203         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47204
47205 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
47206             Bruno Haible  <bruno@clisp.org>
47207
47208         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
47209         also works after #include directives.
47210
47211 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
47212
47213         getdate.y: reject an out-of-range timezone value
47214         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
47215         the range [-24...+24].  When specified with only one or two digits,
47216         * tests/test-getdate.c: Tests for the fix.
47217         * doc/getdate.texi: Document this change.
47218
47219 2008-09-03  Bruno Haible  <bruno@clisp.org>
47220
47221         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
47222
47223 2008-09-02  Simon Josefsson  <simon@josefsson.org>
47224
47225         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
47226         <bruce.korb@gmail.com> with ideas from Ben Pfaff
47227         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
47228         Blake <ebb9@byu.net>.
47229
47230         * tests/test-bitrotate.c: Add more test vectors.
47231
47232 2008-09-02  Eric Blake  <ebb9@byu.net>
47233
47234         vasnprintf-posix: handle large precision via %.*d
47235         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
47236         when handling it ourselves.
47237         * tests/test-vasnprintf-posix.c (test_function): Add test.
47238         * tests/test-snprintf-posix.h (test_function): Likewise.
47239         * tests/test-sprintf-posix.h (test_function): Likewise.
47240         * tests/test-vasprintf-posix.c (test_function): Likewise.
47241         Reported by Alain Guibert.
47242
47243 2008-09-01  Eric Blake  <ebb9@byu.net>
47244
47245         c-stack: make configure-time check more robust
47246         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
47247         successful sigaction call.
47248         Reported by Tom G. Christensen.
47249
47250 2008-09-01  Bruno Haible  <bruno@clisp.org>
47251
47252         New module 'findprog-lgpl'.
47253         * modules/findprog-lgpl: New file.
47254         * lib/findprog-lgpl.c: New file.
47255         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
47256         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
47257         to decide whether to use strdup or xstrdup, concatenated_filename or
47258         xconcatenated_filename.
47259
47260 2008-09-01  Bruno Haible  <bruno@clisp.org>
47261
47262         Split module 'concat-filename' into 'concat-filename' (LGPL) and
47263         'xconcat-filename' (GPL).
47264         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
47265         (License): Change to LGPLv2+.
47266         * modules/xconcat-filename: New file.
47267         * lib/concat-filename.h (concatenated_filename): Change specification.
47268         (xconcatenated_filename): New declaration.
47269         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
47270         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
47271         memory situations.
47272         * lib/xconcat-filename.c: New file.
47273         * NEWS: Mention the change.
47274         * lib/findprog.c: Include concat-filename.h, not filename.h.
47275         (find_in_path): Use xconcatenated_filename instead of
47276         concatenated_filename.
47277         * lib/javacomp.c: Include concat-filename.h, not filename.h.
47278         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
47279         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
47280         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
47281         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
47282         instead of concatenated_filename.
47283         * lib/javaexec.c: Include concat-filename.h, not filename.h.
47284         (execute_java_class): Use xconcatenated_filename instead of
47285         concatenated_filename.
47286         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
47287         * modules/javacomp (Depends-on): Likewise.
47288         * modules/javaexec (Depends-on): Likewise.
47289
47290 2008-09-01  Bruno Haible  <bruno@clisp.org>
47291
47292         Split module 'filename' into 'filename' and 'concat-filename'.
47293         * modules/filename: Keep only lib/filename.h.
47294         (License): Change to LGPLv2+.
47295         * modules/concat-filename: New file, extracted from modules/filename.
47296         * lib/filename.h (concatenated_filename): Remove declaration.
47297         * lib/concat-filename.h: New file, extracted from lib/filename.h.
47298         * lib/concat-filename.c: Include concat-filename.h.
47299         * NEWS: Mention the change.
47300
47301 2008-09-01  Simon Josefsson  <simon@josefsson.org>
47302
47303         * lib/bitrotate.h (rotl8, rotr8): Add.
47304
47305         * modules/bitrotate (configure.ac): Need
47306         AC_REQUIRE([AC_C_INLINE]).
47307         (Description): Mention stdint.h.  Reported by Bruno Haible
47308         <bruno@clisp.org>.
47309
47310         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
47311         Paolo Bonzini <bonzini@gnu.org>.
47312
47313 2008-08-31  Bruno Haible  <bruno@clisp.org>
47314
47315         Assume Solaris specific bi-arch conventions on Solaris systems.
47316         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
47317         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
47318         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
47319         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
47320         like acl_libdirstem.
47321         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
47322         acl_libdirstem.
47323         * NEWS: Mention the change.
47324         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
47325
47326 2008-08-31  Jim Meyering  <meyering@redhat.com>
47327
47328         * lib/strftime.h: Add comments describing the two added arguments.
47329
47330         remove duplicate #include directives
47331         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
47332         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
47333
47334 2008-08-31  Bruno Haible  <bruno@clisp.org>
47335
47336         New module 'sigpipe-die'.
47337         * modules/sigpipe-die: New file.
47338         * lib/sigpipe-die.h: New file.
47339         * lib/sigpipe-die.c: New file.
47340         * MODULES.html.sh (Signal handling): Add sigpipe-die.
47341
47342 2008-08-31  Bruno Haible  <bruno@clisp.org>
47343
47344         Don't override previously installed signal handlers.
47345         * lib/fatal-signal.c (saved_sigactions): New variable.
47346         (uninstall_handlers): Reset the signal to the saved handler, not
47347         to SIG_DFL (except when ignored).
47348         (install_handlers): Save the previous handlers.
47349
47350 2008-08-30  Bruno Haible  <bruno@clisp.org>
47351
47352         * gnulib-tool (func_reset_sigpipe): New function.
47353         (func_get_automake_snippet, func_modules_transitive_closure,
47354         func_import): Invoke it before a join command that reads from stdin,
47355         to avoid "echo: write error: Broken pipe" error messages on stderr.
47356         Reported by Sam Steingold <sds@gnu.org>.
47357
47358 2008-08-30  Bruno Haible  <bruno@clisp.org>
47359
47360         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
47361         Code copied from m4/open.m4.
47362         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
47363         access and the filename ends in a slash. Code copied from lib/open.c.
47364         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
47365         * tests/test-fopen.c (main): Check against bug with trailing slash.
47366
47367 2008-08-29  Bruno Haible  <bruno@clisp.org>
47368
47369         Avoid some "gcc -pedantic" warnings.
47370         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
47371         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
47372         * lib/dirent.in.h: Likewise.
47373         * lib/fcntl.in.h: Likewise.
47374         * lib/float.in.h: Likewise.
47375         * lib/iconv.in.h: Likewise.
47376         * lib/inttypes.in.h: Likewise.
47377         * lib/locale.in.h: Likewise.
47378         * lib/math.in.h: Likewise.
47379         * lib/netinet_in.in.h: Likewise.
47380         * lib/search.in.h: Likewise.
47381         * lib/signal.in.h: Likewise.
47382         * lib/stdarg.in.h: Likewise.
47383         * lib/stdint.in.h: Likewise.
47384         * lib/stdio.in.h: Likewise.
47385         * lib/stdlib.in.h: Likewise.
47386         * lib/string.in.h: Likewise.
47387         * lib/strings.in.h: Likewise.
47388         * lib/sys_select.in.h: Likewise.
47389         * lib/sys_socket.in.h: Likewise.
47390         * lib/sys_stat.in.h: Likewise.
47391         * lib/sys_time.in.h: Likewise.
47392         * lib/sysexits.in.h: Likewise.
47393         * lib/time.in.h: Likewise.
47394         * lib/unistd.in.h: Likewise.
47395         * lib/wchar.in.h: Likewise.
47396         * lib/wctype.in.h: Likewise.
47397         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
47398         * modules/fchdir (Makefile.am): Likewise.
47399         * modules/fcntl (Makefile.am): Likewise.
47400         * modules/float (Makefile.am): Likewise.
47401         * modules/iconv_open (Makefile.am): Likewise.
47402         * modules/inttypes (Makefile.am): Likewise.
47403         * modules/locale (Makefile.am): Likewise.
47404         * modules/math (Makefile.am): Likewise.
47405         * modules/netinet_in (Makefile.am): Likewise.
47406         * modules/search (Makefile.am): Likewise.
47407         * modules/signal (Makefile.am): Likewise.
47408         * modules/stdarg (Makefile.am): Likewise.
47409         * modules/stdint (Makefile.am): Likewise.
47410         * modules/stdio (Makefile.am): Likewise.
47411         * modules/stdlib (Makefile.am): Likewise.
47412         * modules/string (Makefile.am): Likewise.
47413         * modules/strings (Makefile.am): Likewise.
47414         * modules/sys_select (Makefile.am): Likewise.
47415         * modules/sys_socket (Makefile.am): Likewise.
47416         * modules/sys_stat (Makefile.am): Likewise.
47417         * modules/sys_time (Makefile.am): Likewise.
47418         * modules/sysexits (Makefile.am): Likewise.
47419         * modules/time (Makefile.am): Likewise.
47420         * modules/unistd (Makefile.am): Likewise.
47421         * modules/wchar (Makefile.am): Likewise.
47422         * modules/wctype (Makefile.am): Likewise.
47423         Reported by Reuben Thomas <rrt@sc3d.org>.
47424
47425 2008-08-29  Bruno Haible  <bruno@clisp.org>
47426
47427         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47428         any more.
47429
47430 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47431
47432         * MODULES.html.sh (Misc): Add bitrotate.
47433
47434         * modules/bitrotate: New file.
47435
47436         * lib/bitrotate.h: New file.
47437
47438         * modules/bitrotate-tests: New file.
47439
47440         * tests/test-bitrotate.c: New file.
47441
47442         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47443         on the bitrotate module.
47444
47445         * lib/arctwo.c: Use new bitrotate module.
47446
47447 2008-08-29  Jim Meyering  <meyering@redhat.com>
47448
47449         bootstrap: merge changes from coreutils
47450         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47451         of copied files.  Remove a kludge, now that this is fixed.
47452         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47453         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47454         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47455
47456 2008-08-29  Bruno Haible  <bruno@clisp.org>
47457
47458         * MODULES.html.sh: Remove --cvs-urls option.
47459
47460 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47461
47462         maint.mk: adjust to file name change
47463         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47464
47465 2008-08-28  Jim Meyering  <meyering@redhat.com>
47466
47467         * modules/getndelim2 (License): Relicense to LGPLv2+.
47468         Approved by Richard Stallman for the version of 1995, and by
47469         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47470
47471 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47472
47473         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47474         dummy if one is not available.  Do not touch them if
47475         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47476         (getc_maybe_unlocked): New.
47477         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47478
47479 2008-08-26  Eric Blake  <ebb9@byu.net>
47480
47481         doc/INSTALL: resync from autoconf
47482         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47483         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47484         moving...
47485         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47486         * INSTALL: Regenerate.
47487         * INSTALL.ISO: New file.
47488         * INSTALL.UTF-8: Likewise.
47489
47490 2008-08-26  Jim Meyering  <meyering@redhat.com>
47491
47492         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47493         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47494         these definitions conditional, so that they may be overridden, too.
47495
47496 2008-08-26  Bruno Haible  <bruno@clisp.org>
47497
47498         Generate INSTALL file variants with prettier quotes.
47499         * doc/Makefile (INSTALL_PRELUDE): New macro.
47500         (INSTALL): Use it.
47501         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47502
47503 2008-08-26  Bruno Haible  <bruno@clisp.org>
47504
47505         Run makeinfo in an English locale.
47506         * doc/Makefile (MAKEINFO): New variable.
47507
47508 2008-08-26  Bruno Haible  <bruno@clisp.org>
47509
47510         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47511         Suggested by Eric Blake.
47512
47513 2008-08-25  Bruno Haible  <bruno@clisp.org>
47514
47515         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47516
47517 2008-08-25  Eric Blake  <ebb9@byu.net>
47518
47519         c-stack: test that stack overflow can be caught
47520         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47521         that platform allows handling stack overflow; at least OS/2 EMX
47522         has sigaltstack, but crashes before transferring control to
47523         handler on stack overflow.
47524         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47525         check for HAVE_STACK_OVERFLOW_HANDLING.
47526         Reported by Elbert Pol.
47527
47528 2008-08-25  Bruno Haible  <bruno@clisp.org>
47529
47530         * doc/posix-functions/strftime.texi: Fix description of strftime
47531         module.
47532
47533 2008-08-24  Bruno Haible  <bruno@clisp.org>
47534
47535         * tests/uniwidth/test-uc_width2.c: New file.
47536         * tests/uniwidth/test-uc_width2.sh: New file.
47537         * modules/uniwidth/width-tests (Files): Add the new files.
47538         (TESTS): Add uniwidth/test-uc_width2.sh.
47539         (TESTS_ENVIRONMENT): New variable.
47540         (check_PROGRAMS): Add test-uc_width2.
47541         (test_uc_width2_SOURCES): New variable.
47542
47543         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47544         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47545         not 0x00AB.
47546         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47547
47548 2008-08-22  Eric Blake  <ebb9@byu.net>
47549
47550         test-lock, test-tls: mention why a test is skipped
47551         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47552         skipped.
47553         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47554
47555         count-one-bits: relax license
47556         * modules/count-one-bits (License): Relicense to LGPLv2+.
47557         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47558
47559 2008-08-22  Andreas Schwab  <schwab@suse.de>
47560
47561         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47562         Remove spurious space in assignment.
47563
47564 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47565
47566         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47567         Paul Eggert <eggert@CS.UCLA.EDU>.
47568
47569 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47570
47571         * modules/gettext: Add m4/threadlib.m4.
47572
47573 2008-08-19  Eric Blake  <ebb9@byu.net>
47574
47575         test-c-stack: fix compilation failure on FreeBSD 5.0
47576         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47577         headers before <sys/resource.h>.
47578         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47579         the bug.
47580         Reported by Nelson H. F. Beebe.
47581
47582         strverscmp: migrate from "strverscmp.h" to <string.h>
47583         * modules/string (Makefile.am): Add new hooks.
47584         * modules/strverscmp (Files): Remove strverscmp.h.
47585         (Depends-on): Add string.
47586         (configure.ac): Add indicator.
47587         (Include): Mention new header.
47588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47589         defaults.
47590         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47591         results.
47592         * lib/strverscmp.h: Delete.
47593         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47594         * tests/test-strverscmp.c (includes): Adjust client.
47595         * lib/check-version.c (includes): Likewise.
47596         * NEWS: Document the change.
47597
47598         strverscmp: add unit test
47599         * modules/strverscmp-tests: New file.
47600         * tests/test-strverscmp.c: Likewise.
47601
47602 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47603
47604         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47605         regarding Windows crypto stuff, from Mono.
47606
47607 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47608
47609         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47610         if present, for intel RND.  Return error on failures.
47611
47612 2008-08-18  Ben Pfaff  <blp@gnu.org>
47613
47614         gitlog-to-changelog: give better diagnostic for failed pipe-open
47615         * build-aux/gitlog-to-changelog: Improve error message: suggest
47616         that the version of Git may be too old.
47617
47618 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47619
47620         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47621         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47622
47623 2008-08-18  Bruno Haible  <bruno@clisp.org>
47624
47625         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47626         pthread_in_use().
47627
47628 2008-08-18  Bruno Haible  <bruno@clisp.org>
47629
47630         * lib/glthread/threadlib.c: Include <pthread.h>.
47631
47632 2008-08-18  Bruno Haible  <bruno@clisp.org>
47633
47634         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47635         glthread_recursive_lock_* macros.
47636         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47637         Fix syntax error.
47638
47639 2008-08-18  Bruno Haible  <bruno@clisp.org>
47640
47641         * lib/glthread/thread.c: Avoid forcing a context switch right after
47642         thread creation.
47643
47644 2008-08-17  Bruno Haible  <bruno@clisp.org>
47645
47646         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47647         * lib/glthread/thread.h: Provide Win32 specific implementation.
47648         * modules/thread (Files): Add lib/glthread/thread.c.
47649         (Depends-on): Add lock.
47650         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47651
47652 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47653
47654         New module 'yield'.
47655         * modules/yield: New file.
47656         * lib/glthread/yield.h: New file.
47657         * m4/yield.m4: New file.
47658         * MODULES.html.sh (Multithreading): Add yield.
47659
47660 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47661
47662         New module 'thread'.
47663         * modules/thread: New file.
47664         * lib/glthread/thread.h: New file.
47665         * m4/thread.m4: New file.
47666         * MODULES.html.sh (Multithreading): Add thread.
47667
47668 2008-08-17  Bruno Haible  <bruno@clisp.org>
47669
47670         * lib/glthread/lock.h: Include <stdlib.h> always.
47671         * lib/glthread/tls.h: Likewise.
47672         * lib/glthread/cond.h: Likewise.
47673
47674 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47675
47676         New module 'cond'.
47677         * modules/cond: New file.
47678         * lib/glthread/cond.h: New file.
47679         * lib/glthread/cond.c: New file.
47680         * m4/cond.m4: New file.
47681         * MODULES.html.sh (Multithreading): Add cond.
47682
47683 2008-08-16  Eric Blake  <ebb9@byu.net>
47684
47685         c-stack: fix regression on Irix 5.3 from 2008-06-21
47686         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47687         sa_sigaction...
47688         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47689         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47690         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47691         * modules/signal (Makefile.am): Use the value.
47692         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47693         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47694         * doc/posix-headers/signal.texi (signal.h): Document this
47695         portability issue.
47696         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47697         Reported by Tom G. Christensen.
47698
47699 2008-08-17  Bruno Haible  <bruno@clisp.org>
47700
47701         New module 'threadlib'.
47702         * modules/threadlib: New file.
47703         * lib/glthread/threadlib.c: New file, extracted from
47704         lib/glthread/lock.c.
47705         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47706         functions.
47707         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47708         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47709         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47710         macros.
47711         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47712         (gl_DISABLE_THREADS): Remove macro.
47713         * modules/lock (Files): Remove build-aux/config.rpath.
47714         (Depends-on): Remove havelib. Add threadlib.
47715         (configure.ac-early): Remove section.
47716         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47717         * modules/tls (Depends-on): Remove lock. Add threadlib.
47718         (Link): New section, copied from threadlib.
47719         * MODULES.html.sh (Multithreading): Add threadlib.
47720
47721 2008-08-14  Bruno Haible  <bruno@clisp.org>
47722
47723         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47724         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47725         glthread_rwlock_unlock, glthread_rwlock_destroy,
47726         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47727         glthread_recursive_lock_destroy): Define as macros always.
47728         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47729         glthread_lock_lock.
47730         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47731         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47732         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47733         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47734         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47735         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47736         (glthread_recursive_lock_lock_func): Renamed from
47737         glthread_recursive_lock_lock.
47738         (glthread_recursive_lock_unlock_func): Renamed from
47739         glthread_recursive_lock_unlock.
47740         (glthread_recursive_lock_destroy_func): Renamed from
47741         glthread_recursive_lock_destroy.
47742
47743 2008-08-14  Bruno Haible  <bruno@clisp.org>
47744
47745         * lib/glthread/lock.h: Renamed from lib/lock.h.
47746         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47747         * lib/glthread/tls.h: Renamed from lib/tls.h.
47748         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47749         * lib/fstrcmp.c: Update includes.
47750         * lib/strsignal.c: Update includes.
47751         * modules/lock (Files, Makefile.am): Update.
47752         (Include): Change to "glthread/lock.h".
47753         * modules/tls (Files, Makefile.am): Update.
47754         (Include): Change to "glthread/tls.h".
47755         * tests/test-lock.c: Update includes.
47756         * tests/test-tls.c: Update includes.
47757         * NEWS: Mention the renamed header files.
47758
47759 2008-08-11  Jim Meyering  <meyering@redhat.com>
47760
47761         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47762
47763 2008-08-11  Eric Blake  <ebb9@byu.net>
47764
47765         test-c-stack: avoid C99-ism
47766         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47767         before statement.
47768         Reported by Alain Guibert.
47769
47770 2008-08-10  Jim Meyering  <meyering@redhat.com>
47771
47772         ensure that return value of uinttostr et al are not ignored
47773         * lib/inttostr.h (__GNUC_PREREQ): Define.
47774         (__attribute_warn_unused_result__): Define.
47775         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47776
47777 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47778
47779         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47780         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47781
47782 2008-08-07  Jim Meyering  <meyering@redhat.com>
47783
47784         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47785
47786         * modules/mkstemp (License): Relicense under LGPLv2+.
47787         * modules/tempname (License): Likewise.
47788
47789 2008-08-06  Bruno Haible  <bruno@clisp.org>
47790
47791         * lib/poll.c (poll): Further micro-optimization.
47792
47793 2008-08-06  Jim Meyering  <meyering@redhat.com>
47794
47795         inet_pton.c: use locale-independent tolower
47796         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47797         (inet_pton6): Use c_tolower rather than tolower.
47798         * modules/inet_pton (Depends-on): Add c-ctype.
47799
47800 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47801
47802         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47803         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47804
47805 2008-08-06  Jim Meyering  <meyering@redhat.com>
47806
47807         * modules/inet_pton (License): Relicense under LGPLv2+.
47808
47809 2008-08-03  Bruno Haible  <bruno@clisp.org>
47810
47811         Additional non-aborting API for lock and tls.
47812         * lib/lock.h: Include <errno.h>.
47813         (glthread_lock_init): New macro/function.
47814         (gl_lock_init): Define as wrapper around glthread_lock_init.
47815         (glthread_lock_lock): New macro/function.
47816         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47817         (glthread_lock_unlock): New macro/function.
47818         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47819         (glthread_lock_destroy): New macro/function.
47820         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47821         (glthread_rwlock_init): New macro/function.
47822         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47823         (glthread_rwlock_rdlock): New macro/function.
47824         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47825         (glthread_rwlock_wrlock): New macro/function.
47826         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47827         (glthread_rwlock_unlock): New macro/function.
47828         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47829         (glthread_rwlock_destroy): New macro/function.
47830         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47831         (glthread_recursive_lock_init): New macro/function.
47832         (gl_recursive_lock_init): Define as wrapper around
47833         glthread_recursive_lock_init.
47834         (glthread_recursive_lock_lock): New macro/function.
47835         (gl_recursive_lock_lock): Define as wrapper around
47836         glthread_recursive_lock_lock.
47837         (glthread_recursive_lock_unlock): New macro/function.
47838         (gl_recursive_lock_unlock): Define as wrapper around
47839         glthread_recursive_lock_unlock.
47840         (glthread_recursive_lock_destroy): New macro/function.
47841         (gl_recursive_lock_destroy): Define as wrapper around
47842         glthread_recursive_lock_destroy.
47843         (glthread_once): New macro/function.
47844         (gl_once): Define as wrapper around glthread_once.
47845         Update function declarations.
47846         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47847         glthread_rwlock_init. Return error code.
47848         (glthread_rwlock_rdlock_multithreaded): Renamed from
47849         glthread_rwlock_rdlock. Return error code.
47850         (glthread_rwlock_wrlock_multithreaded): Renamed from
47851         glthread_rwlock_wrlock. Return error code.
47852         (glthread_rwlock_unlock_multithreaded): Renamed from
47853         glthread_rwlock_unlock. Return error code.
47854         (glthread_rwlock_destroy_multithreaded): Renamed from
47855         glthread_rwlock_destroy. Return error code.
47856         (glthread_recursive_lock_init_multithreaded): Renamed from
47857         glthread_recursive_lock_init. Return error code.
47858         (glthread_recursive_lock_lock_multithreaded): Renamed from
47859         glthread_recursive_lock_lock. Return error code.
47860         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47861         glthread_recursive_lock_unlock. Return error code.
47862         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47863         glthread_recursive_lock_destroy. Return error code.
47864         (glthread_once_call): Make static.
47865         (glthread_once_multithreaded): Renamed from glthread_once.
47866         * lib/tls.h: Include <errno.h>.
47867         (glthread_tls_key_init): New macro/function.
47868         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47869         (glthread_tls_set): New macro/function.
47870         (gl_tls_set): Define as wrapper around glthread_tls_set.
47871         (glthread_tls_key_destroy): New macro/function.
47872         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47873         Update function declarations.
47874         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47875         glthread_tls_get.
47876         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47877
47878 2008-08-04  Eric Blake  <ebb9@byu.net>
47879
47880         gnumakefile: use space, not TAB, outside of targets
47881         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47882
47883 2008-08-02  Jim Meyering  <meyering@redhat.com>
47884
47885         getdate.y: avoid locale-dependent date parsing failure
47886         In Turkish locales, getdate would fail to recognize keywords
47887         containing a lowercase "i".  The solution is not to rely on
47888         locale-sensitive case-conversion.
47889         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47890         (lookup_word): Use c_toupper in place of toupper.
47891         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47892         Reported by Vefa Bicakci <bicave@superonline.com> in
47893         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47894         * modules/getdate (Depends-on): Add c-ctype.
47895
47896 2008-08-02  Bruno Haible  <bruno@clisp.org>
47897
47898         * gnulib-tool (func_import): When updating or creating a .gitignore
47899         file, prepend each added line with a slash, and ignore leading slashes
47900         from the existing lines.
47901         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47902
47903 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47904
47905         Portability fix for GNU make 3.79.1.
47906         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47907         versions do not understand.
47908
47909 2008-08-01  Bruno Haible  <bruno@clisp.org>
47910
47911         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47912         * tests/test-isnanf.h (zero): New variable.
47913         (main): Avoid literal -0.0f.
47914         * tests/test-isnand.h (zero): New variable.
47915         (main): Avoid literal -0.0.
47916         * tests/test-isnanl.h (zero): New variable.
47917         (main): Avoid literal -0.0L.
47918         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47919         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47920         -0.0, -0.0L.
47921         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47922         (test_signbitd): Avoid literal -0.0.
47923         (test_signbitl): Avoid literal -0.0L.
47924         * tests/test-ceilf1.c (zero): New variable.
47925         (main): Avoid literal -0.0f.
47926         * tests/test-ceill.c (zero): New variable.
47927         (main): Avoid literal -0.0L.
47928         * tests/test-floorf1.c (zero): New variable.
47929         (main): Avoid literal -0.0f.
47930         * tests/test-floorl.c (zero): New variable.
47931         (main): Avoid literal -0.0L.
47932         * tests/test-roundf1.c (zero): New variable.
47933         (main): Avoid literal -0.0f.
47934         * tests/test-round1.c (zero): New variable.
47935         (main): Avoid literal -0.0.
47936         * tests/test-roundl.c (zero): New variable.
47937         (main): Avoid literal -0.0L.
47938         * tests/test-truncf1.c (zero): New variable.
47939         (main): Avoid literal -0.0f.
47940         * tests/test-trunc1.c (zero): New variable.
47941         (main): Avoid literal -0.0.
47942         * tests/test-truncl.c (zero): New variable.
47943         (main): Avoid literal -0.0L.
47944         * tests/test-frexp.c (zero): New variable.
47945         (main): Avoid literal -0.0.
47946         * tests/test-frexpl.c (zero): New variable.
47947         (main): Avoid literal -0.0L.
47948         * tests/test-ldexpl.c (zero): New variable.
47949         (main): Avoid literal -0.0L.
47950         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47951         (zerod, zerol): New variables.
47952         (test_function): Avoid literals -0.0, -0.0L.
47953         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47954         (zerod, zerol): New variables.
47955         (test_function): Avoid literals -0.0, -0.0L.
47956         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47957         (zerod, zerol): New variables.
47958         (test_function): Avoid literals -0.0, -0.0L.
47959         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47960         (zerod, zerol): New variables.
47961         (test_function): Avoid literals -0.0, -0.0L.
47962         * tests/test-strtod.c (zero): New variable.
47963         (main): Avoid literal -0.0.
47964         Reported by Jonathan C. Patschke <jp@centtech.com>.
47965
47966 2008-07-31  Jim Meyering  <meyering@redhat.com>
47967
47968         sha256.h: correct definition of SHA224_DIGEST_SIZE
47969         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47970         Reported by Paulie Pena IV <paulie4@gmail.com>.
47971         Define as 224 / 8, rather than as a literal.
47972         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47973         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47974         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47975
47976 2008-07-31  Bruno Haible  <bruno@clisp.org>
47977
47978         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47979         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47980         Reported by Jonathan Patschke <jp@centtech.com>.
47981
47982 2008-07-31  Bruno Haible  <bruno@clisp.org>
47983
47984         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47985         Reported by Paolo Bonzini <bonzini@gnu.org>.
47986
47987 2008-07-30  Eric Blake  <ebb9@byu.net>
47988
47989         test-strtod: allow compilation without -lm
47990         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47991         Reported by Dennis Clarke <blastwave@gmail.com>.
47992
47993 2008-07-28  Jim Meyering  <meyering@redhat.com>
47994
47995         bootstrap: work also when there are no .po files in po/
47996         * build-aux/bootstrap (update_po_files): Complete the change
47997         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47998
47999 2008-07-27  Jim Meyering  <meyering@redhat.com>
48000
48001         * users.txt: Add zile.
48002
48003 2008-07-26  Ben Pfaff  <blp@gnu.org>
48004
48005         Add missing dependencies on new m4/exponent[fdl].m4 files.
48006         * modules/isnanf-nolibm: Add m4/exponentf.m4.
48007         * modules/isnand-nolibm: Add m4/exponentd.m4.
48008         * modules/isnanl-nolibm: Add m4/exponentl.m4.
48009         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
48010         m4/isnan[fdl].m4, because the macros actually used moved.
48011         Reported by Jim Meyering.
48012
48013 2008-07-14  Ben Pfaff  <blp@gnu.org>
48014
48015         Add isinf module.
48016         * lib/isinf.c: New file.
48017         * lib/math.in.h: Define isinf macro if we have decided to replace
48018         it.
48019         * m4/isinf.m4: New file.
48020         * m4/math_h.m4: Initialize and substitute variables for isinf
48021         module.
48022         * modules/isinf: New file.
48023         * modules/isinf-tests: New file.
48024         * modules/math: Add substitutions for new module.
48025         * tests/test-isinf.c: New file.
48026         * doc/posix-functions/isinf.texi: Mention new module.
48027         * MODULES.html.sh: Mention new module.
48028
48029 2008-07-14  Ben Pfaff  <blp@gnu.org>
48030
48031         Factor out some macros for use by additional modules.
48032         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
48033         exponentf.m4.
48034         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
48035         exponentd.m4.
48036         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
48037         file exponentl.m4.
48038         * m4/exponentf.m4: New file.
48039         * m4/exponentd.m4: New file.
48040         * m4/exponentl.m4: New file.
48041         * modules/isnanf: Use new file m4/exponentf.m4.
48042         * modules/isnand: Use new file m4/exponentd.m4.
48043         * modules/isnanl: Use new file m4/exponentl.m4.
48044
48045 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
48046
48047         mktime.c: normalize tp->tm_isdst value to -1/0/1.
48048         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
48049         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
48050         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
48051
48052         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
48053         readlink on platforms without PATH_MAX.
48054
48055 2008-07-21  Eric Blake  <ebb9@byu.net>
48056
48057         Warn, not fail, on stale version.
48058         * top/GNUmakefile (_curr-ver): Tone down previous patch.
48059
48060         Don't allow installation with stale devel version number.
48061         * top/GNUmakefile (_is-install-target): New macro.
48062         (_curr-ver): Forbid installation with stale version number.
48063
48064 2008-07-20  Bruno Haible  <bruno@clisp.org>
48065
48066         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
48067         TESTS_ENVIRONMENT.
48068         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
48069
48070 2008-07-20  Bruno Haible  <bruno@clisp.org>
48071
48072         * lib/c-stack.h (c_stack_action): Add documentation.
48073         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
48074
48075 2008-07-20  Bruno Haible  <bruno@clisp.org>
48076
48077         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
48078         * modules/readlink (License): Likewise.
48079
48080 2008-07-17  Eric Blake  <ebb9@byu.net>
48081
48082         * modules/c-stack (Link): Fix typo.
48083
48084         Make c-stack use libsigsegv, when available.
48085         * modules/c-stack (Depends-on): Add libsigsegv.
48086         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
48087         needed.
48088         * lib/c-stack.c (SIGSTKSZ): Define fallback.
48089         (segv_handler, overflow_handler, c_stack_action)
48090         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
48091         implementation when libsigsegv is available, but only when using
48092         the library is necessary.
48093         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
48094         comment, explaining why XSI check fails on Linux.
48095         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
48096         * tests/test-c-stack2.sh: Tweak skip message.
48097         * NEWS: Document new link-time requirements.
48098
48099 2008-07-16  Eric Blake  <ebb9@byu.net>
48100
48101         c-stack: Expose false positives when not using libsigsegv.
48102         * modules/c-stack-tests (Files): Expand test.
48103         * tests/test-c-stack.c (main): Add means to conditionally trigger
48104         non-overflow SIGSEGV.
48105         * tests/test-c-stack2.sh: New file.
48106
48107 2008-07-14  Bruno Haible  <bruno@clisp.org>
48108
48109         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
48110         Reported by Eric Blake.
48111
48112 2008-07-14  Sam Steingold  <sds@gnu.org>
48113             Bruno Haible  <bruno@clisp.org>
48114
48115         New module libsigsegv.
48116         * modules/libsigsegv: New file.
48117         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
48118         modifications.
48119         * MODULES.html.sh (Signal handling): New section.
48120
48121 2008-07-14  Bruno Haible  <bruno@clisp.org>
48122
48123         * modules/unictype/ctype-* (Description): Add the word "function".
48124         Improves the resulting doc in MODULES.html.
48125
48126 2008-07-12  Ben Pfaff  <blp@gnu.org>
48127
48128         Add longlong module.
48129         * modules/longlong: New file.
48130
48131 2008-07-12  Bruno Haible  <bruno@clisp.org>
48132
48133         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
48134         to empty.
48135
48136 2008-07-10  Ben Pfaff  <blp@gnu.org>
48137
48138         Add isnan module.
48139         * doc/posix-functions/isnan.texi: Mention new module.
48140         * lib/math.in.h: Define isnan macro if we have decided to replace
48141         it.
48142         * m4/isnan.m4: New file.
48143         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
48144         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
48145         also.
48146         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
48147         redundancy.
48148         * m4/math_h.m4: Initialize and substitute variables for isnan
48149         module.
48150         * modules/isnan: New file.
48151         * modules/isnan-tests: New file.
48152         * modules/math: Add substitutions for new module.
48153         * tests/test-isnan.c: New file.
48154         * MODULES.html.sh: Mention new module.
48155
48156 2008-07-10  Ben Pfaff  <blp@gnu.org>
48157
48158         Add isnanf module.
48159         * lib/isnanf.m4: New file.
48160         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
48161         (gl_HAVE_ISNANF_IN_LIBM): New macro.
48162         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
48163         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
48164         * modules/isnanf: New file.
48165         * modules/isnanf-tests: New file.
48166         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
48167         files.
48168         * tests/test-isnanf-nolibm.c: factored most of its contents into
48169         new file tests/test-isnanf.h.
48170         * tests/test-isnanf.h: New file.
48171         * tests/test-isnanf.c: New file.
48172         * MODULES.html.sh: Mention new module.
48173         * doc/glibc-functions/isnanf.texi: Mention new module.
48174
48175 2008-07-10  Ben Pfaff  <blp@gnu.org>
48176
48177         Add isnand module.
48178         * lib/isnand.h: New file.
48179         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
48180         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
48181         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
48182         functionality also.
48183         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
48184         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
48185         (gl_HAVE_ISNAND_IN_LIBM): New macro.
48186         * modules/isnand: New file.
48187         * modules/isnand-tests: New file.
48188         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
48189         files.
48190         * tests/test-isnand-nolibm.c: factored most of its contents into
48191         new file tests/test-isnand.h.
48192         * tests/test-isnand.h: New file.
48193         * tests/test-isnand.c: New file.
48194         * MODULES.html.sh: Mention new module.
48195
48196 2008-07-10  Ben Pfaff  <blp@gnu.org>
48197
48198         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
48199         * lib/isnand.h: Rename lib/isnand-nolibm.h.
48200         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
48201         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
48202         * modules/isnanf-nolibm: Update references to renamed files.
48203         * modules/isnand-nolibm: Likewise.
48204         * modules/isnanf-nolibm-tests: Likewise.
48205         * modules/isnand-nolibm-tests: Likewise.
48206         * lib/frexp.c: Likewise.
48207         * lib/isfinite.c: Likewise.
48208         * lib/signbitd.c: Likewise.
48209         * lib/signbitf.c: Likewise.
48210         * lib/vasnprintf.c: Likewise.
48211         * tests/test-ceilf1.c: Likewise.
48212         * tests/test-ceilf2.c: Likewise.
48213         * tests/test-floorf1.c: Likewise.
48214         * tests/test-floorf2.c: Likewise.
48215         * tests/test-frexp.c: Likewise.
48216         * tests/test-round1.c: Likewise.
48217         * tests/test-round2.c: Likewise.
48218         * tests/test-roundf1.c: Likewise.
48219         * tests/test-strtod.c: Likewise.
48220         * tests/test-trunc1.c: Likewise.
48221         * tests/test-trunc2.c: Likewise.
48222         * tests/test-truncf1.c: Likewise.
48223         * tests/test-truncf2.c: Likewise.
48224         * NEWS: Mention the renamed header files.
48225
48226 2008-07-11  Jim Meyering  <meyering@redhat.com>
48227
48228         vc-list-files: make the last-resort awk code more portable
48229         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
48230         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
48231         does not support it.
48232
48233 2008-07-10  Eric Blake  <ebb9@byu.net>
48234
48235         Work with tar's bootstrap.
48236         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
48237         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
48238         an m4 comment.
48239
48240 2008-07-09  Jim Meyering  <meyering@redhat.com>
48241
48242         posix-shell.m4: fix typo that made this test malfunction
48243         * m4/posix-shell.m4: Remove capitalization in variable name.
48244
48245 2008-07-08  Bruno Haible  <bruno@clisp.org>
48246
48247         * m4/onceonly.m4: Update comments.
48248         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48249
48250 2008-07-04  Jim Meyering  <meyering@redhat.com>
48251
48252         * users.txt: Add vc-dwim.
48253         (bison, coreutils): Use the gitweb URL.
48254
48255 2008-07-03  Jim Meyering  <meyering@redhat.com>
48256
48257         * users.txt: Add libffcall.  From Sam Steingold.
48258
48259 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
48260
48261         getdate.y: do not ignore TZ with relative day, month or year offset
48262         * lib/getdate.y (get_date): Move the tz-handling block to follow the
48263         relative-date-handling, since otherwise, the latter would clobber the
48264         sole output (an updated Start value) of the tz-handling block.
48265         * tests/test-getdate.c: Tests for the fix
48266
48267 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48268
48269         Recognize 'foo_LIBRARIES += libgnu.a'.
48270         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
48271         makefile snippet has already specified an installation location,
48272         also using '+='.
48273
48274 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
48275
48276         getdate.y: factor out common actions
48277         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
48278         Use them in place of open-coded actions.
48279
48280 2008-07-01  Simon Josefsson  <simon@josefsson.org>
48281
48282         Add self-test for getdate module.
48283         * modules/getdate-tests: New file.
48284         * tests/test-getdate.c: New file.
48285
48286 2008-06-29  Bruno Haible  <bruno@clisp.org>
48287
48288         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
48289         .gitignore.
48290         Reported by Sylvain Beucler <beuc@beuc.net>.
48291
48292 2008-06-29  Bruno Haible  <bruno@clisp.org>
48293
48294         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
48295         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
48296
48297 2008-06-29  Bruno Haible  <bruno@clisp.org>
48298
48299         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
48300         EXTRA_DIST.
48301         Reported by Sylvain Beucler <beuc@beuc.net>.
48302
48303 2008-06-26  Jim Meyering  <meyering@redhat.com>
48304
48305         make several modules depend on the "open" module
48306         This provides slightly increased consistency when opening-for-write
48307         the name of a non-directory spelled with a trailing slash.
48308         * modules/chdir-safer: Likewise.
48309         * modules/chown: Likewise.
48310         * modules/clean-temp: Likewise.
48311         * modules/copy-file: Likewise.
48312         * modules/fchdir: Likewise.
48313         * modules/fcntl-safer: Likewise.
48314         * modules/pipe: Likewise.
48315         * modules/utime: Likewise.
48316         Prompted by Eric Blake and Bruno Haible.
48317
48318 2008-06-24  Andreas Schwab  <schwab@suse.de>
48319
48320         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
48321         literals can be used as initializers for global variables.
48322
48323 2008-06-23  Eric Blake  <ebb9@byu.net>
48324
48325         Make gnulib-cache.m4 easier to diff.
48326         * gnulib-tool (func_import): Allow newlines when reading cached
48327         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
48328
48329 2008-06-23  Bruno Haible  <bruno@clisp.org>
48330
48331         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
48332         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
48333         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
48334         m4/signalblocking.m4.
48335         (gl_PREREQ_SIGACTION): Don't invoke it.
48336         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
48337         gl_PREREQ_SIG_HANDLER_H.
48338         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48339         Don't check for sigaction here.
48340
48341 2008-06-23  Bruno Haible  <bruno@clisp.org>
48342
48343         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
48344         (install_handlers): Don't set the SA_RESETHAND flag.
48345
48346 2008-06-23  Bruno Haible  <bruno@clisp.org>
48347
48348         * m4/sigaction.m4: Comment fixes.
48349         * lib/signal.in.h: Likewise.
48350
48351 2008-06-23  Eric Blake  <ebb9@byu.net>
48352
48353         Fix typo.
48354         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
48355
48356         Avoid SA_ namespace.
48357         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
48358         Reported by Ralf Wildenhues.
48359
48360         Avoid test failure due to SA_RESTORER.
48361         * tests/test-sigaction.c (SA_MASK): New macro.
48362         (main): Avoid failing due to extension flags being set.
48363         Reported by Jim Meyering.
48364
48365         Revert use of sig-handler.h in sigprocmask.c.
48366         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
48367         it requires the existence of struct sigaction.
48368         * lib/sigprocmask.c (handler_t): Restore typedef.
48369         (rpl_signal, old_handlers): Use local type.
48370
48371 2008-06-22  Bruno Haible  <bruno@clisp.org>
48372
48373         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
48374         conditionally.
48375         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48376
48377 2008-06-22  Bruno Haible  <bruno@clisp.org>
48378
48379         * doc/posix-functions/siginterrupt.texi: Move note.
48380
48381         * lib/signal.in.h (SA_RESTART): New macro.
48382         * lib/sigaction.c: Update comment.
48383
48384         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
48385
48386         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
48387         (gl_PREREQ_SIGPROCMASK): Invoke it.
48388         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
48389
48390         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
48391
48392         * lib/sigprocmask.c: Update a comment.
48393
48394 2008-06-21  Eric Blake  <ebb9@byu.net>
48395
48396         Use sigaction module rather than signal().
48397         * modules/c-stack (Depends-on): Add sigaction.
48398         * modules/fatal-signal (Depends-on): Likewise.
48399         * modules/nanosleep (Depends-on): Likewise.
48400         * modules/sigprocmask (Files): Add sig-handler.h.
48401         * modules/sigaction (Files): Likewise.
48402         * lib/sig-handler.h (get_handler): New file, suggested by Paul
48403         Eggert.
48404         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
48405         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
48406         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48407         (init_fatal_signals): Likewise.
48408         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48409         (siginterrupt): Delete fallback.
48410         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48411         instead.
48412         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48413         siginterrupt.
48414
48415         New module sigaction, for mingw.
48416         * modules/sigaction: New module...
48417         * modules/sigaction-tests: ...and its test.
48418         * m4/sigaction.m4: New file.
48419         * lib/sigaction.c: Likewise.
48420         * tests/test-sigaction.c: Likewise.
48421         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48422         * modules/signal (Makefile.am): Likewise.
48423         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48424         needed.
48425         * doc/posix-headers/signal.texi (signal.h): Mention provided
48426         types.
48427         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48428         that sigaction is preferable.
48429         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48430         module.
48431         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48432         sigaction.
48433
48434         Improve robustness of sigprocmask by overriding signal.
48435         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48436         is in use.
48437         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48438         (SIGKILL, SIGSTOP): Provide fallbacks.
48439         (rpl_signal): Implement.
48440         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48441         signal can be called inside handlers.
48442
48443         Fix nanosleep module on mingw.
48444         * modules/nanosleep (Depends-on): Add sys_select.
48445         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48446
48447         Fix licensing of sigprocmask.
48448         * modules/raise (License): Relicense as LGPL.
48449
48450 2008-06-21  Bruno Haible  <bruno@clisp.org>
48451
48452         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48453         result if it contains question marks.
48454         Reported by Michael Geng <linux@michaelgeng.de>.
48455
48456 2008-06-19  Bruno Haible  <bruno@clisp.org>
48457
48458         Fix CVS-ism.
48459         * doc/gnulib.texi: Include updated-stamp.texi.
48460         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48461         (updated-stamp.texi): New rule.
48462         (gnulib.info): Depend on it.
48463         * doc/.gitignore: Add updated-stamp.texi.
48464         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48465
48466 2008-06-19  Bruno Haible  <bruno@clisp.org>
48467
48468         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48469         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48470
48471 2008-06-19  Eric Blake  <ebb9@byu.net>
48472
48473         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48474         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48475         Reported by Stepan Kasal.
48476
48477 2008-06-18  Bruno Haible  <bruno@clisp.org>
48478
48479         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48480         Reported by Eric Blake.
48481
48482 2008-06-18  Eric Blake  <ebb9@byu.net>
48483
48484         Work around cygwin 1.5.25 strsignal bug.
48485         * tests/test-strsignal.c: Allow for const char *.
48486         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48487
48488 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48489
48490         * users.txt: Update URL to article and add author/date
48491         information.
48492
48493 2008-06-17  Bruno Haible  <bruno@clisp.org>
48494
48495         New macro gl_DISABLE_THREADS.
48496         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48497         if the user did not pass --enable-threads or --disable-threads option.
48498         (gl_DISABLE_THREADS): New macro.
48499         Reported by Eric Blake <ebb9@byu.net>.
48500
48501 2008-06-17  Bruno Haible  <bruno@clisp.org>
48502
48503         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48504         when the macro ignores it.
48505         Based on a patch by Eric Blake <ebb9@byu.net>.
48506
48507 2008-06-17  Bruno Haible  <bruno@clisp.org>
48508
48509         * modules/tls (License): Change to LGPLv2+.
48510         Reported by Eric Blake.
48511
48512 2008-06-17  Eric Blake  <ebb9@byu.net>
48513
48514         Simplify c-stack prerequisites.
48515         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48516         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48517         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48518         check.
48519         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48520         <sys/resource.h>.
48521
48522         Move c-stack test into testsuite.
48523         * modules/c-stack-tests: New file.
48524         * lib/c-stack.c [DEBUG]: Move test program...
48525         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48526         fail test if sigaltstack is lacking.
48527         * tests/test-c-stack.sh: New driver file.
48528
48529 2008-06-16  Eric Blake  <ebb9@byu.net>
48530
48531         Use raise module consistently.
48532         * modules/fatal-signal (Depends-on): Add raise.
48533         * modules/sigprocmask (Depends-on): Likewise.
48534         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48535         * lib/sigprocmask.c (sigprocmask): Likewise.
48536         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48537         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48538
48539         Fix compliance bug in sigpending.
48540         * lib/sigprocmask.c (sigpending): Return pending array via
48541         parameter, not return value.
48542
48543 2008-06-14  Eric Blake  <ebb9@byu.net>
48544
48545         Improve obstack-printf test code.
48546         * tests/test-obstack-printf.c (test_function): Fix comment, and
48547         simplify usage of obstack_* in macros.  Add a test for coverage.
48548         Reported by Bruno Haible.
48549
48550 2008-06-14  Bruno Haible  <bruno@clisp.org>
48551
48552         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48553         array size as a constant, not as a const variable.
48554         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48555         AC_USE_SYSTEM_EXTENSIONS.
48556         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48557         Test whether the obstack_printf function actually exists.
48558         * modules/obstack-printf (Depends-on): Add extensions.
48559         (Include): Remove obstack.h.
48560         * modules/obstack-printf-posix (Depends-on): Add extensions.
48561         (Include): Remove obstack.h.
48562
48563 2008-06-13  Eric Blake  <ebb9@byu.net>
48564
48565         Add obstack-printf and obstack-printf-posix modules.
48566         * modules/obstack-printf: New file.
48567         * modules/obstack-printf-posix: Likewise.
48568         * MODULES.html.sh (Misc): Mention them.
48569         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48570         Likewise.
48571         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48572         Likewise.
48573         * modules/stdio (Makefile.am): Accomodate new modules.
48574         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48575         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48576         Declare.
48577         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48578         functions.
48579         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48580         (gl_REPLACE_OBSTACK_PRINTF): New macros
48581         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48582         * tests/test-obstack-printf.c: New file.
48583         * modules/obstack-printf-tests: Likewise.
48584         * modules/obstack-printf-posix-tests: Likewise.
48585
48586 2008-06-11  Bruno Haible  <bruno@clisp.org>
48587
48588         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48589         * lib/open.c: Include errno.h.
48590         (open): Fail when attempting to write to a file that has a trailing
48591         slash.
48592         * tests/test-open.c (main): Test against trailing slash bug.
48593         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48594
48595 2008-06-10  Bruno Haible  <bruno@clisp.org>
48596
48597         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48598         for $? to work inside the trap command, with various /bin/sh-s.
48599         * tests/test-vc-list-files-cvs.sh: Likewise.
48600
48601 2008-06-10  Bruno Haible  <bruno@clisp.org>
48602
48603         * lib/acl-internal.h: Don't include gettext.h here.
48604         * lib/set-mode-acl.c: Include gettext.h here.
48605         * lib/copy-acl.c: Likewise.
48606
48607 2008-06-10  Bruno Haible  <bruno@clisp.org>
48608
48609         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48610         * lib/wait-process.c (wait_subprocess): Likewise.
48611         * lib/execute.h (execute): Add termsigp argument.
48612         * lib/execute.c (execute): Likewise.
48613         * lib/csharpcomp.c (compile_csharp_using_pnet,
48614         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48615         * lib/csharpexec.c (execute_csharp_using_pnet,
48616         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48617         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48618         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48619         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48620         is_jikes_present): Update.
48621         * lib/javaexec.c (execute_java_class): Update.
48622         * lib/javaversion.c (execute_and_read_line): Update.
48623         * NEWS: Document the changes.
48624         Reported by Eric Blake.
48625
48626 2008-06-10  Eric Blake  <ebb9@byu.net>
48627
48628         Add missing include.
48629         * tests/test-strstr.c (includes): Add <signal.h>.
48630         * tests/test-strcasestr.c (includes): Likewise.
48631         * tests/test-memmem.c (includes): Likewise.
48632
48633 2008-06-10  Bruno Haible  <bruno@clisp.org>
48634
48635         * lib/wait-process.c (wait_subprocess): Add an assertion.
48636
48637 2008-06-10  Bruno Haible  <bruno@clisp.org>
48638
48639         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48640
48641 2008-06-10  Bruno Haible  <bruno@clisp.org>
48642
48643         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48644         using alarm().
48645         * tests/test-strcasestr.c (main): Likewise.
48646         * tests/test-strstr.c (main): Likewise.
48647
48648 2008-06-09  Bruno Haible  <bruno@clisp.org>
48649
48650         Work around the Solaris 10 ACE ACLs ABI change.
48651         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48652         declare if ACL_NO_TRIVIAL is present.
48653         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48654         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48655         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48656         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48657         define if ACL_NO_TRIVIAL is present.
48658         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48659         and use the current ABI.
48660         (file_has_acl): Use same #if condition as elsewhere.
48661         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48662         in use, and use the current ABI.
48663         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48664         Reported by Jim Meyering.
48665
48666 2008-06-09  Eric Blake  <ebb9@byu.net>
48667
48668         Work around environments that (stupidly) ignore SIGALRM.
48669         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48670         before using alarm().
48671         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48672         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48673         Reported by Ian Beckwith <ianb@erislabs.net>.
48674
48675         Produce autobuild blurb earlier in log.
48676         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48677
48678 2008-06-09  Jim Meyering  <meyering@redhat.com>
48679         and OndÅ™ej Vašík  <ovasik@redhat.com>
48680
48681         utimens.c: correct kernel bug work-around
48682         OndÅ™ej Vašík found that the invalid return value of 280 indicates
48683         failure, not success, and the kernel bug we're trying to work
48684         around affects not just the utimensat call, but also the fallback
48685         futimens call.
48686         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48687         not success.
48688         [HAVE_FUTIMENS]: Use the same work-around, here.
48689
48690 2008-06-09  Jim Meyering  <meyering@redhat.com>
48691
48692         add more guards around definition of ACE_-related code
48693         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48694         ALLOW and ACE_OWNER are also defined.
48695
48696 2008-06-08  Bruno Haible  <bruno@clisp.org>
48697
48698         * lib/acl-internal.h: Add me as co-author.
48699         * lib/file-has-acl.c: Likewise.
48700         * lib/set-mode-acl.c: Likewise.
48701         * lib/copy-acl.c: Likewise.
48702
48703 2008-06-08  Bruno Haible  <bruno@clisp.org>
48704
48705         Add support for AIX ACLs.
48706         * lib/acl-internal.h (acl_nontrivial): New declaration.
48707         * lib/file-has-acl.c (acl_nontrivial): New function.
48708         (file_has_acl): Add implementation using AIX 4 ACL API.
48709         * lib/set-mode-acl.c (qset_acl): Likewise.
48710         * lib/copy-acl.c (qcopy_acl): Likewise.
48711
48712 2008-06-08  Bruno Haible  <bruno@clisp.org>
48713
48714         Add support for HP-UX ACLs.
48715         * lib/acl-internal.h (acl_nontrivial): New declaration.
48716         * lib/file-has-acl.c (acl_nontrivial): New function.
48717         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48718         * lib/set-mode-acl.c (qset_acl): Likewise.
48719         * lib/copy-acl.c (qcopy_acl): Likewise.
48720
48721 2008-06-08  Bruno Haible  <bruno@clisp.org>
48722
48723         Add support for Cygwin ACLs.
48724         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48725         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48726         the chmod_or_fchmod call.
48727         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48728
48729 2008-06-08  Bruno Haible  <bruno@clisp.org>
48730
48731         Fix bug with setuid modes in Solaris 10+ code.
48732         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48733         succeeded, when the mode contains some special bits.
48734
48735 2008-06-08  Bruno Haible  <bruno@clisp.org>
48736
48737         Add support for Solaris 7..10 ACLs.
48738         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48739         declarations.
48740         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48741         functions.
48742         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48743         * lib/set-mode-acl.c (qset_acl): Likewise.
48744         * lib/copy-acl.c (qcopy_acl): Likewise.
48745
48746 2008-06-08  Bruno Haible  <bruno@clisp.org>
48747
48748         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48749         declaration.
48750         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48751         (acl_access_nontrivial): Remove MacOS X case.
48752         (file_has_acl): Use acl_extended_nontrivial.
48753         * lib/copy-acl.c (qcopy_acl): Likewise.
48754
48755 2008-06-08  Bruno Haible  <bruno@clisp.org>
48756
48757         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48758
48759 2008-06-08  Jim Meyering  <meyering@redhat.com>
48760
48761         * modules/acl (Maintainer): Add Bruno Haible.
48762
48763 2008-06-07  Bruno Haible  <bruno@clisp.org>
48764
48765         Improve support for Tru64 ACLs.
48766         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48767         ACL on OSF/1.
48768
48769 2008-06-07  Bruno Haible  <bruno@clisp.org>
48770
48771         Add support for MacOS X ACLs.
48772         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48773         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48774         * lib/set-mode-acl.c (qset_acl): Likewise.
48775         * lib/copy-acl.c (qcopy_acl): Likewise.
48776
48777 2008-06-07  Bruno Haible  <bruno@clisp.org>
48778
48779         Fix memory leak introduced on 2008-05-22.
48780         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48781         use.
48782
48783 2008-06-07  Bruno Haible  <bruno@clisp.org>
48784
48785         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48786         to construct an empty ACL.
48787
48788 2008-06-07  Bruno Haible  <bruno@clisp.org>
48789
48790         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48791         precisely.
48792         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48793
48794 2008-06-07  Bruno Haible  <bruno@clisp.org>
48795
48796         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48797         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48798
48799 2008-06-07  Bruno Haible  <bruno@clisp.org>
48800
48801         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48802         regardless of POSIX.
48803         * doc/posix-functions/_longjmp.texi: Likewise.
48804         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48805         SystemV platform in this case.
48806
48807 2008-06-06  Eric Blake  <ebb9@byu.net>
48808
48809         Document abort() bugs.
48810         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48811
48812         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48813         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48814         sigsetjmp.
48815         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48816         siglongjmp, but only as a macro.
48817         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48818         is obsolete.
48819         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48820
48821         Tweak documentation to cover cygwin argz bugs.
48822         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48823         argz bug fix; no code change needed since no cygwin releases
48824         occurred between the last fix and the bug being tested.
48825         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48826         module and recently fixed cygwin bugs.
48827         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48828         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48829         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48830         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48831         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48832         Likewise.
48833         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48834         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48835         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48836         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48837         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48838         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48839         Likewise.
48840
48841         Avoid gcc warning on cygwin.
48842         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48843         !ACL_NO_TRIVIAL]: Avoid unused variable.
48844
48845 2008-06-05  Eric Blake  <ebb9@byu.net>
48846
48847         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48848         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48849         git-version-gen fails to come up with a version.
48850         Reported by Simon Josefsson.
48851
48852 2008-06-05  Jim Meyering  <meyering@redhat.com>
48853             Paul Eggert  <eggert@cs.ucla.edu>
48854
48855         utimens.c: work around a probable Linux kernel bug
48856         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48857         appears to be a kernel bug that causes utimensat to return 280
48858         instead of 0, indicating success.
48859
48860 2008-06-04  Bruno Haible  <bruno@clisp.org>
48861
48862         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48863         2008-06-01 commit.
48864
48865 2008-06-04  Bruno Haible  <bruno@clisp.org>
48866
48867         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48868         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48869         (file_has_acl): Use it. Save errno afterwards.
48870         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48871
48872 2008-06-03  Bruno Haible  <bruno@clisp.org>
48873
48874         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48875         draft code. Simplify #ifs.
48876         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48877         Put Solaris code after POSIX-draft code. Fix comments regarding
48878         Solaris 10, HP-UX. Mention Cygwin.
48879         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48880
48881 2008-06-03  Eric Blake  <ebb9@byu.net>
48882
48883         Provide fallback for older kernels.
48884         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48885         Provide runtime fallback if kernel lacks support.
48886         Reported by Mike Frysinger.
48887
48888 2008-06-02  Bruno Haible  <bruno@clisp.org>
48889
48890         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48891         it exists.
48892
48893 2008-06-02  Bruno Haible  <bruno@clisp.org>
48894
48895         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48896         * lib/copy-acl.c (qcopy_acl): Update comment.
48897
48898 2008-06-02  Bruno Haible  <bruno@clisp.org>
48899
48900         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48901         like ACL APIs.
48902
48903 2008-06-02  Bruno Haible  <bruno@clisp.org>
48904
48905         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48906         * tests/test-set-mode-acl.sh: Likewise.
48907         * tests/test-copy-acl.sh: Likewise.
48908         * tests/test-copy-file.sh: Likewise.
48909
48910 2008-06-02  Bruno Haible  <bruno@clisp.org>
48911
48912         * tests/test-file-has-acl.sh: Remove unused code.
48913
48914 2008-06-01  Bruno Haible  <bruno@clisp.org>
48915
48916         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48917         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48918         messages.
48919         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48920
48921 2008-06-01  Bruno Haible  <bruno@clisp.org>
48922
48923         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48924         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48925         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48926         APIs.
48927         * modules/acl-tests (configure.ac): Remove tests now contained in
48928         m4/acl.m4.
48929
48930 2008-06-02  Jim Meyering  <meyering@redhat.com>
48931
48932         announce-gen: use a better key-server host name
48933         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48934         it may be more consistently reliable.  Suggested by Werner Koch
48935         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48936
48937 2008-06-01  Bruno Haible  <bruno@clisp.org>
48938
48939         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48940         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48941
48942 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48943
48944         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48945
48946 2008-06-01  Bruno Haible  <bruno@clisp.org>
48947
48948         New ACL tests.
48949         * tests/test-file-has-acl.sh: New file.
48950         * tests/test-file-has-acl.c: New file.
48951         * tests/test-set-mode-acl.sh: New file.
48952         * tests/test-set-mode-acl.c: New file.
48953         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48954         * tests/test-copy-acl.c: New file.
48955         * modules/acl-tests: New file, based on modules/copy-file-tests.
48956         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48957         (Depends-on): Add acl-tests.
48958         (configure.ac): Remove checks.
48959         (Makefile.am): Don't create test-sameacls program here any more.
48960
48961 2008-06-01  Bruno Haible  <bruno@clisp.org>
48962
48963         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48964         * tests/test-sameacls.c: Include progname.h.
48965         (main): Invoke set_program_name. Portability fixes for MacOS X,
48966         Solaris, HP-UX.
48967
48968 2008-06-01  Bruno Haible  <bruno@clisp.org>
48969
48970         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48971         function.
48972         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48973
48974 2008-06-01  Bruno Haible  <bruno@clisp.org>
48975
48976         * modules/rpmatch (Depends-on): Add strdup.
48977
48978 2008-06-01  Bruno Haible  <bruno@clisp.org>
48979
48980         * lib/pipe.c: Include unistd-safer.h.
48981         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48982         * modules/pipe (Depends-on): Add unistd-safer.
48983
48984 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48985
48986         * modules/autobuild (configure.ac): Call AB_INIT.
48987
48988 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48989
48990         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48991         Suggested by Bruno Haible <bruno@clisp.org>.
48992
48993 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48994
48995         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48996         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48997         <bruno@clisp.org>.
48998
48999 2008-05-29  Eric Blake  <ebb9@byu.net>
49000
49001         Prefer new POSIX 200x interfaces over futimesat.
49002         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
49003         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
49004         when available.
49005         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
49006
49007 2008-05-28  Bruno Haible  <bruno@clisp.org>
49008
49009         * modules/stpcpy (License): Change to LGPLv2+.
49010         Requested by David Lutterkort <dlutter@redhat.com>.
49011
49012 2008-05-27  Bruno Haible  <bruno@clisp.org>
49013
49014         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
49015         current mingw.
49016         Reported by Jose E. Marchesi <jemarch@gnu.org>.
49017
49018 2008-05-27  Bruno Haible  <bruno@clisp.org>
49019
49020         * modules/iconv_open (Link): New section, from module 'iconv'.
49021         * modules/striconv (Link): Likewise.
49022         * modules/striconveh (Link): Likewise.
49023         * modules/xstriconv (Link): Likewise.
49024         * modules/unicodeio (Link): Likewise.
49025         * modules/propername (Link): Likewise.
49026         Reported by Jim Meyering.
49027
49028 2008-05-26  Jim Meyering  <meyering@redhat.com>
49029
49030         sha256: do not artificially restrict buffer length to be < 2^32
49031         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
49032         uint32_t to size_t.
49033         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
49034         to match.
49035
49036         avoid unaligned access errors, e.g., on sparc
49037         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
49038         direct access through a possibly-unaligned uint64* pointer.
49039         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
49040         direct access through a possibly-unaligned uint32* pointer.
49041         Prompted by this patch from Tom "spot" Callaway:
49042         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
49043
49044         sha512.c: fix typo in comment
49045         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
49046
49047 2008-05-25  Bruno Haible  <bruno@clisp.org>
49048
49049         * lib/set-mode-acl.c: Renamed from lib/acl.c.
49050         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
49051         (Makefile.am): Update lib_SOURCES.
49052
49053 2008-05-25  Bruno Haible  <bruno@clisp.org>
49054
49055         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
49056
49057 2008-05-25  Jim Meyering  <meyering@redhat.com>
49058
49059         useless-if-before-free: freed expr may have white-space differences
49060         * build-aux/useless-if-before-free: Recognize cases in which the
49061         freed expression differs from the tested one in embedded white
49062         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
49063         $1 was used, so we can't make any regexp shy.  Improved tests now
49064         detect this.
49065
49066         useless-if-before-free: accept white space in the expression.
49067         * build-aux/useless-if-before-free: For now, any white space
49068         in the expression must be identical in the free argument.
49069
49070         useless-if-before-free: efficiency tweak
49071         * build-aux/useless-if-before-free: Make the expression-matching
49072         regexp "shy".
49073         Make the *outer* regexp shy, not the expr-matching one.
49074
49075         update code-in-comment to accept cast of free arg
49076         * build-aux/useless-if-before-free: Update regexp.
49077
49078 2008-05-25  Bruno Haible  <bruno@clisp.org>
49079
49080         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
49081         * modules/copy-file-tests (Files, Makefile.am): Update.
49082         * tests/test-copy-file.c (func_test_copy): Update.
49083
49084 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
49085
49086         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
49087
49088 2008-05-23  Bruno Haible  <bruno@clisp.org>
49089
49090         Improve support for ACLs on OSF/1.
49091         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
49092         Remove fallback for unknown flavors of ACLs.
49093
49094 2008-05-22  Bruno Haible  <bruno@clisp.org>
49095
49096         Add support for ACLs on OSF/1.
49097         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
49098         replacements.
49099         (acl_free_text): New macro fallback.
49100         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
49101         acl_free.
49102         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
49103         acl_free_text function. Require AC_C_INLINE.
49104
49105 2008-05-22  Bruno Haible  <bruno@clisp.org>
49106
49107         Make copy_acl work on MacOS X 10.5.
49108         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
49109         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
49110         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
49111         If MODE_INSIDE_ACL, don't assume that every system has the same text
49112         representation for ACLs as FreeBSD.
49113         * lib/copy-acl.c (copy_acl): Add support for platforms with
49114         !MODE_INSIDE_ACL.
49115         * lib/file-has-acl.c (file_has_acl): Likewise.
49116         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
49117         FreeBSD, MacOS X, or IRIX, respectively.
49118
49119 2008-05-22  Bruno Haible  <bruno@clisp.org>
49120
49121         * lib/acl.h: Don't include <sys/acl.h>.
49122         (GETACLCNT): Move fallback to lib/acl-internal.h.
49123         * lib/acl-internal.h: Include <sys/acl.h> here.
49124         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
49125
49126 2008-05-22  Bruno Haible  <bruno@clisp.org>
49127
49128         Split off copy_acl function to separate file.
49129         * lib/copy-acl.c: New file, extracted from lib/acl.c.
49130         * lib/acl.c (copy_acl): Moved function to separate file.
49131         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
49132         * modules/acl (Files): Add lib/copy-acl.c.
49133         (Makefiles.am): Augment lib_SOURCES.
49134
49135 2008-05-22  Bruno Haible  <bruno@clisp.org>
49136
49137         * modules/copy-file-tests: New file.
49138         * tests/test-copy-file.sh: New file.
49139         * tests/test-copy-file.c: New file.
49140         * tests/test-copy-file-sameacls.c: New file.
49141
49142 2008-05-22  Eric Blake  <ebb9@byu.net>
49143
49144         Avoid gcc warning.
49145         * tests/test-memcmp.c (main): Pass NULL indirectly.
49146
49147 2008-05-21  Bruno Haible  <bruno@clisp.org>
49148
49149         Add reference doc about ACLs.
49150         * doc/acl-resources.txt: New file.
49151         * doc/acl-cygwin.txt: New file.
49152
49153 2008-05-21  Bruno Haible  <bruno@clisp.org>
49154
49155         Avoid one more warning from gcc.
49156         * lib/vasnprintf.c (IF_LINT): Update comments.
49157         (VASNPRINTF): Use it also for the 'prefix' array initializer.
49158
49159 2008-05-21  Jim Meyering  <meyering@redhat.com>
49160
49161         avoid a warning from gcc
49162         * lib/vasnprintf.c (IF_LINT): Define.
49163         (scale10_round_decimal_long_double):
49164         Use it to avoid a "may be used uninitialized" warning.
49165         (scale10_round_decimal_double): Likewise.
49166
49167 2008-05-21  Simon Josefsson  <simon@josefsson.org>
49168
49169         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
49170         declared.
49171
49172 2008-05-20  Bruno Haible  <bruno@clisp.org>
49173
49174         * tests/test-memcmp.c (main): Test also the sign of the result. Test
49175         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
49176
49177 2008-05-20  Simon Josefsson  <simon@josefsson.org>
49178
49179         * modules/memcmp-tests: New file.
49180         * tests/test-memcmp.c: New file.
49181
49182 2008-05-19  Bruno Haible  <bruno@clisp.org>
49183
49184         * modules/propername (Notice, configure.ac): Put quoted "..." into
49185         --keyword option.
49186         * lib/propername.h: Update comments accordingly.
49187         Reported by Eric Blake.
49188
49189 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
49190
49191         * modules/getpass-gnu (Depends-on): Add fseeko.
49192
49193 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49194
49195         * modules/base64-tests: New file.
49196
49197 2008-05-19  Bo Borgerson <gigabo@gmail.com>
49198
49199         * lib/base64.c (base64_decode_ctx): If a decode context structure
49200         was passed in use it to ignore newlines.  If a context structure
49201         was _not_ passed in, continue to treat newlines as garbage (this
49202         is the historical behavior).  Formerly base64_decode.
49203         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49204         takes a decode context structure.
49205         * lib/base64.h (base64_decode): Macro for four-argument calls.
49206         (base64_decode_alloc): Likewise.
49207         * lib/base64.c (base64_decode_ctx): If a decode context structure
49208         was passed in use it to ignore newlines.  If a context structure
49209         was _not_ passed in, continue to treat newlines as garbage (this
49210         is the historical behavior).  Formerly base64_decode.
49211         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
49212         takes a decode context structure.
49213         * lib/base64.h (base64_decode): Macro for four-argument calls.
49214         (base64_decode_alloc): Likewise.
49215
49216 2008-05-19  Jim Meyering  <meyering@redhat.com>
49217
49218         avoid a warning from gcc
49219         * lib/trim.c (IF_LINT): Define.
49220         (trim2): Use it to avoid a "may be used uninitialized" warning.
49221
49222         Fix doc typo.
49223         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
49224
49225 2008-05-19  Bruno Haible  <bruno@clisp.org>
49226
49227         * doc/glibc-functions/getpass.texi: Document limits of other
49228         implementations.
49229
49230 2008-05-19  Simon Josefsson  <simon@josefsson.org>
49231             Bruno Haible <bruno@clisp.org>
49232
49233         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
49234
49235 2008-05-18  Bruno Haible  <bruno@clisp.org>
49236
49237         * modules/propername: New file, from GNU gettext.
49238         * lib/propername.h: New file, from GNU gettext.
49239         * lib/propername.c: New file, from GNU gettext.
49240         * MODULES.html.sh (Internationalization functions): Add propername.
49241
49242 2008-05-16  Jim Meyering  <meyering@redhat.com>
49243             Bruno Haible  <bruno@clisp.org>
49244
49245         Avoid some warnings from "gcc -Wshadow".
49246         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
49247
49248 2008-05-15  Eric Blake  <ebb9@byu.net>
49249
49250         Extend previous patch to cygwin 1.7.0.
49251         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
49252         fast implementation in cygwin >= 1.7.0.
49253         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49255
49256 2008-05-15  Bruno Haible  <bruno@clisp.org>
49257
49258         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
49259         implementation in glibc >= 2.9.
49260         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49261         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49262
49263 2008-05-15  Bruno Haible  <bruno@clisp.org>
49264
49265         * MODULES.html.sh (Internationalization functions): Remove linebreak.
49266         (Unicode string functions): Add unilbrk/*.
49267         Reported by Karl Berry.
49268
49269 2008-05-15  Eric Blake  <ebb9@byu.net>
49270
49271         Fix violation of <stdbool.h> replacement in regex.
49272         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
49273         * lib/regexec.c (re_search_internal): Likewise.
49274         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
49275
49276 2008-05-15  Jim Meyering  <meyering@redhat.com>
49277
49278         avoid distracting test output when git or cvs is not found
49279         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
49280         * tests/test-vc-list-files-git.sh: Likewise.
49281
49282 2008-05-15  Eric Blake  <ebb9@byu.net>
49283
49284         Glibc finally accepted the memmem speedup code, bugzilla #5514.
49285         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
49286         glibc version.
49287         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
49288         * doc/posix-functions/strstr.texi (strstr): Likewise.
49289         * lib/str-two-way.h (MAX): Sychronize with glibc.
49290
49291 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
49292
49293         * lib/regcomp.c (optimize_utf8): Add a note on why we test
49294         opr.ctx_type.
49295         (calc_first): Initialize constraint field.
49296         (duplicate_node_closure): Use it instead of special casing ANCHORS.
49297         Fix grammar.
49298         (duplicate_node): Merge constraint field for all node types.
49299         (calc_eclosure_iter): Look at constraint field for all node types.
49300         * lib/regex_internal.c (create_cd_newstate): Don't look at
49301         opr.ctx_type.
49302
49303 2008-05-14  Bruno Haible  <bruno@clisp.org>
49304
49305         Help GCC to do better code generation.
49306         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
49307         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
49308         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
49309         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
49310         Declare with attribute 'malloc' if supported.
49311
49312 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
49313
49314         use "echo STR|wc -c" rather than unportable "expr length STR"
49315         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
49316         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
49317
49318 2008-05-14  Jim Meyering  <meyering@redhat.com>
49319
49320         use dd ibs=$n count=1 ... rather than less-portable head -c$n
49321         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
49322         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
49323         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
49324         via Collin Lasse.
49325
49326 2008-05-14  Eric Blake  <ebb9@byu.net>
49327
49328         Avoid quadratic growth in gl_LIBSOURCES.
49329         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
49330         Suggested by Bruno Haible.
49331
49332         Test xmemdup0.
49333         * modules/xmemdup0-tests: New file.
49334         * tests/test-xmemdup0.c: Likewise.
49335
49336 2008-05-13  Eric Blake  <ebb9@byu.net>
49337
49338         Split xmemdup0 into its own module.
49339         * modules/xmemdup0: New file.
49340         * lib/xmemdup0.h: Likewise.
49341         * lib/xmemdup0.c: Likewise.
49342         * MODULES.html.sh (Memory management functions): Add xmemdup0.
49343         * lib/xalloc.h (xmemdup0): Remove.
49344         * lib/xmalloc.c (xmemdup0): Likewise.
49345
49346 2008-05-13  Eric Blake  <ebb9@byu.net>
49347             Bruno Haible  <bruno@clisp.org>
49348
49349         Reduce number of forks required during autoconf.
49350         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
49351         and gl_LIBSOURCES_DIR.
49352         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
49353         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
49354         m4_syscmd per file.
49355         <m4_foreach_w>: Move...
49356         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
49357
49358 2008-05-13  Eric Blake  <ebb9@byu.net>
49359
49360         * gnulib-tool: Fix various comment typos.
49361
49362 2008-05-12  Bruno Haible  <bruno@clisp.org>
49363
49364         Tailor the linebreaking algorithm.
49365         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
49366
49367 2008-05-12  Bruno Haible  <bruno@clisp.org>
49368
49369         Update to Unicode 5.0.0.
49370         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49371         LBP_JV, LBP_JT. Redistribute values.
49372         (unilbrk_table): Change size.
49373         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
49374         Unicode TR#14 rev. 22.
49375         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49376         LBP_JV, LBP_JT. Redistribute values.
49377         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
49378         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
49379         Update.
49380         * lib/unilbrk/lbrkprop1.h: Regenerated.
49381         * lib/unilbrk/lbrkprop2.h: Regenerated.
49382         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
49383         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
49384         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
49385         Likewise.
49386         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
49387         Likewise.
49388         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
49389         result.
49390         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
49391         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
49392         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
49393         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
49394         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
49395         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
49396
49397 2008-05-11  Bruno Haible  <bruno@clisp.org>
49398
49399         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
49400
49401 2008-05-11  Bruno Haible  <bruno@clisp.org>
49402
49403         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
49404         * modules/unilbrk/gen-lbrk: New file.
49405
49406 2008-05-11  Bruno Haible  <bruno@clisp.org>
49407
49408         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49409         * m4/sha512.m4 (gl_SHA512): Likewise.
49410
49411 2008-05-11  Jim Meyering  <meyering@redhat.com>
49412
49413         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49414         * modules/crypto/sha256: New file.
49415         * modules/crypto/sha512: Likewise.
49416         * lib/sha256.c: Likewise.
49417         * lib/sha256.h: Likewise.
49418         * lib/sha512.c: Likewise.
49419         * lib/sha512.h: Likewise.
49420         * lib/u64.h: Likewise.
49421         * m4/sha256.m4: Likewise.
49422         * m4/sha512.m4: Likewise.
49423         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49424
49425 2008-05-10  Bruno Haible  <bruno@clisp.org>
49426
49427         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49428         (Input/Output <stdio.h>): Add xprintf.
49429         (Signal handling <signal.h>): Add strsignal.
49430         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49431         (Core language properties): Add func.
49432         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49433         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49434         strings.
49435         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49436         (Input/output): New section.
49437         (File system functions): Add openat-die, stat-macros.
49438         (Networking functions): Add sockets.
49439         (Unicode string functions): Add unictype/*.
49440         (Support for building libraries and executables): Add gperf.
49441         (Support for building documentation): Add agpl-3.0.
49442         (Misc): Add nocrash.
49443
49444 2008-05-10  Bruno Haible  <bruno@clisp.org>
49445
49446         * modules/unictype/gen-ctype: New file.
49447
49448 2008-05-10  Jim Meyering  <meyering@redhat.com>
49449
49450         Make chdir-safer.c more efficient on a system with no symlinks.
49451         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49452         also if ELOOP is zero.  Suggested by Bruno Haible.
49453
49454         Make chdir-safer.c slightly safer.
49455         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49456         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49457
49458         Avoid compile failure on systems without ELOOP (like mingw).
49459         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49460         Reported by Bruno Haible.
49461
49462 2008-05-10  Bruno Haible  <bruno@clisp.org>
49463
49464         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49465         (is_utf8_encoding): Use a case-insensitive comparison.
49466         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49467         streq.
49468
49469 2008-05-10  Bruno Haible  <bruno@clisp.org>
49470
49471         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49472         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49473         * lib/unilbrk/ulc-common.h (iconv_string_length,
49474         iconv_string_keeping_offsets): Remove declarations.
49475         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49476         Don't include <iconv.h>, streq.h, xsize.h.
49477         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49478         conversion.
49479         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49480         <iconv.h>, streq.h, xsize.h.
49481         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49482         conversion.
49483         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49484         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49485         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49486         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49487
49488 2008-05-10  Bruno Haible  <bruno@clisp.org>
49489
49490         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49491         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49492
49493         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49494         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49495
49496         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49497         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49498
49499         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49500         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49501
49502         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49503         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49504
49505         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49506         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49507
49508         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49509         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49510
49511         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49512         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49513
49514 2008-05-10  Bruno Haible  <bruno@clisp.org>
49515
49516         Split up 'linebreak' module.
49517         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49518         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49519         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49520         modifications.
49521         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49522         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49523         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49524         lib/linebreak.c.
49525         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49526         lib/linebreak.c.
49527         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49528         lib/linebreak.c.
49529         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49530         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49531         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49532         lib/linebreak.c.
49533         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49534         lib/linebreak.c.
49535         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49536         lib/linebreak.c.
49537         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49538         lib/linebreak.c.
49539         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49540         lib/linebreak.c.
49541         * modules/unilbrk/base: New file.
49542         * modules/unilbrk/tables: New file.
49543         * modules/unilbrk/u8-possible-linebreaks: New file.
49544         * modules/unilbrk/u16-possible-linebreaks: New file.
49545         * modules/unilbrk/u32-possible-linebreaks: New file.
49546         * modules/unilbrk/ulc-common: New file.
49547         * modules/unilbrk/ulc-possible-linebreaks: New file.
49548         * modules/unilbrk/u8-width-linebreaks: New file.
49549         * modules/unilbrk/u16-width-linebreaks: New file.
49550         * modules/unilbrk/u32-width-linebreaks: New file.
49551         * modules/unilbrk/ulc-width-linebreaks: New file.
49552         * lib/linebreak.h: Remove file.
49553         * lib/linebreak.c: Remove file.
49554         * m4/linebreak.m4: Remove file.
49555         * modules/linebreak: Remove file.
49556         * NEWS: Mention the changes.
49557
49558 2008-05-09  Eric Blake  <ebb9@byu.net>
49559
49560         Add xmemdup0.
49561         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49562         implementation.
49563         * lib/xmalloc.c (xmemdup0): New C implementation.
49564
49565 2008-05-08  Bruno Haible  <bruno@clisp.org>
49566
49567         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49568
49569 2008-05-07  Eric Blake  <ebb9@byu.net>
49570
49571         Support cross-compilation of <wctype.h>.
49572         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49573         AC_CACHE_CHECK.
49574
49575 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49576
49577         * build-aux/vc-list-files: Add support for bzr.
49578
49579 2008-05-03  Jim Meyering  <meyering@redhat.com>
49580
49581         avoid failed assertion with tight malloc
49582         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49583
49584 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49585
49586         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49587         are needed from arpa/inet.h.
49588         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49589         Reported by Bruno Haible.
49590
49591 2008-05-02  Jim Meyering  <meyering@redhat.com>
49592
49593         avoid compilation error on FreeBSD 6
49594         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49595
49596 2008-05-01  Jim Meyering  <meyering@redhat.com>
49597
49598         useless-if-before-free: correct --help's exit status description
49599         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49600         for one or more matches, etc.  Reported by Bruno Haible.
49601
49602         vc-list-files: make the stand-alone gnulib test work
49603         * modules/vc-list-files-tests (configure.ac):
49604         Define and AC_SUBST abs_aux_dir.
49605         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49606         $(abs_top_srcdir) to each script and having each of them
49607         duplicate the work of setting PATH, set PATH here, using
49608         the new variable, abs_aux_dir instead.
49609         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49610         * tests/test-vc-list-files-git.sh: Likewise.
49611         Reported by Bruno Haible.
49612
49613 2008-05-01  Bruno Haible  <bruno@clisp.org>
49614
49615         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49616         reallocation. Rename 'done' to 'found_delimiter'.
49617
49618 2008-05-01  Jim Meyering  <meyering@redhat.com>
49619
49620         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49621         * build-aux/vc-list-files: Use `...`, not $(...).
49622
49623 2008-04-30  Jim Meyering  <meyering@redhat.com>
49624
49625         add tests for vc-list-files
49626         * modules/vc-list-files-tests: New module.
49627         * tests/test-vc-list-files-cvs.sh: New file.
49628         * tests/test-vc-list-files-git.sh: New file.
49629
49630         avoid a warning from gcc
49631         * lib/getndelim2.c (IF_LINT): Define.
49632         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49633
49634         vc-list-files: work properly with build-aux/cvsu, too
49635         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49636         to all cvs-based clauses.
49637
49638         vc-list-files: work properly in the CVS+awk case, too
49639         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49640
49641         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49642         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49643         take more than one file argument, so .  Add quotes, just in case $dir
49644         ever contains a shell meta-character.  Prompted by Soren Hansen in
49645         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49646
49647 2008-04-29  Eric Blake  <ebb9@byu.net>
49648
49649         Optimize getndelim2 to use block operations when possible.
49650         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49651         freadseek, and memchr2.
49652         * lib/getndelim2.c (getndelim2): Use them for block reads.
49653
49654 2008-04-29  Bruno Haible  <bruno@clisp.org>
49655
49656         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49657         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49658         * modules/inet_ntop (Depends-on): Add extensions.
49659         * modules/inet_pton (Depends-on): Likewise.
49660         Reported by Simon Josefsson.
49661
49662 2008-04-29  Jim Meyering  <meyering@redhat.com>
49663
49664         When the is more than one match in a block, match all of them.
49665         * build-aux/useless-if-before-free: Iterate through each block
49666         until there are no more matches.
49667
49668         Fix broken useless-if-before-free script.
49669         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49670         the expression to match cast of argument to free-like function.
49671
49672 2008-04-29  Eric Blake  <ebb9@byu.net>
49673
49674         Use new header.
49675         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49676
49677 2008-04-29  Jim Meyering  <meyering@redhat.com>
49678
49679         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49680         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49681         by gnulib to exist and to declare e.g., inet_ntop.
49682         Don't include "inet_ntop.h", now removed.
49683
49684         * m4/arpa_inet_h.m4: Remove trailing blanks.
49685
49686 2008-04-29  Eric Blake  <ebb9@byu.net>
49687
49688         Silence valgrind on safe reads beyond potential array bounds.
49689         * lib/rawmemchr.valgrind: New file.
49690         * lib/strchrnul.valgrind: Likewise.
49691         * modules/rawmemchr (Files): Distribute new file.
49692         * modules/strchrnul (Files): Likewise.
49693         Suggested by Bruno Haible.
49694
49695 2008-04-29  Bruno Haible  <bruno@clisp.org>
49696
49697         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49698         (inet_ntop, inet_pton): Change portability warning's wording.
49699         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49700         Invoke gl_CHECK_NEXT_HEADERS.
49701         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49702         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49703         set ARPA_INET_H.
49704         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49705         * modules/arpa_inet (Description): No longer only for systems that
49706         lack it.
49707         (Depends-on): Add include_next.
49708         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49709         HAVE_ARPA_INET_H.
49710
49711 2008-04-29  Jim Meyering  <meyering@redhat.com>
49712
49713         * modules/mkdir (License): Re-license as LGPLv2+.
49714
49715 2008-04-29  Bruno Haible  <bruno@clisp.org>
49716
49717         * modules/rawmemchr (Maintainer): Set to Eric.
49718         * modules/strchrnul (Maintainer): Likewise.
49719
49720 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49721
49722         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49723         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49724
49725         * modules/arpa_inet (arpa/inet.h): Use them.
49726
49727 2008-04-28  Eric Blake  <ebb9@byu.net>
49728
49729         Test getndelim2.
49730         * modules/getndelim2-tests: New file.
49731         * tests/test-getndelim2.c: Likewise.
49732         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49733         stream.
49734         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49735
49736         * MODULES.html.sh: Document new module.
49737
49738 2008-04-20  Bruno Haible  <bruno@clisp.org>
49739
49740         * lib/c-stack.c (die): Use raise.
49741         * modules/c-stack (Depends-on): Add raise.
49742
49743 2008-04-28  Bruno Haible  <bruno@clisp.org>
49744
49745         Expect rpmatch to be declared.
49746         * lib/yesno.c (rpmatch): Remove declaration.
49747
49748         Declare rpmatch.
49749         * lib/stdlib.in.h (rpmatch): New declaration.
49750         * lib/rpmatch.c: Include <stdlib.h> first.
49751         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49752         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49753         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49754         HAVE_RPMATCH.
49755         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49756         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49757         (Include): Set to <stdlib.h>.
49758         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49759         HAVE_RPMATCH.
49760         * NEWS: Document the change.
49761
49762 2008-04-28  Bruno Haible  <bruno@clisp.org>
49763
49764         Change rpmatch to use nl_langinfo when appropriate.
49765         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49766         (N_): New macro.
49767         (localized_pattern): New function/macro.
49768         (try): Remove match, nomatch arguments. Copy the pattern into safe
49769         memory before caching it.
49770         (rpmatch): Use localized_pattern. Add translator comments.
49771         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49772         Suggested by Eric Blake.
49773         * modules/rpmatch (Depends-on): Add stdbool.
49774
49775 2008-04-28  Eric Blake  <ebb9@byu.net>
49776
49777         Add rawmemchr module, matching glibc.
49778         * modules/string (Makefile.am): New indicator.
49779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49780         * lib/string.in.h (rawmemchr): Declare when appropriate.
49781         * modules/rawmemchr: New file.
49782         * m4/rawmemchr.m4: Likewise.
49783         * lib/rawmemchr.c: Likewise.
49784         * modules/rawmemchr-tests: Likewise.
49785         * tests/test-rawmemchr.c: Likewise.
49786         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49787         module.
49788         * modules/strchrnul (Depends-on): Add rawmemchr.
49789         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49790
49791         Whitespace cleanup.
49792         * tests/test-strchrnul.c: Reindent.
49793         * lib/strchrnul.c: Likewise.
49794
49795         Optimize and test strchrnul.
49796         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49797         * modules/strchrnul-tests: New file.
49798         * tests/test-strchrnul.c: Likewise.
49799
49800         Remove intprops dependency.
49801         * modules/memchr (Depends-on): Remove intprops.
49802         * modules/memrchr (Depends-on): Likewise.
49803         * modules/memchr2 (Depends-on): Likewise.
49804         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49805         * lib/memrchr.c (__memrchr): Likewise.
49806         * lib/memrchr2.c (memchr2): Likewise.
49807         Reported by Simon Josefsson.
49808
49809 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49810
49811         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49812         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49813
49814 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49815
49816         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49817
49818         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49819
49820         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49821
49822         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49823         declarations.
49824         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49825
49826         * m4/inet_pton.m4: Don't check for header files.
49827
49828         * m4/inet_ntop.m4: Don't check for header files.
49829
49830 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49831
49832         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49833         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49834         trigger for cygwin).
49835         Reported by Bruno Haible  <bruno@clisp.org>.
49836
49837 2008-04-28  Bruno Haible  <bruno@clisp.org>
49838
49839         * doc/posix-functions/strdup.texi: Mention mingw problem.
49840
49841 2008-04-27  Bruno Haible  <bruno@clisp.org>
49842
49843         * modules/stat-time-tests (Depends-on): Add sleep.
49844         * tests/test-stat-time.c (force_unlink): New function.
49845         (cleanup): Use it.
49846         (test_mtime): Remove the ctime related tests.
49847         (test_ctime): New function, containing the ctime related tests.
49848         (main): Call test_ctime, except on native Windows platforms.
49849
49850 2008-04-27  Bruno Haible  <bruno@clisp.org>
49851
49852         * lib/rpmatch.c (rpmatch): Add some comments.
49853         Reported by James Youngman <jay@gnu.org>.
49854
49855 2008-04-27  Bruno Haible  <bruno@clisp.org>
49856
49857         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49858         quiet NaNs.
49859
49860 2008-04-27  Bruno Haible  <bruno@clisp.org>
49861
49862         Make test-yesno.sh work on mingw.
49863         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49864         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49865         (main): Set stdin to binary mode.
49866         * modules/yesno-tests (Depends-on): Add binary-io.
49867
49868 2008-04-27  Bruno Haible  <bruno@clisp.org>
49869
49870         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49871         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49872         argument that lie outside the IEEE 854 domain.
49873         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49874         (gl_ISFINITE): Use it.
49875         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49876
49877 2008-04-27  Bruno Haible  <bruno@clisp.org>
49878
49879         Allow local renaming in config.h.
49880         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49881
49882 2008-04-27  Bruno Haible  <bruno@clisp.org>
49883
49884         * lib/memchr.c (__memchr): Change type of 'i'.
49885         * lib/memchr2.c (memchr2): Likewise.
49886
49887 2008-04-26  Eric Blake  <ebb9@byu.net>
49888         and Bruno Haible  <bruno@clisp.org>
49889
49890         Optimize and test memrchr.
49891         * modules/memrchr (Depends-on): Add intprops.
49892         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49893         * modules/memrchr-tests: New file.
49894         * tests/test-memrchr.c: New file.
49895
49896 2008-04-26  Bruno Haible  <bruno@clisp.org>
49897
49898         Add tentative support for DragonFly BSD.
49899         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49900         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49901         fp.
49902         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49903         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49904         * lib/fpurge.c (fpurge): Likewise.
49905         * lib/freadable.c (freaadable): Likewise.
49906         * lib/freadahead.c (freadahead): Likewise.
49907         * lib/freading.c (freading): Likewise.
49908         * lib/freadptr.c (freadptr): Likewise.
49909         * lib/freadseek.c (freadptrinc): Likewise.
49910         * lib/fseeko.c (fseeko): Likewise.
49911         * lib/fseterr.c (fseterr): Likewise.
49912         * lib/fwritable.c (fwritable): Likewise.
49913         * lib/fwriting.c (fwriting): Likewise.
49914
49915 2008-04-26  Bruno Haible  <bruno@clisp.org>
49916
49917         * lib/stdio-impl.h: New file.
49918         * lib/fbufmode.c: Include stdio-impl.h.
49919         (fbufmode): Use fp_, remove redundant #defines.
49920         * lib/fflush.c: Include stdio-impl.h.
49921         (clear_ungetc_buffer): Remove redundant #defines.
49922         * lib/fpurge.c: Include stdio-impl.h.
49923         (fpurge): Remove redundant #defines.
49924         * lib/freadable.c: Include stdio-impl.h.
49925         (freadable): Remove redundant #defines.
49926         * lib/freadahead.c: Include stdio-impl.h.
49927         (freadahead): Remove redundant #defines.
49928         * lib/freading.c: Include stdio-impl.h.
49929         (freading): Remove redundant #defines.
49930         * lib/freadptr.c: Include stdio-impl.h.
49931         (freadptr): Remove redundant #defines.
49932         * lib/freadseek.c: Include stdio-impl.h.
49933         (freadptrinc): Remove redundant #defines.
49934         * lib/fseeko.c: Include stdio-impl.h.
49935         (rpl_fseeko): Remove redundant #defines.
49936         * lib/fseterr.c: Include stdio-impl.h.
49937         (fseterr): Remove redundant #defines.
49938         * lib/fwritable.c: Include stdio-impl.h.
49939         (fwritable: Remove redundant #defines.
49940         * lib/fwriting.c: Include stdio-impl.h.
49941         (fwriting): Remove redundant #defines.
49942         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49943         * modules/fflush (Files): Likewise.
49944         * modules/fpurge (Files): Likewise.
49945         * modules/freadable (Files): Likewise.
49946         * modules/freadahead (Files): Likewise.
49947         * modules/freading (Files): Likewise.
49948         * modules/freadptr (Files): Likewise.
49949         * modules/freadseek (Files): Likewise.
49950         * modules/fseeko (Files): Likewise.
49951         * modules/fseterr (Files): Likewise.
49952         * modules/fwritable (Files): Likewise.
49953         * modules/fwriting (Files): Likewise.
49954
49955 2008-04-26  Bruno Haible  <bruno@clisp.org>
49956
49957         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49958         restore_seek_optimization, update_fpos_cache): New functions, extracted
49959         from rpl_fflush.
49960         (rpl_fflush): Use them.
49961         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49962         (gl_REPLACE_FFLUSH): Use it.
49963
49964 2008-04-26  Bruno Haible  <bruno@clisp.org>
49965
49966         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49967         on Solaris.
49968         * tests/test-xstrtoimax.sh: Likewise.
49969         * tests/test-xstrtoumax.sh: Likewise.
49970         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49971
49972 2008-04-26  Bruno Haible  <bruno@clisp.org>
49973
49974         * modules/memchr-tests: New file.
49975         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49976
49977 2008-04-26  Eric Blake  <ebb9@byu.net>
49978             Bruno Haible  <bruno@clisp.org>
49979
49980         * lib/memchr.c: Include intprops.h.
49981         (__memchr): Optimize parallel detection of matching bytes. Rename local
49982         variables. Add explanatory comments.
49983
49984 2008-04-26  Bruno Haible  <bruno@clisp.org>
49985
49986         Fix module 'memchr', broken since 2000-10-28.
49987         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49988
49989 2008-04-26  Bruno Haible  <bruno@clisp.org>
49990
49991         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49992         comments.
49993
49994 2008-04-25  Eric Blake  <ebb9@byu.net>
49995
49996         Use native fstatat on cygwin 1.7.0.
49997         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49998         first.
49999
50000 2008-04-23  Eric Blake  <ebb9@byu.net>
50001
50002         Improve memchr2 performance.
50003         * lib/memchr2.c (memchr2): Further optimize parallel detection of
50004         NUL bytes.
50005         * modules/memchr2 (Depends-on): Use intprops.h.
50006
50007 2008-04-23  Simon Josefsson  <simon@josefsson.org>
50008
50009         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
50010         an inline function instead of a CPP macro.  Patch by Ben Pfaff
50011         <blp@cs.stanford.edu>.
50012
50013 2008-04-23  Simon Josefsson  <simon@josefsson.org>
50014
50015         * lib/arpa_inet.in.h: New file.
50016
50017         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
50018         (Makefile.am): Sed in substitute header file.
50019
50020         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
50021         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
50022
50023         * modules/inet_ntop (configure.ac): Use
50024         gl_ARPA_INET_MODULE_INDICATOR.
50025
50026         * modules/inet_pton (configure.ac): Use
50027         gl_ARPA_INET_MODULE_INDICATOR.
50028
50029 2008-04-22  Jim Meyering  <meyering@redhat.com>
50030
50031         * modules/verify (License): Re-license as LGPLv2+.
50032
50033 2008-04-22  Simon Josefsson  <simon@josefsson.org>
50034
50035         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
50036         parameter to void* as per POSIX standard (MinGW uses char*).
50037
50038 2008-04-21  Bruno Haible  <bruno@clisp.org>
50039
50040         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
50041         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
50042         Define to replacements if REPLACE_ISWCNTRL is 1.
50043         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
50044         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
50045         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
50046         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
50047         what it fixes.
50048         * doc/posix-functions/iswalpha.texi: Likewise.
50049         * doc/posix-functions/iswblank.texi: Likewise.
50050         * doc/posix-functions/iswcntrl.texi: Likewise.
50051         * doc/posix-functions/iswdigit.texi: Likewise.
50052         * doc/posix-functions/iswgraph.texi: Likewise.
50053         * doc/posix-functions/iswlower.texi: Likewise.
50054         * doc/posix-functions/iswprint.texi: Likewise.
50055         * doc/posix-functions/iswpunct.texi: Likewise.
50056         * doc/posix-functions/iswspace.texi: Likewise.
50057         * doc/posix-functions/iswupper.texi: Likewise.
50058         * doc/posix-functions/iswxdigit.texi: Likewise.
50059         Reported by Alain Guibert.
50060
50061 2008-04-21  Bruno Haible  <bruno@clisp.org>
50062
50063         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
50064         Patch by Alain Guibert.
50065
50066 2008-04-21  Bruno Haible  <bruno@clisp.org>
50067
50068         Fix test failures on mingw.
50069         * tests/test-xstrtol.c (print_no_progname): New function.
50070         (main): Install it in error_print_progname hook.
50071         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
50072         * tests/test-xstrtoimax.sh: Likewise.
50073         * tests/test-xstrtoumax.sh: Likewise.
50074
50075 2008-04-21  Bruno Haible  <bruno@clisp.org>
50076
50077         Fix test failure on mingw.
50078         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
50079
50080 2008-04-21  Bruno Haible  <bruno@clisp.org>
50081
50082         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
50083         Actually assign a value.
50084
50085 2008-04-20  Bruno Haible  <bruno@clisp.org>
50086
50087         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
50088         take 2.
50089         * lib/canonicalize.c (canonicalize_file_name): Elide if the
50090         'canonicalize-lgpl' module is also used.
50091         * lib/canonicalize-lgpl.c: Undo last change.
50092         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
50093
50094 2008-04-20  Bruno Haible  <bruno@clisp.org>
50095
50096         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
50097         config.h. Provide _mkdir based fallback for mingw.
50098         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
50099         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
50100         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
50101         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
50102         rather than defining mkdir in config.h.
50103         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
50104         (gl_SYS_STAT_H_DEFAULTS): New macro.
50105         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
50106         HAVE_IO_H any more.
50107         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
50108         HAVE_DECL_MKDIR and HAVE_IO_H.
50109
50110 2008-04-20  Bruno Haible  <bruno@clisp.org>
50111
50112         * lib/isapipe.c: Port to native Windows platforms.
50113
50114 2008-04-20  Bruno Haible  <bruno@clisp.org>
50115
50116         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
50117
50118 2008-04-21  Eric Blake  <ebb9@byu.net>
50119
50120         Work around preprocessors that don't handle UINTMAX_MAX.
50121         * lib/memchr2.c (memchr2): Avoid embedded #if.
50122         Reported by Alain Guibert, fix suggested by Bruno Haible.
50123
50124 2008-04-21  Simon Josefsson  <simon@josefsson.org>
50125
50126         * doc/posix-functions/strftime.texi (strftime): Explain better
50127         Windows incompatibility.  Suggested by Micah Cowan
50128         <micah@cowan.name>.
50129
50130 2008-04-20  Bruno Haible  <bruno@clisp.org>
50131
50132         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
50133         unistr/u8-mblen.
50134
50135 2008-04-20  Bruno Haible  <bruno@clisp.org>
50136
50137         Fix test failure on platforms with non-GNU iconv.
50138         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
50139         (U_TO_U8): Use it, rather than u16_to_u8.
50140         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
50141         units at the end of the input string.
50142         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
50143
50144 2008-04-20  Bruno Haible  <bruno@clisp.org>
50145
50146         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
50147         when the resulting length is 0.
50148         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
50149
50150 2008-04-20  Bruno Haible  <bruno@clisp.org>
50151
50152         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
50153         works.
50154         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
50155
50156 2008-04-20  Bruno Haible  <bruno@clisp.org>
50157
50158         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
50159         * modules/tsearch-tests (configure.ac): Test for initstate function.
50160
50161 2008-04-20  Bruno Haible  <bruno@clisp.org>
50162
50163         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
50164         for nlink_t if missing.
50165         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
50166
50167 2008-04-19  Bruno Haible  <bruno@clisp.org>
50168
50169         Work around snprintf bug on Linux libc5.
50170         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
50171         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50172         gl_SNPRINTF_SIZE1.
50173         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50174         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
50175         that test failed.
50176         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50177         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
50178         * modules/snprintf (Files): Add m4/printf.m4.
50179         * modules/vsnprintf (Files): Likewise.
50180         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
50181         * doc/posix-functions/vsnprintf.texi: Likewise.
50182
50183 2008-04-19  Bruno Haible  <bruno@clisp.org>
50184
50185         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
50186         from 0.0058 to less than 10^-7.
50187
50188 2008-04-19  Bruno Haible  <bruno@clisp.org>
50189
50190         Fix rounding when a precision is given.
50191         * lib/vasnprintf.c (is_borderline): New function.
50192         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
50193         9...9x.
50194         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
50195         %e, %g.
50196         * tests/test-vasprintf-posix.c (test_function): Likewise.
50197         * tests/test-snprintf-posix.h (test_function): Likewise.
50198         * tests/test-sprintf-posix.h (test_function): Likewise.
50199         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
50200         * tests/test-printf-posix.h (test_function): Likewise.
50201         * tests/test-printf-posix.output: Update.
50202         Reported by John Darrington <john@darrington.wattle.id.au> via
50203         Ben Pfaff <blp@cs.stanford.edu>.
50204
50205 2008-04-18  Simon Josefsson  <simon@josefsson.org>
50206
50207         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
50208         Suggested by Bruno Haible <bruno@clisp.org>.
50209
50210 2008-04-17  Bruno Haible  <bruno@clisp.org>
50211
50212         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
50213         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
50214         implementation.
50215         Patch by Bruce Merry <bmerry@gmail.com>.
50216
50217 2008-04-17  Simon Josefsson  <simon@josefsson.org>
50218
50219         * doc/posix-functions/strftime.texi (strftime): Mention that %e
50220         doesn't work under Windows.
50221
50222 2008-04-16  Bruno Haible  <bruno@clisp.org>
50223
50224         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
50225         New macros.
50226         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
50227         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
50228         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
50229         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
50230         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
50231         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
50232         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
50233         macros.
50234         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
50235         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
50236         Northern Sotho, Uighur.
50237
50238 2008-04-16  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
50241         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
50242         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
50243         Reported by Daniel Bergström <daniel@octocode.com>.
50244
50245 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
50246             Bruno Haible  <bruno@clisp.org>
50247
50248         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
50249         function.
50250         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
50251         New functions, mostly extracted from gl_locale_name_default.
50252         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
50253
50254 2008-04-16  Eric Blake  <ebb9@byu.net>
50255
50256         Adjust strtod detection to catch glibc 2.7 bug.
50257         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
50258         Reported by John Gatewood Ham.
50259
50260 2008-04-16  Bruno Haible  <bruno@clisp.org>
50261
50262         Add tentative support for Linux libc5.
50263         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
50264         * lib/fpurge.c (fpurge): Likewise.
50265         * lib/freadable.c (freadable): Likewise.
50266         * lib/freadahead.c (freadahead): Likewise.
50267         * lib/freading.c (freading): Likewise.
50268         * lib/freadptr.c (freadptr): Likewise.
50269         * lib/freadseek.c (freadptrinc): Likewise.
50270         * lib/fseeko.c (rpl_fseeko): Likewise.
50271         * lib/fseterr.c (fseterr): Likewise.
50272         * lib/fwritable.c (fwritable): Likewise.
50273         * lib/fwriting.c (fwriting): Likewise.
50274         Reported by Alain Guibert <alguibert+bts@free.fr>.
50275
50276 2008-04-15  Bruno Haible  <bruno@clisp.org>
50277
50278         * modules/mathl (configure.ac): Define module indicator.
50279
50280 2008-04-15  Bruno Haible  <bruno@clisp.org>
50281
50282         * lib/logl.c (logl): Remove unused variables.
50283
50284 2008-04-15  Bruno Haible  <bruno@clisp.org>
50285
50286         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
50287         fails.
50288
50289 2008-04-15  Bruno Haible  <bruno@clisp.org>
50290
50291         * lib/trim.c (trim2): Fix argument of isspace() macro.
50292
50293 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
50294
50295         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
50296         to 0.
50297         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
50298
50299 2008-04-14  Bruno Haible  <bruno@clisp.org>
50300
50301         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
50302         AC_LANG_PROGRAM argument.
50303         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
50304         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
50305         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
50306         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50307         * m4/math_h.m4 (gl_MATH_H): Likewise.
50308         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
50309         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50310         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50311         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
50312         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50313         * m4/regex.m4 (gl_REGEX): Likewise.
50314         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
50315         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
50316         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50317         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
50318         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50319         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50321         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50322
50323 2008-04-14  Jim Meyering  <meyering@redhat.com>
50324
50325         test-strtod: fix typos: s/abs/fabs/
50326         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
50327
50328 2008-04-13  Bruno Haible  <bruno@clisp.org>
50329
50330         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
50331         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
50332         module is also used and while not building the reloc-wrapper.
50333
50334 2008-04-13  Bruno Haible  <bruno@clisp.org>
50335
50336         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
50337
50338 2008-04-13  Bruno Haible  <bruno@clisp.org>
50339
50340         Fix AIX compilation failure introduced on 2008-04-02.
50341         * tests/test-frexp.c (exp): Undefine before redefining.
50342         * tests/test-frexpl.c (exp): Likewise.
50343
50344 2008-04-13  Bruno Haible  <bruno@clisp.org>
50345
50346         Work around a HP-UX stdio bug.
50347         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
50348         * tests/test-ftello.c (main): Likewise.
50349         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
50350         * doc/posix-functions/ftello.texi: Likewise.
50351
50352 2008-04-13  Bruno Haible  <bruno@clisp.org>
50353
50354         Make test-signbit pass on HP-UX/hppa.
50355         * tests/test-signbit.c (minus_zerol): New variable.
50356         (test_signbitl): Use it.
50357
50358 2008-04-13  Bruno Haible  <bruno@clisp.org>
50359
50360         Make truncl work on OSF/1 4.0.
50361         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
50362         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50363         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
50365         HAVE_DECL_TRUNCL.
50366         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
50367         HAVE_DECL_TRUNCL.
50368         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
50369
50370 2008-04-13  Bruno Haible  <bruno@clisp.org>
50371
50372         * lib/unictype.h: Remove trailing comma from enumeration definitions.
50373
50374 2008-04-13  Bruno Haible  <bruno@clisp.org>
50375
50376         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
50377         expression, so as to avoid HP-UX 11 cc compiler bug.
50378
50379 2008-04-13  Bruno Haible  <bruno@clisp.org>
50380
50381         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
50382
50383 2008-04-13  Bruno Haible  <bruno@clisp.org>
50384
50385         * lib/git-merge-changelog.c: Remove empty declaration outside of
50386         functions.
50387
50388 2008-04-13  Bruno Haible  <bruno@clisp.org>
50389
50390         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
50391
50392 2008-04-13  Bruno Haible  <bruno@clisp.org>
50393
50394         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
50395         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
50396         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
50397         also if it exists but lacks definitions of the SHUT_* macros.
50398         * modules/sys_socket (Description): Update.
50399         Reported by Elbert Pol <e.pol@chello.nl>.
50400
50401 2008-04-13  Bruno Haible  <bruno@clisp.org>
50402
50403         * lib/localcharset.c (OS2): Don't redefine if already defined.
50404         Reported by Elbert Pol <e.pol@chello.nl>.
50405
50406 2008-04-13  Bruno Haible  <bruno@clisp.org>
50407
50408         * lib/binary-io.h [__EMX__]: Include <io.h>.
50409         Reported by Elbert Pol <e.pol@chello.nl>.
50410
50411 2008-04-12  Bruno Haible  <bruno@clisp.org>
50412
50413         * lib/fpucw.h: Enable the definitions also for x86_64.
50414         Needed for NetBSD/x86_64.
50415         Reported by Thomas Klausner <tk@giga.or.at>.
50416
50417 2008-04-12  Bruno Haible  <bruno@clisp.org>
50418
50419         * tests/test-strtod.c: Include isnand.h.
50420         (main): Use isnand instead of isnan.
50421         Reported by Jim Meyering.
50422
50423 2008-04-12  Bruno Haible  <bruno@clisp.org>
50424
50425         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50426         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50427
50428 2008-04-12  Jim Meyering  <meyering@redhat.com>
50429
50430         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50431
50432 2008-04-12  Bruno Haible  <bruno@clisp.org>
50433
50434         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50435         Reported by Elbert Pol <e.pol@chello.nl>.
50436
50437 2008-04-12  Eric Blake  <ebb9@byu.net>
50438
50439         Work around Solaris 10 math.h bug.
50440         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50441         (gl_MATH_H_DEFAULTS): Set up default.
50442         * modules/math (Makefile.am): Replace new indicators.
50443         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50444         * tests/test-math.c (main): Test this.
50445         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50446         * doc/posix-headers/math.texi (math.h): Mention bug.
50447         Reported by Nelson H. F. Beebe and Jim Meyering.
50448
50449 2008-04-11  Bruno Haible  <bruno@clisp.org>
50450
50451         Adapt to future versions of Apple GCC.
50452         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50453         Reported by Peter O'Gorman <peter@pogma.com>.
50454
50455 2008-04-11  Bruno Haible  <bruno@clisp.org>
50456
50457         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50458
50459 2008-04-11  Bruno Haible  <bruno@clisp.org>
50460
50461         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50462
50463         * modules/getaddrinfo-tests (Makefile.am): Define
50464         test_getaddrinfo_LDADD.
50465
50466 2008-04-11  Bruno Haible  <bruno@clisp.org>
50467
50468         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50469         (init): Fix syntax error.
50470         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50471         is declared.
50472
50473 2008-04-11  Bruno Haible  <bruno@clisp.org>
50474
50475         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50476         * modules/glob (Depends-on): Add stdbool.
50477
50478 2008-04-11  Bruno Haible  <bruno@clisp.org>
50479
50480         * lib/trim.c: Include <string.h>.
50481
50482 2008-04-11  Eric Blake  <ebb9@byu.net>
50483
50484         Avoid compile failure on OS/2.
50485         * lib/regex_internal.h (internal_function): Disable optimization
50486         on OS/2 (__EMX__), where it caused compiler error.
50487         Reported by Elbert Pol.
50488
50489 2008-04-11  Bruno Haible  <bruno@clisp.org>
50490
50491         Flush the standard error stream before aborting. Needed on mingw.
50492         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50493         * tests/test-array_list.c (ASSERT): Likewise.
50494         * tests/test-array_oset.c (ASSERT): Likewise.
50495         * tests/test-avltree_list.c (ASSERT): Likewise.
50496         * tests/test-avltree_oset.c (ASSERT): Likewise.
50497         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50498         * tests/test-binary-io.c (ASSERT): Likewise.
50499         * tests/test-byteswap.c (ASSERT): Likewise.
50500         * tests/test-c-ctype.c (ASSERT): Likewise.
50501         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50502         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50503         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50504         * tests/test-c-strstr.c (ASSERT): Likewise.
50505         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50506         * tests/test-canonicalize.c (ASSERT): Likewise.
50507         * tests/test-carray_list.c (ASSERT): Likewise.
50508         * tests/test-ceilf1.c (ASSERT): Likewise.
50509         * tests/test-ceilf2.c (ASSERT): Likewise.
50510         * tests/test-ceill.c (ASSERT): Likewise.
50511         * tests/test-count-one-bits.c (ASSERT): Likewise.
50512         * tests/test-fbufmode.c (ASSERT): Likewise.
50513         * tests/test-fflush2.c (ASSERT): Likewise.
50514         * tests/test-floorf1.c (ASSERT): Likewise.
50515         * tests/test-floorf2.c (ASSERT): Likewise.
50516         * tests/test-floorl.c (ASSERT): Likewise.
50517         * tests/test-fopen.c (ASSERT): Likewise.
50518         * tests/test-fpending.c (ASSERT): Likewise.
50519         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50520         * tests/test-fpurge.c (ASSERT): Likewise.
50521         * tests/test-freadable.c (ASSERT): Likewise.
50522         * tests/test-freadahead.c (ASSERT): Likewise.
50523         * tests/test-freading.c (ASSERT): Likewise.
50524         * tests/test-freadptr.c (ASSERT): Likewise.
50525         * tests/test-freadptr2.c (ASSERT): Likewise.
50526         * tests/test-freadseek.c (ASSERT): Likewise.
50527         * tests/test-freopen.c (ASSERT): Likewise.
50528         * tests/test-frexp.c (ASSERT): Likewise.
50529         * tests/test-frexpl.c (ASSERT): Likewise.
50530         * tests/test-fseek.c (ASSERT): Likewise.
50531         * tests/test-fseeko.c (ASSERT): Likewise.
50532         * tests/test-fstrcmp.c (ASSERT): Likewise.
50533         * tests/test-ftell.c (ASSERT): Likewise.
50534         * tests/test-ftello.c (ASSERT): Likewise.
50535         * tests/test-func.c (ASSERT): Likewise.
50536         * tests/test-fwritable.c (ASSERT): Likewise.
50537         * tests/test-fwriting.c (ASSERT): Likewise.
50538         * tests/test-getdelim.c (ASSERT): Likewise.
50539         * tests/test-getline.c (ASSERT): Likewise.
50540         * tests/test-i-ring.c (ASSERT): Likewise.
50541         * tests/test-iconv-utf.c (ASSERT): Likewise.
50542         * tests/test-iconv.c (ASSERT): Likewise.
50543         * tests/test-isfinite.c (ASSERT): Likewise.
50544         * tests/test-isnand.c (ASSERT): Likewise.
50545         * tests/test-isnanf.c (ASSERT): Likewise.
50546         * tests/test-isnanl.h (ASSERT): Likewise.
50547         * tests/test-ldexpl.c (ASSERT): Likewise.
50548         * tests/test-linked_list.c (ASSERT): Likewise.
50549         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50550         * tests/test-localename.c (ASSERT): Likewise.
50551         * tests/test-lseek.c (ASSERT): Likewise.
50552         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50553         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50554         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50555         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50556         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50557         * tests/test-mbschr.c (ASSERT): Likewise.
50558         * tests/test-mbscspn.c (ASSERT): Likewise.
50559         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50560         * tests/test-mbspbrk.c (ASSERT): Likewise.
50561         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50562         * tests/test-mbsrchr.c (ASSERT): Likewise.
50563         * tests/test-mbsspn.c (ASSERT): Likewise.
50564         * tests/test-mbsstr1.c (ASSERT): Likewise.
50565         * tests/test-mbsstr2.c (ASSERT): Likewise.
50566         * tests/test-mbsstr3.c (ASSERT): Likewise.
50567         * tests/test-memchr2.c (ASSERT): Likewise.
50568         * tests/test-memmem.c (ASSERT): Likewise.
50569         * tests/test-open.c (ASSERT): Likewise.
50570         * tests/test-printf-frexp.c (ASSERT): Likewise.
50571         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50572         * tests/test-printf-posix.c (ASSERT): Likewise.
50573         * tests/test-quotearg.c (ASSERT): Likewise.
50574         * tests/test-rbtree_list.c (ASSERT): Likewise.
50575         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50576         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50577         * tests/test-round1.c (ASSERT): Likewise.
50578         * tests/test-roundf1.c (ASSERT): Likewise.
50579         * tests/test-roundl.c (ASSERT): Likewise.
50580         * tests/test-signbit.c (ASSERT): Likewise.
50581         * tests/test-sleep.c (ASSERT): Likewise.
50582         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50583         * tests/test-snprintf.c (ASSERT): Likewise.
50584         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50585         * tests/test-stat-time.c (ASSERT): Likewise.
50586         * tests/test-strcasestr.c (ASSERT): Likewise.
50587         * tests/test-strerror.c (ASSERT): Likewise.
50588         * tests/test-striconv.c (ASSERT): Likewise.
50589         * tests/test-striconveh.c (ASSERT): Likewise.
50590         * tests/test-striconveha.c (ASSERT): Likewise.
50591         * tests/test-strsignal.c (ASSERT): Likewise.
50592         * tests/test-strstr.c (ASSERT): Likewise.
50593         * tests/test-strtod.c (ASSERT): Likewise.
50594         * tests/test-trunc1.c (ASSERT): Likewise.
50595         * tests/test-trunc2.c (ASSERT): Likewise.
50596         * tests/test-truncf1.c (ASSERT): Likewise.
50597         * tests/test-truncf2.c (ASSERT): Likewise.
50598         * tests/test-truncl.c (ASSERT): Likewise.
50599         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50600         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50601         * tests/test-vasnprintf.c (ASSERT): Likewise.
50602         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50603         * tests/test-vasprintf.c (ASSERT): Likewise.
50604         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50605         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50606         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50607         * tests/test-vsnprintf.c (ASSERT): Likewise.
50608         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50609         * tests/test-wcwidth.c (ASSERT): Likewise.
50610         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50611         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50612         * tests/test-xvasprintf.c (ASSERT): Likewise.
50613         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50614         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50615         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50616         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50617         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50618         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50619         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50620         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50621         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50622         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50623         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50624         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50625         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50626         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50627         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50628         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50629         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50630         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50631         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50632         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50633         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50634         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50635         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50636         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50637         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50638         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50639         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50640         * tests/unictype/test-combining.c (ASSERT): Likewise.
50641         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50642         * tests/unictype/test-digit.c (ASSERT): Likewise.
50643         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50644         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50645         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50646         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50647         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50648         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50649         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50650         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50651         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50652         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50653         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50654         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50655         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50656         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50657         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50658         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50659         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50660         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50661         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50662         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50663         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50664         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50665         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50666         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50667         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50668         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50669         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50670         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50671         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50672         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50673         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50674         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50675         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50676         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50677         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50678         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50679         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50680         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50681         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50682         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50683         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50684         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50685         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50686         Reported by Eric Blake.
50687
50688 2008-04-11  Bruno Haible  <bruno@clisp.org>
50689
50690         * lib/wchar.in.h: Tweak comment.
50691
50692 2008-04-11  Bruno Haible  <bruno@clisp.org>
50693
50694         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50695         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50696         gl_COMMON.
50697         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50698
50699 2008-04-11  Bruno Haible  <bruno@clisp.org>
50700
50701         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50702
50703 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50704
50705         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50706         of attempting to use non-existing /dev/*random.  Based on patch
50707         from Adam Strzelecki <ono@java.pl> in
50708         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50709
50710 2008-04-08  Bruno Haible  <bruno@clisp.org>
50711
50712         Add tentative support for emx+gcc.
50713         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50714         * lib/fpurge.c (fpurge): Likewise.
50715         * lib/freadable.c (freadable): Likewise.
50716         * lib/freadahead.c (freadahead): Likewise.
50717         * lib/freading.c (freading): Likewise.
50718         * lib/freadptr.c (freadptr): Likewise.
50719         * lib/freadseek.c (freadptrinc): Likewise.
50720         * lib/fseeko.c (rpl_fseeko): Likewise.
50721         * lib/fseterr.c (fseterr): Likewise.
50722         * lib/fwritable.c (fwritable): Likewise.
50723         * lib/fwriting.c (fwriting): Likewise.
50724         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50725
50726 2008-04-09  Eric Blake  <ebb9@byu.net>
50727
50728         Avoid some autoconf warnings.
50729         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50730         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50731         * m4/afs.m4 (gl_AFS): Likewise.
50732         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50733         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50734         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50735         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50736         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50737         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50738         (AC_CHECK_DECLS_ONCE): Likewise.
50739         Rename file...
50740         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50741         gnulib-tool requires autoconf 2.59 or better.
50742         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50743
50744 2008-04-08  Eric Blake  <ebb9@byu.net>
50745
50746         Use 'git describe --match' if present (added in git 1.5.5).
50747         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50748         if possible.
50749
50750 2008-04-08  Bruno Haible  <bruno@clisp.org>
50751
50752         Add tentative support for OpenServer.
50753         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50754         _ptr, _cnt.
50755         * lib/fpurge.c (fpurge): Likewise.
50756         * lib/freadable.c (freadable): Likewise.
50757         * lib/freadahead.c (freadahead): Likewise.
50758         * lib/freading.c (freading): Likewise.
50759         * lib/freadptr.c (freadptr): Likewise.
50760         * lib/freadseek.c (freadptrinc): Likewise.
50761         * lib/fseeko.c (rpl_fseeko): Likewise.
50762         * lib/fseterr.c (fseterr): Likewise.
50763         * lib/fwritable.c (fwritable): Likewise.
50764         * lib/fwriting.c (fwriting): Likewise.
50765         Reported by Roger Cornelius <rac@tenzing.org> and
50766         Brian K. White <brian@aljex.com>.
50767
50768 2008-04-06  Jim Meyering  <meyering@redhat.com>
50769
50770         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50771
50772 2008-04-06  Bruno Haible  <bruno@clisp.org>
50773
50774         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50775         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50776         * tests/test-printf-posix.sh: Likewise.
50777         * tests/test-vfprintf-posix.sh: Likewise.
50778         * tests/test-vprintf-posix.sh: Likewise.
50779         * tests/test-xprintf-posix.sh: Likewise.
50780
50781 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50782
50783         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50784         hide error from 'ls', needed on OS/2.
50785         Report by Elbert Pol <elbert.pol@gmail.com>.
50786
50787 2008-04-04  Eric Blake  <ebb9@byu.net>
50788
50789         Make test-fseeko.c failures meaningful.
50790         * tests/test-fseeko.c: Print line number on failure.
50791         * tests/test-fseek.c: Likewise.
50792         Reported by Nelson H. F. Beebe.
50793
50794         Improve strtod bug detection check.
50795         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50796         required for Solaris 10.
50797         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50798
50799 2008-04-04  Bruno Haible  <bruno@clisp.org>
50800
50801         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50802         by m4/setenv.m4.
50803
50804 2008-04-03  Eric Blake  <ebb9@byu.net>
50805
50806         Ensure sane .version contents.
50807         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50808         version string.
50809         * build-aux/git-version-gen: Improve documentation.
50810
50811         Make GNU make output nicer.
50812         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50813         MAKECMDGOALS to enforce message for all command line targets.  Set
50814         srcdir for use in maint.mk.
50815
50816         Another maintainer tweak.
50817         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50818         a target that regenerates version.
50819
50820 2008-04-03  Jim Meyering  <meyering@redhat.com>
50821
50822         vc-list-files: don't cause coreutils "make po-check" failure
50823         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50824
50825 2008-04-03  Eric Blake  <ebb9@byu.net>
50826
50827         Allow VPATH usage of vc-list-files.
50828         * build-aux/vc-list-files (scriptversion): Add timestamp.
50829         (options): Add --help, --version, -C.
50830         (CVS): Support installed cvsu.
50831
50832 2008-04-02  Bruno Haible  <bruno@clisp.org>
50833
50834         Avoid some "statement with no effect" warnings from gcc.
50835         * tests/test-wctype.c (main): Explicitly ignore unused values.
50836         Reported by Jim Meyering.
50837
50838 2008-04-02  Jim Meyering  <meyering@redhat.com>
50839
50840         Avoid some warnings from "gcc -Wshadow".
50841         * tests/test-frexp.c (exp): Define to a different identifier.
50842         * tests/test-frexpl.c (exp): Likewise.
50843
50844 2008-04-03  Jim Meyering  <meyering@redhat.com>
50845
50846         bootstrap: remove dangling *.[ch] symlinks from lib
50847         * build-aux/bootstrap [dangling symlink removal]: Move find's
50848         -depth option to precede all others, to avoid a warning.
50849         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50850
50851 2008-04-02  Bruno Haible  <bruno@clisp.org>
50852
50853         Avoid some warnings from "gcc -Wshadow".
50854         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50855         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50856         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50857         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50858         Reported by Jim Meyering.
50859
50860 2008-04-01  Bruno Haible  <bruno@clisp.org>
50861
50862         Fix test to work on IRIX 6.5 with cc.
50863         * tests/test-math.c (numeric_equal): New function.
50864         (main): Use it.
50865
50866 2008-04-01  Bruno Haible  <bruno@clisp.org>
50867
50868         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50869
50870 2008-04-01  Bruno Haible  <bruno@clisp.org>
50871
50872         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50873         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50874         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50875         (Depends-on): Remove math.
50876
50877         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50878         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50879         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50880         (Depends-on): Remove math.
50881
50882         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50883         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50884         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50885         (Depends-on): Remove math.
50886         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50887         (Depends-on): Remove math.
50888
50889         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50890         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50891         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50892         (Depends-on): Remove math.
50893         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50894         (Depends-on): Remove math.
50895
50896         * tests/test-round1.c: Include nan.h.
50897         (main): Use NaNd instead of NAN.
50898         * modules/round-tests (Files): Add tests/nan.h.
50899
50900         * tests/test-trunc1.c: Include nan.h.
50901         (main): Use NaNd instead of NAN.
50902         * modules/trunc-tests (Files): Add tests/nan.h.
50903
50904         * tests/test-roundf1.c: Include nan.h.
50905         (main): Use NaNf instead of NAN.
50906         * modules/roundf-tests (Files): Add tests/nan.h.
50907
50908         * tests/test-truncf1.c: Include nan.h.
50909         (main): Use NaNf instead of NAN.
50910         * modules/truncf-tests (Files): Add tests/nan.h.
50911
50912         * tests/test-ceilf1.c: Include nan.h.
50913         (main): Use NaNf instead of NAN.
50914         * modules/ceilf-tests (Files): Add tests/nan.h.
50915
50916         * tests/test-floorf1.c: Include nan.h.
50917         (main): Use NaNf instead of NAN.
50918         * modules/floorf-tests (Files): Add tests/nan.h.
50919
50920         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50921         (main): Use NaNf instead of NAN.
50922         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50923
50924         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50925         (main): Use NaNd instead of NAN.
50926         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50927
50928         * tests/test-frexp.c: Include nan.h.
50929         (main): Use NaNd instead of NAN.
50930         * modules/frexp-tests (Files): Add tests/nan.h.
50931
50932         * lib/isnan.c: Don't include <math.h>.
50933         (FUNC): Don't use NAN macro.
50934         * modules/isnand-nolibm (Depends-on): Remove math.
50935         * modules/isnanf-nolibm (Depends-on): Remove math.
50936         * modules/isnanl (Depends-on): Remove math.
50937         * modules/isnanl-nolibm (Depends-on): Remove math.
50938
50939         * tests/nan.h: New file.
50940
50941 2008-04-01  Eric Blake  <ebb9@byu.net>
50942
50943         Fix typos.
50944         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50945         values to be the right type.
50946
50947         For now, cater to gnulib strtod inaccuracies.
50948         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50949         fractional results.  While not as nice from a QoI perspective, it
50950         is a quicker patch than correctly implementing decimal to binary
50951         rounding.
50952
50953 2008-03-31  Eric Blake  <ebb9@byu.net>
50954
50955         Guarantee a definition of NAN.
50956         * lib/math.in.h (NAN): Define if missing.
50957         * tests/test-math.c (main): Test it.
50958         * doc/posix-headers/math.texi (math.h): Document this.
50959         * lib/isnan.c (rpl_isnand): Use it.
50960         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50961         * tests/test-floorf1.c (NaN): Likewise.
50962         * tests/test-frexp.c (NaN): Likewise.
50963         * tests/test-isnand.c (NaN): Likewise.
50964         * tests/test-isnanf.c (NaN): Likewise.
50965         * tests/test-round1.c (NaN): Likewise.
50966         * tests/test-roundf1.c (NaN): Likewise.
50967         * tests/test-snprintf-posix.h (NaN): Likewise.
50968         * tests/test-sprintf-posix.h (NaN): Likewise.
50969         * tests/test-trunc1.c (NaN): Likewise.
50970         * tests/test-truncf1.c (NaN): Likewise.
50971         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50972         * tests/test-vasprintf-posix.c (NaN): Likewise.
50973         * modules/isnand-nolibm (Depends-on): Add math.
50974         * modules/isnanf-nolibm (Depends-on): Likewise.
50975         * modules/isnanl (Depends-on): Likewise.
50976         * modules/isnanl-nolibm (Depends-on): Likewise.
50977         * modules/snprintf-posix-tests (Depends-on): Likewise.
50978         * modules/sprintf-posix-tests (Depends-on): Likewise.
50979         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50980         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50981         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50982         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50983
50984 2008-03-31  Bruno Haible  <bruno@clisp.org>
50985
50986         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50987         * doc/posix-functions/strtod.texi: Likewise.
50988
50989 2008-03-31  Bruno Haible  <bruno@clisp.org>
50990
50991         * tests/test-strtod.c (main): Don't use C99 syntax.
50992
50993 2008-03-31  Bruno Haible  <bruno@clisp.org>
50994
50995         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50996         Reported by Eric Blake.
50997
50998 2008-03-31  Jim Meyering  <meyering@redhat.com>
50999
51000         Don't compare actual signbit return values.
51001         * tests/test-strtod.c (main): Rather, compare only their
51002         zero/non-zero nature.
51003
51004 2008-03-31  Eric Blake  <ebb9@byu.net>
51005
51006         More strtod documentation.
51007         * doc/posix-functions/strtod.texi (strtod): Interpret more test
51008         failures as distinct bugs.
51009
51010 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51011
51012         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
51013         Problem reported by Erik Benada in
51014         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
51015
51016 2008-03-30  Bruno Haible  <bruno@clisp.org>
51017
51018         * tests/test-strtod.c: Add comments about which assertion fails on which
51019         platform.
51020         * doc/posix-functions/strtod.texi: Add info about many more platforms.
51021
51022 2008-03-30  Eric Blake  <ebb9@byu.net>
51023
51024         Test signbit behavior on zeros.
51025         * tests/test-signbit.c (test_signbitf): Add tests for zero.
51026         (test_signbitd, test_signbitl): Likewise.
51027
51028         More strtod touchups.
51029         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
51030         sign of negative underflow, for now.  Use .5, not .1.
51031         * doc/posix-functions/strtod.texi (strtod): Mention these
51032         limitations.
51033         Reported by Jim Meyering.
51034
51035 2008-03-30  Bruno Haible  <bruno@clisp.org>
51036
51037         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
51038         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
51039
51040 2008-03-30  Bruno Haible  <bruno@clisp.org>
51041
51042         Avoid failure when attempting to return empty iconv results on some
51043         platforms.
51044         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
51045         allocation, don't report ENOMEM when the resulting string is empty.
51046
51047 2008-03-30  Bruno Haible  <bruno@clisp.org>
51048
51049         Fix buffer overrun.
51050         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
51051         Don't consider the width for tmp_length. Check count against tmp_length
51052         before doing the padding. Ensure enough allocation during padding.
51053
51054 2008-03-30  Eric Blake  <ebb9@byu.net>
51055
51056         strtod touchups.
51057         * lib/strtod.c (strtod): Avoid compiler warnings.
51058         Reported by Jim Meyering.
51059
51060 2008-03-30  Bruno Haible  <bruno@clisp.org>
51061
51062         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
51063         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
51064         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
51065         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
51066         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
51067         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
51068         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
51069         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
51070
51071         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
51072         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
51073         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
51074         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
51075         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
51076         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
51077         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
51078         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
51079
51080         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
51081         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
51082         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
51083         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
51084         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
51085         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
51086         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
51087         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
51088
51089         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
51090         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
51091
51092         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
51093         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
51094
51095         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
51096         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
51097
51098         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
51099         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
51100         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
51101
51102         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
51103         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
51104         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
51105
51106         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
51107         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
51108         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
51109
51110         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
51111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
51112         * modules/vasprintf (Depends-on): Add EOVERFLOW.
51113
51114         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
51115         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
51116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
51117         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
51118         (Depends-on): Add EOVERFLOW.
51119         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
51120         (Depends-on): Add EOVERFLOW.
51121         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
51122         (Depends-on): Add EOVERFLOW.
51123         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
51124         (Depends-on): Add EOVERFLOW.
51125         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
51126         (Depends-on): Add EOVERFLOW.
51127         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
51128         (Depends-on): Add EOVERFLOW.
51129         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
51130         (Depends-on): Add EOVERFLOW.
51131         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
51132         (Depends-on): Add EOVERFLOW.
51133
51134         * lib/sprintf.c (EOVERFLOW): Remove fallback.
51135         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
51136         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
51137
51138         * lib/snprintf.c (EOVERFLOW): Remove fallback.
51139         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
51140         * modules/snprintf (Depends-on): Add EOVERFLOW.
51141
51142         * lib/poll.c (EOVERFLOW): Remove fallback.
51143         * modules/poll (Depends-on): Add EOVERFLOW.
51144
51145         * lib/getugroups.c (EOVERFLOW): Remove fallback.
51146         * modules/getugroups (Depends-on): Add EOVERFLOW.
51147
51148         * lib/getdelim.c (EOVERFLOW): Remove fallback.
51149         * modules/getdelim (Depends-on): Add EOVERFLOW.
51150
51151         * lib/ftell.c (EOVERFLOW): Remove fallback.
51152         * modules/ftell (Depends-on): Add EOVERFLOW.
51153
51154         * lib/fprintf.c (EOVERFLOW): Remove fallback.
51155         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
51156         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
51157
51158         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
51159
51160         * modules/EOVERFLOW-tests: New file.
51161         * tests/test-EOVERFLOW.c: New file.
51162
51163         * modules/EOVERFLOW: New file.
51164         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
51165
51166 2008-03-30  Bruno Haible  <bruno@clisp.org>
51167
51168         Fix bug introduced on 2007-06-10.
51169         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
51170         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
51171
51172 2008-03-30  Bruno Haible  <bruno@clisp.org>
51173
51174         Improve freadseek's efficiency after ungetc.
51175         * lib/freadseek.c: Include freadahead.h.
51176         (freadptrinc): New function, extracted from freadseek.
51177         (freadseek): Use it in a loop. Use freadahead to determine the number
51178         of loop iterations.
51179         * modules/freadseek (Depends-on): Add freadahead.
51180         (configure.ac): Require AC_C_INLINE.
51181
51182 2008-03-30  Bruno Haible  <bruno@clisp.org>
51183
51184         * lib/freadseek.c (freadseek): Don't ignore the return value of
51185         freadptr.
51186
51187 2008-03-29  Eric Blake  <ebb9@byu.net>
51188
51189         Add hex float support.
51190         * modules/strtod (Depends-on): Add c-ctype.
51191         (Link): Mention POW_LIB.
51192         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
51193         whitespace between 'e' and exponent.
51194         * tests/test-strtod.c (main): Enable hex float tests.
51195         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
51196         now provides.
51197
51198         Document various strtod bugs, with some fixes.
51199         * doc/posix-functions/strtod.texi (strtod): Document bugs with
51200         "-0x", "inf", "nan", and hex constants.
51201         * doc/posix-functions/atof.texi (atof): Likewise.
51202         * modules/stdlib (Makefile.am): Support strtod.
51203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
51204         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
51205         detect additional strtod bugs.
51206         * lib/stdlib.in.h (rpl_strtod): Add declarations.
51207         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
51208         bool where appropriate.  Parse 'inf' and 'nan'.
51209         * tests/test-strtod.c: New file.
51210         * modules/strtod (Depends-on): Add stdbool, stdlib.
51211         (configure.ac): Turn on module indicator.
51212         * modules/strtod-tests: New module.
51213
51214 2008-03-29  Eric Blake  <ebb9@byu.net>
51215
51216         Fix ftell on mingw.
51217         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
51218         * modules/ftell-tests (Depends-on): Add binary-io.
51219         * modules/ftello-tests (Depends-on): Likewise.
51220         * tests/test-ftell.c (main): Enhance test to cover behavior after
51221         ungetc.  Enforce binary mode.
51222         * tests/test-ftello.c (main): Likewise.
51223
51224         Pass test-freadseek on cygwin.
51225         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
51226         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
51227         ungetc buffer.
51228
51229         * tests/test-fflush2.c (main): Fix typo.
51230
51231 2008-03-29  Bruno Haible  <bruno@clisp.org>
51232
51233         * tests/test-fflush2.c (main): Temporarily disable the contents of
51234         this test.
51235         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
51236         Reported by Eric Blake.
51237
51238 2008-03-28  Simon Josefsson  <simon@josefsson.org>
51239
51240         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
51241         (GC_SHA224_DIGEST_SIZE): Add.
51242
51243         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
51244         (gc_hash_digest_length): Likewise.
51245         (gc_hash_buffer): Likewise.
51246
51247 2008-03-25  Bruno Haible  <bruno@clisp.org>
51248
51249         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
51250         detail which gettext release to use.
51251         Reported by Simon Josefsson.
51252
51253 2008-03-26  Jim Meyering  <meyering@redhat.com>
51254
51255         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
51256         * modules/gnumakefile (clean-GNUmakefile): Also, use
51257         test ... && ... || : syntax rather than if-then ... fi.
51258
51259         gnumakefile: Don't double-quote-expand $(VPATH) value.
51260         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
51261
51262 2008-03-24  Eric Blake  <ebb9@byu.net>
51263
51264         Alter GNUmakefile to install into top directory.
51265         * modules/maintainer-makefile: Split, and add dependency...
51266         * modules/gnumakefile: to this new module.
51267         * build-aux/GNUmakefile: Move...
51268         * top/GNUmakefile: ...here.
51269         * build-aux/maint.mk: Move...
51270         * top/maint.mk: ...here.
51271         * MODULES.html.sh (Support for maintaining...): Document new
51272         module.
51273
51274 2008-03-23  Bruno Haible  <bruno@clisp.org>
51275
51276         * gnulib-tool: New options --vc-files, --no-vc-files.
51277         (func_usage): Document them.
51278         (vc_files): New variable.
51279         (func_import): Consider vc_files.
51280         (func_create_testdir): Set vc_files to empty.
51281         Suggested by Jim Meyering and Karl Berry.
51282
51283 2008-03-23  Bruno Haible  <bruno@clisp.org>
51284
51285         Fix regex compilation error on HP-UX 11.
51286         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
51287         * modules/regex (Files): Add m4/mbstate_t.m4.
51288         Reported by Ton Voon <ton.voon@altinity.com>.
51289
51290 2008-03-23  Bruno Haible  <bruno@clisp.org>
51291
51292         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
51293
51294 2008-03-23  Eric Blake  <ebb9@byu.net>
51295             Bruno Haible  <bruno@clisp.org>
51296
51297         Install files from top/ in the destination directory.
51298         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51299         augmentation also for the files from top/.
51300         (func_import, func_create_testdir): Rewrite file names:
51301         top/filename -> filename.
51302
51303 2008-03-23  Bruno Haible  <bruno@clisp.org>
51304
51305         Tweak "gnulib --version" output.
51306         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
51307
51308 2008-03-23  Bruno Haible  <bruno@clisp.org>
51309
51310         Tweak "gnulib --version" output.
51311         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
51312         rather than contents of ChangeLog, when possible.
51313
51314 2008-03-21  Eric Blake  <ebb9@byu.net>
51315
51316         More --version tweaks.
51317         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
51318         date of last ChangeLog entry.
51319
51320 2008-03-21  Jim Meyering  <meyering@redhat.com>
51321
51322         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
51323
51324 2008-03-20  Eric Blake  <ebb9@byu.net>
51325
51326         VPATH fix.
51327         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
51328
51329 2008-03-20  Simon Josefsson  <simon@josefsson.org>
51330
51331         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
51332         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
51333
51334 2008-03-20  Eric Blake  <ebb9@byu.net>
51335
51336         Sync GNUmakefile with coreutils.
51337         * build-aux/GNUmakefile (have-Makefile): Rename...
51338         (_have-Makefile): ...to this, for namespace consideration.
51339         (GNUmakefile.cfg): Include, if present.
51340         (_autoreconf): Define a default.
51341         (_is-dist-target): New rule for rebuilds to pick up intra-release
51342         version.
51343         (maint-cfg.mk): Rename...
51344         (cfg.mk): ...to this.
51345
51346 2008-03-18  Jim Meyering  <meyering@redhat.com>
51347
51348         New script and module: mktempd
51349         * MODULES.html.sh (maint+release support): Add mktempd.
51350         * build-aux/mktempd: New file.
51351         * modules/mktempd: New file.
51352
51353 2008-03-15  Jim Meyering  <meyering@redhat.com>
51354
51355         Undo last change.
51356         * lib/sha1.c, lib/md5.c: 63 != ~63.
51357         Reported by Andreas Schwab.
51358
51359         sha1.c, md5.c: Hoist a redundant expression.
51360         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
51361         "ctx->buflen" only once, before calling *_process_block.
51362         * lib/md5.c (md5_process_bytes): Likewise.
51363
51364 2008-03-14  Eric Blake  <ebb9@byu.net>
51365
51366         Bump copyright year in files generated by gnulib-tool.
51367         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
51368         gnulib-tool, rather than hard-coding it.
51369
51370         Fix 'gnulib-tool --version' output to work with git.
51371         * gnulib-tool (func_gnulib_dir): New function, extracted from...
51372         (startup): ...here.
51373         (func_version): Use it to invoke git-version-gen, rather than
51374         relying on CVS keyword expansion.  Modernize wording.
51375         (cvsdatestamp, last_checkin_date, version): Kill unused
51376         variables.
51377
51378 2008-03-12  Jim Meyering  <meyering@redhat.com>
51379
51380         Recognize optional cast of the argument to free.
51381         * build-aux/useless-if-before-free: Update regexps.
51382
51383         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
51384
51385 2008-03-11  Bruno Haible  <bruno@clisp.org>
51386
51387         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
51388         by a single package.
51389         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
51390         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
51391         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
51392         Reported by Sam Steingold <sds@gnu.org>.
51393
51394 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51395
51396         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
51397         repositories.
51398
51399 2008-03-11  Bruno Haible  <bruno@clisp.org>
51400
51401         Avoid conflicts between local macro definitions.
51402         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51403         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
51404
51405 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
51406             Bruno Haible  <bruno@clisp.org>
51407
51408         Make va_copy work with some version of xlc on AIX 5.1.
51409         * lib/stdarg.in.h: New file.
51410         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51411         On AIX, use a <stdarg.h> file substitute.
51412         * modules/stdarg (Files): Add lib/stdarg.in.h.
51413         (Depends-on): Add include_next.
51414         (Makefile.am): Build a stdarg.h substitute if requested.
51415         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51416
51417 2008-03-10  Bruno Haible  <bruno@clisp.org>
51418
51419         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51420         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51421         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51422
51423 2008-03-10  Bruno Haible  <bruno@clisp.org>
51424
51425         * modules/stdlib (Depends-on): Add include_next, remove
51426         absolute-header.
51427
51428 2008-03-09  Bruno Haible  <bruno@clisp.org>
51429
51430         * lib/freadahead.h (freadahead): Document more precisely.
51431         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51432         the sum of both buffer sizes.
51433         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51434         * NEWS: Document the change.
51435
51436 2008-03-09  Bruno Haible  <bruno@clisp.org>
51437
51438         Extend freadptr to return also the buffer size.
51439         * lib/freadptr.h (freadptr): Add sizep argument.
51440         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51441         (freadptr): Add sizep argument. Determine buffer size like freadahead
51442         does.
51443         * tests/test-freadptr.c: Don't include freadahead.h.
51444         (main): Adapt for new calling convention of freadptr.
51445         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51446         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51447         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51448         tests/test-freadptr2.sh.
51449         (Depends): Remove freadahead.
51450         (TESTS): Add test-freadptr2.sh.
51451         (check_PROGRAMS): Add test-freadptr2.
51452
51453 2008-03-09  Bruno Haible  <bruno@clisp.org>
51454
51455         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51456         Report and solution by Simon Josefsson.
51457
51458 2008-03-06  Bruno Haible  <bruno@clisp.org>
51459
51460         Make fflush after ungetc work on BSD platforms.
51461         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51462         * tests/test-fflush2.c: New file.
51463         * tests/test-fflush2.sh: New file.
51464         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51465         tests/test-fflush2.c.
51466         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51467         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51468
51469 2008-03-06  Eric Blake  <ebb9@byu.net>
51470
51471         Likewise for ftello.
51472         * modules/ftello (Dependencies): Add extensions.
51473         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51474
51475 2008-03-06  Bruno Haible  <bruno@clisp.org>
51476
51477         * modules/fseeko (Dependencies): Add extensions.
51478         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51479         Needed on glibc systems.
51480
51481 2008-03-06  Bruno Haible  <bruno@clisp.org>
51482
51483         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51484         email address.
51485         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51486
51487 2008-03-06  Bruno Haible  <bruno@clisp.org>
51488
51489         * users.txt: Add libgnupdf.
51490
51491 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51492
51493         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51494         (Header File Substitutes, Function Substitutes,
51495         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51496         (Build robot for gnulib): Fix typo.
51497
51498 2008-03-06  Bruno Haible  <bruno@clisp.org>
51499
51500         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51501         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51502
51503 2008-03-06  Bruno Haible  <bruno@clisp.org>
51504
51505         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51506         * doc/gnulib.texi: Include it.
51507
51508 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51509
51510         * modules/func (License): Change license to unlimited; there was
51511         no LGPL parts in the module anyway.
51512
51513 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51514
51515         * modules/__func__: Renamed to modules/func.
51516         * modules/__func__-tests: Renamed to modules/func-tests.
51517         * tests/test-__func__.c: Renamed to tests/test-func.c.
51518         * m4/__func__.m4: Renamed to m4/func.m4.
51519         * doc/gnulib.texi (__func__): Section renamed to func.
51520         Suggested by Eric Blake <ebb9@byu.net>.
51521
51522 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51523
51524         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51525         about __func__.  Make example self-contained.  Suggested by Eric
51526         Blake <ebb9@byu.net>.
51527
51528         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51529         Suggested by Eric Blake <ebb9@byu.net>.
51530
51531 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51532
51533         * modules/__func__: New file.
51534         * modules/__func__-tests: New file.
51535         * tests/test-__func__.c: New file.
51536         * m4/__func__.m4: New file.
51537         * doc/gnulib.texi (__func__): Document __func__ module.
51538
51539 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51540
51541         * modules/byteswap (License): Re-license as LGPLv2+.
51542
51543 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51544
51545         * doc/Makefile: Add pdf target.
51546
51547 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51548
51549         * modules/inline (License): Use 'unlimited', since there are only
51550         *.m4 files in this module.
51551
51552 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51553             Bruno Haible  <bruno@clisp.org>
51554
51555         Add support for HP C 7.1 on OpenVMS 8.3.
51556         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51557
51558 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51559
51560         Update VMS specifics.
51561         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51562
51563 2008-03-02  Jim Meyering  <meyering@redhat.com>
51564
51565         Remove the last dependency on the "free" module.
51566         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51567         Reported by Bob Proulx.
51568
51569         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51570
51571         Remove useless "if" tests before free.  Deprecate "free" module.
51572         * doc/posix-functions/free.texi: Mention that this
51573         module is no longer useful.
51574         * modules/free (Notice): Say this module is obsolete.
51575         * modules/readutmp (Depends-on): Remove free.
51576         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51577         * lib/putenv.c (putenv): Likewise.
51578         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51579         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51580         * tests/test-c-strcasestr.c (main): Likewise.
51581         * tests/test-c-strstr.c (main): Likewise.
51582         * tests/test-mbscasestr1.c (main): Likewise.
51583         * tests/test-mbscasestr2.c (main): Likewise.
51584         * tests/test-mbsstr1.c (main): Likewise.
51585         * tests/test-mbsstr2.c (main): Likewise.
51586         * tests/test-memmem.c (main): Likewise.
51587         * tests/test-strcasestr.c (main): Likewise.
51588         * tests/test-striconv.c (main): Likewise.
51589         * tests/test-striconveh.c (main): Likewise.
51590         * tests/test-striconveha.c (main): Likewise.
51591         * tests/test-strstr.c (main): Likewise.
51592
51593         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51594
51595         bootstrap: sync from coreutils again
51596         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51597
51598 2008-03-01  Jim Meyering  <meyering@redhat.com>
51599
51600         bootstrap: sync from coreutils
51601         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51602         also when the target doesn't exist.
51603
51604 2008-03-01  Eric Blake  <ebb9@byu.net>
51605
51606         Fix bugs in last patch.
51607         * lib/memchr2.c (memchr2): Fix typo.
51608         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51609         extension.
51610         Reported by Bruce Korb.
51611
51612         New module 'memchr2'.
51613         * modules/memchr2: New file.
51614         * modules/memchr2-tests: Likewise.
51615         * lib/memchr2.h: Likewise.
51616         * lib/memchr2.c: Likewise, based on memchr.c.
51617         * tests/test-memchr2.c: New test.
51618         * MODULES.html.sh (String handling): Add memchr2.
51619
51620 2008-02-29  Bruno Haible  <bruno@clisp.org>
51621
51622         * modules/freadseek-tests: New file.
51623         * tests/test-freadseek.sh: New file.
51624         * tests/test-freadseek.c: New file.
51625
51626         New module 'freadseek'.
51627         * modules/freadseek: New file.
51628         * lib/freadseek.h: New file.
51629         * lib/freadseek.c: New file.
51630         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51631
51632 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51633
51634         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51635         wydawca.
51636
51637         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51638         program_invocation_name and program_invocation_short_name are
51639         present.
51640
51641 2008-02-28  Bruno Haible  <bruno@clisp.org>
51642
51643         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51644         * tests/test-freadptr.sh: Also test non-seekable stdin.
51645
51646 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51647
51648         * build-aux/bootstrap (source_base, m4_base)
51649         (doc_base, tests_base): New variables.
51650         (gnulib_tool_options): Do not hardcode base directories, use
51651         the above variables instead.
51652
51653 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51654
51655         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51656
51657 2008-02-28  Bruno Haible  <bruno@clisp.org>
51658
51659         * modules/freadptr-tests: New file.
51660         * tests/test-freadptr.sh: New file.
51661         * tests/test-freadptr.c: New file.
51662
51663         New module 'freadptr'.
51664         * modules/freadptr: New file.
51665         * lib/freadptr.h: New file.
51666         * lib/freadptr.c: New file.
51667         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51668
51669 2008-02-26  Karl Berry  <karl@freefriends.org>
51670
51671         Sync from Libtool:
51672         * libltdl/argz.c (argz_add, argz_count): New functions.
51673         * libltdl/argz.in.h: Declare them.
51674         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51675
51676 2008-02-22  Bruno Haible  <bruno@clisp.org>
51677
51678         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51679         is a pointer type.  Needed for HP-UX 10.
51680         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51681         * doc/posix-functions/gmtime_r.texi: Likewise.
51682         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51683
51684 2008-02-24  Bruno Haible  <bruno@clisp.org>
51685
51686         * modules/environ-tests: New file.
51687         * tests/test-environ.c: New file.
51688
51689         New module 'environ'.
51690         * modules/environ: New file.
51691         * lib/unistd.in.h (environ): New declaration.
51692         * m4/environ.m4: New file.
51693         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51694         after use.
51695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51696         HAVE_DECL_ENVIRON.
51697         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51698         HAVE_DECL_ENVIRON.
51699         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51700         wrong claim that 'environ' is missing on some systems.
51701         * modules/execute (Depends-on): Add environ.
51702         * lib/execute.c (environ): Remove fallback declaration.
51703         * modules/pipe (Depends-on): Add environ.
51704         * lib/pipe.c (environ): Remove fallback declaration.
51705         * modules/setenv (Depends-on): Add environ.
51706         * lib/setenv.c (environ): Remove fallback declaration.
51707         * modules/unsetenv (Depends-on): Add environ.
51708         * lib/unsetenv.c (environ): Remove fallback declaration.
51709         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51710         m4/environ.m4.
51711         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51712         (gl_PREREQ_UNSETENV): Likewise.
51713
51714 2008-02-24  Bruno Haible  <bruno@clisp.org>
51715
51716         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51717
51718 2008-02-20  Bob Proulx  <bob@proulx.com>
51719
51720         Enable use of older two part flavor 'git describe'.
51721         * build-aux/git-version-gen: If using the older two part flavor of
51722         git version then recreate the third part now present in the
51723         newer three part flavor of git describe.
51724
51725 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51726
51727         * lib/fts.c (fts_build): Typo correction to comment.
51728
51729 2008-02-17  Bruno Haible  <bruno@clisp.org>
51730
51731         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51732         generating no-op conflicts.
51733
51734 2008-02-17  Bruno Haible  <bruno@clisp.org>
51735
51736         Speed up by 10%.
51737         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51738         result_entries, rather than an index-based loop.
51739
51740 2008-02-17  Bruno Haible  <bruno@clisp.org>
51741
51742         Speed up by 25%.
51743         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51744         'hashcode_cached'.
51745         (entry_create): New function.
51746         (entry_hashcode): Use the cached hashcode if possible.
51747         (read_changelog_file, try_split_merged_entry): Use entry_create.
51748
51749 2008-02-17  Bruno Haible  <bruno@clisp.org>
51750
51751         Speed up from O(n^2) to O(n) for long ChangeLog files.
51752         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51753         (read_changelog_file): Change implementation of entries_reversed list
51754         to rbtreehash.
51755         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51756
51757 2008-02-17  Bruno Haible  <bruno@clisp.org>
51758
51759         New option --split-merged-entry.
51760         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51761         (find_paragraph_end, try_split_merged_entry): New functions.
51762         (long_options): Add option --split-merged-entry.
51763         (usage): Document option --split-merged-entry.
51764         (main): Implement option --split-merged-entry.
51765         Reported by Eric Blake.
51766
51767 2008-02-17  Bruno Haible  <bruno@clisp.org>
51768
51769         * lib/git-merge-changelog.c: Include c-strstr.h.
51770         (main): Support the "git pull --rebase" situation.
51771         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51772         Reported by Eric Blake.
51773
51774 2008-02-16  Eric Blake  <ebb9@byu.net>
51775
51776         Avoid doubling \ in common case of "c-maybe" quoting style.
51777         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51778         eliding outer quotes.
51779         * lib/quotearg.h: Document this.
51780         * tests/test-quotearg.c (result_strings, inputs, results_g)
51781         (flag_results, locale_results): Test it by adding a new string to
51782         each test group.
51783         (compare_strings): Test new string.
51784
51785 2008-02-13  Eric Blake  <ebb9@byu.net>
51786
51787         Avoid trigraph quoting in default output.
51788         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51789         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51790         unless explicitly requested.
51791         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51792
51793 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51794
51795         Don't rely on signed integer overflowing to negative value.
51796         * lib/getugroups.c (getugroups): Include <limits.h>.
51797         Instead, compare against INT_MAX, and increment only if the test passes.
51798
51799 2008-02-13  Jim Meyering  <meyering@redhat.com>
51800         and Eric Blake  <ebb9@byu.net>
51801
51802         Avoid shadowing warning and compile errors on Linux.
51803         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51804         forwarding macros on Linux.
51805         (dcgettext): Define a stub, for Linux.
51806         (results_g, main): Avoid warnings.
51807
51808 2008-02-12  Eric Blake  <ebb9@byu.net>
51809
51810         Silence warning in last patch.
51811         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51812
51813         Quotearg part 4: add tests, fix c-maybe colon quoting.
51814         * lib/quotearg.h: Improve documentation.
51815         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51816         escapes when adding outer quotes.  When quoting trigraphs, use
51817         valid C notation.  When quoting NUL, omit extra characters if next
51818         character is not digit.  Alter prototype.
51819         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51820         callers.
51821         * modules/quotearg-tests: New module.
51822         * tests/test-quotearg.c: New test.
51823
51824 2008-02-07  Eric Blake  <ebb9@byu.net>
51825
51826         Quotearg part 3: add flag to control outer quote elision.
51827         * lib/quotearg.h (c_maybe_quoting_style): New style.
51828         (enum quoting_flags): Better documentation of flags.
51829         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51830         c-maybe style.
51831         (quotearg_buffer_restyled): Handle new flag to elide outer
51832         quotes.
51833
51834         Quotearg part 2: add flag that can control NUL elision.
51835         * lib/quotearg.h (set_quoting_flags): New prototype.
51836         * lib/quotearg.c (struct quoting_options): Add flag field.
51837         (set_quoting_flags): New function.
51838         (quotearg_buffer_restyled): Add flags parameter.
51839         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51840         (quotearg_n_options): Set the flag, since length cannot be
51841         returned.
51842         (quoting_options_from_style): Default flags correctly.
51843
51844         Quotearg part 1: more wrappers, restore quotearg_char state.
51845         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51846         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51847         (quotearg_colon_mem): New wrappers.
51848         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51849         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51850         functions.
51851         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51852         (quotearg_colon_mem): New functions.
51853
51854 2008-02-11  Bruno Haible  <bruno@clisp.org>
51855
51856         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51857         library in the current directory: it does not work with parallel make.
51858         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51859
51860 2008-02-11  Bruno Haible  <bruno@clisp.org>
51861
51862         * .gitattributes: New file.
51863
51864 2008-02-11  Jim Meyering  <meyering@redhat.com>
51865
51866         useless-if-before-free: Fix reversed exit values.
51867         * build-aux/useless-if-before-free: Use correct values
51868         for EXIT_MATCH and EXIT_NO_MATCH.
51869
51870         * build-aux/useless-if-before-free: Close stdout carefully.
51871
51872 2008-02-10  Bruno Haible  <bruno@clisp.org>
51873
51874         New module 'git-merge-changelog'.
51875         * modules/git-merge-changelog: New file.
51876         * lib/git-merge-changelog.c: New file.
51877
51878 2008-02-10  Jim Meyering  <meyering@redhat.com>
51879
51880         useless-if-before-free: New option: --list (-l).
51881
51882         useless-if-before-free: Don't exit immediately upon open failure.
51883         * build-aux/useless-if-before-free: Exit 2 for errors.
51884         Upon failure to open a file, don't exit immediately.
51885         Rather, just warn and continue with any remaining files.
51886
51887 2008-02-10  Bruno Haible  <bruno@clisp.org>
51888
51889         New abstract list operation 'node_set_value'.
51890         * lib/gl_list.h (gl_list_node_set_value): New function.
51891         (struct gl_list_implementation): New field node_set_value.
51892         * lib/gl_list.c (gl_list_node_set_value): New function.
51893         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51894         (gl_array_list_implementation): Update.
51895         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51896         (gl_carray_list_implementation): Update.
51897         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51898         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51899         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51900         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51901         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51902         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51903         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51904         Update.
51905         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51906         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51907         (gl_sublist_list_implementation): Update.
51908
51909 2008-02-10  Bruno Haible  <bruno@clisp.org>
51910
51911         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51912         Needed when ELEMENT is #defined to 'some_type *'.
51913
51914 2008-02-10  Jim Meyering  <meyering@redhat.com>
51915
51916         New script and module: useless-if-before-free
51917         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51918         * build-aux/useless-if-before-free: New file.
51919         * modules/useless-if-before-free: New file.
51920
51921         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51922
51923         xstrtol_error: Fix typo.
51924         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51925         s/exit_failure/exit_status/.
51926
51927 2008-02-09  Jim Meyering  <meyering@redhat.com>
51928
51929         New script and module: gitlog-to-changelog
51930         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51931         * modules/gitlog-to-changelog: New file.
51932         * build-aux/gitlog-to-changelog: New file.
51933
51934 2008-02-08  Jim Meyering  <meyering@redhat.com>
51935
51936         Avoid two "parameter unused" warnings.
51937         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51938         Mark "st" as used.
51939
51940         Use "git COMMAND", not "git-COMMAND".
51941         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51942         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51943         * build-aux/git-version-gen: Use "git status", not "git-status".
51944
51945 2008-02-07  Bruno Haible  <bruno@clisp.org>
51946
51947         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51948         Avoids a crash on Windows Vista.
51949         Reported by Adam Strzelecki <ono@java.pl> via
51950         Simon Josefsson <simon@josefsson.org>.
51951
51952 2008-02-06  Bruno Haible  <bruno@clisp.org>
51953
51954         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51955         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51956         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51958         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51959         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51960         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51961         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51962         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51963         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51964         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51965         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51966         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51967         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51968         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51969         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51970         left-adjust flag.
51971         * tests/test-snprintf-posix.h (test_function): Likewise.
51972         * tests/test-sprintf-posix.h (test_function): Likewise.
51973         * tests/test-vasprintf-posix.c (test_function): Likewise.
51974         * doc/posix-functions/fprintf.texi: Update.
51975         * doc/posix-functions/printf.texi: Update.
51976         * doc/posix-functions/snprintf.texi: Update.
51977         * doc/posix-functions/sprintf.texi: Update.
51978         * doc/posix-functions/vfprintf.texi: Update.
51979         * doc/posix-functions/vprintf.texi: Update.
51980         * doc/posix-functions/vsnprintf.texi: Update.
51981         * doc/posix-functions/vsprintf.texi: Update.
51982         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51983
51984 2008-02-06  Bruno Haible  <bruno@clisp.org>
51985
51986         Fix bug introduced on 2008-01-26.
51987         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51988
51989 2008-02-06  Bruno Haible  <bruno@clisp.org>
51990
51991         Fix bug introduced on 2007-06-10.
51992         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51993         !NEED_PRINTF_FLAG_ZERO.
51994
51995 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51996
51997         getloadavg: use libperfstat on AIX5
51998         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51999
52000 2008-02-03  Bruno Haible  <bruno@clisp.org>
52001
52002         * lib/diffseq.h: Add comments about required #includes.
52003         Reported by Michael Biggs <gnulib@doubleplum.net>.
52004
52005 2008-02-01  Bruno Haible  <bruno@clisp.org>
52006
52007         * users.txt: Add gnuit.
52008
52009 2008-01-31  Bruno Haible  <bruno@clisp.org>
52010
52011         * lib/md4.c (set_uint32): Mark as inline.
52012         * lib/md5.c (set_uint32): Likewise.
52013         * lib/sha1.c (set_uint32): Likewise.
52014         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
52015         * m4/md5.m4 (gl_MD5): Likewise.
52016         * m4/sha1.m4 (gl_SHA1): Likewise.
52017
52018 2008-01-31  Jim Meyering  <meyering@redhat.com>
52019
52020         Use "sizeof VAR", rather than a literal "4".
52021         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
52022         * lib/md4.c (md4_read_ctx): Likewise.
52023         * lib/sha1.c (sha1_read_ctx): Likewise.
52024
52025 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52026
52027         * tests/test-sha1.c: New file, based on test-md5.c.
52028
52029         * modules/crypto/sha1-tests: New file.
52030
52031 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52032
52033         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
52034
52035 2008-01-31  Jim Meyering  <meyering@redhat.com>
52036
52037         Prefer "sizeof v" over the equivalent "4".
52038         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
52039         * lib/md5.c (set_uint32): Likewise.
52040         * lib/sha1.c (set_uint32): Likewise.
52041
52042 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52043
52044         * lib/sha1.c (set_uint32): Mark function as static.
52045
52046 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52047
52048         md2: clarify comments to say that alignment is not required.
52049         * lib/md2.h: Remove warning about alignment in comment.
52050         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
52051         never been required.
52052
52053 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52054
52055         md4: adapt alignment constraint fix from sha1.
52056         * lib/md4.c (set_uint32): New function, from sha1.c
52057         (md4_read_ctx): Use it.
52058         (md4_finish_ctx): Doc fix.
52059         * lib/md4.h: Doc fix.
52060
52061 2008-01-31  Simon Josefsson  <simon@josefsson.org>
52062
52063         md5: adapt alignment constraint fix from sha1.
52064         * lib/md5.c (set_uint32): New function, from sha1.c
52065         (md5_read_ctx): Use it.
52066         (md5_finish_ctx): Doc fix.
52067         * lib/md5.h: Doc fix.
52068
52069 2008-01-30  Peter Palfrader  <weasel@debian.org>
52070
52071         sha1: remove the result buffer alignment constraint
52072         * lib/sha1.c (set_uint32): New function.
52073         (sha1_read_ctx): Rewrite to remove the result buffer alignment
52074         constraint.
52075         (sha1_finish_ctx): Remove comment warning about alignment constraint.
52076         * lib/sha1.h: Likewise.
52077
52078 2008-01-30  Andreas Schwab  <schwab@suse.de>
52079             Bruno Haible  <bruno@clisp.org>
52080
52081         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
52082         correct definition of LDBL_MIN_EXP.
52083
52084 2008-01-30  Karl Berry  <karl@gnu.org>
52085
52086         * config/srclist-update: try to preserve x bit on updates.
52087         * config/srclistvars.sh: update for karl.
52088
52089 2008-01-29  Jim Meyering  <meyering@redhat.com>
52090
52091         vasnprintf.c: Avoid warning about unused label
52092         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
52093         "overflow" label definition and associated code with the
52094         same cpp condition that guards the sole use of that label.
52095
52096 2008-01-26  Bruno Haible  <bruno@clisp.org>
52097
52098         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
52099         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
52100         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
52101         * lib/isnanl-nolibm.h (isnanl): Likewise.
52102         Reported by Paul Eggert <eggert@cs.ucla.edu>.
52103
52104 2008-01-26  Bruno Haible  <bruno@clisp.org>
52105
52106         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
52107         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
52108
52109 2008-01-26  Bruno Haible  <bruno@clisp.org>
52110
52111         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
52112         GCC >= 4.0 built-in.
52113         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
52114
52115 2008-01-26  Bruno Haible  <bruno@clisp.org>
52116
52117         Rename isnan, applicable to 'double' only, to isnand.
52118         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
52119         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
52120         (configure.ac): Update.
52121         (Include): Replace "isnan.h" with "isnand.h".
52122         * m4/isnand.m4: Renamed from m4/isnan.m4.
52123         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
52124         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
52125         instead of isnan.c.
52126         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
52127         instead of HAVE_ISNAN_IN_LIBC.
52128         (isnand): Renamed from isnan.
52129         * lib/isnand.c: New file.
52130         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
52131         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
52132         (Makefile.am): Update.
52133         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
52134         Include isnand.h instead of isnan.h.
52135         (main): Test isnand instead of isnan.
52136         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
52137         isnan-nolibm.
52138         * modules/frexp (Depends-on): Likewise.
52139         * modules/frexp-tests (Depends-on): Likewise.
52140         * modules/frexp-nolibm (Depends-on): Likewise.
52141         * modules/frexp-nolibm-tests (Depends-on): Likewise.
52142         * modules/isfinite (Depends-on): Likewise.
52143         * modules/round-tests (Depends-on): Likewise.
52144         * modules/signbit (Depends-on): Likewise.
52145         * modules/signbit-tests (Depends-on): Likewise.
52146         * modules/snprintf-posix (Depends-on): Likewise.
52147         * modules/sprintf-posix (Depends-on): Likewise.
52148         * modules/trunc-tests (Depends-on): Likewise.
52149         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52150         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52151         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52152         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52153         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52154         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52155         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52156         * modules/vasnprintf-posix (Depends-on): Likewise.
52157         * modules/vasprintf-posix (Depends-on): Likewise.
52158         * modules/vfprintf-posix (Depends-on): Likewise.
52159         * modules/vsnprintf-posix (Depends-on): Likewise.
52160         * modules/vsprintf-posix (Depends-on): Likewise.
52161         * lib/frexp.c: Include isnand.h instead of isnan.h.
52162         (ISNAN): Set to isnand instead of isnan.
52163         * lib/isfinite.c: Include isnand.h instead of isnan.h.
52164         (gl_isfinited): Use isnand instead of isnan.
52165         * lib/signbitd.c: Include isnand.h instead of isnan.h.
52166         (gl_signbitd): Use isnand instead of isnan.
52167         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
52168         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
52169         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
52170         (main): Use isnand instead of isnan.
52171         * tests/test-round1.c: Include isnand.h.
52172         (main): Use isnand instead of isnan.
52173         * tests/test-round2.c: Include isnand.h instead of isnan.h.
52174         (ISNAN): Set to isnand instead of isnan.
52175         * tests/test-trunc1.c: Include isnand.h.
52176         (main): Use isnand instead of isnan.
52177         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
52178         (equal): Use isnand instead of isnan.
52179         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
52180         isnand-nolibm.
52181         * NEWS: Mention the change.
52182
52183 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
52184             Bruno Haible  <bruno@clisp.org>
52185
52186         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
52187         the GCC builtins for signbits are present and set
52188         REPLACE_SIGNBIT_USING_GCC if so.
52189         * lib/math.in.h (signbit): Define using GCC builtins if
52190         REPLACE_SIGNBIT_USING_GCC is set.
52191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
52192         REPLACE_SIGNBIT_USING_GCC.
52193         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
52194
52195 2008-01-25  Jim Meyering  <meyering@redhat.com>
52196
52197         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
52198         * lib/poll.c: Include <config.h>, not "config.h".
52199         * tests/test-getaddrinfo.c: Likewise.
52200
52201 2008-01-25  Simon Josefsson  <simon@josefsson.org>
52202
52203         * modules/sockets-tests: New file.
52204
52205 2008-01-24  Simon Josefsson  <simon@josefsson.org>
52206
52207         * modules/sockets: New module, can be used to call WSA_Startup and
52208         WSA_Cleanup when needed.
52209
52210         * lib/sockets.h, lib/sockets.c: New files.
52211
52212         * m4/sockets.m4: New file.
52213
52214         * tests/test-sockets.c: New file.
52215
52216 2008-01-19  Bruno Haible  <bruno@clisp.org>
52217
52218         * doc/posix-headers: Renamed from doc/headers.
52219         * doc/posix-functions: Renamed from doc/functions.
52220         * doc/gnulib.texi: Update.
52221
52222 2008-01-19  Bruno Haible  <bruno@clisp.org>
52223
52224         * doc/glibc-functions/strcasestr.texi: Include contents of
52225         doc/functions/strcasestr.texi, fixing the list of platforms.
52226         * doc/functions/strcasestr.texi: Remove file.
52227
52228 2008-01-19  Bruno Haible  <bruno@clisp.org>
52229
52230         * doc/glibc-functions/memmem.texi: Include contents of
52231         doc/functions/memmem.texi.
52232         * doc/functions/memmem.texi: Remove file.
52233
52234 2008-01-18  Bruno Haible  <bruno@clisp.org>
52235
52236         * doc/glibc-functions/*.texi: New files.
52237         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
52238         to use the new files.
52239
52240 2008-01-17  Bruno Haible  <bruno@clisp.org>
52241
52242         * tests/test-gethostname.c (main): Fix printf statement.
52243
52244 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52245
52246         * modules/gethostname-tests: New file.
52247
52248         * tests/test-gethostname.c: New file.
52249
52250 2008-01-17  Simon Josefsson  <simon@josefsson.org>
52251
52252         * lib/gethostname.c: Include string.h unconditionally, strncpy is
52253         used by the UNAME case.  Reported by Bruno Haible
52254         <bruno@clisp.org>.
52255
52256 2008-01-17  Eric Blake  <ebb9@byu.net>
52257
52258         Convert c-strcasestr to be more efficient.
52259         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
52260         (Depends-on): Add c-strcase, remove malloca, strnlen.
52261         * tests/test-c-strcasestr.c (main): Enhance test.
52262         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
52263
52264 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52265
52266         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
52267         Use it in creating po/Makevars.
52268
52269 2008-01-15  Simon Josefsson  <simon@josefsson.org>
52270
52271         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
52272         Applications that requires it should initialize libgcrypt
52273         manually.
52274
52275 2008-01-16  Simon Josefsson  <simon@josefsson.org>
52276
52277         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
52278
52279 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
52280
52281         Fix problem with getdate on mingw32 reported by Simon Josefsson
52282         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
52283         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
52284         tzname", when deciding whether to declare tzname.
52285         * lib/strftime.c (tzname): Likewise.
52286
52287 2008-01-15  Bruno Haible  <bruno@clisp.org>
52288
52289         Work around a MacOS X 10.5 bug in frexpl().
52290         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
52291         * doc/functions/frexpl.texi: Document the bug.
52292         Reported by Elias Pipping <pipping@gentoo.org>.
52293
52294 2008-01-14  Eric Blake  <ebb9@byu.net>
52295
52296         Touch up previous patch.
52297         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
52298         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
52299
52300         Convert strcasestr module to use Two-Way algorithm.
52301         * modules/strcasestr-simple: New module, based on the old
52302         strcasestr, but with Two-Way rather than KMP.
52303         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
52304         * lib/string.in.h (rpl_strcasestr): Declare.
52305         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
52306         performance.
52307         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
52308         * modules/string (Makefile.am): Support strcasestr.
52309         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
52310         * modules/strcasestr-tests (Depends-on): Check for alarm.
52311         * tests/test-strcasestr.c: Augment test.
52312         * lib/str-two-way.h: Clean up stray macro.
52313         * NEWS: Document new module.
52314         * MODULES.html.sh (string handling): Likewise.
52315         * doc/functions/strcasestr.texi: New file.
52316         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
52317         here, since it is not a POSIX function.
52318
52319 2008-01-14  Colin Watson  <cjwatson@debian.org>
52320             Bruno Haible  <bruno@clisp.org>
52321
52322         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
52323         works fine; if not, set REPLACE_STRSIGNAL.
52324         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
52325         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52326         REPLACE_STRSIGNAL.
52327         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
52328         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
52329         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
52330
52331 2008-01-14  Bruno Haible  <bruno@clisp.org>
52332
52333         * modules/strsignal (Include): Change to <string.h>.
52334
52335 2008-01-14  Colin Watson  <cjwatson@debian.org>
52336
52337         * modules/argp (Notice): Add a notice recommending to change
52338         XGETTEXT_OPTIONS.
52339         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
52340
52341 2008-01-13  Colin Watson  <cjwatson@debian.org>
52342
52343         * modules/strsignal-tests: New file.
52344         * tests/test-strsignal.c: New file.
52345
52346         * lib/strsignal.c: New file, from glibc with modifications.
52347         * lib/siglist.h: New file, from glibc with modifications.
52348         * lib/string.in.h (strsignal): New declaration.
52349         * m4/strsignal.m4: New file.
52350         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52351         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
52352         * modules/strsignal: New file.
52353         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
52354         HAVE_DECL_STRSIGNAL.
52355
52356 2008-01-13  Bruno Haible  <bruno@clisp.org>
52357
52358         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
52359         locale encoding is not ASCII. Needed for OpenBSD 4.0.
52360         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52361         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52362
52363 2008-01-13  Bruno Haible  <bruno@clisp.org>
52364
52365         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
52366         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
52367         * lib/argp.h (__attribute__): Likewise.
52368         * lib/c-stack.c (__attribute__): Likewise.
52369         * lib/error.h (__attribute__): Likewise.
52370         * lib/fts.c (__attribute__): Likewise.
52371         * lib/openat.h (__attribute__): Likewise.
52372         * lib/stdio.in.h (__attribute__): Likewise.
52373         * lib/string.in.h (__attribute__): Likewise.
52374         * lib/utimens.c (__attribute__): Likewise.
52375         * lib/vasnprintf.h (__attribute__): Likewise.
52376         * lib/xalloc.h (__attribute__): Likewise.
52377         * lib/xprintf.h (__attribute__): Likewise.
52378         * lib/xstrtol.h (__attribute__): Likewise.
52379         * lib/xvasprintf.h (__attribute__): Likewise.
52380
52381 2008-01-12  Bruno Haible  <bruno@clisp.org>
52382
52383         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
52384         * doc/glibc-headers/a.out.texi: New file.
52385         * doc/glibc-headers/aliases.texi: New file.
52386         * doc/glibc-headers/alloca.texi: New file.
52387         * doc/glibc-headers/ar.texi: New file.
52388         * doc/glibc-headers/argp.texi: New file.
52389         * doc/glibc-headers/argz.texi: New file.
52390         * doc/glibc-headers/byteswap.texi: New file.
52391         * doc/glibc-headers/crypt.texi: New file.
52392         * doc/glibc-headers/endian.texi: New file.
52393         * doc/glibc-headers/envz.texi: New file.
52394         * doc/glibc-headers/err.texi: New file.
52395         * doc/glibc-headers/error.texi: New file.
52396         * doc/glibc-headers/execinfo.texi: New file.
52397         * doc/glibc-headers/fpu_control.texi: New file.
52398         * doc/glibc-headers/fstab.texi: New file.
52399         * doc/glibc-headers/fts.texi: New file.
52400         * doc/glibc-headers/getopt.texi: New file.
52401         * doc/glibc-headers/ieee754.texi: New file.
52402         * doc/glibc-headers/ifaddrs.texi: New file.
52403         * doc/glibc-headers/libintl.texi: New file.
52404         * doc/glibc-headers/mcheck.texi: New file.
52405         * doc/glibc-headers/mntent.texi: New file.
52406         * doc/glibc-headers/obstack.texi: New file.
52407         * doc/glibc-headers/paths.texi: New file.
52408         * doc/glibc-headers/printf.texi: New file.
52409         * doc/glibc-headers/pty.texi: New file.
52410         * doc/glibc-headers/resolv.texi: New file.
52411         * doc/glibc-headers/shadow.texi: New file.
52412         * doc/glibc-headers/sysexits.texi: New file.
52413         * doc/glibc-headers/ttyent.texi: New file.
52414
52415 2008-01-12  Jim Meyering  <meyering@redhat.com>
52416
52417         announce-gen: emit Gnulib's git-based version string.
52418         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52419         New option --gnulib-version=V, where V is expected to be
52420         the output of running git describe in the gnulib directory.
52421         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52422         not useful, and plan to stop publishing an xdelta file with each
52423         coreutils release.
52424
52425         * build-aux/announce-gen: Also check for lzma-compressed files.
52426
52427 2008-01-11  Bruno Haible  <bruno@clisp.org>
52428
52429         * tests/test-memmem.c (main): Increase maximum allowed time.
52430         * tests/test-strstr.c (main): Likewise.
52431
52432 2008-01-11  Bruno Haible  <bruno@clisp.org>
52433
52434         * doc/functions/memmem.texi: Add more precisions about platforms.
52435         * doc/functions/strstr.texi: Likewise.
52436
52437 2008-01-10  Eric Blake  <ebb9@byu.net>
52438
52439         * m4/strstr.m4: Delete cruft from copy-n-paste.
52440         Reported by Bruno Haible.
52441
52442 2008-01-10  Bruno Haible  <bruno@clisp.org>
52443
52444         Make c-strstr rely on strstr.
52445         * lib/c-strstr.c: Don't include str-kmp.h.
52446         (c_strstr): Define in terms of strstr.
52447         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52448         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52449
52450 2008-01-10  Bruno Haible  <bruno@clisp.org>
52451
52452         * doc/gnulib.texi (String Functions in C Locale): New section.
52453         * doc/c-ctype.texi: New file.
52454         * doc/c-strcase.texi: New file.
52455         * doc/c-strcaseeq.texi: New file.
52456         * doc/c-strcasestr.texi: New file.
52457         * doc/c-strstr.texi: New file.
52458         * doc/c-strtod.texi: New file.
52459         * doc/c-strtold.texi: New file.
52460
52461 2008-01-10  Eric Blake  <ebb9@byu.net>
52462
52463         * lib/relocatable.h: Fix a comment.
52464
52465 2008-01-10  Eric Blake  <ebb9@byu.net>
52466
52467         Share two-way algorithm.
52468         * lib/str-two-way.h: New file, merged from...
52469         * lib/memmem.c: ...here...
52470         * lib/strstr.c: ...and here.
52471         * modules/memmem (Files): Use it.
52472         * modules/strstr (Files): Likewise.
52473
52474         Avoid quadratic strstr implementations.
52475         * lib/strstr.c: New file.
52476         * m4/strstr.m4: Likewise.
52477         * modules/strstr: Likewise.
52478         * modules/strstr-tests: Likewise.
52479         * tests/test-strstr.c: Likewise.
52480         * lib/string.in.h (rpl_strstr): Declare.
52481         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52482         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52483         * modules/string (Makefile.am): Likewise.
52484         * MODULES.html.sh (string handling): Mention new module.
52485         * doc/functions/strstr.texi (strstr): Document the bug.
52486
52487 2008-01-10  Bruno Haible  <bruno@clisp.org>
52488
52489         * lib/relocatable.h (relocate): State whether result is freshly
52490         allocated or not.
52491         * lib/relocatable.c (relocate): Return a freshly allocated string
52492         instead of a pointer to a privately held string.
52493         Reported by Sylvain Beucler <beuc@gnu.org>.
52494
52495 2008-01-10  Colin Watson  <cjwatson@debian.org>
52496
52497         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52498         s/S_ISNLK/S_ISLNK/.
52499
52500 2008-01-09  Bruno Haible  <bruno@clisp.org>
52501
52502         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52503         and other files.
52504         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52505         if it's only a guess.
52506         * modules/memmem: Simplify by depending on memmem-simple.
52507
52508 2008-01-09  Bruno Haible  <bruno@clisp.org>
52509
52510         Work around OpenBSD 4.0 tdelete() bug.
52511         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52512         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52513         macros and don't redefine the enum values.
52514         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52515         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52516         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52517
52518 2008-01-09  Bruno Haible  <bruno@clisp.org>
52519
52520         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52521         (main): Don't perform the tests if setlocale did not install a UTF-8
52522         locale. Needed on OpenBSD 4.0.
52523         * modules/wcwidth-tests (Depends-on): Add localcharset.
52524
52525 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52526
52527         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52528         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52529         * NEWS: announce this.
52530         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52531
52532 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52533         and Eric Blake  <ebb9@byu.net>
52534
52535         Add memmem-simple module.
52536         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52537         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52538         * modules/memmem-simple: New file.
52539         * modules/memmem (Description): Tweak.
52540         * MODULES.html.sh (string handling): Mention new module.
52541         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52542         addressed by memmem-simple.
52543         * NEWS: Document the difference.
52544
52545 2008-01-09  Eric Blake  <ebb9@byu.net>
52546
52547         Give gcc some memmem optimization hints.
52548         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52549         (strcasestr): Declare as pure.
52550         * modules/memmem (Maintainer): Claim my implementation.
52551
52552 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52553
52554         Support AIX 6.1 and higher.
52555         * build-aux/config.libpath: Likewise.
52556         * build-aux/config.rpath: Likewise.
52557
52558 2008-01-08  Jim Meyering  <meyering@redhat.com>
52559             Bruno Haible  <bruno@clisp.org>
52560
52561         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52562         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52563         Reported by Peter Fales in
52564         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52565
52566 2008-01-08  Bruno Haible  <bruno@clisp.org>
52567
52568         * modules/unictype/category-of (Depends-on): Add
52569         unictype/category-none.
52570         * modules/unictype/category-and-tests (Depends-on): Add
52571         unictype/category-{L,N,Lu,Nd}.
52572         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52573         * modules/unictype/category-or-tests (Depends-on): Add
52574         unictype/category-{L,N}.
52575         * modules/unictype/category-name-tests (Depends-on): Add
52576         unictype/category-{Z,Nl}.
52577         Reported by Simon Josefsson.
52578
52579 2008-01-08  Bruno Haible  <bruno@clisp.org>
52580
52581         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52582         convention better.
52583         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52584         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52585         Reported by Peter Miller <millerp@canb.auug.org.au>.
52586
52587 2008-01-08  Eric Blake  <ebb9@byu.net>
52588
52589         Rewrite memmem to guarantee linear complexity without malloc.
52590         * lib/memmem.c (memmem): Use Two-Way rather than
52591         Knuth-Morris-Pratt, to allow O(1) space usage.
52592         (critical_factorization, two_way_short_needle)
52593         (two_way_long_needle): New functions.
52594         (knuth_morris_pratt): Delete.
52595         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52596         Add stdint.
52597         * tests/test-memmem.c (main): Add tests for periodic needle and
52598         sublinear performance.
52599         * doc/functions/memmem.texi (memmem): Document other deficiencies
52600         in cygwin and older glibc.
52601
52602 2008-01-08  Bruno Haible  <bruno@clisp.org>
52603
52604         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52605         augmentation.
52606
52607 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52608
52609         Add a configure time option: --disable-acl.
52610         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52611         AC_ARG_ENABLE(acl).
52612
52613 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52614
52615         * tests/test-localename.c: Don't include obsolete "setenv.h".
52616
52617         * modules/localename-tests (Depends-on): Need unsetenv.
52618
52619 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52620
52621         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52622
52623 2008-01-06  Colin Watson  <cjwatson@debian.org>
52624
52625         * users.txt: Add man-db.
52626
52627 2008-01-07  Bruno Haible  <bruno@clisp.org>
52628
52629         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52630         previous section name.
52631
52632 2008-01-07  Bruno Haible  <bruno@clisp.org>
52633
52634         * lib/progname.c (set_program_name): Don't strip off a leading
52635         "lt-" prefix outside a .libs directory.
52636         Suggested by Paul Eggert.
52637
52638 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52639             Bruno Haible  <bruno@clisp.org>
52640
52641         Improve memory cleanup in 'relocatable' module.
52642         * lib/relocatable.h (compute_curr_prefix): Change return type to
52643         'char *'.
52644         * lib/relocatable.c (compute_curr_prefix): Change return type to
52645         'char *'. Free curr_installdir after use.
52646         (relocate): Free curr_prefix_better after use.
52647         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52648
52649 2008-01-01  Bruno Haible  <bruno@clisp.org>
52650
52651         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52652         failure on older glibc systems.
52653         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52654
52655 2008-01-05  Eric Blake  <ebb9@byu.net>
52656
52657         Avoid quadratic system memmem.
52658         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52659         Reported by Ralf Wildenhues.
52660
52661         Fix memmem test for mingw.
52662         * modules/memmem-tests (configure.ac): Check for alarm.
52663         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52664         it.
52665         * doc/functions/memmem.texi: New file.
52666         * doc/gnulib.texi (Function Substitutes): Add memmem.
52667         Reported by Bruno Haible.
52668
52669 2008-01-04  Bruno Haible  <bruno@clisp.org>
52670
52671         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52672         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52673         gl_HEADER_STRING_H_DEFAULTS.
52674
52675 2008-01-04  Eric Blake  <ebb9@byu.net>
52676
52677         Shorten duration of memmem test.
52678         * tests/test-memmem.c (main): Use alarm to declare failure if test
52679         is taking too long.
52680         Reported by Ralf Wildenhues.
52681
52682 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52683
52684         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52685         string, needed by strerror.
52686
52687 2008-01-03  Colin Watson  <cjwatson@debian.org>
52688             Bruno Haible  <bruno@clisp.org>
52689
52690         * doc/gnulib-tool.texi (Localization): New section.
52691
52692 2008-01-02  Bruno Haible  <bruno@clisp.org>
52693
52694         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52695         variables to 'unsigned char *' type.
52696         Reported by Paul Eggert.
52697
52698 2008-01-02  Jim Meyering  <jim@meyering.net>
52699
52700         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52701
52702 2007-12-31  Jim Meyering  <jim@meyering.net>
52703
52704         Avoid use of private FTS type name.
52705         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52706
52707 2007-12-30  Karl Berry  <karl@gnu.org>
52708
52709         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52710         work around defect in Texinfo and/or the standalone Info browser.
52711
52712 2007-12-30  Bruno Haible  <bruno@clisp.org>
52713
52714         Unify 5 copies of the KMP code.
52715         * lib/str-kmp.h: New file.
52716         * lib/c-strcasestr.c: Include str-kmp.h.
52717         (knuth_morris_pratt): Remove function.
52718         (c_strcasestr): Update.
52719         * lib/c-strstr.c: Include str-kmp.h.
52720         (knuth_morris_pratt): Remove function.
52721         (c_strcasestr): Update.
52722         * lib/mbscasestr.c: Include str-kmp.h.
52723         (knuth_morris_pratt_unibyte): Remove function.
52724         * lib/mbsstr.c: Include str-kmp.h.
52725         (knuth_morris_pratt_unibyte): Remove function.
52726         * lib/strcasestr.c: Include str-kmp.h.
52727         (knuth_morris_pratt): Remove function.
52728         (strcasestr): Update.
52729         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52730         * modules/c-strstr (Files): Likewise.
52731         * modules/mbscasestr (Files): Likewise.
52732         * modules/mbsstr (Files): Likewise.
52733         * modules/strcasestr (Files): Likewise.
52734         Suggested by Paul Eggert.
52735
52736 2007-12-30  Bruno Haible  <bruno@clisp.org>
52737
52738         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52739         defined.
52740
52741 2007-12-30  Bruno Haible  <bruno@clisp.org>
52742
52743         * lib/xmalloca.h: Include xalloc.h.
52744         (xnmalloca): New macro.
52745
52746 2007-12-30  Bruno Haible  <bruno@clisp.org>
52747
52748         * lib/malloca.h (nmalloca): New macro.
52749         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52750         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52751         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52752         knuth_morris_pratt_multibyte): Likewise.
52753         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52754         knuth_morris_pratt_multibyte): Likewise.
52755         * lib/memmem.c (knuth_morris_pratt): Likewise.
52756         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52757
52758 2007-12-25  Bruno Haible  <bruno@clisp.org>
52759
52760         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52761         * lib/glob.c: Don't include openat.h.
52762         (link_exists2_p): Add back the code that deals with the
52763         !GLOB_ALTDIRFUNC case.
52764         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52765         let it do the filename concatenation.
52766         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52767         * modules/glob (Depends-on): Remove openat.
52768
52769 2007-12-31  Bruno Haible  <bruno@clisp.org>
52770
52771         * modules/dirfd (License): Change to LGPLv2+.
52772         Approved by Jim Meyering.
52773
52774 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52775
52776         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52777         when multiplying M by sizeof (size_t).
52778
52779 2007-12-10  Martin Lambers  <marlam@marlam.de>
52780
52781         Override getpagesize on mingw.
52782         * lib/getpagesize.c: New file.
52783         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52784         * modules/getpagesize (Files): Add lib/getpagesize.c.
52785         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52787         REPLACE_GETPAGESIZE.
52788         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52789
52790 2007-12-25  Bruno Haible  <bruno@clisp.org>
52791
52792         * modules/localcharset (Notice): New field.
52793         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52794         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52795
52796 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52797             Bruno Haible  <bruno@clisp.org>
52798
52799         Avoid using the syntax symbol() in formatted documentation.
52800         * MODULES.html.sh (func_module): When replacing symbol() with a
52801         hyperlink, remove the parentheses. Show an error if some remain.
52802         Recognize and render the '...' syntax.
52803         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52804         Rework. Add paragraph about GCC's inlining.
52805         * doc/alloca.texi: Likewise.
52806         * doc/error.texi: Remove parentheses from symbol reference.
52807         * doc/gnulib-intro.texi: Likewise.
52808         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52809         * modules/fnmatch (Description): Reword to say "the ... function".
52810         * modules/full-read (Description): Likewise.
52811         * modules/full-write (Description): Likewise.
52812         * modules/safe-read (Description): Likewise.
52813         * modules/safe-write (Description): Likewise.
52814         * modules/strchrnul (Description): Likewise.
52815         * modules/trim (Description): Likewise.
52816         * modules/error (Description): Remove parentheses from symbol
52817         references.
52818         * modules/verror (Description): Likewise.
52819         Reported by Karl Berry.
52820
52821 2007-12-25  Bruno Haible  <bruno@clisp.org>
52822
52823         Fixup after 2007-10-16 commit.
52824         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52825
52826 2007-12-24  Bruno Haible  <bruno@clisp.org>
52827
52828         Make --enable-relocatable work with DESTDIR.
52829         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52830         to compute installdir from destprog.
52831         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52832         also set the RELOC_DESTDIR variable.
52833         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52834
52835 2007-12-24  Bruno Haible  <bruno@clisp.org>
52836
52837         Fix link error due to xalloc_die().
52838         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52839         of xreadlink.
52840         * lib/relocwrapper.c: Update comments.
52841         * build-aux/install-reloc: Remove xreadlink.c from file list.
52842         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52843         xreadlink.c.
52844         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52845
52846 2007-12-24  Bruno Haible  <bruno@clisp.org>
52847
52848         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52849         * lib/setenv.h: Remove file.
52850         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52851         lib/setenv.h.
52852         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52853         (Depends-on): Add stdlib.
52854         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52855         gl_FUNC_UNSETENV.
52856         (Include): Replace setenv.h with <stdlib.h>.
52857         * modules/unsetenv: New file.
52858         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52859         * lib/unsetenv.c: Include <stdlib.h> first.
52860         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52861         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52862         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52863         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52864         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52865         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52867         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52868         * doc/functions/unsetenv.texi: Update.
52869         * modules/xsetenv (Depends-on): Add unsetenv.
52870         * modules/getdate (Depends-on): Likewise.
52871         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52872         * lib/xsetenv.c: Don't include setenv.h.
52873         * lib/getdate.y: Likewise.
52874         * lib/relocwrapper.c: Likewise.
52875         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52876         (Depends-on): Add stdlib.
52877         * NEWS: Mention the changes.
52878         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52879
52880 2007-12-23  Bruno Haible  <bruno@clisp.org>
52881
52882         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52883         indentation.
52884
52885 2007-12-23  Bruno Haible  <bruno@clisp.org>
52886
52887         * lib/c-strcasestr.c: Add more comments.
52888         * lib/c-strstr.c: Likewise.
52889         * lib/mbscasestr.c: Likewise.
52890         * lib/mbsstr.c: Likewise.
52891         * lib/strcasestr.c: Likewise.
52892         * lib/memmem.c: Likewise.
52893
52894 2007-12-23  Bruno Haible  <bruno@clisp.org>
52895
52896         * tests/test-memmem.c: Include <string.h> first.
52897
52898 2007-12-22  Bruno Haible  <bruno@clisp.org>
52899
52900         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52901         the contents of $testsbase.
52902         Reported by Ralf Wildenhues.
52903
52904 2007-12-22  Bruno Haible  <bruno@clisp.org>
52905
52906         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52907         two variables local_ldadd_before, local_ldadd_last.
52908
52909 2007-12-20  Eric Blake  <ebb9@byu.net>
52910
52911         Work around circular library issue when cross-compiling.
52912         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52913         that progname.o does not need to pull in rpl_memcmp.
52914
52915 2007-12-19  Eric Blake  <ebb9@byu.net>
52916
52917         Fix memmem to avoid O(n^2) worst-case complexity.
52918         * lib/memmem.c (knuth_morris_pratt): New function.
52919         (memmem): Use it if first few naive iterations fail.
52920         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52921         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52922         * modules/memchr (License): Likewise.
52923         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52924         malloca.
52925         * tests/test-memmem.c: Rewrite, borrowing ideas from
52926         test-mbsstr1.c; the old version wouldn't even compile!
52927         * modules/memmem-tests: New file.
52928         * lib/string.in.h (rpl_memmem): Add declaration.
52929         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52931         REPLACE_MEMMEM.
52932
52933 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52934
52935         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52936         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52937         before any system include files, and undef after them all.  This
52938         should fix a problem on VMS reported by John E. Malmberg in
52939         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52940
52941 2007-12-17  Eric Blake  <ebb9@byu.net>
52942
52943         Revert addition of verify, for BSD/OS.
52944         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52945         can't handle large files, for the sake of obsolete platforms.
52946         * modules/fseeko (Depends-on): Remove verify.
52947         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52948         * doc/functions/ftello.texi (ftello): Likewise.
52949         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52950         Reported by Larry Jones.
52951
52952 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52953
52954         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52955         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52956
52957 2007-12-17  Jim Meyering  <meyering@redhat.com>
52958
52959         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52960         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52961         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52962         * modules/getcwd (Depends-on): Add openat.
52963         Reported by Petr Salinger.
52964
52965 2007-12-17  Bruno Haible  <bruno@clisp.org>
52966
52967         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52968         avoid a segmentation fault of the configure test on x86_64 systems.
52969
52970 2007-12-15  Jim Meyering  <meyering@redhat.com>
52971
52972         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52973
52974 2007-12-13  Eric Blake  <ebb9@byu.net>
52975
52976         Another fseek test.
52977         * tests/test-fseek.c (main): Also test ungetc handling.
52978         * tests/test-fseeko.c (main): Likewise.
52979         * modules/fseeko (Depends-on): Add verify.
52980         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52981         large.
52982         Reported by Larry Jones.
52983
52984         Fix fseeko on mingw.
52985         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52986         seek.
52987
52988         Beef up fseek tests.
52989         * tests/test-fseek.c (main): Also test eof handling.
52990         * tests/test-fseeko.c (main): Likewise.
52991         Reported by Larry Jones.
52992
52993 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52994
52995         Fix fseeko on BSD-based platforms.
52996         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52997         successful seek.
52998
52999 2007-12-12  Eric Blake  <ebb9@byu.net>
53000
53001         Allow circular dependency of separate libtests.a
53002         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
53003         when use_libtests.
53004
53005 2007-12-11  Eric Blake  <ebb9@byu.net>
53006
53007         Fix bug with -0.0L in previous patch.
53008         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
53009         * tests/test-isnan.c (main): Also test on zeroes.
53010         * tests/test-isnanf.c (main): Likewise.
53011         * tests/test-isnanl.h (main): Likewise.
53012
53013         Detect pseudo-denormals on x86 even when cross-compiling.
53014         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
53015         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
53016         invalid bit patterns that happen to satisfy ==.
53017
53018         Avoid link failures with separate libtests.a.
53019         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
53020         last, to satisfy circular dependencies.
53021
53022 2007-12-11  Eric Blake  <ebb9@byu.net>
53023         and Bruno Haible  <bruno@clisp.org>
53024
53025         Fix OpenBSD 4.0 <float.h> handling of long double.
53026         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
53027         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
53028         * doc/headers/float.texi (float.h): Document OpenBSD bug.
53029
53030 2007-12-11  Jim Meyering  <meyering@redhat.com>
53031
53032         * users.txt: Add libvirt.
53033
53034         Support versions of autoconf prior to 2.59c.
53035         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
53036         if it is not already defined.
53037
53038 2007-12-09  Bruno Haible  <bruno@clisp.org>
53039
53040         Let 'gnulib-tool --import' collect sources needed for the tests in
53041         tests/ rather than in lib/.
53042         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
53043         argument. If true, add rules to generate libtests.a, and put libtests.a
53044         into $(LDADD). Consider source files in subdirectories and set
53045         uses_subdirs.
53046         (func_emit_initmacro_start, func_emit_initmacro_end,
53047         func_emit_initmacro_done): Pass all arguments explicitly.
53048         (func_import): Determine two module lists main_modules,
53049         testsrelated_modules. Determine use_libtests. Determine two variables
53050         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
53051         instead of just sed_transform_lib_file. Determine two variables
53052         main_files and testsrelated_files. Compute 'files' as the union of
53053         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
53054         func_add_or_update. In the generated gnulib-comp.m4, collect the
53055         object files for tests/ in different variables than those for lib/.
53056         Substitute LIBTESTS_LIBDEPS.
53057         (func_create_testdir): Combine the uses_subdirs results from
53058         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
53059
53060 2007-12-09  Bruno Haible  <bruno@clisp.org>
53061
53062         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
53063         the build-aux directory.
53064
53065 2007-12-09  Bruno Haible  <bruno@clisp.org>
53066
53067         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
53068         introduced on 2006-09-09.
53069
53070 2007-12-07  Jim Meyering  <meyering@redhat.com>
53071
53072         Let these macros work also with autoconf-2.59.
53073         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
53074         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
53075         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53076
53077 2007-12-06  Jim Meyering  <meyering@redhat.com>
53078
53079         Avoid a configure-time syntax error in gl_FUNC_ACL.
53080         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
53081         function in each branch, before testing the cache variable.
53082
53083 2007-12-04  Eric Blake  <ebb9@byu.net>
53084
53085         Make scripts executable.
53086         * build-aux/config.guess: Add execute permissions.
53087         * build-aux/config.sub: Likewise.
53088         * build-aux/gendocs.sh: Likewise.
53089
53090         Fix frexp on mingw.
53091         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
53092         cross-compiling.
53093         * doc/functions/frexp.texi (frexp): Document the bug.
53094
53095         Make cygwin fseeko check more reliable.
53096         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
53097         version numbers, rather than unrelated feature check.
53098         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
53099         * doc/functions/ftello.texi (ftello): Likewise.
53100         Reported by Bruno Haible.
53101
53102         * m4/strerror.m4: Bump version number.
53103
53104 2007-12-03  Bruno Haible  <bruno@clisp.org>
53105
53106         * doc/functions/mprotect.texi: Mention the mingw problem.
53107
53108 2007-12-03  Eric Blake  <ebb9@byu.net>
53109
53110         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
53111         REPLACE_STRERROR is initialized before this macro.
53112
53113 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53114
53115         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
53116         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
53117         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
53118         put -lsec in even for programs other than 'ls'.  This fixes a problem
53119         for gettext reported by Bruno Haible in
53120         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
53121         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
53122         Add support for Solaris 10.  This isn't efficient, but should get the
53123         job done for now.
53124
53125 2007-12-03  James Youngman  <jay@gnu.org>
53126
53127         * doc/regexprops-generic.texi: change "an close-group" to "a
53128         close-group" and "illegal" to "not allowed".
53129
53130 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53131
53132         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
53133         pr_byname.h. Needed for the rare case when the maintainer has done
53134         "make maintainer-clean" in the source directory and then attempts a
53135         build outside the source directory.
53136         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
53137         scripts_byname.h.
53138
53139 2007-12-02  Martin Lambers <marlam@marlam.de>
53140             Bruno Haible  <bruno@clisp.org>
53141
53142         * lib/getpagesize.h: Remove file.
53143         * lib/unistd.in.h: Include declaration of getpagesize here.
53144         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
53145         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
53146         HAVE_SYS_PARAM_H.
53147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
53148         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
53149         * modules/getpagesize (Files): Remove lib/getpagesize.h.
53150         (Depends-on): Add unistd.
53151         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53152         (Include): Use <unistd.h> instead of getpagesize.h.
53153         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
53154         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
53155         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
53156         gl_GETPAGESIZE invocation, already handled by module dependency.
53157         * lib/pagealign_alloc.c: Don't include getpagesize.h.
53158
53159 2007-12-02  Bruno Haible  <bruno@clisp.org>
53160
53161         * modules/strings-tests: New file.
53162         * tests/test-strings.c: New file.
53163
53164         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
53165         * lib/strings.in.h: New file.
53166         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
53167         * m4/strings_h.m4: New file.
53168         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
53169         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
53170         * modules/strings: New file.
53171         * modules/string (Makefile.am): Update.
53172         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
53173         Reported by Karl Berry.
53174
53175 2007-12-01  Eric Blake  <ebb9@byu.net>
53176
53177         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
53178         accomodate fix in cygwin 1.5.25.
53179
53180 2007-12-01  Jim Meyering  <meyering@redhat.com>
53181
53182         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
53183         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
53184         that would inhibit utf8-optimization of a regexp containing line-
53185         or buffer-anchors, e.g., `^', `$'.
53186
53187 2007-11-30  Bruno Haible  <bruno@clisp.org>
53188
53189         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
53190         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
53191         glthread_recursive_lock_init.
53192         * lib/lock.c (glthread_recursive_lock_init)
53193         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
53194         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53195
53196 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
53197
53198         New function qset_acl, like set_acl but with syscall semantics.
53199         * lib/acl.h (qset_acl): New decl.
53200         * lib/acl.c (qset_acl): New function.
53201         (set_acl): Use new function.  Use more-consistent diagnostics.
53202
53203 2007-11-28  Jim Meyering  <meyering@redhat.com>
53204
53205         * modules/physmem (License): Change from GPL to LGPLv2+.
53206
53207 2007-11-26  Bruno Haible  <bruno@clisp.org>
53208
53209         * lib/vasnprintf.c (decode_long_double): Don't abort if the
53210         'long double' type has excess precision.
53211         Reported by Jim Meyering in
53212         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
53213
53214 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53215
53216         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
53217         Sync from <http://gnu.org/licenses>.
53218         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
53219         with license text from same location.
53220         * doc/maintain.texi, doc/standards.texi:  Sync from
53221         <http://savannah.gnu.org/projects/gnustandards>.
53222
53223 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
53224         and Jim Meyering  <meyering@redhat.com>
53225
53226         Adjust getdate' grammar to accept a slightly more regular language.
53227         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
53228         Before, the former was rejected.
53229         * lib/getdate.y (digits_to_date_time): New function, factored
53230         out of ...
53231         (number): ...here.  Just call digits_to_date_time.
53232         (hybrid): New non-terminal to handle an <unsigned number,
53233         signed relative offset> sequence consistently.
53234
53235 2007-11-18  Jim Meyering  <meyering@redhat.com>
53236
53237         Pull my changes from coreutils:
53238         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
53239         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
53240         use of $gnulib_tool_option_extras, so that it's separated from the
53241         preceding argument.
53242
53243         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
53244         * build-aux/bootstrap (cp_mark_as_generated): Create any required
53245         parent destination directories before copying a file into place.
53246
53247 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
53248
53249         bootstrap: work also with 4-argument variant of AC_INIT
53250         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
53251
53252 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53253
53254         Port test-getaddrinfo to Solaris.
53255         Problem reported by Bruno Haible in
53256         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
53257         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
53258         explanation of setting 'hints'.
53259         Don't reject an implementation merely because it returns EAI_SERVICE.
53260         (EAI_SERVICE): Define to 0 if not defined.
53261
53262 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53263
53264         The license of gnu-make and posix-shell is now "GPLed build tool".
53265         * modules/gnu-make (License): Likewise.
53266         * modules/posix-shell (License): Likewise.
53267
53268         New module posix-shell, for determining a POSIX shell
53269         or perhaps something that is close enough to a POSIX shell.
53270         * m4/posix-shell.m4: New file.
53271         * modules/posix-shell: New file.
53272
53273         * MODULES.html.sh: Mention new module.
53274
53275         New module gnu-make, for determining whether we're using GNU Make.
53276         * m4/gnu-make.m4: New file.
53277         * modules/gnu-make: New file.
53278         * MODULES.html.sh: Mention new module.
53279
53280 2007-11-14  Jim Meyering  <meyering@redhat.com>
53281
53282         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
53283         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
53284         use this macro to create a function _definition_.
53285         Remove useless "#undef ARGMATCH_DIE".
53286
53287 2007-11-14  Bruno Haible  <bruno@clisp.org>
53288
53289         * lib/config.charset: Update for OpenBSD 4.1.
53290         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
53291
53292 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
53293
53294         Document 64-bit #if problems in stdint.texi.
53295         * doc/headers/stdint.texi (stdint.h): Mention problems with
53296         64-bit-#if, and how to work around them.
53297
53298         Don't insist on 'long long int' support in the preprocessor.  It
53299         breaks too many things.  For example, PRIdMAX still uses a 'long
53300         long int' format with the latest Sun compiler, even though
53301         HAVE_LONG_LONG_INT isn't defined due to that compiler's
53302         preprocessor problem.  This causes the latest coreutils to dump
53303         core on Solaris 10 sparc with the Sun C compiler.
53304         Instead, fix the 2007-10-16 problem in a different way, by evaluating
53305         the troublesome expressions at configure-time, not at #if-time.
53306         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
53307         preprocessor.
53308         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
53309         compile-time C checks, done at 'configure'-time.
53310         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
53311         * modules/inttypes (Makefile): Substitute the new symbols that
53312         gl_INTTYPES_H now generates.
53313         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
53314
53315 2007-11-12  Bruno Haible  <bruno@clisp.org>
53316
53317         Tests for Unicode character classification functions.
53318
53319         * modules/unictype/bidicategory-byname-tests: New file.
53320         * modules/unictype/bidicategory-name-tests: New file.
53321         * modules/unictype/bidicategory-of-tests: New file.
53322         * modules/unictype/bidicategory-test-tests: New file.
53323         * modules/unictype/block-list-tests: New file.
53324         * modules/unictype/block-of-tests: New file.
53325         * modules/unictype/block-test-tests: New file.
53326         * modules/unictype/category-C-tests: New file.
53327         * modules/unictype/category-Cc-tests: New file.
53328         * modules/unictype/category-Cf-tests: New file.
53329         * modules/unictype/category-Cn-tests: New file.
53330         * modules/unictype/category-Co-tests: New file.
53331         * modules/unictype/category-Cs-tests: New file.
53332         * modules/unictype/category-L-tests: New file.
53333         * modules/unictype/category-Ll-tests: New file.
53334         * modules/unictype/category-Lm-tests: New file.
53335         * modules/unictype/category-Lo-tests: New file.
53336         * modules/unictype/category-Lt-tests: New file.
53337         * modules/unictype/category-Lu-tests: New file.
53338         * modules/unictype/category-M-tests: New file.
53339         * modules/unictype/category-Mc-tests: New file.
53340         * modules/unictype/category-Me-tests: New file.
53341         * modules/unictype/category-Mn-tests: New file.
53342         * modules/unictype/category-N-tests: New file.
53343         * modules/unictype/category-Nd-tests: New file.
53344         * modules/unictype/category-Nl-tests: New file.
53345         * modules/unictype/category-No-tests: New file.
53346         * modules/unictype/category-P-tests: New file.
53347         * modules/unictype/category-Pc-tests: New file.
53348         * modules/unictype/category-Pd-tests: New file.
53349         * modules/unictype/category-Pe-tests: New file.
53350         * modules/unictype/category-Pf-tests: New file.
53351         * modules/unictype/category-Pi-tests: New file.
53352         * modules/unictype/category-Po-tests: New file.
53353         * modules/unictype/category-Ps-tests: New file.
53354         * modules/unictype/category-S-tests: New file.
53355         * modules/unictype/category-Sc-tests: New file.
53356         * modules/unictype/category-Sk-tests: New file.
53357         * modules/unictype/category-Sm-tests: New file.
53358         * modules/unictype/category-So-tests: New file.
53359         * modules/unictype/category-Z-tests: New file.
53360         * modules/unictype/category-Zl-tests: New file.
53361         * modules/unictype/category-Zp-tests: New file.
53362         * modules/unictype/category-Zs-tests: New file.
53363         * modules/unictype/category-and-not-tests: New file.
53364         * modules/unictype/category-and-tests: New file.
53365         * modules/unictype/category-byname-tests: New file.
53366         * modules/unictype/category-name-tests: New file.
53367         * modules/unictype/category-none-tests: New file.
53368         * modules/unictype/category-of-tests: New file.
53369         * modules/unictype/category-or-tests: New file.
53370         * modules/unictype/category-test-withtable-tests: New file.
53371         * modules/unictype/combining-class-tests: New file.
53372         * modules/unictype/ctype-alnum-tests: New file.
53373         * modules/unictype/ctype-alpha-tests: New file.
53374         * modules/unictype/ctype-blank-tests: New file.
53375         * modules/unictype/ctype-cntrl-tests: New file.
53376         * modules/unictype/ctype-digit-tests: New file.
53377         * modules/unictype/ctype-graph-tests: New file.
53378         * modules/unictype/ctype-lower-tests: New file.
53379         * modules/unictype/ctype-print-tests: New file.
53380         * modules/unictype/ctype-punct-tests: New file.
53381         * modules/unictype/ctype-space-tests: New file.
53382         * modules/unictype/ctype-upper-tests: New file.
53383         * modules/unictype/ctype-xdigit-tests: New file.
53384         * modules/unictype/decimal-digit-tests: New file.
53385         * modules/unictype/digit-tests: New file.
53386         * modules/unictype/mirror-tests: New file.
53387         * modules/unictype/numeric-tests: New file.
53388         * modules/unictype/property-alphabetic-tests: New file.
53389         * modules/unictype/property-ascii-hex-digit-tests: New file.
53390         * modules/unictype/property-bidi-arabic-digit-tests: New file.
53391         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
53392         * modules/unictype/property-bidi-block-separator-tests: New file.
53393         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
53394         * modules/unictype/property-bidi-common-separator-tests: New file.
53395         * modules/unictype/property-bidi-control-tests: New file.
53396         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
53397         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
53398         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
53399         * modules/unictype/property-bidi-european-digit-tests: New file.
53400         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
53401         * modules/unictype/property-bidi-left-to-right-tests: New file.
53402         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
53403         * modules/unictype/property-bidi-other-neutral-tests: New file.
53404         * modules/unictype/property-bidi-pdf-tests: New file.
53405         * modules/unictype/property-bidi-segment-separator-tests: New file.
53406         * modules/unictype/property-bidi-whitespace-tests: New file.
53407         * modules/unictype/property-byname-tests: New file.
53408         * modules/unictype/property-combining-tests: New file.
53409         * modules/unictype/property-composite-tests: New file.
53410         * modules/unictype/property-currency-symbol-tests: New file.
53411         * modules/unictype/property-dash-tests: New file.
53412         * modules/unictype/property-decimal-digit-tests: New file.
53413         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53414         * modules/unictype/property-deprecated-tests: New file.
53415         * modules/unictype/property-diacritic-tests: New file.
53416         * modules/unictype/property-extender-tests: New file.
53417         * modules/unictype/property-format-control-tests: New file.
53418         * modules/unictype/property-grapheme-base-tests: New file.
53419         * modules/unictype/property-grapheme-extend-tests: New file.
53420         * modules/unictype/property-grapheme-link-tests: New file.
53421         * modules/unictype/property-hex-digit-tests: New file.
53422         * modules/unictype/property-hyphen-tests: New file.
53423         * modules/unictype/property-id-continue-tests: New file.
53424         * modules/unictype/property-id-start-tests: New file.
53425         * modules/unictype/property-ideographic-tests: New file.
53426         * modules/unictype/property-ids-binary-operator-tests: New file.
53427         * modules/unictype/property-ids-trinary-operator-tests: New file.
53428         * modules/unictype/property-ignorable-control-tests: New file.
53429         * modules/unictype/property-iso-control-tests: New file.
53430         * modules/unictype/property-join-control-tests: New file.
53431         * modules/unictype/property-left-of-pair-tests: New file.
53432         * modules/unictype/property-line-separator-tests: New file.
53433         * modules/unictype/property-logical-order-exception-tests: New file.
53434         * modules/unictype/property-lowercase-tests: New file.
53435         * modules/unictype/property-math-tests: New file.
53436         * modules/unictype/property-non-break-tests: New file.
53437         * modules/unictype/property-not-a-character-tests: New file.
53438         * modules/unictype/property-numeric-tests: New file.
53439         * modules/unictype/property-other-alphabetic-tests: New file.
53440         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53441         * modules/unictype/property-other-grapheme-extend-tests: New file.
53442         * modules/unictype/property-other-id-continue-tests: New file.
53443         * modules/unictype/property-other-id-start-tests: New file.
53444         * modules/unictype/property-other-lowercase-tests: New file.
53445         * modules/unictype/property-other-math-tests: New file.
53446         * modules/unictype/property-other-uppercase-tests: New file.
53447         * modules/unictype/property-paired-punctuation-tests: New file.
53448         * modules/unictype/property-paragraph-separator-tests: New file.
53449         * modules/unictype/property-pattern-syntax-tests: New file.
53450         * modules/unictype/property-pattern-white-space-tests: New file.
53451         * modules/unictype/property-private-use-tests: New file.
53452         * modules/unictype/property-punctuation-tests: New file.
53453         * modules/unictype/property-quotation-mark-tests: New file.
53454         * modules/unictype/property-radical-tests: New file.
53455         * modules/unictype/property-sentence-terminal-tests: New file.
53456         * modules/unictype/property-soft-dotted-tests: New file.
53457         * modules/unictype/property-space-tests: New file.
53458         * modules/unictype/property-terminal-punctuation-tests: New file.
53459         * modules/unictype/property-test-tests: New file.
53460         * modules/unictype/property-titlecase-tests: New file.
53461         * modules/unictype/property-unassigned-code-value-tests: New file.
53462         * modules/unictype/property-unified-ideograph-tests: New file.
53463         * modules/unictype/property-uppercase-tests: New file.
53464         * modules/unictype/property-variation-selector-tests: New file.
53465         * modules/unictype/property-white-space-tests: New file.
53466         * modules/unictype/property-xid-continue-tests: New file.
53467         * modules/unictype/property-xid-start-tests: New file.
53468         * modules/unictype/property-zero-width-tests: New file.
53469         * modules/unictype/scripts-tests: New file.
53470         * modules/unictype/syntax-c-ident-tests: New file.
53471         * modules/unictype/syntax-c-whitespace-tests: New file.
53472         * modules/unictype/syntax-java-ident-tests: New file.
53473         * modules/unictype/syntax-java-whitespace-tests: New file.
53474         * tests/unictype/test-bidi_byname.c: New file.
53475         * tests/unictype/test-bidi_name.c: New file.
53476         * tests/unictype/test-bidi_of.c: New file.
53477         * tests/unictype/test-bidi_test.c: New file.
53478         * tests/unictype/test-block_list.c: New file.
53479         * tests/unictype/test-block_of.c: New file.
53480         * tests/unictype/test-block_test.c: New file.
53481         * tests/unictype/test-categ_and.c: New file.
53482         * tests/unictype/test-categ_and_not.c: New file.
53483         * tests/unictype/test-categ_byname.c: New file.
53484         * tests/unictype/test-categ_name.c: New file.
53485         * tests/unictype/test-categ_none.c: New file.
53486         * tests/unictype/test-categ_of.c: New file.
53487         * tests/unictype/test-categ_or.c: New file.
53488         * tests/unictype/test-categ_test_withtable.c: New file.
53489         * tests/unictype/test-combining.c: New file.
53490         * tests/unictype/test-decdigit.c: New file.
53491         * tests/unictype/test-digit.c: New file.
53492         * tests/unictype/test-mirror.c: New file.
53493         * tests/unictype/test-numeric.c: New file.
53494         * tests/unictype/test-pr_byname.c: New file.
53495         * tests/unictype/test-pr_test.c: New file.
53496         * tests/unictype/test-predicate-part1.h: New file.
53497         * tests/unictype/test-predicate-part2.h: New file.
53498         * tests/unictype/test-scripts.c: New file.
53499         * tests/unictype/test-sy_c_ident.c: New file.
53500         * tests/unictype/test-sy_java_ident.c: New file.
53501
53502         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53503         for Unicode 5.0.0.
53504         * tests/unictype/test-categ_Cc.c: Likewise.
53505         * tests/unictype/test-categ_Cf.c: Likewise.
53506         * tests/unictype/test-categ_Cn.c: Likewise.
53507         * tests/unictype/test-categ_Co.c: Likewise.
53508         * tests/unictype/test-categ_Cs.c: Likewise.
53509         * tests/unictype/test-categ_L.c: Likewise.
53510         * tests/unictype/test-categ_Ll.c: Likewise.
53511         * tests/unictype/test-categ_Lm.c: Likewise.
53512         * tests/unictype/test-categ_Lo.c: Likewise.
53513         * tests/unictype/test-categ_Lt.c: Likewise.
53514         * tests/unictype/test-categ_Lu.c: Likewise.
53515         * tests/unictype/test-categ_M.c: Likewise.
53516         * tests/unictype/test-categ_Mc.c: Likewise.
53517         * tests/unictype/test-categ_Me.c: Likewise.
53518         * tests/unictype/test-categ_Mn.c: Likewise.
53519         * tests/unictype/test-categ_N.c: Likewise.
53520         * tests/unictype/test-categ_Nd.c: Likewise.
53521         * tests/unictype/test-categ_Nl.c: Likewise.
53522         * tests/unictype/test-categ_No.c: Likewise.
53523         * tests/unictype/test-categ_P.c: Likewise.
53524         * tests/unictype/test-categ_Pc.c: Likewise.
53525         * tests/unictype/test-categ_Pd.c: Likewise.
53526         * tests/unictype/test-categ_Pe.c: Likewise.
53527         * tests/unictype/test-categ_Pf.c: Likewise.
53528         * tests/unictype/test-categ_Pi.c: Likewise.
53529         * tests/unictype/test-categ_Po.c: Likewise.
53530         * tests/unictype/test-categ_Ps.c: Likewise.
53531         * tests/unictype/test-categ_S.c: Likewise.
53532         * tests/unictype/test-categ_Sc.c: Likewise.
53533         * tests/unictype/test-categ_Sk.c: Likewise.
53534         * tests/unictype/test-categ_Sm.c: Likewise.
53535         * tests/unictype/test-categ_So.c: Likewise.
53536         * tests/unictype/test-categ_Z.c: Likewise.
53537         * tests/unictype/test-categ_Zl.c: Likewise.
53538         * tests/unictype/test-categ_Zp.c: Likewise.
53539         * tests/unictype/test-categ_Zs.c: Likewise.
53540         * tests/unictype/test-ctype_alnum.c: Likewise.
53541         * tests/unictype/test-ctype_alpha.c: Likewise.
53542         * tests/unictype/test-ctype_blank.c: Likewise.
53543         * tests/unictype/test-ctype_cntrl.c: Likewise.
53544         * tests/unictype/test-ctype_digit.c: Likewise.
53545         * tests/unictype/test-ctype_graph.c: Likewise.
53546         * tests/unictype/test-ctype_lower.c: Likewise.
53547         * tests/unictype/test-ctype_print.c: Likewise.
53548         * tests/unictype/test-ctype_punct.c: Likewise.
53549         * tests/unictype/test-ctype_space.c: Likewise.
53550         * tests/unictype/test-ctype_upper.c: Likewise.
53551         * tests/unictype/test-ctype_xdigit.c: Likewise.
53552         * tests/unictype/test-decdigit.h: Likewise.
53553         * tests/unictype/test-digit.h: Likewise.
53554         * tests/unictype/test-numeric.h: Likewise.
53555         * tests/unictype/test-pr_alphabetic.c: Likewise.
53556         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53557         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53558         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53559         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53560         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53561         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53562         * tests/unictype/test-pr_bidi_control.c: Likewise.
53563         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53564         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53565         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53566         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53567         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53568         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53569         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53570         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53571         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53572         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53573         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53574         * tests/unictype/test-pr_combining.c: Likewise.
53575         * tests/unictype/test-pr_composite.c: Likewise.
53576         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53577         * tests/unictype/test-pr_dash.c: Likewise.
53578         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53579         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53580         * tests/unictype/test-pr_deprecated.c: Likewise.
53581         * tests/unictype/test-pr_diacritic.c: Likewise.
53582         * tests/unictype/test-pr_extender.c: Likewise.
53583         * tests/unictype/test-pr_format_control.c: Likewise.
53584         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53585         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53586         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53587         * tests/unictype/test-pr_hex_digit.c: Likewise.
53588         * tests/unictype/test-pr_hyphen.c: Likewise.
53589         * tests/unictype/test-pr_id_continue.c: Likewise.
53590         * tests/unictype/test-pr_id_start.c: Likewise.
53591         * tests/unictype/test-pr_ideographic.c: Likewise.
53592         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53593         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53594         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53595         * tests/unictype/test-pr_iso_control.c: Likewise.
53596         * tests/unictype/test-pr_join_control.c: Likewise.
53597         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53598         * tests/unictype/test-pr_line_separator.c: Likewise.
53599         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53600         * tests/unictype/test-pr_lowercase.c: Likewise.
53601         * tests/unictype/test-pr_math.c: Likewise.
53602         * tests/unictype/test-pr_non_break.c: Likewise.
53603         * tests/unictype/test-pr_not_a_character.c: Likewise.
53604         * tests/unictype/test-pr_numeric.c: Likewise.
53605         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53606         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53607         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53608         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53609         * tests/unictype/test-pr_other_id_start.c: Likewise.
53610         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53611         * tests/unictype/test-pr_other_math.c: Likewise.
53612         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53613         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53614         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53615         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53616         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53617         * tests/unictype/test-pr_private_use.c: Likewise.
53618         * tests/unictype/test-pr_punctuation.c: Likewise.
53619         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53620         * tests/unictype/test-pr_radical.c: Likewise.
53621         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53622         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53623         * tests/unictype/test-pr_space.c: Likewise.
53624         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53625         * tests/unictype/test-pr_titlecase.c: Likewise.
53626         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53627         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53628         * tests/unictype/test-pr_uppercase.c: Likewise.
53629         * tests/unictype/test-pr_variation_selector.c: Likewise.
53630         * tests/unictype/test-pr_white_space.c: Likewise.
53631         * tests/unictype/test-pr_xid_continue.c: Likewise.
53632         * tests/unictype/test-pr_xid_start.c: Likewise.
53633         * tests/unictype/test-pr_zero_width.c: Likewise.
53634         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53635         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53636
53637 2007-11-12  Bruno Haible  <bruno@clisp.org>
53638
53639         Unicode character classification functions.
53640         * lib/unictype.h: New file.
53641         * modules/unictype/base: New file.
53642         * modules/unictype/category-L: New file.
53643         * modules/unictype/category-Lu: New file.
53644         * modules/unictype/category-Ll: New file.
53645         * modules/unictype/category-Lt: New file.
53646         * modules/unictype/category-Lm: New file.
53647         * modules/unictype/category-Lo: New file.
53648         * modules/unictype/category-M: New file.
53649         * modules/unictype/category-Mn: New file.
53650         * modules/unictype/category-Mc: New file.
53651         * modules/unictype/category-Me: New file.
53652         * modules/unictype/category-N: New file.
53653         * modules/unictype/category-Nd: New file.
53654         * modules/unictype/category-Nl: New file.
53655         * modules/unictype/category-No: New file.
53656         * modules/unictype/category-P: New file.
53657         * modules/unictype/category-Pc: New file.
53658         * modules/unictype/category-Pd: New file.
53659         * modules/unictype/category-Ps: New file.
53660         * modules/unictype/category-Pe: New file.
53661         * modules/unictype/category-Pi: New file.
53662         * modules/unictype/category-Pf: New file.
53663         * modules/unictype/category-Po: New file.
53664         * modules/unictype/category-S: New file.
53665         * modules/unictype/category-Sm: New file.
53666         * modules/unictype/category-Sc: New file.
53667         * modules/unictype/category-Sk: New file.
53668         * modules/unictype/category-So: New file.
53669         * modules/unictype/category-Z: New file.
53670         * modules/unictype/category-Zs: New file.
53671         * modules/unictype/category-Zl: New file.
53672         * modules/unictype/category-Zp: New file.
53673         * modules/unictype/category-C: New file.
53674         * modules/unictype/category-Cc: New file.
53675         * modules/unictype/category-Cf: New file.
53676         * modules/unictype/category-Cs: New file.
53677         * modules/unictype/category-Co: New file.
53678         * modules/unictype/category-Cn: New file.
53679         * modules/unictype/category-or: New file.
53680         * modules/unictype/category-of: New file.
53681         * modules/unictype/category-test: New file.
53682         * modules/unictype/category-test-withtable: New file.
53683         * modules/unictype/category-byname: New file.
53684         * modules/unictype/category-none: New file.
53685         * modules/unictype/category-and: New file.
53686         * modules/unictype/category-and-not: New file.
53687         * modules/unictype/category-name: New file.
53688         * modules/unictype/combining-class: New file.
53689         * modules/unictype/category-all: New file.
53690         * modules/unictype/bidicategory-all: New file.
53691         * modules/unictype/bidicategory-byname: New file.
53692         * modules/unictype/bidicategory-name: New file.
53693         * modules/unictype/bidicategory-of: New file.
53694         * modules/unictype/bidicategory-test: New file.
53695         * modules/unictype/decimal-digit: New file.
53696         * modules/unictype/digit: New file.
53697         * modules/unictype/numeric: New file.
53698         * modules/unictype/mirror: New file.
53699         * modules/unictype/property-white-space: New file.
53700         * modules/unictype/property-alphabetic: New file.
53701         * modules/unictype/property-other-alphabetic: New file.
53702         * modules/unictype/property-not-a-character: New file.
53703         * modules/unictype/property-default-ignorable-code-point: New file.
53704         * modules/unictype/property-other-default-ignorable-code-point: New
53705         file.
53706         * modules/unictype/property-deprecated: New file.
53707         * modules/unictype/property-logical-order-exception: New file.
53708         * modules/unictype/property-variation-selector: New file.
53709         * modules/unictype/property-private-use: New file.
53710         * modules/unictype/property-unassigned-code-value: New file.
53711         * modules/unictype/property-uppercase: New file.
53712         * modules/unictype/property-other-uppercase: New file.
53713         * modules/unictype/property-lowercase: New file.
53714         * modules/unictype/property-other-lowercase: New file.
53715         * modules/unictype/property-titlecase: New file.
53716         * modules/unictype/property-soft-dotted: New file.
53717         * modules/unictype/property-id-start: New file.
53718         * modules/unictype/property-other-id-start: New file.
53719         * modules/unictype/property-id-continue: New file.
53720         * modules/unictype/property-other-id-continue: New file.
53721         * modules/unictype/property-xid-start: New file.
53722         * modules/unictype/property-xid-continue: New file.
53723         * modules/unictype/property-pattern-white-space: New file.
53724         * modules/unictype/property-pattern-syntax: New file.
53725         * modules/unictype/property-join-control: New file.
53726         * modules/unictype/property-grapheme-base: New file.
53727         * modules/unictype/property-grapheme-extend: New file.
53728         * modules/unictype/property-other-grapheme-extend: New file.
53729         * modules/unictype/property-grapheme-link: New file.
53730         * modules/unictype/property-bidi-control: New file.
53731         * modules/unictype/property-bidi-left-to-right: New file.
53732         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53733         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53734         * modules/unictype/property-bidi-european-digit: New file.
53735         * modules/unictype/property-bidi-eur-num-separator: New file.
53736         * modules/unictype/property-bidi-eur-num-terminator: New file.
53737         * modules/unictype/property-bidi-arabic-digit: New file.
53738         * modules/unictype/property-bidi-common-separator: New file.
53739         * modules/unictype/property-bidi-block-separator: New file.
53740         * modules/unictype/property-bidi-segment-separator: New file.
53741         * modules/unictype/property-bidi-whitespace: New file.
53742         * modules/unictype/property-bidi-non-spacing-mark: New file.
53743         * modules/unictype/property-bidi-boundary-neutral: New file.
53744         * modules/unictype/property-bidi-pdf: New file.
53745         * modules/unictype/property-bidi-embedding-or-override: New file.
53746         * modules/unictype/property-bidi-other-neutral: New file.
53747         * modules/unictype/property-hex-digit: New file.
53748         * modules/unictype/property-ascii-hex-digit: New file.
53749         * modules/unictype/property-ideographic: New file.
53750         * modules/unictype/property-unified-ideograph: New file.
53751         * modules/unictype/property-radical: New file.
53752         * modules/unictype/property-ids-binary-operator: New file.
53753         * modules/unictype/property-ids-trinary-operator: New file.
53754         * modules/unictype/property-zero-width: New file.
53755         * modules/unictype/property-space: New file.
53756         * modules/unictype/property-non-break: New file.
53757         * modules/unictype/property-iso-control: New file.
53758         * modules/unictype/property-format-control: New file.
53759         * modules/unictype/property-dash: New file.
53760         * modules/unictype/property-hyphen: New file.
53761         * modules/unictype/property-punctuation: New file.
53762         * modules/unictype/property-line-separator: New file.
53763         * modules/unictype/property-paragraph-separator: New file.
53764         * modules/unictype/property-quotation-mark: New file.
53765         * modules/unictype/property-sentence-terminal: New file.
53766         * modules/unictype/property-terminal-punctuation: New file.
53767         * modules/unictype/property-currency-symbol: New file.
53768         * modules/unictype/property-math: New file.
53769         * modules/unictype/property-other-math: New file.
53770         * modules/unictype/property-paired-punctuation: New file.
53771         * modules/unictype/property-left-of-pair: New file.
53772         * modules/unictype/property-combining: New file.
53773         * modules/unictype/property-composite: New file.
53774         * modules/unictype/property-decimal-digit: New file.
53775         * modules/unictype/property-numeric: New file.
53776         * modules/unictype/property-diacritic: New file.
53777         * modules/unictype/property-extender: New file.
53778         * modules/unictype/property-ignorable-control: New file.
53779         * modules/unictype/property-test: New file.
53780         * modules/unictype/property-byname: New file.
53781         * modules/unictype/property-all: New file.
53782         * modules/unictype/scripts: New file.
53783         * modules/unictype/scripts-all: New file.
53784         * modules/unictype/block-of: New file.
53785         * modules/unictype/block-test: New file.
53786         * modules/unictype/block-list: New file.
53787         * modules/unictype/block-all: New file.
53788         * modules/unictype/syntax-c-whitespace: New file.
53789         * modules/unictype/syntax-java-whitespace: New file.
53790         * modules/unictype/syntax-c-ident: New file.
53791         * modules/unictype/syntax-java-ident: New file.
53792         * modules/unictype/ctype-alnum: New file.
53793         * modules/unictype/ctype-alpha: New file.
53794         * modules/unictype/ctype-cntrl: New file.
53795         * modules/unictype/ctype-digit: New file.
53796         * modules/unictype/ctype-graph: New file.
53797         * modules/unictype/ctype-lower: New file.
53798         * modules/unictype/ctype-print: New file.
53799         * modules/unictype/ctype-punct: New file.
53800         * modules/unictype/ctype-space: New file.
53801         * modules/unictype/ctype-upper: New file.
53802         * modules/unictype/ctype-xdigit: New file.
53803         * modules/unictype/ctype-blank: New file.
53804         * lib/unictype/bidi_byname.c: New file.
53805         * lib/unictype/bidi_name.c: New file.
53806         * lib/unictype/bidi_of.c: New file.
53807         * lib/unictype/bidi_test.c: New file.
53808         * lib/unictype/bitmap.h: New file.
53809         * lib/unictype/block_test.c: New file.
53810         * lib/unictype/blocks.c: New file.
53811         * lib/unictype/categ_C.c: New file.
53812         * lib/unictype/categ_Cc.c: New file.
53813         * lib/unictype/categ_Cf.c: New file.
53814         * lib/unictype/categ_Cn.c: New file.
53815         * lib/unictype/categ_Co.c: New file.
53816         * lib/unictype/categ_Cs.c: New file.
53817         * lib/unictype/categ_L.c: New file.
53818         * lib/unictype/categ_Ll.c: New file.
53819         * lib/unictype/categ_Lm.c: New file.
53820         * lib/unictype/categ_Lo.c: New file.
53821         * lib/unictype/categ_Lt.c: New file.
53822         * lib/unictype/categ_Lu.c: New file.
53823         * lib/unictype/categ_M.c: New file.
53824         * lib/unictype/categ_Mc.c: New file.
53825         * lib/unictype/categ_Me.c: New file.
53826         * lib/unictype/categ_Mn.c: New file.
53827         * lib/unictype/categ_N.c: New file.
53828         * lib/unictype/categ_Nd.c: New file.
53829         * lib/unictype/categ_Nl.c: New file.
53830         * lib/unictype/categ_No.c: New file.
53831         * lib/unictype/categ_P.c: New file.
53832         * lib/unictype/categ_Pc.c: New file.
53833         * lib/unictype/categ_Pd.c: New file.
53834         * lib/unictype/categ_Pe.c: New file.
53835         * lib/unictype/categ_Pf.c: New file.
53836         * lib/unictype/categ_Pi.c: New file.
53837         * lib/unictype/categ_Po.c: New file.
53838         * lib/unictype/categ_Ps.c: New file.
53839         * lib/unictype/categ_S.c: New file.
53840         * lib/unictype/categ_Sc.c: New file.
53841         * lib/unictype/categ_Sk.c: New file.
53842         * lib/unictype/categ_Sm.c: New file.
53843         * lib/unictype/categ_So.c: New file.
53844         * lib/unictype/categ_Z.c: New file.
53845         * lib/unictype/categ_Zl.c: New file.
53846         * lib/unictype/categ_Zp.c: New file.
53847         * lib/unictype/categ_Zs.c: New file.
53848         * lib/unictype/categ_and.c: New file.
53849         * lib/unictype/categ_and_not.c: New file.
53850         * lib/unictype/categ_byname.c: New file.
53851         * lib/unictype/categ_name.c: New file.
53852         * lib/unictype/categ_none.c: New file.
53853         * lib/unictype/categ_of.c: New file.
53854         * lib/unictype/categ_or.c: New file.
53855         * lib/unictype/categ_test.c: New file.
53856         * lib/unictype/combining.c: New file.
53857         * lib/unictype/ctype_alnum.c: New file.
53858         * lib/unictype/ctype_alpha.c: New file.
53859         * lib/unictype/ctype_blank.c: New file.
53860         * lib/unictype/ctype_cntrl.c: New file.
53861         * lib/unictype/ctype_digit.c: New file.
53862         * lib/unictype/ctype_graph.c: New file.
53863         * lib/unictype/ctype_lower.c: New file.
53864         * lib/unictype/ctype_print.c: New file.
53865         * lib/unictype/ctype_punct.c: New file.
53866         * lib/unictype/ctype_space.c: New file.
53867         * lib/unictype/ctype_upper.c: New file.
53868         * lib/unictype/ctype_xdigit.c: New file.
53869         * lib/unictype/decdigit.c: New file.
53870         * lib/unictype/digit.c: New file.
53871         * lib/unictype/identsyntaxmap.h: New file.
53872         * lib/unictype/mirror.c: New file.
53873         * lib/unictype/numeric.c: New file.
53874         * lib/unictype/pr_alphabetic.c: New file.
53875         * lib/unictype/pr_ascii_hex_digit.c: New file.
53876         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53877         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53878         * lib/unictype/pr_bidi_block_separator.c: New file.
53879         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53880         * lib/unictype/pr_bidi_common_separator.c: New file.
53881         * lib/unictype/pr_bidi_control.c: New file.
53882         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53883         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53884         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53885         * lib/unictype/pr_bidi_european_digit.c: New file.
53886         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53887         * lib/unictype/pr_bidi_left_to_right.c: New file.
53888         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53889         * lib/unictype/pr_bidi_other_neutral.c: New file.
53890         * lib/unictype/pr_bidi_pdf.c: New file.
53891         * lib/unictype/pr_bidi_segment_separator.c: New file.
53892         * lib/unictype/pr_bidi_whitespace.c: New file.
53893         * lib/unictype/pr_byname.c: New file.
53894         * lib/unictype/pr_byname.gperf: New file.
53895         * lib/unictype/pr_combining.c: New file.
53896         * lib/unictype/pr_composite.c: New file.
53897         * lib/unictype/pr_currency_symbol.c: New file.
53898         * lib/unictype/pr_dash.c: New file.
53899         * lib/unictype/pr_decimal_digit.c: New file.
53900         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53901         * lib/unictype/pr_deprecated.c: New file.
53902         * lib/unictype/pr_diacritic.c: New file.
53903         * lib/unictype/pr_extender.c: New file.
53904         * lib/unictype/pr_format_control.c: New file.
53905         * lib/unictype/pr_grapheme_base.c: New file.
53906         * lib/unictype/pr_grapheme_extend.c: New file.
53907         * lib/unictype/pr_grapheme_link.c: New file.
53908         * lib/unictype/pr_hex_digit.c: New file.
53909         * lib/unictype/pr_hyphen.c: New file.
53910         * lib/unictype/pr_id_continue.c: New file.
53911         * lib/unictype/pr_id_start.c: New file.
53912         * lib/unictype/pr_ideographic.c: New file.
53913         * lib/unictype/pr_ids_binary_operator.c: New file.
53914         * lib/unictype/pr_ids_trinary_operator.c: New file.
53915         * lib/unictype/pr_ignorable_control.c: New file.
53916         * lib/unictype/pr_iso_control.c: New file.
53917         * lib/unictype/pr_join_control.c: New file.
53918         * lib/unictype/pr_left_of_pair.c: New file.
53919         * lib/unictype/pr_line_separator.c: New file.
53920         * lib/unictype/pr_logical_order_exception.c: New file.
53921         * lib/unictype/pr_lowercase.c: New file.
53922         * lib/unictype/pr_math.c: New file.
53923         * lib/unictype/pr_non_break.c: New file.
53924         * lib/unictype/pr_not_a_character.c: New file.
53925         * lib/unictype/pr_numeric.c: New file.
53926         * lib/unictype/pr_other_alphabetic.c: New file.
53927         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53928         * lib/unictype/pr_other_grapheme_extend.c: New file.
53929         * lib/unictype/pr_other_id_continue.c: New file.
53930         * lib/unictype/pr_other_id_start.c: New file.
53931         * lib/unictype/pr_other_lowercase.c: New file.
53932         * lib/unictype/pr_other_math.c: New file.
53933         * lib/unictype/pr_other_uppercase.c: New file.
53934         * lib/unictype/pr_paired_punctuation.c: New file.
53935         * lib/unictype/pr_paragraph_separator.c: New file.
53936         * lib/unictype/pr_pattern_syntax.c: New file.
53937         * lib/unictype/pr_pattern_white_space.c: New file.
53938         * lib/unictype/pr_private_use.c: New file.
53939         * lib/unictype/pr_punctuation.c: New file.
53940         * lib/unictype/pr_quotation_mark.c: New file.
53941         * lib/unictype/pr_radical.c: New file.
53942         * lib/unictype/pr_sentence_terminal.c: New file.
53943         * lib/unictype/pr_soft_dotted.c: New file.
53944         * lib/unictype/pr_space.c: New file.
53945         * lib/unictype/pr_terminal_punctuation.c: New file.
53946         * lib/unictype/pr_test.c: New file.
53947         * lib/unictype/pr_titlecase.c: New file.
53948         * lib/unictype/pr_unassigned_code_value.c: New file.
53949         * lib/unictype/pr_unified_ideograph.c: New file.
53950         * lib/unictype/pr_uppercase.c: New file.
53951         * lib/unictype/pr_variation_selector.c: New file.
53952         * lib/unictype/pr_white_space.c: New file.
53953         * lib/unictype/pr_xid_continue.c: New file.
53954         * lib/unictype/pr_xid_start.c: New file.
53955         * lib/unictype/pr_zero_width.c: New file.
53956         * lib/unictype/scripts.c: New file.
53957         * lib/unictype/sy_c_ident.c: New file.
53958         * lib/unictype/sy_c_whitespace.c: New file.
53959         * lib/unictype/sy_java_ident.c: New file.
53960         * lib/unictype/sy_java_whitespace.c: New file.
53961
53962         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53963         Unicode 5.0.0.
53964         * lib/unictype/blocks.h: Likewise.
53965         * lib/unictype/categ_C.h: Likewise.
53966         * lib/unictype/categ_Cc.h: Likewise.
53967         * lib/unictype/categ_Cf.h: Likewise.
53968         * lib/unictype/categ_Cn.h: Likewise.
53969         * lib/unictype/categ_Co.h: Likewise.
53970         * lib/unictype/categ_Cs.h: Likewise.
53971         * lib/unictype/categ_L.h: Likewise.
53972         * lib/unictype/categ_Ll.h: Likewise.
53973         * lib/unictype/categ_Lm.h: Likewise.
53974         * lib/unictype/categ_Lo.h: Likewise.
53975         * lib/unictype/categ_Lt.h: Likewise.
53976         * lib/unictype/categ_Lu.h: Likewise.
53977         * lib/unictype/categ_M.h: Likewise.
53978         * lib/unictype/categ_Mc.h: Likewise.
53979         * lib/unictype/categ_Me.h: Likewise.
53980         * lib/unictype/categ_Mn.h: Likewise.
53981         * lib/unictype/categ_N.h: Likewise.
53982         * lib/unictype/categ_Nd.h: Likewise.
53983         * lib/unictype/categ_Nl.h: Likewise.
53984         * lib/unictype/categ_No.h: Likewise.
53985         * lib/unictype/categ_P.h: Likewise.
53986         * lib/unictype/categ_Pc.h: Likewise.
53987         * lib/unictype/categ_Pd.h: Likewise.
53988         * lib/unictype/categ_Pe.h: Likewise.
53989         * lib/unictype/categ_Pf.h: Likewise.
53990         * lib/unictype/categ_Pi.h: Likewise.
53991         * lib/unictype/categ_Po.h: Likewise.
53992         * lib/unictype/categ_Ps.h: Likewise.
53993         * lib/unictype/categ_S.h: Likewise.
53994         * lib/unictype/categ_Sc.h: Likewise.
53995         * lib/unictype/categ_Sk.h: Likewise.
53996         * lib/unictype/categ_Sm.h: Likewise.
53997         * lib/unictype/categ_So.h: Likewise.
53998         * lib/unictype/categ_Z.h: Likewise.
53999         * lib/unictype/categ_Zl.h: Likewise.
54000         * lib/unictype/categ_Zp.h: Likewise.
54001         * lib/unictype/categ_Zs.h: Likewise.
54002         * lib/unictype/categ_of.h: Likewise.
54003         * lib/unictype/combining.h: Likewise.
54004         * lib/unictype/ctype_alnum.h: Likewise.
54005         * lib/unictype/ctype_alpha.h: Likewise.
54006         * lib/unictype/ctype_blank.h: Likewise.
54007         * lib/unictype/ctype_cntrl.h: Likewise.
54008         * lib/unictype/ctype_digit.h: Likewise.
54009         * lib/unictype/ctype_graph.h: Likewise.
54010         * lib/unictype/ctype_lower.h: Likewise.
54011         * lib/unictype/ctype_print.h: Likewise.
54012         * lib/unictype/ctype_punct.h: Likewise.
54013         * lib/unictype/ctype_space.h: Likewise.
54014         * lib/unictype/ctype_upper.h: Likewise.
54015         * lib/unictype/ctype_xdigit.h: Likewise.
54016         * lib/unictype/decdigit.h: Likewise.
54017         * lib/unictype/digit.h: Likewise.
54018         * lib/unictype/mirror.h: Likewise.
54019         * lib/unictype/numeric.h: Likewise.
54020         * lib/unictype/pr_alphabetic.h: Likewise.
54021         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
54022         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
54023         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
54024         * lib/unictype/pr_bidi_block_separator.h: Likewise.
54025         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
54026         * lib/unictype/pr_bidi_common_separator.h: Likewise.
54027         * lib/unictype/pr_bidi_control.h: Likewise.
54028         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
54029         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
54030         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
54031         * lib/unictype/pr_bidi_european_digit.h: Likewise.
54032         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
54033         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
54034         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
54035         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
54036         * lib/unictype/pr_bidi_pdf.h: Likewise.
54037         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
54038         * lib/unictype/pr_bidi_whitespace.h: Likewise.
54039         * lib/unictype/pr_combining.h: Likewise.
54040         * lib/unictype/pr_composite.h: Likewise.
54041         * lib/unictype/pr_currency_symbol.h: Likewise.
54042         * lib/unictype/pr_dash.h: Likewise.
54043         * lib/unictype/pr_decimal_digit.h: Likewise.
54044         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
54045         * lib/unictype/pr_deprecated.h: Likewise.
54046         * lib/unictype/pr_diacritic.h: Likewise.
54047         * lib/unictype/pr_extender.h: Likewise.
54048         * lib/unictype/pr_format_control.h: Likewise.
54049         * lib/unictype/pr_grapheme_base.h: Likewise.
54050         * lib/unictype/pr_grapheme_extend.h: Likewise.
54051         * lib/unictype/pr_grapheme_link.h: Likewise.
54052         * lib/unictype/pr_hex_digit.h: Likewise.
54053         * lib/unictype/pr_hyphen.h: Likewise.
54054         * lib/unictype/pr_id_continue.h: Likewise.
54055         * lib/unictype/pr_id_start.h: Likewise.
54056         * lib/unictype/pr_ideographic.h: Likewise.
54057         * lib/unictype/pr_ids_binary_operator.h: Likewise.
54058         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
54059         * lib/unictype/pr_ignorable_control.h: Likewise.
54060         * lib/unictype/pr_iso_control.h: Likewise.
54061         * lib/unictype/pr_join_control.h: Likewise.
54062         * lib/unictype/pr_left_of_pair.h: Likewise.
54063         * lib/unictype/pr_line_separator.h: Likewise.
54064         * lib/unictype/pr_logical_order_exception.h: Likewise.
54065         * lib/unictype/pr_lowercase.h: Likewise.
54066         * lib/unictype/pr_math.h: Likewise.
54067         * lib/unictype/pr_non_break.h: Likewise.
54068         * lib/unictype/pr_not_a_character.h: Likewise.
54069         * lib/unictype/pr_numeric.h: Likewise.
54070         * lib/unictype/pr_other_alphabetic.h: Likewise.
54071         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
54072         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
54073         * lib/unictype/pr_other_id_continue.h: Likewise.
54074         * lib/unictype/pr_other_id_start.h: Likewise.
54075         * lib/unictype/pr_other_lowercase.h: Likewise.
54076         * lib/unictype/pr_other_math.h: Likewise.
54077         * lib/unictype/pr_other_uppercase.h: Likewise.
54078         * lib/unictype/pr_paired_punctuation.h: Likewise.
54079         * lib/unictype/pr_paragraph_separator.h: Likewise.
54080         * lib/unictype/pr_pattern_syntax.h: Likewise.
54081         * lib/unictype/pr_pattern_white_space.h: Likewise.
54082         * lib/unictype/pr_private_use.h: Likewise.
54083         * lib/unictype/pr_punctuation.h: Likewise.
54084         * lib/unictype/pr_quotation_mark.h: Likewise.
54085         * lib/unictype/pr_radical.h: Likewise.
54086         * lib/unictype/pr_sentence_terminal.h: Likewise.
54087         * lib/unictype/pr_soft_dotted.h: Likewise.
54088         * lib/unictype/pr_space.h: Likewise.
54089         * lib/unictype/pr_terminal_punctuation.h: Likewise.
54090         * lib/unictype/pr_titlecase.h: Likewise.
54091         * lib/unictype/pr_unassigned_code_value.h: Likewise.
54092         * lib/unictype/pr_unified_ideograph.h: Likewise.
54093         * lib/unictype/pr_uppercase.h: Likewise.
54094         * lib/unictype/pr_variation_selector.h: Likewise.
54095         * lib/unictype/pr_white_space.h: Likewise.
54096         * lib/unictype/pr_xid_continue.h: Likewise.
54097         * lib/unictype/pr_xid_start.h: Likewise.
54098         * lib/unictype/pr_zero_width.h: Likewise.
54099         * lib/unictype/scripts.h: Likewise.
54100         * lib/unictype/scripts_byname.gperf: Likewise.
54101         * lib/unictype/sy_c_ident.h: Likewise.
54102         * lib/unictype/sy_c_whitespace.h: Likewise.
54103         * lib/unictype/sy_java_ident.h: Likewise.
54104         * lib/unictype/sy_java_whitespace.h: Likewise.
54105
54106         * lib/unictype/Makefile: New file.
54107         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
54108         glibc.
54109         * lib/unictype/3level.h: New file, copied from glibc.
54110         * lib/unictype/3levelbit.h: New file.
54111
54112 2007-11-11  Bruno Haible  <bruno@clisp.org>
54113
54114         * modules/gperf: New file.
54115         * modules/iconv_open (Depends-on): Add it.
54116         (Makefile.am): Remove the GPERF definition.
54117
54118 2007-11-11  Bruno Haible  <bruno@clisp.org>
54119
54120         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
54121         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
54122
54123 2007-11-11  Bruno Haible  <bruno@clisp.org>
54124
54125         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
54126         (usage): Remove function.
54127
54128 2007-11-11  Bruno Haible  <bruno@clisp.org>
54129
54130         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
54131         gl_FUNC_CEILF_LIBS.
54132         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
54133         gl_FUNC_CEIL_LIBS.
54134         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
54135         gl_FUNC_CEILL_LIBS.
54136         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
54137         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
54138         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
54139
54140 2007-11-11  Bruno Haible  <bruno@clisp.org>
54141
54142         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
54143         roundf were declared but do not exist on functions.
54144         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
54145         roundl were declared but do not exist on functions.
54146         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
54147         HAVE_FLOORL_AND_CEILL, respectively.
54148         Needed for Sun C on Solaris 10.
54149
54150 2007-11-11  Bruno Haible  <bruno@clisp.org>
54151
54152         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
54153         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
54154         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
54155         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
54156         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
54157         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
54158         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
54159         HAVE_DECL_ROUNDF.
54160         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
54161         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
54162         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
54163         of HAVE_DECL_ROUND*.
54164         * modules/math (Makefile.am): Update.
54165
54166 2007-11-10  Bruno Haible  <bruno@clisp.org>
54167
54168         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
54169         ptrdiff_t as m4/intl.m4.
54170
54171 2007-11-10  Jim Meyering  <meyering@redhat.com>
54172
54173         Avoid link failure for the argmatch test.
54174         * tests/test-argmatch.c (usage): Define function to avoid a link
54175         failure: argmatch_die requires a usage function.
54176
54177 2007-11-09  Bruno Haible  <bruno@clisp.org>
54178
54179         * doc/functions/snprintf.texi: Mention BeOS deficiency.
54180         * doc/functions/vsnprintf.texi: Likewise.
54181         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
54182         with a size argument < 2.
54183
54184 2007-11-09  Bruno Haible  <bruno@clisp.org>
54185
54186         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
54187         buffer. Fixes an inefficiency introduced on 2007-11-03.
54188
54189 2007-11-09  Bruno Haible  <bruno@clisp.org>
54190
54191         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
54192         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
54193
54194 2007-11-08  Jim Meyering  <meyering@redhat.com>
54195
54196         Change cache variable name prefix "jm_" to "gl_" everywhere.
54197         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
54198         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
54199         * m4/uptime.m4: s/gl_/jm_/
54200
54201 2007-11-07  Bruno Haible  <bruno@clisp.org>
54202
54203         Update to GNU gettext 0.17.
54204         * m4/intl.m4: Update to GNU gettext 0.17.
54205         * m4/po.m4: Likewise.
54206         * modules/gettext (Files): Remove m4/ulonglong.m4.
54207         (configure.ac): Require gettext infrastructure from version 0.17.
54208
54209 2007-11-06  Bruno Haible  <bruno@clisp.org>
54210
54211         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
54212         symbolic values are not defined in a public header.
54213         * lib/freadable.c (freadable) [QNX]: Likewise.
54214         * lib/freadahead.c (freadahead) [QNX]: Likewise.
54215         * lib/freading.c (freading) [QNX]: Likewise.
54216         * lib/fseterr.c (fseterr) [QNX]: Likewise.
54217         * lib/fwritable.c (fwritable) [QNX]: Likewise.
54218         * lib/fwriting.c (fwriting) [QNX]: Likewise.
54219         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
54220         Reported by Alain Magloire.
54221
54222         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
54223
54224 2007-11-05  Bruno Haible  <bruno@clisp.org>
54225
54226         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
54227         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
54228         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
54229         Reported by Eric Blake.
54230
54231 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54232             Bruno Haible  <bruno@clisp.org>
54233
54234         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
54235         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
54236         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
54237         (malloc): Undefine also before including <stdlib.h>.
54238         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
54239         Needed on OSF/1 4.0.
54240
54241 2007-11-05  Jim Meyering  <meyering@redhat.com>
54242
54243         git-version-gen: sync from coreutils.
54244         * build-aux/git-version-gen: Add comments.
54245         Change the first '-' to '.' in the snapshot version string,
54246         e.g., 6.9-377-08144 -> 6.9.377-08144
54247         Remove first parameter.
54248         Don't declare a version "-dirty" merely because a time
54249         stamp has changed.
54250
54251 2007-11-04  Bruno Haible  <bruno@clisp.org>
54252
54253         * lib/lock.h: Protect all macro definitions containing an 'if'
54254         statement through a "do { ... } while (0)".
54255         * lib/tls.h: Likewise.
54256
54257 2007-11-04  Bruno Haible  <bruno@clisp.org>
54258
54259         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
54260
54261 2007-11-04  Bruno Haible  <bruno@clisp.org>
54262
54263         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
54264         * modules/fprintf-posix (Depends-on): Add nocrash.
54265         * modules/snprintf-posix (Depends-on): Likewise.
54266         * modules/sprintf-posix (Depends-on): Likewise.
54267         * modules/vasnprintf-posix (Depends-on): Likewise.
54268         * modules/vasprintf-posix (Depends-on): Likewise.
54269         * modules/vfprintf-posix (Depends-on): Likewise.
54270         * modules/vsnprintf-posix (Depends-on): Likewise.
54271         * modules/vsprintf-posix (Depends-on): Likewise.
54272         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54273         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54274         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54275         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54276         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54277         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54278         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54279
54280 2007-11-04  Bruno Haible  <bruno@clisp.org>
54281
54282         * modules/nocrash: New file.
54283         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
54284         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
54285
54286 2007-11-04  Bruno Haible  <bruno@clisp.org>
54287
54288         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
54289         precision handling.
54290         * tests/test-vasprintf-posix.c (test_function): Likewise.
54291         * tests/test-snprintf-posix.h (test_function): Likewise.
54292         * tests/test-sprintf-posix.h (test_function): Likewise.
54293
54294         Fix *printf behaviour for large precisions on mingw and BeOS.
54295         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
54296         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
54297         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
54298         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54299         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54300         gl_PRINTF_PRECISION and test its result. Invoke
54301         gl_PREREQ_VASNPRINTF_PRECISION.
54302         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54303         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54304         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54305         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54306         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54307         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54308         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54309         * doc/functions/fprintf.texi: Update.
54310         * doc/functions/printf.texi: Update.
54311         * doc/functions/snprintf.texi: Update.
54312         * doc/functions/sprintf.texi: Update.
54313         * doc/functions/vfprintf.texi: Update.
54314         * doc/functions/vprintf.texi: Update.
54315         * doc/functions/vsnprintf.texi: Update.
54316         * doc/functions/vsprintf.texi: Update.
54317
54318 2007-11-04  Bruno Haible  <bruno@clisp.org>
54319
54320         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
54321
54322 2007-11-04  Bruno Haible  <bruno@clisp.org>
54323
54324         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
54325         Reported by Sylvain Beucler <beuc@gnu.org>.
54326
54327 2007-11-03  Bruno Haible  <bruno@clisp.org>
54328
54329         * tests/test-fprintf-posix2.sh: New file.
54330         * tests/test-fprintf-posix2.c: New file.
54331         * modules/fprintf-posix-tests (Files): Add them.
54332         (TESTS): Add test-fprintf-posix2.sh.
54333         (configure.ac): Check for getrlimit and setrlimit.
54334         (check_PROGRAMS): Add test-fprintf-posix2.
54335
54336         * tests/test-printf-posix2.sh: New file.
54337         * tests/test-printf-posix2.c: New file.
54338         * modules/printf-posix-tests (Files): Add them.
54339         (TESTS): Add test-printf-posix2.sh.
54340         (configure.ac): Check for getrlimit and setrlimit.
54341         (check_PROGRAMS): Add test-printf-posix2.
54342
54343         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
54344         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
54345         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
54346         (decode_double): New function, copied from decode_long_double.
54347         (scale10_round_decimal_decoded): New function, extracted from
54348         scale10_round_decimal_long_double.
54349         (scale10_round_decimal_long_double): Use it.
54350         (scale10_round_decimal_double): New function.
54351         (floorlog10): New function.
54352         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
54353         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
54354         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54355         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54356         gl_PRINTF_ENOMEM and test its result. Invoke
54357         gl_PREREQ_VASNPRINTF_ENOMEM.
54358         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54359         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54360         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54361         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54362         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54363         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54364         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54365         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
54366         * modules/snprintf-posix (Depends-on): Likewise.
54367         * modules/sprintf-posix (Depends-on): Likewise.
54368         * modules/vasnprintf-posix (Depends-on): Likewise.
54369         * modules/vasprintf-posix (Depends-on): Likewise.
54370         * modules/vfprintf-posix (Depends-on): Likewise.
54371         * modules/vsnprintf-posix (Depends-on): Likewise.
54372         * modules/vsprintf-posix (Depends-on): Likewise.
54373         * doc/functions/fprintf.texi: Update.
54374         * doc/functions/printf.texi: Update.
54375         * doc/functions/snprintf.texi: Update.
54376         * doc/functions/sprintf.texi: Update.
54377         * doc/functions/vfprintf.texi: Update.
54378         * doc/functions/vprintf.texi: Update.
54379         * doc/functions/vsnprintf.texi: Update.
54380         * doc/functions/vsprintf.texi: Update.
54381
54382 2007-11-03  Bruno Haible  <bruno@clisp.org>
54383
54384         * modules/frexp-nolibm-tests: New file.
54385
54386         * modules/frexp-nolibm: New file.
54387         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
54388
54389 2007-11-03  Bruno Haible  <bruno@clisp.org>
54390
54391         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
54392         value is C99 compliant.
54393         Needed for OSF/1 5.1.
54394
54395 2007-11-03  Bruno Haible  <bruno@clisp.org>
54396
54397         Fix out-of-memory handling of vasnprintf.
54398         * lib/printf-parse.c: Include <errno.h>.
54399         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
54400         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
54401         is already set.
54402
54403 2007-11-02  Eric Blake  <ebb9@byu.net>
54404
54405         Fix tests on cygwin.
54406         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54407
54408 2007-11-01  Bruno Haible  <bruno@clisp.org>
54409
54410         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54411         warning.
54412         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54413         needed for POSIX compatibility.
54414
54415 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54416
54417         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54418         for compatibility with GNU.
54419
54420 2007-11-01  Bruno Haible  <bruno@clisp.org>
54421
54422         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54423         (putenv): Renamed from rpl_putenv. Change argument type from
54424         'const char *' to 'char *'.
54425         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54426         of defining putenv in config.h, just set REPLACE_PUTENV.
54427         * modules/putenv (Depends-on): Add stdlib.
54428         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54429         (Include): Use <stdlib.h>.
54430         * lib/stdlib.in.h (putenv): New declaration.
54431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54432         REPLACE_PUTENV.
54433         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54434         REPLACE_PUTENV.
54435         Needed for MacOS X 10.5.0.
54436         Reported by Peter O'Gorman <peter@pogma.com>.
54437
54438 2007-11-01  Jim Meyering  <meyering@redhat.com>
54439
54440         Treat an empty date string exactly like "0".
54441         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54442         if the remaining date string (to be parsed) is empty, use "0".
54443         Reported by Mischa Molhoek and discussed in this thread:
54444         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54445
54446 2007-10-31  Bruno Haible  <bruno@clisp.org>
54447
54448         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54449         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54450         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54451         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54452         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54453         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54454
54455 2007-10-31  Bruno Haible  <bruno@clisp.org>
54456
54457         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54458         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54459         (AC_TYPE_LONG_LONG_INT): Use it.
54460         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54461         it as well.
54462         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54463         to m4/longlong.m4.
54464         * modules/stdint (Files): Remove m4/ulonglong.m4.
54465         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54466         m4/ulonglong.m4.
54467         * modules/strtoumax (Files): Likewise.
54468
54469 2007-10-30  Bruno Haible  <bruno@clisp.org>
54470
54471         * modules/xvasprintf-posix: New file.
54472         Suggested by Eric Blake.
54473
54474 2007-10-30  Bruno Haible  <bruno@clisp.org>
54475
54476         * modules/xprintf-posix-tests: New file.
54477         * tests/test-xprintf-posix.sh: New file.
54478         * tests/test-xprintf-posix.c: New file.
54479         * tests/test-xfprintf-posix.c: New file.
54480
54481         * modules/xprintf-posix: New file.
54482
54483 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54484
54485         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54486         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54487         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54488
54489 2007-10-29  Bruno Haible  <bruno@clisp.org>
54490
54491         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54492         contain the special marker '_cv_'.
54493         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54494         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54495         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54496         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54497         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54498         Reported by Ralf Wildenhues.
54499
54500 2007-10-29  Bruno Haible  <bruno@clisp.org>
54501
54502         * gnulib-tool (func_import): When --lgpl is not specified, set
54503         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54504         GPLv3.
54505         Reported by Simon Josefsson.
54506
54507 2007-10-28  Bruno Haible  <bruno@clisp.org>
54508
54509         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54510         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54511         HAVE_DECL_ISFINITE.
54512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54513         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54514         HAVE_DECL_ISFINITE.
54515
54516 2007-10-28  Bruno Haible  <bruno@clisp.org>
54517
54518         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54519         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54520
54521 2007-10-28  Bruno Haible  <bruno@clisp.org>
54522
54523         Fix link errors with Sun C 5.0 on Solaris 10.
54524         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54525         function is declared but not present in the compiler's libm.
54526         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54527         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54528         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54529         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54530         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54531         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54532         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54534         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54535         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54536         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54537         HAVE_DECL_FLOORL.
54538
54539 2007-10-28  Bruno Haible  <bruno@clisp.org>
54540
54541         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54542         gl_FUNC_FLOORL. Cache the result.
54543         (gl_FUNC_FLOORL): Use it.
54544         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54545         gl_FUNC_CEILL. Cache the result.
54546         (gl_FUNC_CEILL): Use it.
54547
54548         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54549         gl_FUNC_FLOOR. Cache the result.
54550         (gl_FUNC_FLOOR): Use it.
54551         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54552         gl_FUNC_CEIL. Cache the result.
54553         (gl_FUNC_CEIL): Use it.
54554
54555         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54556         gl_FUNC_FLOORF. Cache the result.
54557         (gl_FUNC_FLOORF): Use it.
54558         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54559         gl_FUNC_CEILF. Cache the result.
54560         (gl_FUNC_CEILF): Use it.
54561
54562 2007-10-28  Bruno Haible  <bruno@clisp.org>
54563
54564         * gnulib-tool: Allow specifying the LGPL version number through
54565         --lgpl=2 or --lgpl=3.
54566         (func_usage): Document --lgpl with argument.
54567         Handle --lgpl=... arguments.
54568         (func_import): Recognize also gl_LGPL calls with an argument. When
54569         --lgpl=2 is used and the module's license is just LGPL, report an
54570         error. Set sed_transform_lib_file according to the lgpl variable. In
54571         the generated files, use --lgpl or gl_LGPL invocations with argument,
54572         if necessary.
54573         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54574         an LGPv2+ license.
54575         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54576         gl_LGPL macro.
54577
54578 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54579             Bruno Haible  <bruno@clisp.org>
54580
54581         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54582         (u16_uctomb_aux): Likewise.
54583         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54584         !HAVE_INLINE.
54585         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54586
54587 2007-10-28  Bruno Haible  <bruno@clisp.org>
54588
54589         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54590         Invoke AM_GETTEXT_OPTION if it exists.
54591         * modules/vasprintf: Likewise.
54592         * modules/verror: Likewise.
54593         * modules/xprintf: Likewise.
54594         * modules/xvasprintf: Likewise.
54595
54596 2007-10-27  Ben Pfaff  <blp@gnu.org>
54597
54598         * lib/math.in.h: Define isfinite macro and prototypes for
54599         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54600         implementations.
54601         * m4/math_h.m4: New substitutions for isfinite module.
54602         * lib/isfinite.c: New file.
54603         * m4/isfinite.m4: New file.
54604         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54605         * modules/isfinite: New file.
54606         * modules/isfinite-tests: New file.
54607         * tests/tests-isfinite.c: New file.
54608         * doc/functions/isfinite.texi: Mention isfinite module.
54609         * MODULES.html.sh: Mention new module.
54610
54611 2007-10-27  Ben Pfaff  <blp@gnu.org>
54612
54613         Ralf Wildenhues reported that Tru64 4.0D declares the round
54614         functions but does not have definitions.
54615         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54616         cannot be found in any library, set the output variable to
54617         "missing" instead of "".
54618         * m4/round.m4: Also use our substitute if we cannot find round in
54619         any library, even if it is declared.
54620         * m4/roundf.m4: Likewise for roundf.
54621         * m4/roundl.m4: Likewise for roundl.
54622         * lib/math.in.h: Undefine roundf, round, roundl before defining
54623         their replacements, to allow for hypothetical systems where these
54624         may be defined as macros but not available in libraries.
54625
54626 2007-10-27  Bruno Haible  <bruno@clisp.org>
54627
54628         * doc/gnulib.texi: Invoke @firstparagraphindent.
54629         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54630         changes in gnulib.
54631         (Source changes): New section.
54632
54633 2007-10-26  Bruno Haible  <bruno@clisp.org>
54634
54635         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54636         borrowed from autoconf.
54637
54638 2007-10-26  Bruno Haible  <bruno@clisp.org>
54639
54640         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54641         strerror returned the empty string. Needed on HP-UX 11.00.
54642
54643 2007-10-24  Micah Cowan  <micah@cowan.name>
54644
54645         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54646         * build-aux/bootstrap: Remove support for now-unnecessary option,
54647         --cvs-user, and envvars CVS_USER, CVS_RSH.
54648
54649 2007-10-24  Jim Meyering  <meyering@redhat.com>
54650
54651         Avoid diagnostics from sha1sum when there is no cached checksum.
54652         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54653         if the po.s1 file hasn't been created yet.
54654
54655         * build-aux/bootstrap: Sync from coreutils:
54656         2007-10-24  Jim Meyering  <meyering@redhat.com>
54657         Get gnulib from the git repository, not from an obsolete cvs one.
54658         * build-aux/bootstrap: Suggestion from Micah Cowan.
54659         2007-10-04  Jim Meyering  <jim@meyering.net>
54660         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54661         (update_po_files): Work also when there are no .po files in po/.
54662
54663 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54664
54665         * README: Append ".git" to git and cg examples.
54666         Problem reported by Benoit Sigoure.
54667
54668 2007-10-23  Micah Cowan  <micah@cowan.name>
54669
54670         * users.txt: Add wget.
54671
54672 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54673
54674         Fix linking of some unistdio tests on FreeBSD.
54675         * modules/unistdio/u16-vsnprintf-tests
54676         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54677         * modules/unistdio/u16-vsprintf-tests
54678         (test_u16_vsnprintf1_LDADD): Likewise.
54679         * modules/unistdio/u32-vsnprintf-tests
54680         (test_u32_vsnprintf1_LDADD): Likewise.
54681         * modules/unistdio/u32-vsprintf-tests
54682         (test_u32_vsprintf1_LDADD): Likewise.
54683         * modules/unistdio/u8-vsnprintf-tests
54684         (test_u8_vsnprintf1_LDADD): Likewise.
54685         * modules/unistdio/u8-vsprintf-tests
54686         (test_u8_vsprintf1_LDADD): Likewise.
54687         * modules/unistdio/ulc-vsnprintf-tests
54688         (test_ulc_vsnprintf1_LDADD): Likewise.
54689         * modules/unistdio/ulc-vsprintf-tests
54690         (test_ulc_vsprintf1_LDADD): Likewise.
54691
54692         Fix linking of some uniconv tests on FreeBSD.
54693         * modules/uniconv/u16-conv-from-enc-tests
54694         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54695         * modules/uniconv/u16-conv-to-enc-tests
54696         (test_u16_conv_to_enc_LDADD): Likewise.
54697         * modules/uniconv/u16-strconv-from-enc-tests
54698         (test_u16_strconv_from_enc_LDADD): Likewise.
54699         * modules/uniconv/u16-strconv-to-enc-tests
54700         (test_u16_strconv_to_enc_LDADD): Likewise.
54701         * modules/uniconv/u32-conv-from-enc-tests
54702         (test_u32_conv_from_enc_LDADD): Likewise.
54703         * modules/uniconv/u32-conv-to-enc-tests
54704         (test_u32_conv_to_enc_LDADD): Likewise.
54705         * modules/uniconv/u32-strconv-from-enc-tests
54706         (test_u32_strconv_from_enc_LDADD): Likewise.
54707         * modules/uniconv/u32-strconv-to-enc-tests
54708         (test_u32_strconv_to_enc_LDADD): Likewise.
54709         * modules/uniconv/u8-conv-from-enc-tests
54710         (test_u8_conv_from_enc_LDADD): Likewise.
54711         * modules/uniconv/u8-conv-to-enc-tests
54712         (test_u8_conv_to_enc_LDADD): Likewise.
54713         * modules/uniconv/u8-strconv-from-enc-tests
54714         (test_u8_strconv_from_enc_LDADD): Likewise.
54715         * modules/uniconv/u8-strconv-to-enc-tests
54716         (test_u8_strconv_to_enc_LDADD): Likewise.
54717
54718 2007-10-22  Bruno Haible  <bruno@clisp.org>
54719
54720         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54721         size.
54722
54723 2007-10-22  Eric Blake  <ebb9@byu.net>
54724
54725         Tweak x*printf documentation.
54726         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54727         variable name and comments.
54728         Suggested by Bruno Haible.
54729
54730 2007-10-22  Bruno Haible  <bruno@clisp.org>
54731
54732         * lib/acl.c (copy_acl): Fix file name in comment.
54733
54734 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54735
54736         Fix Tru64 problem with stdbool.h.
54737         * lib/stdbool.in.h (false, true):
54738         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54739         Don't declare as an enum in this situation; it runs afoul of Tru64.
54740         Problem reported by Steven M. Schweda in
54741         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54742
54743 2007-10-22  Eric Blake  <ebb9@byu.net>
54744
54745         Also wrap vf?printf.
54746         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54747         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54748         (xvprintf, xvfprintf): New functions.
54749
54750 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54751
54752         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54753         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54754
54755         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54756         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54757
54758 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54759
54760         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54761         by Bruno Haible.
54762
54763 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54764
54765         * lib/getloadavg.c
54766         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54767         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54768
54769         * tests/test-i-ring.c: Work for C89.
54770
54771 2007-10-22  Bruno Haible  <bruno@clisp.org>
54772
54773         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54774         -1u, in preprocessor expression, so that we don't test for the bug
54775         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54776         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54777
54778 2007-10-22  Eric Blake  <ebb9@byu.net>
54779
54780         * tests/test-yesno.sh: Silence stderr during test.
54781
54782 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54783
54784         * modules/crypto/gc-camellia: New file.
54785
54786         * m4/gc-camellia.m4: New file.
54787
54788         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54789
54790         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54791
54792 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54793
54794         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54795         --help to stdout.  Reported by sms@antinode.org (Steven
54796         M. Schweda).
54797
54798 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54799
54800         * users.txt: Fix link to libksba.
54801
54802 2007-10-21  Ben Pfaff  <blp@gnu.org>
54803
54804         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54805         round.c roundf implementation that depends on floorf and ceilf to
54806         be tested unconditionally.
54807
54808 2007-10-21  Ben Pfaff  <blp@gnu.org>
54809
54810         * m4/check-libm-func.m4: Removed.
54811         * m4/check-math-lib.m4: New file.
54812         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54813         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54814         definition and lack of AC_LIBOBJ([roundf]).
54815         * m4/roundl.m4: Ditto, and similarly for roundl.
54816         * modules/round: Reference new m4 file.
54817         * modules/roundf: Ditto.
54818         * modules/roundl: Ditto.
54819         * tests/test-round2.c (main): Use ROUND instead of round.
54820         Bug report from Bruno Haible.
54821
54822 2007-10-21  Bruno Haible  <bruno@clisp.org>
54823
54824         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54825         context.
54826
54827 2007-10-21  Bruno Haible  <bruno@clisp.org>
54828
54829         * tests/test-wcwidth.c (main): Allow negative result for some control
54830         characters.
54831
54832         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54833         Needed on OSF/1 5.1.
54834
54835 2007-10-21  Bruno Haible  <bruno@clisp.org>
54836
54837         * tests/test-floorf1.c: Include isnanf.h.
54838         (main): Use isnanf() instead of isnan().
54839         * tests/test-ceilf1.c: Include isnanf.h.
54840         (main): Use isnanf() instead of isnan().
54841         * tests/test-truncf1.c: Include isnanf.h.
54842         (main): Use isnanf() instead of isnan().
54843         * tests/test-roundf1.c: Include isnanf.h.
54844         (main): Use isnanf() instead of isnan().
54845
54846 2007-10-21  Eric Blake  <ebb9@byu.net>
54847
54848         * users.txt: Update URL for m4.
54849
54850 2007-10-21  Bruno Haible  <bruno@clisp.org>
54851
54852         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54853
54854 2007-10-21  Bruno Haible  <bruno@clisp.org>
54855
54856         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54857         Git's management files if the CVS files are not present.
54858
54859 2007-10-20  Bruno Haible  <bruno@clisp.org>
54860
54861         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54862         gcc-3.4.x.
54863
54864 2007-10-20  Ben Pfaff  <blp@gnu.org>
54865
54866         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54867         implementations.
54868         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54869         * lib/round.c: New file.
54870         * lib/roundf.c: New file.
54871         * lib/roundl.c: New file.
54872         * m4/round.m4: New file.
54873         * m4/roundf.m4: New file.
54874         * m4/roundl.m4: New file.
54875         * m4/check-libm-func-m4: New file.
54876         * modules/math: Replace round, roundf, roundl related @VARS@ in
54877         math.in.h.
54878         * modules/round: New file.
54879         * modules/round-tests: New file.
54880         * modules/roundf: New file.
54881         * modules/roundf-tests: New file.
54882         * modules/roundl: New file.
54883         * modules/roundl-tests: New file.
54884         * tests/test-round1.c: New file.
54885         * tests/test-round2.c: New file.
54886         * tests/test-roundf1.c: New file.
54887         * tests/test-roundf2.c: New file.
54888         * tests/test-roundl.c: New file.
54889         * doc/functions/round.texi: Mention round module.
54890         * doc/functions/roundf.texi: Mention roundf module.
54891         * doc/functions/roundl.texi: Mention roundl module.
54892         * MODULES.html.sh: Mention new modules.
54893         Thanks to Bruno Haible for suggestions.
54894
54895 2007-10-20  Jim Meyering  <meyering@redhat.com>
54896
54897         * lib/xprintf.c: Include <config.h> unconditionally.
54898
54899         Change xprintf's license to GPL.
54900         * modules/xprintf (License): s/LGPL/GPL/, since this module
54901         depends on modules (exit and exitfail) which are GPL.
54902         Suggestion from Bruno Haible.
54903
54904         xprintf fixes.
54905         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54906         Use a clearer diagnostic.
54907         Patch from Bruno Haible.
54908
54909 2007-10-20  Bruno Haible  <bruno@clisp.org>
54910
54911         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54912         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54913         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54914
54915 2007-10-20  Bruno Haible  <bruno@clisp.org>
54916
54917         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54918         precision in the comparison result > x - 1 or similar.
54919         * tests/test-ceilf2.c (correct_result_p): Likewise.
54920         * tests/test-truncf2.c (correct_result_p): Likewise.
54921         * tests/test-trunc2.c (correct_result_p): Likewise.
54922         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54923
54924 2007-10-20  Bruno Haible  <bruno@clisp.org>
54925
54926         * modules/ceil: New file.
54927         * m4/ceil.m4: New file.
54928         * doc/functions/ceil.texi: Mention the 'ceil' module.
54929
54930 2007-10-20  Bruno Haible  <bruno@clisp.org>
54931
54932         * modules/floor: New file.
54933         * m4/floor.m4: New file.
54934         * doc/functions/floor.texi: Mention the 'floor' module.
54935
54936 2007-10-20  Bruno Haible  <bruno@clisp.org>
54937
54938         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54939         of %a.
54940         * modules/floorf-tests (Depends-on): Likewise.
54941         * modules/truncf-tests (Depends-on): Likewise.
54942         * modules/trunc-tests (Depends-on): Likewise.
54943         Reported by Ben Pfaff.
54944
54945 2007-10-19  Jim Meyering  <meyering@redhat.com>
54946
54947         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54948         Don't bother testing specific errno values.  Just test ferror.
54949
54950         New module: xprintf
54951         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54952
54953 2007-10-19  Bruno Haible  <bruno@clisp.org>
54954
54955         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54956         syntax.
54957         * modules/javaexec (Makefile.am): Likewise.
54958         * modules/relocatable-prog (Makefile.am): Likewise.
54959         Suggested by Jim Meyering.
54960
54961 2007-10-18  Bruno Haible  <bruno@clisp.org>
54962
54963         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54964         Reported by Jim Meyering.
54965
54966 2007-10-18  Eric Blake  <ebb9@byu.net>
54967
54968         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54969
54970 2007-10-18  Bruno Haible  <bruno@clisp.org>
54971
54972         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54973         the format string into writable memory. Needed in Fortify conditions.
54974
54975 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54976             Bruno Haible  <bruno@clisp.org>
54977
54978         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54979         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54980         * modules/trim (Depends-on): Add mbchar.
54981         (configure.ac): Add gl_FUNC_MBRTOWC.
54982         (Makefile.am): Augment lib_SOURCES.
54983
54984 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54985
54986         Modify glob.c to use fstatat and dirfd, to simplify it.
54987         Suggested by Eric Blake.
54988         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54989         Don't include <stdbool.h>; not used.
54990         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54991         (link_exists_p): Simplify implementation, since we can now assume
54992         dirfd and fstatat.
54993         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54994
54995 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54996
54997         * gnulib-tool (func_get_dependencies): Fix sed script to
54998         match only tests.
54999
55000 2007-10-17  Bruno Haible  <bruno@clisp.org>
55001
55002         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
55003         allow locale names without encoding suffix.
55004         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55005         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55006
55007 2007-10-16  Bruno Haible  <bruno@clisp.org>
55008
55009         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
55010         * lib/getgroups.c (getgroups): Likewise.
55011         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
55012
55013 2007-10-16  Bruno Haible  <bruno@clisp.org>
55014
55015         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
55016         * modules/malloc-posix (License): Likewise.
55017         * modules/realloc-posix (License): Likewise.
55018         * modules/calloc-posix (License): Likewise.
55019         * modules/intprops (License): Change from GPL to LGPL, with
55020         Paul Eggert's approval.
55021
55022 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55023
55024         Merge glibc changes into lib/glob.c.
55025
55026         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
55027         2007-10-15 04:59:03 UTC.  Here are the changes:
55028
55029         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
55030
55031         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
55032
55033         * lib/glob.c: Add some branch prediction throughout.
55034
55035         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
55036
55037         [BZ #5103]
55038         * lib/glob.c (glob): Recognize patterns starting \/.
55039
55040         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
55041
55042         [BZ #3996]
55043         * lib/glob.c (attribute_hidden): Define if not defined.
55044         (glob): Unescape dirname, filename or username when needed and not
55045         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
55046         is NULL.  Handle unescaped [ in pattern without closing ].
55047         Don't pass GLOB_CHECK down to recursive glob for directories.
55048         (__glob_pattern_type): New function.
55049         (__glob_pattern_p): Implement using __glob_pattern_type.
55050         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
55051         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
55052         Remove unreachable code.
55053
55054         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
55055
55056         * lib/glob.c (glob_in_dir): Add some comments and asserts to
55057         explain why there are no leaks.
55058
55059         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
55060
55061         [BZ #3253]
55062         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
55063         time, rather allocate increasingly bigger arrays of pointers, if
55064         possible with alloca, if too large with malloc.
55065
55066 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55067
55068         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
55069         Problem reported by H.Merijn Brand in
55070         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
55071         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
55072         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
55073
55074 2007-10-15  Bruno Haible  <bruno@clisp.org>
55075
55076         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
55077         with explicit rpl_ prefix.
55078         * lib/fopen.c (fopen): Likewise.
55079         * lib/freopen.c (freopen): Likewise.
55080         * lib/iconv.c (iconv): Likewise.
55081         * lib/iconv_close.c (iconv_close): Likewise.
55082
55083 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55084
55085         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
55086
55087 2007-10-15  Bruno Haible  <bruno@clisp.org>
55088
55089         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
55090         <stddef.h> instead of <stdlib.h> since we only need NULL.
55091         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55092
55093 2007-10-15  Bruno Haible  <bruno@clisp.org>
55094
55095         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
55096         Replace paragraph talking about LIBOBJS.
55097         Reported by Colin Watson <cjwatson@debian.org>.
55098
55099 2007-10-15  Bruno Haible  <bruno@clisp.org>
55100
55101         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
55102         <stdlib.h> before using NULL.
55103
55104 2007-10-15  Simon Josefsson  <simon@josefsson.org>
55105
55106         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
55107         Reported by Albert Chin <china@thewrittenword.com>.
55108
55109 2007-10-14  Bruno Haible  <bruno@clisp.org>
55110
55111         * modules/iconv_open-utf-tests: New file.
55112         * tests/test-iconv-utf.c: New file.
55113
55114         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
55115         * modules/iconv_open-utf: New file.
55116         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
55117         (iconv, iconv_close): New declarations.
55118         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
55119         be defined.
55120         (iconv_open): Add special handling of conversion between UTF-8 and
55121         UTF-{16,32}{BE,LE}.
55122         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
55123         * lib/iconv_close.c: New file.
55124         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
55125         gl_FUNC_ICONV_OPEN.
55126         (gl_FUNC_ICONV_OPEN): Use it.
55127         (gl_FUNC_ICONV_OPEN_UTF): New macro.
55128         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
55129         and REPLACE_ICONV_UTF.
55130         * modules/iconv_open (Depends-on): Add c-strcase.
55131         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
55132         ICONV_CONST.
55133         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
55134
55135 2007-10-13  Albert Chin  <china@thewrittenword.com>
55136             Bruno Haible  <bruno@clisp.org>
55137
55138         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
55139         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
55140
55141 2007-10-13  Bruno Haible  <bruno@clisp.org>
55142
55143         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
55144         defined, use the ISO C99 inline semantics.
55145         * lib/argp.h (ARGP_EI): Likewise.
55146
55147 2007-10-13  Bruno Haible  <bruno@clisp.org>
55148
55149         Handle 'inline' change in gcc 4.3.0.
55150         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
55151         argp_fmtstream_write, argp_fmtstream_set_lmargin,
55152         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
55153         argp_fmtstream_point): Disable 'extern' declaration if the function
55154         definition is going to be provided inline.
55155         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
55156         semantics, not the ISO C99 inline semantics.
55157         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
55158         'extern' declaration if the function definition is going to be provided
55159         inline.
55160         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
55161         the GNU C inline semantics, not the ISO C99 inline semantics. With
55162         GCC 4.2, avoid a warning.
55163
55164 2007-10-13  Bruno Haible  <bruno@clisp.org>
55165
55166         * lib/freading.h (freading): Enable the use of __freading for
55167         glibc >= 2.7.
55168         * lib/freading.c (freading): Likewise.
55169
55170 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55171
55172         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
55173         "warning: C99 inline functions are not supported; using GNU89".
55174
55175 2007-10-12  Bruno Haible  <bruno@clisp.org>
55176
55177         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
55178         of 2.
55179         * tests/test-ceilf2.c: New file.
55180         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
55181
55182         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
55183         * modules/ceilf-tests: Update.
55184
55185 2007-10-12  Bruno Haible  <bruno@clisp.org>
55186
55187         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
55188         of 2.
55189         * tests/test-floorf2.c: New file.
55190         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
55191
55192         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
55193         * modules/floorf-tests: Update.
55194
55195 2007-10-12  Bruno Haible  <bruno@clisp.org>
55196
55197         * tests/test-trunc2.c: New file.
55198         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
55199
55200         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
55201         * modules/trunc-tests: Update.
55202
55203 2007-10-12  Bruno Haible  <bruno@clisp.org>
55204
55205         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
55206         of 2.
55207         * tests/test-truncf2.c: New file.
55208         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
55209
55210         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
55211         * modules/truncf-tests: Update.
55212
55213 2007-10-11  Eric Blake  <ebb9@byu.net>
55214
55215         Don't claim strerror is broken on Interix.
55216         * doc/functions/strerror.texi (strerror): Known broken systems are
55217         now Solaris 8, and not Interix.
55218         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
55219         Interix on cross-compile.
55220         Reported by Martin Koeppe in
55221         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
55222
55223 2007-10-11  Bruno Haible  <bruno@clisp.org>
55224
55225         * modules/i-ring-tests: New file.
55226         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
55227         instead of assert.
55228
55229 2007-10-11  Bruno Haible  <bruno@clisp.org>
55230
55231         * modules/filenamecat-tests: New file.
55232         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
55233         * lib/filenamecat.c: Remove test code.
55234
55235 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55236
55237         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
55238
55239         * lib/strerror.c: Include <string.h> always, to test interface,
55240         and to remove the need for the dummy.
55241         Include intprops.h to compute width instead of doing it ourselves
55242         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
55243         (strerror): Define it to return NULL if there's no system strerror.
55244         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
55245         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
55246         ancient pre-strerror Unix systems well any more.  Saying "unknown
55247         system error" is enough.
55248         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
55249         simpler strerror.c implementation.
55250         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
55251         Simplify the tests to reflect the simpler strerror implementation.
55252         * modules/strerror (Depends-on): Add intprops.
55253
55254 2007-10-09  Eric Blake  <ebb9@byu.net>
55255
55256         Silence test-fpending.
55257         * modules/fpending-tests (Files): Add wrapper script.
55258         * tests/test-fpending.sh: New file.
55259
55260 2007-10-09  Bruno Haible  <bruno@clisp.org>
55261
55262         * MODULES.html.sh (func_module): Don't create a hyperlink for
55263         function names like 'printf_frexp'.
55264         (Misc): Add crc, memxor.
55265         (Characteristics of floating types): New section.
55266         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
55267         isnanf-nolibm, signbit, trunc, truncf, truncl.
55268         (Enhancements for ISO C 99 functions): New subsection Input/output.
55269         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
55270         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
55271         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
55272         (Compatibility checks for POSIX:2001 functions): Add clock-time.
55273         (Enhancements for POSIX:2001 functions): Add chdir-long.
55274         (File system functions): Add areadlink, chdir-safer, read-file.
55275         Remove cycle-check.
55276         (File system as inode set): New section.
55277         (Date and time): Add gethrxtime.
55278         (Multithreading): Add openmp.
55279         (Internationalization functions): Add localename.
55280         (Unicode string functions): Add unistr/u*-mbsnlen.
55281         (Support for maintaining and releasing projects): Add git-version-gen.
55282         (Lone files): Remove directories.
55283
55284 2007-10-08  Ben Pfaff  <blp@gnu.org>
55285
55286         * lib/xmalloca.h: Fix typo in comment.
55287
55288 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55289
55290         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
55291         when avoiding problems with integer overflow.  Use a portable test
55292         instead.
55293
55294 2007-10-08  Simon Josefsson  <simon@josefsson.org>
55295
55296         * modules/dummy (License): Change to LGPLv2+.
55297         * modules/float (License): Likewise
55298         * modules/realloc (License): Likewise
55299         * modules/stdlib (License): Likewise
55300
55301 2007-10-07  Bruno Haible  <bruno@clisp.org>
55302
55303         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
55304         * floor.c (TWO_MANT_DIG): Likewise.
55305         * ceil.c (TWO_MANT_DIG): Likewise.
55306         Reported by Ben Pfaff.
55307
55308 2007-10-07  Bruno Haible  <bruno@clisp.org>
55309
55310         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
55311         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
55312         * lib/frexp.c (FUNC): Likewise.
55313         * lib/printf-frexp.h (printf_frexp): Likewise.
55314         * lib/printf-frexpl.h (printf_frexpl): Likewise.
55315         * lib/printf-frexp.c (FUNC): Likewise.
55316         Suggested by Jim Meyering.
55317
55318 2007-10-07  Jim Meyering  <meyering@redhat.com>
55319
55320         Make xnanosleep's integer overflow test more robust.
55321         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
55322         so that gcc-4.3.0 doesn't optimize away this test for overflow.
55323
55324 2007-10-07  Bruno Haible  <bruno@clisp.org>
55325
55326         * NEWS: Mention the license change.
55327
55328         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
55329         abbreviations in the modules files.
55330
55331         Change copyright notice from GPLv2+ to GPLv3+.
55332         * README: Change copyright notice.
55333         * MODULES.html.sh: Likewise.
55334         * build-aux/bootstrap.conf: Likewise.
55335         * build-aux/config.libpath: Likewise.
55336         * build-aux/csharpcomp.sh.in: Likewise.
55337         * build-aux/csharpexec.sh.in: Likewise.
55338         * build-aux/install-reloc: Likewise.
55339         * build-aux/javacomp.sh.in: Likewise.
55340         * build-aux/javaexec.sh.in: Likewise.
55341         * build-aux/ldd.sh.in: Likewise.
55342         * build-aux/reloc-ldflags: Likewise.
55343         * build-aux/relocatable.sh.in: Likewise.
55344         * build-aux/x-to-1.in: Likewise.
55345         * check-module: Likewise.
55346         * config/srclistvars.sh: Likewise.
55347         * gnulib-tool: Likewise.
55348         * lib/acl-internal.h: Likewise.
55349         * lib/acl.c: Likewise.
55350         * lib/acl.h: Likewise.
55351         * lib/acl_entries.c: Likewise.
55352         * lib/areadlink-with-size.c: Likewise.
55353         * lib/areadlink.c: Likewise.
55354         * lib/areadlink.h: Likewise.
55355         * lib/argmatch.c: Likewise.
55356         * lib/argmatch.h: Likewise.
55357         * lib/argp-ba.c: Likewise.
55358         * lib/argp-eexst.c: Likewise.
55359         * lib/argp-fmtstream.c: Likewise.
55360         * lib/argp-fmtstream.h: Likewise.
55361         * lib/argp-fs-xinl.c: Likewise.
55362         * lib/argp-help.c: Likewise.
55363         * lib/argp-namefrob.h: Likewise.
55364         * lib/argp-parse.c: Likewise.
55365         * lib/argp-pin.c: Likewise.
55366         * lib/argp-pv.c: Likewise.
55367         * lib/argp-pvh.c: Likewise.
55368         * lib/argp-xinl.c: Likewise.
55369         * lib/argp.h: Likewise.
55370         * lib/at-func.c: Likewise.
55371         * lib/atanl.c: Likewise.
55372         * lib/backupfile.c: Likewise.
55373         * lib/backupfile.h: Likewise.
55374         * lib/basename.c: Likewise.
55375         * lib/binary-io.h: Likewise.
55376         * lib/byteswap.in.h: Likewise.
55377         * lib/c-stack.c: Likewise.
55378         * lib/c-stack.h: Likewise.
55379         * lib/c-strcasestr.c: Likewise.
55380         * lib/c-strcasestr.h: Likewise.
55381         * lib/c-strstr.c: Likewise.
55382         * lib/c-strstr.h: Likewise.
55383         * lib/c-strtod.c: Likewise.
55384         * lib/calloc.c: Likewise.
55385         * lib/canon-host.c: Likewise.
55386         * lib/canon-host.h: Likewise.
55387         * lib/canonicalize-lgpl.c: Likewise.
55388         * lib/canonicalize.c: Likewise.
55389         * lib/canonicalize.h: Likewise.
55390         * lib/ceil.c: Likewise.
55391         * lib/ceilf.c: Likewise.
55392         * lib/ceill.c: Likewise.
55393         * lib/chdir-long.c: Likewise.
55394         * lib/chdir-long.h: Likewise.
55395         * lib/chdir-safer.c: Likewise.
55396         * lib/chdir-safer.h: Likewise.
55397         * lib/chown.c: Likewise.
55398         * lib/classpath.c: Likewise.
55399         * lib/classpath.h: Likewise.
55400         * lib/clean-temp.c: Likewise.
55401         * lib/clean-temp.h: Likewise.
55402         * lib/cloexec.c: Likewise.
55403         * lib/close-stream.c: Likewise.
55404         * lib/closein.c: Likewise.
55405         * lib/closein.h: Likewise.
55406         * lib/closeout.c: Likewise.
55407         * lib/closeout.h: Likewise.
55408         * lib/concat-filename.c: Likewise.
55409         * lib/copy-file.c: Likewise.
55410         * lib/copy-file.h: Likewise.
55411         * lib/count-one-bits.h: Likewise.
55412         * lib/crc.c: Likewise.
55413         * lib/crc.h: Likewise.
55414         * lib/creat-safer.c: Likewise.
55415         * lib/csharpcomp.c: Likewise.
55416         * lib/csharpcomp.h: Likewise.
55417         * lib/csharpexec.c: Likewise.
55418         * lib/csharpexec.h: Likewise.
55419         * lib/cycle-check.c: Likewise.
55420         * lib/cycle-check.h: Likewise.
55421         * lib/diacrit.c: Likewise.
55422         * lib/diacrit.h: Likewise.
55423         * lib/diffseq.h: Likewise.
55424         * lib/dirchownmod.c: Likewise.
55425         * lib/dirent.in.h: Likewise.
55426         * lib/dirfd.c: Likewise.
55427         * lib/dirfd.h: Likewise.
55428         * lib/dirname.c: Likewise.
55429         * lib/dirname.h: Likewise.
55430         * lib/dummy.c: Likewise.
55431         * lib/dup-safer.c: Likewise.
55432         * lib/dup2.c: Likewise.
55433         * lib/eealloc.h: Likewise.
55434         * lib/error.c: Likewise.
55435         * lib/error.h: Likewise.
55436         * lib/euidaccess.c: Likewise.
55437         * lib/exclude.c: Likewise.
55438         * lib/exclude.h: Likewise.
55439         * lib/execute.c: Likewise.
55440         * lib/execute.h: Likewise.
55441         * lib/exitfail.c: Likewise.
55442         * lib/exitfail.h: Likewise.
55443         * lib/expl.c: Likewise.
55444         * lib/fatal-signal.c: Likewise.
55445         * lib/fatal-signal.h: Likewise.
55446         * lib/fbufmode.c: Likewise.
55447         * lib/fbufmode.h: Likewise.
55448         * lib/fchdir.c: Likewise.
55449         * lib/fchmodat.c: Likewise.
55450         * lib/fchownat.c: Likewise.
55451         * lib/fcntl--.h: Likewise.
55452         * lib/fcntl-safer.h: Likewise.
55453         * lib/fcntl.in.h: Likewise.
55454         * lib/fd-safer.c: Likewise.
55455         * lib/fflush.c: Likewise.
55456         * lib/file-has-acl.c: Likewise.
55457         * lib/file-set.c: Likewise.
55458         * lib/file-type.c: Likewise.
55459         * lib/file-type.h: Likewise.
55460         * lib/fileblocks.c: Likewise.
55461         * lib/filemode.c: Likewise.
55462         * lib/filemode.h: Likewise.
55463         * lib/filename.h: Likewise.
55464         * lib/filenamecat.c: Likewise.
55465         * lib/filenamecat.h: Likewise.
55466         * lib/findprog.c: Likewise.
55467         * lib/findprog.h: Likewise.
55468         * lib/float.in.h: Likewise.
55469         * lib/floor.c: Likewise.
55470         * lib/floorf.c: Likewise.
55471         * lib/floorl.c: Likewise.
55472         * lib/fopen-safer.c: Likewise.
55473         * lib/fopen.c: Likewise.
55474         * lib/fpending.c: Likewise.
55475         * lib/fpending.h: Likewise.
55476         * lib/fprintf.c: Likewise.
55477         * lib/fprintftime.h: Likewise.
55478         * lib/fpucw.h: Likewise.
55479         * lib/fpurge.c: Likewise.
55480         * lib/fpurge.h: Likewise.
55481         * lib/freadable.c: Likewise.
55482         * lib/freadable.h: Likewise.
55483         * lib/freadahead.c: Likewise.
55484         * lib/freadahead.h: Likewise.
55485         * lib/freading.c: Likewise.
55486         * lib/freading.h: Likewise.
55487         * lib/free.c: Likewise.
55488         * lib/freopen.c: Likewise.
55489         * lib/frexp.c: Likewise.
55490         * lib/frexpl.c: Likewise.
55491         * lib/fseek.c: Likewise.
55492         * lib/fseterr.c: Likewise.
55493         * lib/fseterr.h: Likewise.
55494         * lib/fstatat.c: Likewise.
55495         * lib/fstrcmp.c: Likewise.
55496         * lib/fstrcmp.h: Likewise.
55497         * lib/fsusage.c: Likewise.
55498         * lib/fsusage.h: Likewise.
55499         * lib/ftell.c: Likewise.
55500         * lib/ftello.c: Likewise.
55501         * lib/fts-cycle.c: Likewise.
55502         * lib/fts.c: Likewise.
55503         * lib/fts_.h: Likewise.
55504         * lib/full-read.c: Likewise.
55505         * lib/full-read.h: Likewise.
55506         * lib/full-write.c: Likewise.
55507         * lib/full-write.h: Likewise.
55508         * lib/fwritable.c: Likewise.
55509         * lib/fwritable.h: Likewise.
55510         * lib/fwriteerror.c: Likewise.
55511         * lib/fwriteerror.h: Likewise.
55512         * lib/fwriting.c: Likewise.
55513         * lib/fwriting.h: Likewise.
55514         * lib/gcd.c: Likewise.
55515         * lib/gcd.h: Likewise.
55516         * lib/getcwd.c: Likewise.
55517         * lib/getdate.h: Likewise.
55518         * lib/getdate.y: Likewise.
55519         * lib/getdomainname.c: Likewise.
55520         * lib/getdomainname.h: Likewise.
55521         * lib/getgroups.c: Likewise.
55522         * lib/gethostname.c: Likewise.
55523         * lib/gethrxtime.c: Likewise.
55524         * lib/gethrxtime.h: Likewise.
55525         * lib/getloadavg.c: Likewise.
55526         * lib/getndelim2.c: Likewise.
55527         * lib/getndelim2.h: Likewise.
55528         * lib/getnline.c: Likewise.
55529         * lib/getnline.h: Likewise.
55530         * lib/getopt.c: Likewise.
55531         * lib/getopt.in.h: Likewise.
55532         * lib/getopt1.c: Likewise.
55533         * lib/getopt_int.h: Likewise.
55534         * lib/getpagesize.h: Likewise.
55535         * lib/getsubopt.c: Likewise.
55536         * lib/gettime.c: Likewise.
55537         * lib/getugroups.c: Likewise.
55538         * lib/getugroups.h: Likewise.
55539         * lib/getusershell.c: Likewise.
55540         * lib/gl_anyavltree_list1.h: Likewise.
55541         * lib/gl_anyavltree_list2.h: Likewise.
55542         * lib/gl_anyhash_list1.h: Likewise.
55543         * lib/gl_anyhash_list2.h: Likewise.
55544         * lib/gl_anylinked_list1.h: Likewise.
55545         * lib/gl_anylinked_list2.h: Likewise.
55546         * lib/gl_anyrbtree_list1.h: Likewise.
55547         * lib/gl_anyrbtree_list2.h: Likewise.
55548         * lib/gl_anytree_list1.h: Likewise.
55549         * lib/gl_anytree_list2.h: Likewise.
55550         * lib/gl_anytree_oset.h: Likewise.
55551         * lib/gl_anytreehash_list1.h: Likewise.
55552         * lib/gl_anytreehash_list2.h: Likewise.
55553         * lib/gl_array_list.c: Likewise.
55554         * lib/gl_array_list.h: Likewise.
55555         * lib/gl_array_oset.c: Likewise.
55556         * lib/gl_array_oset.h: Likewise.
55557         * lib/gl_avltree_list.c: Likewise.
55558         * lib/gl_avltree_list.h: Likewise.
55559         * lib/gl_avltree_oset.c: Likewise.
55560         * lib/gl_avltree_oset.h: Likewise.
55561         * lib/gl_avltreehash_list.c: Likewise.
55562         * lib/gl_avltreehash_list.h: Likewise.
55563         * lib/gl_carray_list.c: Likewise.
55564         * lib/gl_carray_list.h: Likewise.
55565         * lib/gl_linked_list.c: Likewise.
55566         * lib/gl_linked_list.h: Likewise.
55567         * lib/gl_linkedhash_list.c: Likewise.
55568         * lib/gl_linkedhash_list.h: Likewise.
55569         * lib/gl_list.c: Likewise.
55570         * lib/gl_list.h: Likewise.
55571         * lib/gl_oset.c: Likewise.
55572         * lib/gl_oset.h: Likewise.
55573         * lib/gl_rbtree_list.c: Likewise.
55574         * lib/gl_rbtree_list.h: Likewise.
55575         * lib/gl_rbtree_oset.c: Likewise.
55576         * lib/gl_rbtree_oset.h: Likewise.
55577         * lib/gl_rbtreehash_list.c: Likewise.
55578         * lib/gl_rbtreehash_list.h: Likewise.
55579         * lib/gl_sublist.c: Likewise.
55580         * lib/gl_sublist.h: Likewise.
55581         * lib/group-member.c: Likewise.
55582         * lib/group-member.h: Likewise.
55583         * lib/hard-locale.c: Likewise.
55584         * lib/hard-locale.h: Likewise.
55585         * lib/hash-pjw.c: Likewise.
55586         * lib/hash-pjw.h: Likewise.
55587         * lib/hash-triple.c: Likewise.
55588         * lib/hash.c: Likewise.
55589         * lib/hash.h: Likewise.
55590         * lib/human.c: Likewise.
55591         * lib/human.h: Likewise.
55592         * lib/i-ring.c: Likewise.
55593         * lib/i-ring.h: Likewise.
55594         * lib/idcache.c: Likewise.
55595         * lib/imaxabs.c: Likewise.
55596         * lib/imaxdiv.c: Likewise.
55597         * lib/inet_pton.c: Likewise.
55598         * lib/inet_pton.h: Likewise.
55599         * lib/intprops.h: Likewise.
55600         * lib/inttostr.c: Likewise.
55601         * lib/inttostr.h: Likewise.
55602         * lib/inttypes.in.h: Likewise.
55603         * lib/isapipe.c: Likewise.
55604         * lib/isdir.c: Likewise.
55605         * lib/isnan.c: Likewise.
55606         * lib/isnan.h: Likewise.
55607         * lib/isnanf.c: Likewise.
55608         * lib/isnanf.h: Likewise.
55609         * lib/isnanl-nolibm.h: Likewise.
55610         * lib/isnanl.c: Likewise.
55611         * lib/isnanl.h: Likewise.
55612         * lib/javacomp.c: Likewise.
55613         * lib/javacomp.h: Likewise.
55614         * lib/javaexec.c: Likewise.
55615         * lib/javaexec.h: Likewise.
55616         * lib/javaversion.c: Likewise.
55617         * lib/javaversion.h: Likewise.
55618         * lib/javaversion.java: Likewise.
55619         * lib/lbrkprop.h: Likewise.
55620         * lib/lchmod.h: Likewise.
55621         * lib/lchown.c: Likewise.
55622         * lib/ldexpl.c: Likewise.
55623         * lib/linebreak.c: Likewise.
55624         * lib/linebreak.h: Likewise.
55625         * lib/linebuffer.c: Likewise.
55626         * lib/linebuffer.h: Likewise.
55627         * lib/locale.in.h: Likewise.
55628         * lib/logl.c: Likewise.
55629         * lib/long-options.c: Likewise.
55630         * lib/long-options.h: Likewise.
55631         * lib/lstat.c: Likewise.
55632         * lib/lstat.h: Likewise.
55633         * lib/math.in.h: Likewise.
55634         * lib/mbchar.c: Likewise.
55635         * lib/mbchar.h: Likewise.
55636         * lib/mbfile.h: Likewise.
55637         * lib/mbiter.h: Likewise.
55638         * lib/mbscasecmp.c: Likewise.
55639         * lib/mbscasestr.c: Likewise.
55640         * lib/mbschr.c: Likewise.
55641         * lib/mbscspn.c: Likewise.
55642         * lib/mbslen.c: Likewise.
55643         * lib/mbsncasecmp.c: Likewise.
55644         * lib/mbsnlen.c: Likewise.
55645         * lib/mbspbrk.c: Likewise.
55646         * lib/mbspcasecmp.c: Likewise.
55647         * lib/mbsrchr.c: Likewise.
55648         * lib/mbssep.c: Likewise.
55649         * lib/mbsspn.c: Likewise.
55650         * lib/mbsstr.c: Likewise.
55651         * lib/mbstok_r.c: Likewise.
55652         * lib/mbswidth.c: Likewise.
55653         * lib/mbswidth.h: Likewise.
55654         * lib/mbuiter.h: Likewise.
55655         * lib/memcasecmp.c: Likewise.
55656         * lib/memcasecmp.h: Likewise.
55657         * lib/memchr.c: Likewise.
55658         * lib/memcmp.c: Likewise.
55659         * lib/memcoll.c: Likewise.
55660         * lib/memcoll.h: Likewise.
55661         * lib/memcpy.c: Likewise.
55662         * lib/memrchr.c: Likewise.
55663         * lib/mkancesdirs.c: Likewise.
55664         * lib/mkdir-p.c: Likewise.
55665         * lib/mkdir-p.h: Likewise.
55666         * lib/mkdir.c: Likewise.
55667         * lib/mkdirat.c: Likewise.
55668         * lib/mkdtemp.c: Likewise.
55669         * lib/mkstemp-safer.c: Likewise.
55670         * lib/mkstemp.c: Likewise.
55671         * lib/modechange.c: Likewise.
55672         * lib/modechange.h: Likewise.
55673         * lib/mountlist.c: Likewise.
55674         * lib/mountlist.h: Likewise.
55675         * lib/mpsort.c: Likewise.
55676         * lib/nanosleep.c: Likewise.
55677         * lib/obstack.c: Likewise.
55678         * lib/obstack.h: Likewise.
55679         * lib/open-safer.c: Likewise.
55680         * lib/open.c: Likewise.
55681         * lib/openat-die.c: Likewise.
55682         * lib/openat-priv.h: Likewise.
55683         * lib/openat-proc.c: Likewise.
55684         * lib/openat.c: Likewise.
55685         * lib/openat.h: Likewise.
55686         * lib/pagealign_alloc.c: Likewise.
55687         * lib/pagealign_alloc.h: Likewise.
55688         * lib/physmem.c: Likewise.
55689         * lib/physmem.h: Likewise.
55690         * lib/pipe-safer.c: Likewise.
55691         * lib/pipe.c: Likewise.
55692         * lib/pipe.h: Likewise.
55693         * lib/posixtm.c: Likewise.
55694         * lib/posixtm.h: Likewise.
55695         * lib/posixver.c: Likewise.
55696         * lib/printf-frexp.c: Likewise.
55697         * lib/printf-frexp.h: Likewise.
55698         * lib/printf-frexpl.c: Likewise.
55699         * lib/printf-frexpl.h: Likewise.
55700         * lib/printf.c: Likewise.
55701         * lib/progname.c: Likewise.
55702         * lib/progname.h: Likewise.
55703         * lib/progreloc.c: Likewise.
55704         * lib/putenv.c: Likewise.
55705         * lib/quote.c: Likewise.
55706         * lib/quote.h: Likewise.
55707         * lib/quotearg.c: Likewise.
55708         * lib/quotearg.h: Likewise.
55709         * lib/raise.c: Likewise.
55710         * lib/readline.c: Likewise.
55711         * lib/readline.h: Likewise.
55712         * lib/readlink.c: Likewise.
55713         * lib/readtokens.c: Likewise.
55714         * lib/readtokens.h: Likewise.
55715         * lib/readtokens0.c: Likewise.
55716         * lib/readtokens0.h: Likewise.
55717         * lib/readutmp.c: Likewise.
55718         * lib/readutmp.h: Likewise.
55719         * lib/realloc.c: Likewise.
55720         * lib/relocwrapper.c: Likewise.
55721         * lib/rename-dest-slash.c: Likewise.
55722         * lib/rename.c: Likewise.
55723         * lib/rmdir.c: Likewise.
55724         * lib/rpmatch.c: Likewise.
55725         * lib/safe-read.c: Likewise.
55726         * lib/safe-read.h: Likewise.
55727         * lib/safe-write.c: Likewise.
55728         * lib/safe-write.h: Likewise.
55729         * lib/same-inode.h: Likewise.
55730         * lib/same.c: Likewise.
55731         * lib/same.h: Likewise.
55732         * lib/save-cwd.c: Likewise.
55733         * lib/save-cwd.h: Likewise.
55734         * lib/savedir.c: Likewise.
55735         * lib/savedir.h: Likewise.
55736         * lib/savewd.c: Likewise.
55737         * lib/savewd.h: Likewise.
55738         * lib/search.in.h: Likewise.
55739         * lib/setenv.c: Likewise.
55740         * lib/setenv.h: Likewise.
55741         * lib/settime.c: Likewise.
55742         * lib/sh-quote.c: Likewise.
55743         * lib/sh-quote.h: Likewise.
55744         * lib/sig2str.c: Likewise.
55745         * lib/sig2str.h: Likewise.
55746         * lib/signal.in.h: Likewise.
55747         * lib/signbitd.c: Likewise.
55748         * lib/signbitf.c: Likewise.
55749         * lib/signbitl.c: Likewise.
55750         * lib/sigprocmask.c: Likewise.
55751         * lib/sincosl.c: Likewise.
55752         * lib/sleep.c: Likewise.
55753         * lib/sprintf.c: Likewise.
55754         * lib/sqrtl.c: Likewise.
55755         * lib/stat-time.h: Likewise.
55756         * lib/stdio--.h: Likewise.
55757         * lib/stdio-safer.h: Likewise.
55758         * lib/stdlib--.h: Likewise.
55759         * lib/stdlib-safer.h: Likewise.
55760         * lib/stdlib.in.h: Likewise.
55761         * lib/stpcpy.c: Likewise.
55762         * lib/stpncpy.c: Likewise.
55763         * lib/strchrnul.c: Likewise.
55764         * lib/strcspn.c: Likewise.
55765         * lib/strerror.c: Likewise.
55766         * lib/strftime.c: Likewise.
55767         * lib/strftime.h: Likewise.
55768         * lib/striconveh.c: Likewise.
55769         * lib/striconveh.h: Likewise.
55770         * lib/striconveha.c: Likewise.
55771         * lib/striconveha.h: Likewise.
55772         * lib/stripslash.c: Likewise.
55773         * lib/strnlen1.c: Likewise.
55774         * lib/strnlen1.h: Likewise.
55775         * lib/strtod.c: Likewise.
55776         * lib/strtoimax.c: Likewise.
55777         * lib/strtok_r.c: Likewise.
55778         * lib/strtol.c: Likewise.
55779         * lib/strtoll.c: Likewise.
55780         * lib/strtoul.c: Likewise.
55781         * lib/strtoull.c: Likewise.
55782         * lib/sysexits.in.h: Likewise.
55783         * lib/tempname.c: Likewise.
55784         * lib/tempname.h: Likewise.
55785         * lib/timespec.h: Likewise.
55786         * lib/tls.c: Likewise.
55787         * lib/tls.h: Likewise.
55788         * lib/tmpdir.c: Likewise.
55789         * lib/tmpdir.h: Likewise.
55790         * lib/tmpfile-safer.c: Likewise.
55791         * lib/tmpfile.c: Likewise.
55792         * lib/trigl.c: Likewise.
55793         * lib/trigl.h: Likewise.
55794         * lib/trim.c: Likewise.
55795         * lib/trim.h: Likewise.
55796         * lib/trunc.c: Likewise.
55797         * lib/truncf.c: Likewise.
55798         * lib/truncl.c: Likewise.
55799         * lib/tsearch.c: Likewise.
55800         * lib/unicodeio.c: Likewise.
55801         * lib/unicodeio.h: Likewise.
55802         * lib/unistd--.h: Likewise.
55803         * lib/unistd-safer.h: Likewise.
55804         * lib/unistdio/ulc-fprintf.c: Likewise.
55805         * lib/unistdio/ulc-vfprintf.c: Likewise.
55806         * lib/unlinkdir.c: Likewise.
55807         * lib/unlinkdir.h: Likewise.
55808         * lib/unlocked-io.h: Likewise.
55809         * lib/unsetenv.c: Likewise.
55810         * lib/userspec.c: Likewise.
55811         * lib/utime.c: Likewise.
55812         * lib/utimecmp.c: Likewise.
55813         * lib/utimecmp.h: Likewise.
55814         * lib/utimens.c: Likewise.
55815         * lib/verify.h: Likewise.
55816         * lib/verror.c: Likewise.
55817         * lib/verror.h: Likewise.
55818         * lib/version-etc-fsf.c: Likewise.
55819         * lib/version-etc.c: Likewise.
55820         * lib/version-etc.h: Likewise.
55821         * lib/vfprintf.c: Likewise.
55822         * lib/vprintf.c: Likewise.
55823         * lib/vsprintf.c: Likewise.
55824         * lib/w32spawn.h: Likewise.
55825         * lib/wait-process.c: Likewise.
55826         * lib/wait-process.h: Likewise.
55827         * lib/wcwidth.c: Likewise.
55828         * lib/write-any-file.c: Likewise.
55829         * lib/xalloc-die.c: Likewise.
55830         * lib/xalloc.h: Likewise.
55831         * lib/xasprintf.c: Likewise.
55832         * lib/xgetcwd.c: Likewise.
55833         * lib/xgetcwd.h: Likewise.
55834         * lib/xgetdomainname.c: Likewise.
55835         * lib/xgetdomainname.h: Likewise.
55836         * lib/xgethostname.c: Likewise.
55837         * lib/xmalloc.c: Likewise.
55838         * lib/xmalloca.c: Likewise.
55839         * lib/xmalloca.h: Likewise.
55840         * lib/xmemcoll.c: Likewise.
55841         * lib/xnanosleep.c: Likewise.
55842         * lib/xreadlink.c: Likewise.
55843         * lib/xreadlink.h: Likewise.
55844         * lib/xsetenv.c: Likewise.
55845         * lib/xsetenv.h: Likewise.
55846         * lib/xstriconv.c: Likewise.
55847         * lib/xstriconv.h: Likewise.
55848         * lib/xstrndup.c: Likewise.
55849         * lib/xstrndup.h: Likewise.
55850         * lib/xstrtod.c: Likewise.
55851         * lib/xstrtod.h: Likewise.
55852         * lib/xstrtol-error.c: Likewise.
55853         * lib/xstrtol.c: Likewise.
55854         * lib/xstrtol.h: Likewise.
55855         * lib/xtime.h: Likewise.
55856         * lib/xvasprintf.c: Likewise.
55857         * lib/xvasprintf.h: Likewise.
55858         * lib/yesno.c: Likewise.
55859         * lib/yesno.h: Likewise.
55860         * posix-modules: Likewise.
55861         * tests/test-alloca-opt.c: Likewise.
55862         * tests/test-arcfour.c: Likewise.
55863         * tests/test-arctwo.c: Likewise.
55864         * tests/test-argmatch.c: Likewise.
55865         * tests/test-argp-2.sh: Likewise.
55866         * tests/test-argp.c: Likewise.
55867         * tests/test-arpa_inet.c: Likewise.
55868         * tests/test-array_list.c: Likewise.
55869         * tests/test-array_oset.c: Likewise.
55870         * tests/test-atexit.c: Likewise.
55871         * tests/test-avltree_list.c: Likewise.
55872         * tests/test-avltree_oset.c: Likewise.
55873         * tests/test-avltreehash_list.c: Likewise.
55874         * tests/test-base64.c: Likewise.
55875         * tests/test-binary-io.c: Likewise.
55876         * tests/test-byteswap.c: Likewise.
55877         * tests/test-c-ctype.c: Likewise.
55878         * tests/test-c-strcasecmp.c: Likewise.
55879         * tests/test-c-strcasestr.c: Likewise.
55880         * tests/test-c-strncasecmp.c: Likewise.
55881         * tests/test-c-strstr.c: Likewise.
55882         * tests/test-canonicalize-lgpl.c: Likewise.
55883         * tests/test-canonicalize.c: Likewise.
55884         * tests/test-carray_list.c: Likewise.
55885         * tests/test-ceilf.c: Likewise.
55886         * tests/test-ceill.c: Likewise.
55887         * tests/test-count-one-bits.c: Likewise.
55888         * tests/test-crc.c: Likewise.
55889         * tests/test-dirname.c: Likewise.
55890         * tests/test-fbufmode.c: Likewise.
55891         * tests/test-fcntl.c: Likewise.
55892         * tests/test-fflush.c: Likewise.
55893         * tests/test-floorf.c: Likewise.
55894         * tests/test-floorl.c: Likewise.
55895         * tests/test-fopen.c: Likewise.
55896         * tests/test-fprintf-posix.c: Likewise.
55897         * tests/test-fprintf-posix.h: Likewise.
55898         * tests/test-fpurge.c: Likewise.
55899         * tests/test-freadable.c: Likewise.
55900         * tests/test-freadahead.c: Likewise.
55901         * tests/test-freading.c: Likewise.
55902         * tests/test-freopen.c: Likewise.
55903         * tests/test-frexp.c: Likewise.
55904         * tests/test-frexpl.c: Likewise.
55905         * tests/test-fseek.c: Likewise.
55906         * tests/test-fseeko.c: Likewise.
55907         * tests/test-fseterr.c: Likewise.
55908         * tests/test-fstrcmp.c: Likewise.
55909         * tests/test-ftell.c: Likewise.
55910         * tests/test-ftello.c: Likewise.
55911         * tests/test-fwritable.c: Likewise.
55912         * tests/test-fwriting.c: Likewise.
55913         * tests/test-getaddrinfo.c: Likewise.
55914         * tests/test-getpass.c: Likewise.
55915         * tests/test-gettimeofday.c: Likewise.
55916         * tests/test-hmac-md5.c: Likewise.
55917         * tests/test-hmac-sha1.c: Likewise.
55918         * tests/test-iconv.c: Likewise.
55919         * tests/test-iconvme.c: Likewise.
55920         * tests/test-inttypes.c: Likewise.
55921         * tests/test-isnan.c: Likewise.
55922         * tests/test-isnanf.c: Likewise.
55923         * tests/test-isnanl-nolibm.c: Likewise.
55924         * tests/test-isnanl.c: Likewise.
55925         * tests/test-isnanl.h: Likewise.
55926         * tests/test-ldexpl.c: Likewise.
55927         * tests/test-linked_list.c: Likewise.
55928         * tests/test-linkedhash_list.c: Likewise.
55929         * tests/test-locale.c: Likewise.
55930         * tests/test-localename.c: Likewise.
55931         * tests/test-lock.c: Likewise.
55932         * tests/test-lseek.c: Likewise.
55933         * tests/test-malloca.c: Likewise.
55934         * tests/test-math.c: Likewise.
55935         * tests/test-mbscasecmp.c: Likewise.
55936         * tests/test-mbscasestr1.c: Likewise.
55937         * tests/test-mbscasestr2.c: Likewise.
55938         * tests/test-mbscasestr3.c: Likewise.
55939         * tests/test-mbscasestr4.c: Likewise.
55940         * tests/test-mbschr.c: Likewise.
55941         * tests/test-mbscspn.c: Likewise.
55942         * tests/test-mbsncasecmp.c: Likewise.
55943         * tests/test-mbspbrk.c: Likewise.
55944         * tests/test-mbspcasecmp.c: Likewise.
55945         * tests/test-mbsrchr.c: Likewise.
55946         * tests/test-mbsspn.c: Likewise.
55947         * tests/test-mbsstr1.c: Likewise.
55948         * tests/test-mbsstr2.c: Likewise.
55949         * tests/test-mbsstr3.c: Likewise.
55950         * tests/test-md5.c: Likewise.
55951         * tests/test-memmem.c: Likewise.
55952         * tests/test-netinet_in.c: Likewise.
55953         * tests/test-open.c: Likewise.
55954         * tests/test-printf-frexp.c: Likewise.
55955         * tests/test-printf-frexpl.c: Likewise.
55956         * tests/test-printf-posix.c: Likewise.
55957         * tests/test-printf-posix.h: Likewise.
55958         * tests/test-rbtree_list.c: Likewise.
55959         * tests/test-rbtree_oset.c: Likewise.
55960         * tests/test-rbtreehash_list.c: Likewise.
55961         * tests/test-read-file.c: Likewise.
55962         * tests/test-rijndael.c: Likewise.
55963         * tests/test-search.c: Likewise.
55964         * tests/test-signbit.c: Likewise.
55965         * tests/test-sleep.c: Likewise.
55966         * tests/test-snprintf-posix.c: Likewise.
55967         * tests/test-snprintf-posix.h: Likewise.
55968         * tests/test-snprintf.c: Likewise.
55969         * tests/test-sprintf-posix.c: Likewise.
55970         * tests/test-sprintf-posix.h: Likewise.
55971         * tests/test-stat-time.c: Likewise.
55972         * tests/test-stdbool.c: Likewise.
55973         * tests/test-stdint.c: Likewise.
55974         * tests/test-stdio.c: Likewise.
55975         * tests/test-stdlib.c: Likewise.
55976         * tests/test-stpncpy.c: Likewise.
55977         * tests/test-strcasestr.c: Likewise.
55978         * tests/test-striconv.c: Likewise.
55979         * tests/test-striconveh.c: Likewise.
55980         * tests/test-striconveha.c: Likewise.
55981         * tests/test-string.c: Likewise.
55982         * tests/test-sys_select.c: Likewise.
55983         * tests/test-sys_socket.c: Likewise.
55984         * tests/test-sys_stat.c: Likewise.
55985         * tests/test-sys_time.c: Likewise.
55986         * tests/test-sysexits.c: Likewise.
55987         * tests/test-time.c: Likewise.
55988         * tests/test-tls.c: Likewise.
55989         * tests/test-trunc.c: Likewise.
55990         * tests/test-truncf.c: Likewise.
55991         * tests/test-truncl.c: Likewise.
55992         * tests/test-unistd.c: Likewise.
55993         * tests/test-vasnprintf-posix.c: Likewise.
55994         * tests/test-vasnprintf-posix2.c: Likewise.
55995         * tests/test-vasnprintf.c: Likewise.
55996         * tests/test-vasprintf-posix.c: Likewise.
55997         * tests/test-vasprintf.c: Likewise.
55998         * tests/test-verify.c: Likewise.
55999         * tests/test-vfprintf-posix.c: Likewise.
56000         * tests/test-vprintf-posix.c: Likewise.
56001         * tests/test-vsnprintf-posix.c: Likewise.
56002         * tests/test-vsnprintf.c: Likewise.
56003         * tests/test-vsprintf-posix.c: Likewise.
56004         * tests/test-wchar.c: Likewise.
56005         * tests/test-wctype.c: Likewise.
56006         * tests/test-wcwidth.c: Likewise.
56007         * tests/test-xstrtol.c: Likewise.
56008         * tests/test-xvasprintf.c: Likewise.
56009         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
56010         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
56011         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
56012         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
56013         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
56014         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
56015         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
56016         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
56017         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
56018         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
56019         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
56020         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
56021         * tests/uniname/test-uninames.c: Likewise.
56022         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
56023         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
56024         * tests/unistdio/test-u16-printf1.h: Likewise.
56025         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
56026         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
56027         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
56028         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
56029         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
56030         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
56031         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
56032         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
56033         * tests/unistdio/test-u32-printf1.h: Likewise.
56034         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
56035         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
56036         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
56037         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
56038         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
56039         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
56040         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
56041         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
56042         * tests/unistdio/test-u8-printf1.h: Likewise.
56043         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
56044         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
56045         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
56046         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
56047         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
56048         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
56049         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
56050         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
56051         * tests/unistdio/test-ulc-printf1.h: Likewise.
56052         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
56053         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
56054         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
56055         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
56056         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
56057         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
56058         * tests/uniwidth/test-u16-strwidth.c: Likewise.
56059         * tests/uniwidth/test-u16-width.c: Likewise.
56060         * tests/uniwidth/test-u32-strwidth.c: Likewise.
56061         * tests/uniwidth/test-u32-width.c: Likewise.
56062         * tests/uniwidth/test-u8-strwidth.c: Likewise.
56063         * tests/uniwidth/test-u8-width.c: Likewise.
56064         * tests/uniwidth/test-uc_width.c: Likewise.
56065         * config/srclist-update: Likewise.
56066         (fixlicense): Update to GPLv3+.
56067
56068         Change copyright notice from LGPLv2.1+ to LGPLv3+.
56069         * tests/test-tsearch.c: Change copyright notice.
56070
56071         Change copyright notice from LGPLv2.0+ to LGPLv3+.
56072         * lib/c-strcaseeq.h: Change copyright notice.
56073         * lib/streq.h: Likewise.
56074         * lib/uniconv.h: Likewise.
56075         * lib/uniconv/u-conv-from-enc.h: Likewise.
56076         * lib/uniconv/u-conv-to-enc.h: Likewise.
56077         * lib/uniconv/u-strconv-from-enc.h: Likewise.
56078         * lib/uniconv/u-strconv-to-enc.h: Likewise.
56079         * lib/uniconv/u16-conv-from-enc.c: Likewise.
56080         * lib/uniconv/u16-conv-to-enc.c: Likewise.
56081         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
56082         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
56083         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
56084         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
56085         * lib/uniconv/u32-conv-from-enc.c: Likewise.
56086         * lib/uniconv/u32-conv-to-enc.c: Likewise.
56087         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
56088         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
56089         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
56090         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
56091         * lib/uniconv/u8-conv-from-enc.c: Likewise.
56092         * lib/uniconv/u8-conv-to-enc.c: Likewise.
56093         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
56094         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
56095         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
56096         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
56097         * lib/uniname.h: Likewise.
56098         * lib/uniname/uniname.c: Likewise.
56099         * lib/unistdio.h: Likewise.
56100         * lib/unistdio/u-asnprintf.h: Likewise.
56101         * lib/unistdio/u-asprintf.h: Likewise.
56102         * lib/unistdio/u-printf-args.c: Likewise.
56103         * lib/unistdio/u-printf-args.h: Likewise.
56104         * lib/unistdio/u-printf-parse.h: Likewise.
56105         * lib/unistdio/u-snprintf.h: Likewise.
56106         * lib/unistdio/u-sprintf.h: Likewise.
56107         * lib/unistdio/u-vasprintf.h: Likewise.
56108         * lib/unistdio/u-vsnprintf.h: Likewise.
56109         * lib/unistdio/u-vsprintf.h: Likewise.
56110         * lib/unistdio/u16-asnprintf.c: Likewise.
56111         * lib/unistdio/u16-asprintf.c: Likewise.
56112         * lib/unistdio/u16-printf-parse.c: Likewise.
56113         * lib/unistdio/u16-snprintf.c: Likewise.
56114         * lib/unistdio/u16-sprintf.c: Likewise.
56115         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
56116         * lib/unistdio/u16-u16-asprintf.c: Likewise.
56117         * lib/unistdio/u16-u16-snprintf.c: Likewise.
56118         * lib/unistdio/u16-u16-sprintf.c: Likewise.
56119         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
56120         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
56121         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
56122         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
56123         * lib/unistdio/u16-vasnprintf.c: Likewise.
56124         * lib/unistdio/u16-vasprintf.c: Likewise.
56125         * lib/unistdio/u16-vsnprintf.c: Likewise.
56126         * lib/unistdio/u16-vsprintf.c: Likewise.
56127         * lib/unistdio/u32-asnprintf.c: Likewise.
56128         * lib/unistdio/u32-asprintf.c: Likewise.
56129         * lib/unistdio/u32-printf-parse.c: Likewise.
56130         * lib/unistdio/u32-snprintf.c: Likewise.
56131         * lib/unistdio/u32-sprintf.c: Likewise.
56132         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
56133         * lib/unistdio/u32-u32-asprintf.c: Likewise.
56134         * lib/unistdio/u32-u32-snprintf.c: Likewise.
56135         * lib/unistdio/u32-u32-sprintf.c: Likewise.
56136         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
56137         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
56138         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
56139         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
56140         * lib/unistdio/u32-vasnprintf.c: Likewise.
56141         * lib/unistdio/u32-vasprintf.c: Likewise.
56142         * lib/unistdio/u32-vsnprintf.c: Likewise.
56143         * lib/unistdio/u32-vsprintf.c: Likewise.
56144         * lib/unistdio/u8-asnprintf.c: Likewise.
56145         * lib/unistdio/u8-asprintf.c: Likewise.
56146         * lib/unistdio/u8-printf-parse.c: Likewise.
56147         * lib/unistdio/u8-snprintf.c: Likewise.
56148         * lib/unistdio/u8-sprintf.c: Likewise.
56149         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
56150         * lib/unistdio/u8-u8-asprintf.c: Likewise.
56151         * lib/unistdio/u8-u8-snprintf.c: Likewise.
56152         * lib/unistdio/u8-u8-sprintf.c: Likewise.
56153         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
56154         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
56155         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
56156         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
56157         * lib/unistdio/u8-vasnprintf.c: Likewise.
56158         * lib/unistdio/u8-vasprintf.c: Likewise.
56159         * lib/unistdio/u8-vsnprintf.c: Likewise.
56160         * lib/unistdio/u8-vsprintf.c: Likewise.
56161         * lib/unistdio/ulc-asnprintf.c: Likewise.
56162         * lib/unistdio/ulc-asprintf.c: Likewise.
56163         * lib/unistdio/ulc-printf-parse.c: Likewise.
56164         * lib/unistdio/ulc-snprintf.c: Likewise.
56165         * lib/unistdio/ulc-sprintf.c: Likewise.
56166         * lib/unistdio/ulc-vasnprintf.c: Likewise.
56167         * lib/unistdio/ulc-vasprintf.c: Likewise.
56168         * lib/unistdio/ulc-vsnprintf.c: Likewise.
56169         * lib/unistdio/ulc-vsprintf.c: Likewise.
56170         * lib/unistr.h: Likewise.
56171         * lib/unistr/u-cpy-alloc.h: Likewise.
56172         * lib/unistr/u-cpy.h: Likewise.
56173         * lib/unistr/u-endswith.h: Likewise.
56174         * lib/unistr/u-move.h: Likewise.
56175         * lib/unistr/u-set.h: Likewise.
56176         * lib/unistr/u-startswith.h: Likewise.
56177         * lib/unistr/u-stpcpy.h: Likewise.
56178         * lib/unistr/u-stpncpy.h: Likewise.
56179         * lib/unistr/u-strcat.h: Likewise.
56180         * lib/unistr/u-strcpy.h: Likewise.
56181         * lib/unistr/u-strcspn.h: Likewise.
56182         * lib/unistr/u-strdup.h: Likewise.
56183         * lib/unistr/u-strlen.h: Likewise.
56184         * lib/unistr/u-strncat.h: Likewise.
56185         * lib/unistr/u-strncpy.h: Likewise.
56186         * lib/unistr/u-strnlen.h: Likewise.
56187         * lib/unistr/u-strpbrk.h: Likewise.
56188         * lib/unistr/u-strspn.h: Likewise.
56189         * lib/unistr/u-strstr.h: Likewise.
56190         * lib/unistr/u-strtok.h: Likewise.
56191         * lib/unistr/u16-check.c: Likewise.
56192         * lib/unistr/u16-chr.c: Likewise.
56193         * lib/unistr/u16-cmp.c: Likewise.
56194         * lib/unistr/u16-cpy-alloc.c: Likewise.
56195         * lib/unistr/u16-cpy.c: Likewise.
56196         * lib/unistr/u16-endswith.c: Likewise.
56197         * lib/unistr/u16-mblen.c: Likewise.
56198         * lib/unistr/u16-mbsnlen.c: Likewise.
56199         * lib/unistr/u16-mbtouc-aux.c: Likewise.
56200         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
56201         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
56202         * lib/unistr/u16-mbtouc.c: Likewise.
56203         * lib/unistr/u16-mbtoucr.c: Likewise.
56204         * lib/unistr/u16-move.c: Likewise.
56205         * lib/unistr/u16-next.c: Likewise.
56206         * lib/unistr/u16-prev.c: Likewise.
56207         * lib/unistr/u16-set.c: Likewise.
56208         * lib/unistr/u16-startswith.c: Likewise.
56209         * lib/unistr/u16-stpcpy.c: Likewise.
56210         * lib/unistr/u16-stpncpy.c: Likewise.
56211         * lib/unistr/u16-strcat.c: Likewise.
56212         * lib/unistr/u16-strchr.c: Likewise.
56213         * lib/unistr/u16-strcmp.c: Likewise.
56214         * lib/unistr/u16-strcpy.c: Likewise.
56215         * lib/unistr/u16-strcspn.c: Likewise.
56216         * lib/unistr/u16-strdup.c: Likewise.
56217         * lib/unistr/u16-strlen.c: Likewise.
56218         * lib/unistr/u16-strmblen.c: Likewise.
56219         * lib/unistr/u16-strmbtouc.c: Likewise.
56220         * lib/unistr/u16-strncat.c: Likewise.
56221         * lib/unistr/u16-strncmp.c: Likewise.
56222         * lib/unistr/u16-strncpy.c: Likewise.
56223         * lib/unistr/u16-strnlen.c: Likewise.
56224         * lib/unistr/u16-strpbrk.c: Likewise.
56225         * lib/unistr/u16-strrchr.c: Likewise.
56226         * lib/unistr/u16-strspn.c: Likewise.
56227         * lib/unistr/u16-strstr.c: Likewise.
56228         * lib/unistr/u16-strtok.c: Likewise.
56229         * lib/unistr/u16-to-u32.c: Likewise.
56230         * lib/unistr/u16-to-u8.c: Likewise.
56231         * lib/unistr/u16-uctomb-aux.c: Likewise.
56232         * lib/unistr/u16-uctomb.c: Likewise.
56233         * lib/unistr/u32-check.c: Likewise.
56234         * lib/unistr/u32-chr.c: Likewise.
56235         * lib/unistr/u32-cmp.c: Likewise.
56236         * lib/unistr/u32-cpy-alloc.c: Likewise.
56237         * lib/unistr/u32-cpy.c: Likewise.
56238         * lib/unistr/u32-endswith.c: Likewise.
56239         * lib/unistr/u32-mblen.c: Likewise.
56240         * lib/unistr/u32-mbsnlen.c: Likewise.
56241         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
56242         * lib/unistr/u32-mbtouc.c: Likewise.
56243         * lib/unistr/u32-mbtoucr.c: Likewise.
56244         * lib/unistr/u32-move.c: Likewise.
56245         * lib/unistr/u32-next.c: Likewise.
56246         * lib/unistr/u32-prev.c: Likewise.
56247         * lib/unistr/u32-set.c: Likewise.
56248         * lib/unistr/u32-startswith.c: Likewise.
56249         * lib/unistr/u32-stpcpy.c: Likewise.
56250         * lib/unistr/u32-stpncpy.c: Likewise.
56251         * lib/unistr/u32-strcat.c: Likewise.
56252         * lib/unistr/u32-strchr.c: Likewise.
56253         * lib/unistr/u32-strcmp.c: Likewise.
56254         * lib/unistr/u32-strcpy.c: Likewise.
56255         * lib/unistr/u32-strcspn.c: Likewise.
56256         * lib/unistr/u32-strdup.c: Likewise.
56257         * lib/unistr/u32-strlen.c: Likewise.
56258         * lib/unistr/u32-strmblen.c: Likewise.
56259         * lib/unistr/u32-strmbtouc.c: Likewise.
56260         * lib/unistr/u32-strncat.c: Likewise.
56261         * lib/unistr/u32-strncmp.c: Likewise.
56262         * lib/unistr/u32-strncpy.c: Likewise.
56263         * lib/unistr/u32-strnlen.c: Likewise.
56264         * lib/unistr/u32-strpbrk.c: Likewise.
56265         * lib/unistr/u32-strrchr.c: Likewise.
56266         * lib/unistr/u32-strspn.c: Likewise.
56267         * lib/unistr/u32-strstr.c: Likewise.
56268         * lib/unistr/u32-strtok.c: Likewise.
56269         * lib/unistr/u32-to-u16.c: Likewise.
56270         * lib/unistr/u32-to-u8.c: Likewise.
56271         * lib/unistr/u32-uctomb.c: Likewise.
56272         * lib/unistr/u8-check.c: Likewise.
56273         * lib/unistr/u8-chr.c: Likewise.
56274         * lib/unistr/u8-cmp.c: Likewise.
56275         * lib/unistr/u8-cpy-alloc.c: Likewise.
56276         * lib/unistr/u8-cpy.c: Likewise.
56277         * lib/unistr/u8-endswith.c: Likewise.
56278         * lib/unistr/u8-mblen.c: Likewise.
56279         * lib/unistr/u8-mbsnlen.c: Likewise.
56280         * lib/unistr/u8-mbtouc-aux.c: Likewise.
56281         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
56282         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
56283         * lib/unistr/u8-mbtouc.c: Likewise.
56284         * lib/unistr/u8-mbtoucr.c: Likewise.
56285         * lib/unistr/u8-move.c: Likewise.
56286         * lib/unistr/u8-next.c: Likewise.
56287         * lib/unistr/u8-prev.c: Likewise.
56288         * lib/unistr/u8-set.c: Likewise.
56289         * lib/unistr/u8-startswith.c: Likewise.
56290         * lib/unistr/u8-stpcpy.c: Likewise.
56291         * lib/unistr/u8-stpncpy.c: Likewise.
56292         * lib/unistr/u8-strcat.c: Likewise.
56293         * lib/unistr/u8-strchr.c: Likewise.
56294         * lib/unistr/u8-strcmp.c: Likewise.
56295         * lib/unistr/u8-strcpy.c: Likewise.
56296         * lib/unistr/u8-strcspn.c: Likewise.
56297         * lib/unistr/u8-strdup.c: Likewise.
56298         * lib/unistr/u8-strlen.c: Likewise.
56299         * lib/unistr/u8-strmblen.c: Likewise.
56300         * lib/unistr/u8-strmbtouc.c: Likewise.
56301         * lib/unistr/u8-strncat.c: Likewise.
56302         * lib/unistr/u8-strncmp.c: Likewise.
56303         * lib/unistr/u8-strncpy.c: Likewise.
56304         * lib/unistr/u8-strnlen.c: Likewise.
56305         * lib/unistr/u8-strpbrk.c: Likewise.
56306         * lib/unistr/u8-strrchr.c: Likewise.
56307         * lib/unistr/u8-strspn.c: Likewise.
56308         * lib/unistr/u8-strstr.c: Likewise.
56309         * lib/unistr/u8-strtok.c: Likewise.
56310         * lib/unistr/u8-to-u16.c: Likewise.
56311         * lib/unistr/u8-to-u32.c: Likewise.
56312         * lib/unistr/u8-uctomb-aux.c: Likewise.
56313         * lib/unistr/u8-uctomb.c: Likewise.
56314         * lib/unitypes.h: Likewise.
56315         * lib/uniwidth.h: Likewise.
56316         * lib/uniwidth/cjk.h: Likewise.
56317         * lib/uniwidth/u16-strwidth.c: Likewise.
56318         * lib/uniwidth/u16-width.c: Likewise.
56319         * lib/uniwidth/u32-strwidth.c: Likewise.
56320         * lib/uniwidth/u32-width.c: Likewise.
56321         * lib/uniwidth/u8-strwidth.c: Likewise.
56322         * lib/uniwidth/u8-width.c: Likewise.
56323         * lib/uniwidth/width.c: Likewise.
56324
56325 2007-10-07  Bruno Haible  <bruno@clisp.org>
56326
56327         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
56328         The file is still under LGPL (see modules/inttypes).
56329
56330 2007-10-06  Bruno Haible  <bruno@clisp.org>
56331
56332         * modules/trunc (Dependencies): Add 'extensions'.
56333         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
56334         Reported by Ben Pfaff <blp@gnu.org>.
56335
56336 2007-10-06  Bruno Haible  <bruno@clisp.org>
56337
56338         * modules/freopen-tests: New file.
56339         * tests/test-freopen.c: New file.
56340
56341         * modules/fopen-tests: New file.
56342         * tests/test-fopen.c: New file.
56343
56344         * modules/fopen: New file.
56345         * lib/fopen.c: New file.
56346         * m4/fopen.m4: New file.
56347         * modules/freopen: New file.
56348         * lib/freopen.c: New file.
56349         * m4/freopen.m4: New file.
56350         * lib/stdio.in.h (fopen, freopen): New declarations.
56351         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
56352         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56353         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
56354         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56355         * doc/functions/fopen.texi: Mention the 'fopen' module.
56356         * doc/functions/freopen.texi: Mention the 'freopen' module.
56357
56358 2007-10-06  Bruno Haible  <bruno@clisp.org>
56359
56360         * modules/open-tests: New file.
56361         * tests/test-open.c: New file.
56362
56363         * modules/open: New file.
56364         * lib/open.c: New file.
56365         * m4/open.m4: New file.
56366         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
56367         lib/open.c does.
56368         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
56369         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
56370         macros.
56371         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
56372         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
56373         REPLACE_OPEN.
56374         * doc/functions/open.texi: Mention the 'open' module.
56375
56376 2007-10-04  Bruno Haible  <bruno@clisp.org>
56377
56378         * modules/ceill-tests: New file.
56379         * tests/test-ceill.c: New file.
56380
56381         * modules/ceill: New file.
56382         * lib/ceill.c: Replace entire file.
56383         * m4/ceill.m4: New file.
56384         * lib/math.in.h (ceill): Replace declaration.
56385         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
56386         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
56387         * doc/functions/ceill.texi: Mention the 'ceill' module.
56388         * modules/mathl (Files): Remove lib/ceill.c.
56389         (Depends-on): Add ceill.
56390
56391 2007-10-04  Bruno Haible  <bruno@clisp.org>
56392
56393         * modules/ceilf-tests: New file.
56394         * tests/test-ceilf.c: New file.
56395
56396         * modules/ceilf: New file.
56397         * lib/ceil.c: New file.
56398         * lib/ceilf.c: New file.
56399         * m4/ceilf.m4: New file.
56400         * lib/math.in.h (ceilf): New declaration.
56401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
56402         HAVE_DECL_CEILF.
56403         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
56404         HAVE_DECL_CEILF.
56405         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
56406
56407 2007-10-04  Bruno Haible  <bruno@clisp.org>
56408
56409         * modules/floorl-tests: New file.
56410         * tests/test-floorl.c: New file.
56411
56412         * modules/floorl: New file.
56413         * lib/floorl.c: Replace entire file.
56414         * m4/floorl.m4: New file.
56415         * lib/math.in.h (floorl): Replace declaration.
56416         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56417         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56418         * doc/functions/floorl.texi: Mention the 'floorl' module.
56419         * modules/mathl (Files): Remove lib/floorl.c.
56420         (Depends-on): Add floorl.
56421
56422 2007-10-04  Bruno Haible  <bruno@clisp.org>
56423
56424         * modules/floorf-tests: New file.
56425         * tests/test-floorf.c: New file.
56426
56427         * modules/floorf: New file.
56428         * lib/floor.c: New file.
56429         * lib/floorf.c: New file.
56430         * m4/floorf.m4: New file.
56431         * lib/math.in.h (floorf): New declaration.
56432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56433         HAVE_DECL_FLOORF.
56434         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56435         HAVE_DECL_FLOORF.
56436         * doc/functions/floorf.texi: Mention the 'floorf' module.
56437
56438 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56439             Bruno Haible  <bruno@clisp.org>
56440
56441         Advertise for the Git server instead of the CVS server.
56442         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56443         repository instead of the CVS one.
56444         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56445         about all VCS systems generically.
56446         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56447
56448 2007-10-04  Bruno Haible  <bruno@clisp.org>
56449
56450         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56451         means.
56452         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56453
56454 2007-10-04  Bruno Haible  <bruno@clisp.org>
56455
56456         * modules/truncl-tests: New file.
56457         * tests/test-truncl.c: New file.
56458
56459         * modules/truncl: New file.
56460         * lib/truncl.c: New file.
56461         * m4/truncl.m4: New file.
56462         * lib/math.in.h (truncl): New declaration.
56463         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56464         HAVE_DECL_TRUNCL.
56465         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56466         HAVE_DECL_TRUNCL.
56467         * doc/functions/truncl.texi: Mention the 'truncl' module.
56468
56469 2007-10-04  Bruno Haible  <bruno@clisp.org>
56470
56471         * modules/truncf-tests: New file.
56472         * tests/test-truncf.c: New file.
56473
56474         * modules/truncf: New file.
56475         * lib/trunc.c: Make paramerizable through USE_* macros.
56476         * lib/truncf.c: New file.
56477         * m4/truncf.m4: New file.
56478         * lib/math.in.h (truncf): New declaration.
56479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56480         HAVE_DECL_TRUNCF.
56481         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56482         HAVE_DECL_TRUNCF.
56483         * doc/functions/truncf.texi: Mention the 'truncf' module.
56484
56485 2007-10-03  Bruno Haible  <bruno@clisp.org>
56486
56487         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56488         augmentation also for tests modules.
56489         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56490         * modules/atexit-tests (Makefile.am): Likewise.
56491         * modules/binary-io-tests (Makefile.am): Likewise.
56492         * modules/c-strcase-tests (Makefile.am): Likewise.
56493         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56494         * modules/canonicalize-tests (Makefile.am): Likewise.
56495         * modules/closein-tests (Makefile.am): Likewise.
56496         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56497         * modules/freadahead-tests (Makefile.am): Likewise.
56498         * modules/fseek-tests (Makefile.am): Likewise.
56499         * modules/fseeko-tests (Makefile.am): Likewise.
56500         * modules/ftell-tests (Makefile.am): Likewise.
56501         * modules/ftello-tests (Makefile.am): Likewise.
56502         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56503         * modules/isnanl-tests (Makefile.am): Likewise.
56504         * modules/lseek-tests (Makefile.am): Likewise.
56505         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56506         * modules/mbscasestr-tests (Makefile.am): Likewise.
56507         * modules/mbschr-tests (Makefile.am): Likewise.
56508         * modules/mbscspn-tests (Makefile.am): Likewise.
56509         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56510         * modules/mbspbrk-tests (Makefile.am): Likewise.
56511         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56512         * modules/mbsrchr-tests (Makefile.am): Likewise.
56513         * modules/mbsspn-tests (Makefile.am): Likewise.
56514         * modules/mbsstr-tests (Makefile.am): Likewise.
56515         * modules/printf-posix-tests (Makefile.am): Likewise.
56516         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56517         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56518         * modules/tsearch-tests (Makefile.am): Likewise.
56519         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56520         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56521         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56522         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56523         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56524         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56525         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56526         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56527         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56528         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56529         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56530         * modules/xstrtol-tests (Makefile.am): Likewise.
56531         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56532         * modules/yesno-tests (Makefile.am): Likewise.
56533
56534 2007-10-03  Bruno Haible  <bruno@clisp.org>
56535
56536         * modules/trunc-tests: New file.
56537         * tests/test-trunc.c: New file.
56538
56539         * modules/trunc: New file.
56540         * lib/trunc.c: New file.
56541         * m4/trunc.m4: New file.
56542         * lib/math.in.h (trunc): New declaration.
56543         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56544         HAVE_DECL_TRUNC.
56545         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56546         HAVE_DECL_TRUNC.
56547         * doc/functions/trunc.texi: Mention the 'trunc' module.
56548
56549 2007-10-03  Bruno Haible  <bruno@clisp.org>
56550
56551         * tests/test-fpending.c: New file, mostly copied
56552         from coreutils/lib/t-fpending.c.
56553         * modules/fpending-tests: New file.
56554
56555 2007-10-03  Bruno Haible  <bruno@clisp.org>
56556
56557         Port the stdio extensions to QNX (untested).
56558         * lib/fseterr.c (fseterr): Add support for QNX.
56559         * lib/fbufmode.c (fbufmode): Likewise.
56560         * lib/freadable.c (freadable): Likewise.
56561         * lib/fwritable.c (fwritable): Likewise.
56562         * lib/freading.c (freading): Likewise.
56563         * lib/fwriting.c (fwriting): Likewise.
56564         * lib/freadahead.c (freadahed): Likewise.
56565         * lib/fpurge.c (fpurge): Likewise.
56566         * lib/fseeko.c (rpl_fseeko): Likewise.
56567
56568 2007-10-03  Bruno Haible  <bruno@clisp.org>
56569             Jim Meyering  <jim@meyering.net>
56570             Eric Blake  <ebb9@byu.net>
56571
56572         * doc/relocatable.texi: Use @command instead of @program.
56573
56574 2007-10-02  Jim Meyering  <jim@meyering.net>
56575
56576         Perform one more "_.h" -> ".in.h" substitution.
56577         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56578         instead of unistd_.h here, too.
56579
56580 2007-10-01  Bruno Haible  <bruno@clisp.org>
56581
56582         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56583         Needed for the alloca-opt module.
56584
56585 2007-09-30  Bruno Haible  <bruno@clisp.org>
56586
56587         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56588         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56589         alloca_.h.
56590         * lib/argz.in.h: Renamed from lib/argz_.h.
56591         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56592         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56593         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56594         byteswap_.h.
56595         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56596         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56597         dirent_.h.
56598         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56599         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56600         fcntl_.h.
56601         * lib/float.in.h: Renamed from lib/float_.h.
56602         * modules/float (Files, Makefile.am): Use float.in.h instead of
56603         float_.h.
56604         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56605         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56606         fnmatch_.h.
56607         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56608         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56609         getopt_.h.
56610         * lib/glob.in.h: Renamed from lib/glob_.h.
56611         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56612         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56613         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56614         iconv_.h.
56615         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56616         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56617         inttypes_.h.
56618         * lib/locale.in.h: Renamed from lib/locale_.h.
56619         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56620         locale_.h.
56621         * lib/math.in.h: Renamed from lib/math_.h.
56622         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56623         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56624         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56625         of netinet_in_.h. Add dependency.
56626         * lib/poll.in.h: Renamed from lib/poll_.h.
56627         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56628         * lib/search.in.h: Renamed from lib/search_.h.
56629         * modules/search (Files, Makefile.am): Use search.in.h instead of
56630         search_.h.
56631         * lib/signal.in.h: Renamed from lib/signal_.h.
56632         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56633         _signal.h.
56634         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56635         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56636         stdbool_.h.
56637         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56638         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56639         stdint_.h.
56640         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56641         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56642         stdio_.h.
56643         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56644         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56645         stdlib_.h.
56646         * lib/string.in.h: Renamed from lib/string_.h.
56647         * modules/string (Files, Makefile.am): Use string.in.h instead of
56648         string_.h.
56649         * doc/gnulib-tool.texi (Initial import): Update.
56650         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56651         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56652         of sys_select_.h. Add dependency.
56653         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56654         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56655         of sys_socket_.h.
56656         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56657         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56658         sys_stat_.h.
56659         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56660         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56661         sys_time_.h.
56662         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56663         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56664         sysexits_.h.
56665         * lib/time.in.h: Renamed from lib/time_.h.
56666         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56667         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56668         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56669         unistd_.h.
56670         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56671         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56672         wchar_.h.
56673         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56674         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56675         wctype_.h.
56676         * build-aux/bootstrap (slurp): Update.
56677         * lib/.cppi-disable: Update.
56678
56679 2007-09-30  Bruno Haible  <bruno@clisp.org>
56680
56681         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56682         Needed on BeOS.
56683
56684 2007-09-30  Bruno Haible  <bruno@clisp.org>
56685
56686         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56687
56688 2007-09-29  Bruno Haible  <bruno@clisp.org>
56689
56690         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56691
56692 2007-09-29  Bruno Haible  <bruno@clisp.org>
56693
56694         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56695         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56696         * build-aux/install-reloc: Compile also areadlink.c.
56697         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56698
56699 2007-09-29  Bruno Haible  <bruno@clisp.org>
56700
56701         * gnulib-tool (func_emit_initmacro_done): Indentation.
56702
56703 2007-09-29  Bruno Haible  <bruno@clisp.org>
56704
56705         * README: Add CVS checkout update instructions.
56706         Info from Bob Proulx <bob@proulx.com>.
56707
56708 2007-09-28  Eric Blake  <ebb9@byu.net>
56709
56710         Provide move-if-change.
56711         * build-aux/move-if-change: New file, based on best practice
56712         rather than any canonical upstream location.
56713
56714 2007-09-28  Jim Meyering  <jim@meyering.net>
56715
56716         Fix canonicalize loop-detection corner case.
56717         Do not attempt to stat the symlink values stored via seen_triple.
56718         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56719         on linux-2.6.18, (but not 2.6.22).
56720         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56721         triple_compare.  The former compares dev,ino,filename, while the latter
56722         would actually stat dirname(filename) when dev and ino were equal.
56723         * lib/hash-triple.c: Install <string.h>.
56724         (STREQ): Define.
56725         (triple_compare_ino_str): New function.
56726         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56727
56728 2007-09-28  Eric Blake  <ebb9@byu.net>
56729
56730         Enforce that AC_REPLACE_FUNCS files exist.
56731         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56732         override check for typos.
56733
56734         Fix test-closein on Solaris 10.
56735         * tests/test-closein.c (main): Don't assume stdin can be inherited
56736         closed on all systems.
56737         * tests/test-closein.sh: Likewise.
56738         Reported by Piotr Tarnowski.
56739
56740 2007-09-28  Jim Meyering  <jim@meyering.net>
56741
56742         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56743
56744 2007-09-27  Jim Meyering  <jim@meyering.net>
56745
56746         canonicalize: Avoid a false-positive cycle failure.
56747         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56748         Sort.  Remove cycle-check.
56749         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56750         not cycle-check.h.
56751         (seen_triple): New function.
56752         (canonicalize_filename_mode): Use it instead of cycle-check.
56753         * tests/test-canonicalize.c: Add a test for this bug.
56754         * tests/test-canonicalize.sh: Set up and run the test.
56755
56756         New module, file-set, from coreutils.
56757         * modules/file-set: Define it.
56758         * lib/file-set.c, lib/file-set.h: Implement.
56759
56760         New module, hash-triple, from coreutils.
56761         * modules/hash-triple: Define it.
56762         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56763
56764 2007-09-25  Eric Blake  <ebb9@byu.net>
56765
56766         Fix strerror on Interix.
56767         * lib/string_.h (strerror): Declare replacement.
56768         * doc/functions/strerror.texi (strerror): Document the Interix
56769         shortcoming.
56770         * modules/string (Makefile.am): Support new hooks.
56771         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56772         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56773         gl_FUNC_STRERROR_SEPARATE.
56774         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56775         * lib/strerror.c (rpl_strerror): Provide replacement.
56776         * modules/strerror (Depends-on): Add string.
56777         (configure.ac): Detect use of module.
56778         * tests/test-strerror.c: New file.
56779         * modules/strerror-tests: New test module.
56780         * modules/argp (Depends-on): Add strerror.
56781         * modules/error (Depends-on): Likewise.
56782         Reported by Martin Koeppe.
56783
56784 2007-09-24  Bruno Haible  <bruno@clisp.org>
56785
56786         * README: Update git instructions.
56787
56788 2007-09-24  Eric Blake  <ebb9@byu.net>
56789
56790         Revert fpending breakage from 2007-09-08.
56791         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56792         __fpending.c.
56793
56794 2007-09-24  Jim Meyering  <jim@meyering.net>
56795
56796         filenamecat.c: Add a test.
56797         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56798         showing how the function works when DIR is the empty string.
56799
56800 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56801
56802         * tests/test-canonicalize.sh: Turn on executable bit.
56803
56804 2007-09-19  Eric Blake  <ebb9@byu.net>
56805
56806         * README: Update CVS instructions.
56807
56808 2007-09-18  Bruno Haible  <bruno@clisp.org>
56809
56810         * modules/areadlink: New file.
56811         * lib/areadlink.h (areadlink): New declaration.
56812         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56813
56814 2007-09-17  Jim Meyering  <jim@meyering.net>
56815
56816         * lib/savewd.c (ESTALE) [!defined]: Define.
56817         Reported to be required on Interix by Martin Koeppe.
56818
56819 2007-09-17  Bruno Haible  <bruno@clisp.org>
56820
56821         * gnulib-tool (func_version): Use $version.
56822
56823 2007-09-16  Bruno Haible  <bruno@clisp.org>
56824
56825         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56826         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56827         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56828         Reported by Greg Schafer <gschafer@zip.com.au>.
56829
56830 2007-09-15  Bruno Haible  <bruno@clisp.org>
56831
56832         * gnulib-tool (sed): Try a little harder to make bash understand the
56833         alias.
56834         Reported by Bruce Korb <bruce.korb@gmail.com>.
56835
56836 2007-09-13  Eric Blake  <ebb9@byu.net>
56837
56838         * ChangeLog: Remove conflict markers.
56839
56840 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56841
56842         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56843         Reported by Bruno Haible <bruno@clisp.org>.
56844
56845 2007-09-12  Bruno Haible  <bruno@clisp.org>
56846
56847         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56848         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56849         is not defined.
56850
56851 2007-09-12  Eric Blake  <ebb9@byu.net>
56852
56853         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56854         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56855         Autoconf definition.
56856         * modules/euidaccess (Depends-on): Add extensions, for
56857         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56858         * modules/fnmatch (Depends-on): Likewise.
56859         * modules/getaddrinfo (Depends-on): Likewise.
56860         * modules/getdelim (Depends-on): Likewise.
56861         * modules/getline (Depends-on): Likewise.
56862         * modules/getsubopt (Depends-on): Likewise.
56863         * modules/gettext (Depends-on): Likewise.
56864         * modules/group-member (Depends-on): Likewise.
56865         * modules/mbchar (Depends-on): Likewise.
56866         * modules/memmem (Depends-on): Likewise.
56867         * modules/mempcpy (Depends-on): Likewise.
56868         * modules/memrchr (Depends-on): Likewise.
56869         * modules/pagealign_alloc (Depends-on): Likewise.
56870         * modules/readutmp (Depends-on): Likewise.
56871         * modules/stpcpy (Depends-on): Likewise.
56872         * modules/stpncpy (Depends-on): Likewise.
56873         * modules/strchrnul (Depends-on): Likewise.
56874         * modules/strndup (Depends-on): Likewise.
56875         * modules/strsep (Depends-on): Likewise.
56876         * modules/strverscmp (Depends-on): Likewise.
56877         * modules/vasprintf (Depends-on): Likewise.
56878         * modules/wcwidth (Depends-on): Likewise.
56879         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56880         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56881         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56882         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56883         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56884         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56885         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56886         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56887         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56888         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56889         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56890         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56891         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56892         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56893         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56894         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56895         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56896         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56897         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56898         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56899         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56900         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56901         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56902         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56903         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56904         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56905         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56906         so that lock.m4 can be used in gettext without extensions module.
56907
56908 2007-09-11  Bruno Haible  <bruno@clisp.org>
56909
56910         * m4/isc-posix.m4: Remove file.
56911         Suggested by Eric Blake.
56912
56913 2007-09-11  Eric Blake  <ebb9@byu.net>
56914
56915         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56916
56917 2007-09-10  Bruno Haible  <bruno@clisp.org>
56918
56919         * posix-modules: Fix typo in error message.
56920         Reported by Matt <mkraai@beckman.com>.
56921
56922 2007-09-09  Bruno Haible  <bruno@clisp.org>
56923
56924         * doc/functions/getdelim.texi: Update list of platforms lacking the
56925         function.
56926         * doc/functions/getline.texi: Likewise.
56927
56928 2007-09-09  Jim Meyering  <jim@meyering.net>
56929
56930         * lib/hash.c (hash_initialize): Detect calloc failure.
56931         Reported by Bruno Haible.
56932
56933 2007-09-09  Bruno Haible  <bruno@clisp.org>
56934
56935         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56936         malloc or realloc fails.
56937
56938 2007-09-09  Bruno Haible  <bruno@clisp.org>
56939
56940         * modules/getcwd (Depends-on): Add malloc-posix.
56941         * modules/glob (Depends-on): Likewise.
56942         * modules/putenv (Depends-on): Likewise.
56943         * modules/strdup (Depends-on): Likewise.
56944         * modules/getdelim (Depends-on): Add realloc-posix.
56945         * modules/read-file (Depends-on): Likewise.
56946
56947 2007-09-09  Bruno Haible  <bruno@clisp.org>
56948
56949         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56950         (gl_FUNC_MALLOC_POSIX): Require it.
56951         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56952         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56953         * modules/realloc (Files): Add m4/malloc.m4.
56954         * modules/calloc (Files): Likewise.
56955
56956 2007-09-09  Bruno Haible  <bruno@clisp.org>
56957
56958         * modules/malloc-posix: New file.
56959         * modules/malloc (Depends-on): Add malloc-posix.
56960         * lib/malloc.c: Include errno.h.
56961         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56962         and a POSIX-compatible malloc into a single function. Set ENOMEM
56963         when returning NULL.
56964         * m4/malloc.m4: New file.
56965         * doc/functions/malloc.texi: Mention the malloc-posix module.
56966         * lib/stdlib_.h (malloc): New declaration.
56967         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56968         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56969         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56970         and HAVE_MALLOC_POSIX.
56971
56972 2007-09-09  Bruno Haible  <bruno@clisp.org>
56973
56974         * modules/realloc-posix: New file.
56975         * modules/realloc (Depends-on): Add realloc-posix.
56976         * lib/realloc.c: Include errno.h.
56977         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56978         and a POSIX-compatible realloc into a single function. Set ENOMEM
56979         when returning NULL.
56980         * m4/realloc.m4: New file.
56981         * doc/functions/realloc.texi: Mention the realloc-posix module.
56982         * lib/stdlib_.h (realloc): New declaration.
56983         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56984         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56985         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56986         and HAVE_REALLOC_POSIX.
56987
56988 2007-09-09  Bruno Haible  <bruno@clisp.org>
56989
56990         * modules/calloc-posix: New file.
56991         * modules/calloc (Depends-on): Add calloc-posix.
56992         * lib/calloc.c: Include errno.h.
56993         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56994         and a POSIX-compatible calloc into a single function. Set ENOMEM
56995         when returning NULL.
56996         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56997         * doc/functions/calloc.texi: Mention the calloc-posix module.
56998         * lib/stdlib_.h (calloc): New declaration.
56999         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
57000         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
57001         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
57002         and HAVE_CALLOC_POSIX.
57003
57004 2007-09-09  Bruno Haible  <bruno@clisp.org>
57005
57006         Allow for modules to show an arbitrary notice.
57007         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
57008         * gnulib-tool: New option --extract-notice.
57009         (func_usage): Document it.
57010         (sed_extract_prog): Update.
57011         (func_get_notice): New function.
57012         (func_modules_notice): New function.
57013         (func_import, func_create_testdir): Invoke it.
57014         Suggested by Jim Meyering.
57015
57016 2007-09-09  Bruno Haible  <bruno@clisp.org>
57017
57018         * gnulib-tool: New options --verbose, --quiet.
57019         (func_usage): Document them.
57020         (verbose): New variable.
57021         (func_execute_command): New function.
57022         (func_import): Don't show the module list and the file list if
57023         $verbose < 0.
57024         (func_create_testdir): Likewise. Use func_execute_command.
57025         (func_create_megatestdir): Use func_execute_command.
57026
57027 2007-09-08  Bruno Haible  <bruno@clisp.org>
57028
57029         * gnulib-tool (func_import): Prefer rsync over wget when available,
57030         for fetching the PO files.
57031
57032 2007-09-08  Bruno Haible  <bruno@clisp.org>
57033
57034         * posix-modules: New file. Portions copied from gnulib-tool.
57035         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
57036
57037 2007-09-08  Jim Meyering  <jim@meyering.net>
57038
57039         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
57040         * lib/fpending.h: Rename from __fpending.h.
57041         * lib/fpending.c: Rename from __fpending.c.
57042         Include "fpending.h", not "__fpending.h".
57043         * lib/__fpending.h, lib/__fpending.c: Remove files.
57044         * modules/fpending (Files): Reflect new file names.
57045         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
57046
57047 2007-09-08  Bruno Haible  <bruno@clisp.org>
57048
57049         * m4/inttypes-h.m4: Remove stub file.
57050
57051 2007-09-07  Simon Josefsson  <simon@josefsson.org>
57052
57053         * doc/headers/stdint.texi: Discuss #include_next issue.
57054
57055 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
57056
57057         * build-aux/bootstrap: Remove obsolete comment about wget --help.
57058
57059 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57060
57061         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
57062         in variable name.
57063
57064 2007-09-03  Jim Meyering  <jim@meyering.net>
57065
57066         New module: git-version-gen.
57067         * modules/git-version-gen: New file.
57068
57069         Import changes from coreutils for bootstrap script.
57070
57071         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
57072
57073         bootstrap: uses rsync to download the .po files
57074         * build-aux/bootstrap (po_download_command_format): New global.
57075         (download_po_files): Use rsync.
57076         (update_po_files): Don't remove .po files after download,
57077         so future rsync runs can take advantage of the copies.
57078
57079         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
57080
57081         Solve the unnecessary-.po-file-regeneration problem once and for all.
57082         * build-aux/bootstrap (download_po_files): New function, renamed from
57083         get_translations.  Now, downloads, but doesn't update LINGUAS.
57084         (update_po_files): New function.
57085
57086         bootstrap: Ignore more.
57087         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
57088         uniwidth to e.g., lib/.gitignore.
57089         (slurp): Handle the sys_stat_.h -> sys mapping, too.
57090
57091         * build-aux/bootstrap: New setting: vc_ignore.
57092         (insert_sorted_if_absent): Create $file if absent.
57093         Adapt to new, possibly empty, list: $vc_ignore.
57094
57095         bootstrap: generate more ignorable names
57096         * build-aux/bootstrap (slurp): When generating ignorable names,
57097         also map .sin to .sed, .gperf to .c, and .y to .c.
57098
57099 2007-09-03  Jim Meyering  <jim@meyering.net>
57100
57101         * build-aux/git-version-gen: New file, from coreutils.  For details, see
57102         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
57103
57104 2007-09-02  Bruno Haible  <bruno@clisp.org>
57105
57106         Fix mis-recognition of 'mcs' on QNX 6.
57107         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
57108         output contains the string "Mono".
57109         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
57110         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
57111
57112 2007-09-01  Bruno Haible  <bruno@clisp.org>
57113
57114         Fix collision between uniwidth/* and linebreak modules.
57115         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
57116         u32_width): Remove declarations.
57117         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
57118         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
57119         streq3, streq2, streq1, streq0): Remove functions.
57120         (STREQ): Remove macro.
57121         (is_cjk_encoding): Remove function.
57122         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
57123         (uc_width, u8_width, u16_width, u32_width): Remove functions.
57124         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
57125         * NEWS: Document the change.
57126
57127 2007-09-01  Bruno Haible  <bruno@clisp.org>
57128
57129         * lib/streq.h: Add double-inclusion guard.
57130
57131 2007-09-01  Karl Berry  <karl@gnu.org>
57132
57133         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
57134
57135 2007-08-28  Jim Meyering  <jim@meyering.net>
57136
57137         Rename mreadlink_with_size to areadlink_with_size.
57138         * NEWS: Document the change.
57139         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
57140         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
57141         * lib/mreadlink.h: Rename this to...
57142         * lib/areadlink.h: ...this.
57143         * modules/mreadlink-with-size: Rename this to...
57144         * modules/areadlink-with-size: ...this.
57145         * lib/canonicalize.c: Reflect the renaming.
57146         * modules/canonicalize: Likewise.
57147
57148 2007-08-26  Bruno Haible  <bruno@clisp.org>
57149
57150         * gnulib-tool (func_import): When deciding which files to remove,
57151         consider also dangling symbolic links.
57152         Reported by Eric Blake.
57153
57154 2007-08-26  Bruno Haible  <bruno@clisp.org>
57155
57156         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
57157
57158 2007-08-23  Simon Josefsson  <simon@josefsson.org>
57159
57160         * lib/readline.c: Don't include getline.h, the prototype is now
57161         found in stdio.h.
57162
57163 2007-08-23  Jim Meyering  <jim@meyering.net>
57164
57165         Getdelim touchup.
57166         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
57167         around the funlockfile call, since funlockfile never sets errno.
57168         Don't set errno upon failed realloc.
57169
57170 2007-08-22  Eric Blake  <ebb9@byu.net>
57171
57172         Getline touchups.
57173         * lib/getdelim.c (getdelim): Revert regression that required *n to
57174         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
57175         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
57176         getdelim, rather than whether implementation is missing.
57177         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
57178         * lib/stdio_.h (getline): Also declare if replacement is
57179         required.
57180         * doc/functions/getdelim.texi: New file.
57181         * doc/functions/getline.texi: Likewise.
57182         * doc/gnulib.texi (Function Substitutes): Add new files.
57183         Reported by Bruno Haible.
57184
57185 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
57186
57187         * users.txt: Add Guile.
57188
57189 2007-08-22  Eric Blake  <ebb9@byu.net>
57190
57191         * tests/test-getdelim.c (main): Use remove, not unlink.
57192         * tests/test-getline.c (main): Likewise.
57193
57194         Move getline and getdelim into stdio.h, per POSIX 200x.
57195         * modules/getline (Files): Remove getline.h.
57196         (Depends-on): Add stdio.
57197         (configure.ac): Add module indicator.
57198         * modules/getdelim (Files): Remove getdelim.h.
57199         (Depends-on): Add stdio.
57200         (configure.ac): Add module indicator.
57201         * modules/stdio (Makefile.am): Work with new indicators.
57202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
57203         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
57204         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57205         * lib/getdelim.h: Delete.
57206         * lib/getline.h: Delete.
57207         * lib/stdio_.h (getdelim, getline): Declare.
57208         * modules/getdelim-tests: New module.
57209         * modules/getline-tests: Likewise.
57210         * tests/test-getdelim.c: New file.
57211         * tests/test-getline.c: Likewise.
57212         * NEWS: Document the change.
57213         * lib/getline.c: Update choice of header.
57214         * lib/csharpcomp.c: Likewise.
57215         * lib/getpass.c: Likewise.
57216         * lib/javacomp.c: Likewise.
57217         * lib/javaversion.c: Likewise.
57218         * lib/yesno.c: Likewise.
57219         * lib/getdelim.c: Likewise.
57220         (getdelim): Set errno on failure, and avoid memory leak.
57221
57222 2007-08-19  Bruno Haible  <bruno@clisp.org>
57223
57224         * modules/closein (Depends-on): Add freadahead.
57225         * lib/closein.c: Include freadahead.h.
57226         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
57227         is zero.
57228
57229 2007-08-19  Bruno Haible  <bruno@clisp.org>
57230
57231         * modules/freadahead-tests: New file.
57232         * tests/test-freadahead.sh: New file.
57233         * tests/test-freadahead.c: New file.
57234
57235         * modules/freadahead: New file.
57236         * lib/freadahead.h: New file.
57237         * lib/freadahead.c: New file.
57238         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
57239         fbufmode, fpurge, freadable, fwritable.
57240
57241 2007-08-19  Eric Blake  <ebb9@byu.net>
57242
57243         Test yesno in combination with closein.
57244         * lib/yesno.c (yesno): Document use of stdin.
57245         * modules/yesno-tests (Files): New module.
57246         * tests/test-yesno.c (main): New file.
57247         * tests/test-yesno.sh: Likewise.
57248
57249 2007-08-19  Bruno Haible  <bruno@clisp.org>
57250
57251         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
57252         * lib/fseeko.c (rpl_fseeko): Likewise.
57253         * lib/fseterr.c (fseterr): Likewise.
57254
57255 2007-08-19  Bruno Haible  <bruno@clisp.org>
57256
57257         * tests/test-lseek.c (main): Disable a test for BeOS.
57258         * doc/functions/lseek.texi: Document the BeOS bug.
57259
57260 2007-08-19  Bruno Haible  <bruno@clisp.org>
57261             Eric Blake  <ebb9@byu.net>
57262
57263         * lib/lseek.c: Include <sys/stat.h>.
57264         (rpl_lseek): Add workaround code also for Unix platforms.
57265         Needed for BeOS.
57266         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
57267         * doc/functions/lseek.texi: Document BeOS definiency.
57268
57269 2007-08-18  Bruno Haible  <bruno@clisp.org>
57270
57271         * modules/fstrcmp-tests: New file.
57272         * tests/test-fstrcmp.c: New file.
57273
57274 2007-08-18  Bruno Haible  <bruno@clisp.org>
57275
57276         * modules/fstrcmp: New file, from GNU gettext with modifications.
57277         * lib/fstrcmp.h: New file, from GNU gettext.
57278         * lib/fstrcmp.c: New file, from GNU gettext.
57279         * MODULES.html.sh (String handling): Add fstrcmp.
57280
57281 2007-08-18  Bruno Haible  <bruno@clisp.org>
57282
57283         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
57284         'bool'.
57285         (diag, compareseq): Remove const from the ctxt argument.
57286         (USE_HEURISTIC): Undefine at the end.
57287
57288 2007-08-18  Jim Meyering  <jim@meyering.net>
57289
57290         New file: lib/idcache.h
57291         * NEWS: Mention the addition.
57292         * modules/idcache (Files): Add lib/idcache.h
57293         * lib/idcache.c: Include "idcache.h".
57294         Don't include <sys/types.h>.
57295         Add a FIXME comment.
57296         Move file-scoped "static" declarations to the top.
57297         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
57298
57299 2007-08-17  Bruno Haible  <bruno@clisp.org>
57300         and Paul Eggert  <eggert@cs.ucla.edu>
57301
57302         * MODULES.html.sh: Add diffseq.
57303         * modules/diffseq: New file.
57304         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
57305         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
57306
57307 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57308
57309         Import changes from coreutils for bootstrap script.
57310
57311         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
57312
57313         * build-aux/bootstrap (slurp): Work even in environments where
57314         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
57315         current code does not slurp files whose names start with ".", and
57316         this looks like it might be a troublesome area.
57317
57318         2007-07-11  Jim Meyering  <jim@meyering.net>
57319
57320         If there's a GPL vN copyright comment, require that N == 3.
57321
57322         2007-07-08  Jim Meyering  <jim@meyering.net>
57323
57324         Run the coreutils-specific code only if tests/Makefile.am.in exists.
57325         * build-aux/bootstrap (mam_template): Move definition out of loop.
57326
57327         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
57328
57329         * build-aux/bootstrap (symlink_to_dir): Rename function from
57330         symlink_to_gnulib.  Add a directory parameter.  Update all
57331         callers.
57332         (cp_mark_as_generated): Also check for -- and link to -- files in
57333         gl/.
57334
57335         2007-07-08  Jim Meyering  <jim@meyering.net>
57336
57337         Adapt to deeper hierarchy in gnulib.
57338         * build-aux/bootstrap (symlink_to_dir): If the destination
57339         directory doesn't exist, create it. This is required at least for
57340         "lib/uniwidth/cjk.h".
57341
57342         2007-05-15  Jim Meyering  <jim@meyering.net>
57343
57344         * build-aux/bootstrap: Now that generated Makefile.am files
57345         are no longer under version control, they must be created at
57346         bootstrap time.
57347
57348 2007-08-14  Ben Pfaff  <blp@gnu.org>
57349
57350         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
57351
57352 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57353
57354         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
57355         given the changes below.
57356         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
57357         even on hosts that have padding bits beyond the supported 64.
57358
57359 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57360
57361         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
57362         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
57363         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
57364         depends on it.
57365         (xstrtol_error): Remove.
57366         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
57367         but with a different signature.
57368         (ATTRIBUTE_NORETURN, __attribute__): New macros.
57369         * lib/xstrtol-error.c: Include exitfail.h.
57370         (xstrtol_fatal): New function, with a different signature from the
57371         old xstrtol_error, so that the caller need not worry about passing
57372         in an exit status, or about storage management of the option argument.
57373         (xstrtol_error): Now a static function.  Redo signature to
57374         implement xstrtol_fatal.  Output the correct number of hyphens in
57375         front of the option so that the caller need not worry about
57376         storage management.
57377         (N_): New macro.
57378         (_): Remove; not used now.
57379         * modules/xstrtol: Depend on getopt.
57380         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
57381         of old STRTOL_FATAL_ERROR macro.
57382         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
57383         of test program.
57384         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
57385         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
57386
57387 2007-08-08  Eric Blake  <ebb9@byu.net>
57388
57389         * lib/xstrtol-error.c: Add missing include.
57390
57391         Move xstrtol messages into gnulib domain, when --pobase is used.
57392         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
57393         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
57394         * modules/xstrtol (Files): Distribute new file.
57395         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
57396         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
57397         * tests/test-xstrtol.c: ...into new file.
57398         * tests/test-xstrtoul.c: Also test xstrtoul.
57399         * tests/test-xstrtoimax.c: Also test xstrtoimax.
57400         * tests/test-xstrtoumax.c: Also test xstrtoumax.
57401         * tests/test-xstrtol.sh: Drive the tests.
57402         * tests/test-xstrtoimax.sh: Likewise.
57403         * tests/test-xstrtoumax.sh: Likewise.
57404         * modules/xstrtol-tests: New module.
57405         * modules/xstrtoimax-tests: Likewise.
57406         * modules/xstrtoumax-tests: Likewise.
57407
57408 2007-08-08  Jim Meyering  <jim@meyering.net>
57409
57410         New function: mfile_name_concat.
57411         * lib/filenamecat.c (mfile_name_concat): New function, just like
57412         file_name_concat, but return NULL upon failure rather than exiting
57413         with a diagnostic.
57414         * lib/filenamecat.h: Declare it.
57415
57416 2007-08-07  Bruno Haible  <bruno@clisp.org>
57417
57418         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57419         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57420         warning from gcc.
57421         Reported by Eric Blake.
57422
57423 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57424
57425         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57426         * modules/crypto/arcfour (License): Likewise.
57427         * modules/crypto/des-tests (License): Likewise.
57428         * modules/crypto/gc-arctwo-tests (License): Likewise.
57429         * modules/crypto/gc-des-tests (License): Likewise.
57430         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57431         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57432         * modules/crypto/gc-md2-tests (License): Likewise.
57433         * modules/crypto/gc-md4-tests (License): Likewise.
57434         * modules/crypto/gc-md5-tests (License): Likewise.
57435         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57436         * modules/crypto/gc-rijndael-tests (License): Likewise.
57437         * modules/crypto/gc-sha1-tests (License): Likewise.
57438         * modules/crypto/gc-tests (License): Likewise.
57439         * modules/crypto/hmac-md5 (License): Likewise.
57440         * modules/crypto/hmac-sha1 (License): Likewise.
57441         * modules/crypto/md2-tests (License): Likewise.
57442         * modules/crypto/md4-tests (License): Likewise.
57443         * modules/crypto/md5 (License): Likewise.
57444         * modules/crypto/rijndael (License): Likewise.
57445         * modules/crypto/sha1 (License): Likewise.
57446         * modules/memxor (License): Likewise.
57447
57448 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57449         and Bruno Haible  <bruno@clisp.org>
57450
57451         * NEWS: Describe interface changes to human, xstrtol.
57452         * lib/human.h: Include <xstrtol.h>.
57453         (human_options): Return enum strtol_error, not int.  Remove
57454         bool arg; take int * instead.
57455         * lib/human.c: Don't include "gettext.h".
57456         (_): Remove; no longer used.
57457         Don't include <xstrtol.h>, since human.h does it.
57458         (human_options): Adjust to abovementioned interface changes.
57459         Do not report error to stderr; that's now the caller's
57460         responsibility.
57461         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57462         interface change.
57463         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57464         Str, Argument_type_string.  All uses changed.  Put " argument"
57465         in diagnostics to make them clearer.  Change wording of suffix
57466         message for clarity.
57467         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57468         Argument_type_string.
57469         (STRTOL_FATAL_WARN): Remove; no longer used.
57470         * modules/human (Depends-on): Remove gettext-h.
57471
57472 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57473
57474         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57475
57476 2007-07-31  Bruno Haible  <bruno@clisp.org>
57477
57478         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57479         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57480         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57481
57482 2007-07-31  Bruno Haible  <bruno@clisp.org>
57483
57484         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57485         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57486
57487 2007-07-30  Bruno Haible  <bruno@clisp.org>
57488
57489         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57490         * modules/c-ctype (License): Likewise.
57491         * modules/c-strcase (License): Likewise.
57492         * modules/check-version (License): Likewise.
57493         * modules/iconv (License): Likewise.
57494         * modules/iconv_open (License): Likewise.
57495         * modules/read-file (License): Likewise.
57496         * modules/striconv (License): Likewise.
57497         * modules/strverscmp (License): Likewise.
57498         * modules/vasprintf (License): Likewise.
57499         * modules/crypto/des (License): Likewise.
57500         * modules/crypto/gc (License): Likewise.
57501         * modules/crypto/gc-arcfour (License): Likewise.
57502         * modules/crypto/gc-arctwo (License): Likewise.
57503         * modules/crypto/gc-des (License): Likewise.
57504         * modules/crypto/gc-hmac-md5 (License): Likewise.
57505         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57506         * modules/crypto/gc-md2 (License): Likewise.
57507         * modules/crypto/gc-md4 (License): Likewise.
57508         * modules/crypto/gc-md5 (License): Likewise.
57509         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57510         * modules/crypto/gc-random (License): Likewise.
57511         * modules/crypto/gc-rijndael (License): Likewise.
57512         * modules/crypto/gc-sha1 (License): Likewise.
57513         * modules/crypto/md2 (License): Likewise.
57514         * modules/crypto/md4 (License): Likewise.
57515
57516 2007-07-30  Jim Meyering  <jim@meyering.net>
57517
57518         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57519         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57520         it has valid stat data.  This bug would cause du not to count the
57521         sizes of inaccessible directories.
57522         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57523         in <http://bugzilla.redhat.com/250077>.
57524
57525 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57526             Bruno Haible  <bruno@clisp.org>
57527
57528         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57529         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57530         #include_next, gives a diagnostic about it, but reports no error in
57531         the exit code.
57532         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57533
57534 2007-07-24  Ben Pfaff  <blp@gnu.org>
57535
57536         Improve name: "count-one-bits" is better than "popcount".
57537         * MODULES.html.sh: Update name.
57538         * lib/popcount.h: Renamed lib/count-one-bits.h.
57539         (popcount): Renamed count_one_bits.
57540         (popcountl): Renamed count_one_bits_l.
57541         (popcountll): Renamed count_one_bits_ll.
57542         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57543         * modules/popcount: Renamed module/count-one-bits.
57544         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57545         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57546
57547 2007-07-23  Ben Pfaff  <blp@gnu.org>
57548
57549         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57550         better code generation, and add U to large constants to avoid
57551         warnings, in non-GCC case.
57552         Suggested by Bruno Haible.
57553
57554 2007-07-23  Ben Pfaff  <blp@gnu.org>
57555
57556         * lib/popcount.h: Use verify_true instead of if...abort.
57557         * modules/popcount: Depend on verify module.
57558         Suggested by Jim Meyering.
57559
57560 2007-07-23  Bruno Haible  <bruno@clisp.org>
57561
57562         * gnulib-tool (func_import): Create a .cvsignore file also when the
57563         directory is not yet in CVS but the toplevel directory is. When
57564         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57565         Reported by Karl Berry.
57566
57567 2007-07-22  Ben Pfaff  <blp@gnu.org>
57568
57569         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57570         case.
57571         Suggested by Eric Blake.
57572
57573 2007-07-22  Ben Pfaff  <blp@gnu.org>
57574
57575         New module: popcount.
57576         * MODULES.html.sh: Add popcount.
57577         * modules/popcount: New file.
57578         * modules/popcount-tests: New file.
57579         * tests/test-popcount.c: New file.
57580         * lib/popcount.h: New file.
57581         * m4/popcount.m4: New file.
57582
57583 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57584
57585         * build-aux/announce-gen: Update to GPLv3.
57586
57587         * build-aux/config.guess: Update from config.
57588
57589 2007-07-21  Bruno Haible  <bruno@clisp.org>
57590
57591         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57592         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57593
57594 2007-07-20  Jim Meyering  <jim@meyering.net>
57595
57596         * check-module: Diagnose a self-dependency.
57597
57598 2007-07-19  Bruno Haible  <bruno@clisp.org>
57599
57600         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57601         empty.
57602         Reported by Eric Blake.
57603
57604 2007-07-18  Bruno Haible  <bruno@clisp.org>
57605
57606         * gnulib-tool: New options --po-base, --po-domain.
57607         (func_usage): Document them.
57608         (pobase, po_domain): New variables.
57609         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57610         DEFAULT_TEXT_DOMAIN.
57611         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57612         (func_import): Consider pobase and po_domain. Create a po/ directory.
57613         (func_create_testdir): Set pobase and po_domain to empty.
57614         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57615         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57616
57617 2007-07-18  Bruno Haible  <bruno@clisp.org>
57618
57619         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57620         EXTRA_DIST augmentation for files in build-aux/.
57621
57622 2007-07-16  Bruno Haible  <bruno@clisp.org>
57623
57624         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57625         * modules/getdelim (License): Likewise.
57626
57627 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57628
57629         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57630         * modules/d-type (License): Likewise.
57631         * modules/extensions (License): Likewise.
57632         * modules/fnmatch (License): Likewise.
57633         * modules/fseeko (License): Likewise.
57634         * modules/getaddrinfo (License): Likewise.
57635         * modules/getline (License): Likewise.
57636         * modules/getlogin_r (License): Likewise.
57637         * modules/getpass (License): Likewise.
57638         * modules/gettimeofday (License): Likewise.
57639         * modules/glob (License): Likewise.
57640         * modules/inet_ntop (License): Likewise.
57641         * modules/malloc (License): Likewise.
57642         * modules/malloca (License): Likewise.
57643         * modules/memmem (License): Likewise.
57644         * modules/mempcpy (License): Likewise.
57645         * modules/memset (License): Likewise.
57646         * modules/minmax (License): Likewise.
57647         * modules/mktime (License): Likewise.
57648         * modules/netinet_in (License): Likewise.
57649         * modules/pathmax (License): Likewise.
57650         * modules/poll (License): Likewise.
57651         * modules/regex (License): Likewise.
57652         * modules/snprintf (License): Likewise.
57653         * modules/stdbool (License): Likewise.
57654         * modules/stdint (License): Likewise.
57655         * modules/stdio (License): Likewise.
57656         * modules/strcase (License): Likewise.
57657         * modules/strcasestr (License): Likewise.
57658         * modules/strdup (License): Likewise.
57659         * modules/string (License): Likewise.
57660         * modules/strndup (License): Likewise.
57661         * modules/strnlen (License): Likewise.
57662         * modules/strpbrk (License): Likewise.
57663         * modules/strptime (License): Likewise.
57664         * modules/strsep (License): Likewise.
57665         * modules/sys_select (License): Likewise.
57666         * modules/sys_socket (License): Likewise.
57667         * modules/sys_stat (License): Likewise.
57668         * modules/sys_time (License): Likewise.
57669         * modules/time (License): Likewise.
57670         * modules/time_r (License): Likewise.
57671         * modules/timegm (License): Likewise.
57672         * modules/unistd (License): Likewise.
57673         * modules/vsnprintf (License): Likewise.
57674         * modules/wctype (License): Likewise.
57675
57676 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57677
57678         * modules/argz (License): LGPLv2+.
57679
57680 2007-07-15  Karl Berry  <karl@gnu.org>
57681
57682         * doc/gnulib.texi: revise node structure per new fdl.texi.
57683
57684 2007-07-14  Bruno Haible  <bruno@clisp.org>
57685
57686         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57687         the output file.
57688         * lib/uniname/uninames.h: Regenerated.
57689
57690 2007-07-14  Karl Berry  <karl@gnu.org>
57691
57692         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57693         omitting sectioning and index commands.
57694
57695 2007-07-13  Bruno Haible  <bruno@clisp.org>
57696
57697         New gnulib-tool option --more-symlinks.
57698         * gnulib-tool (func_usage): Document --more-symlinks.
57699         (do_copyrights): New variable.
57700         Recognize option --more-symlinks.
57701         (func_import): Don't add a copyright notice transform to
57702         sed_transform_lib_file if do_copyrights is empty.
57703
57704 2007-07-13  Bruno Haible  <bruno@clisp.org>
57705
57706         * lib/vasnprintf.c (decimal_point_char): Define also if
57707         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57708         && !NEED_PRINTF_DIRECTIVE_A.
57709         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57710         Gary V. Vaughan <gary@gnu.org>.
57711
57712 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57713
57714         * lib/inttypes_.h: Undo previous change, since it was fixed
57715         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57716
57717 2007-07-13  Bruno Haible  <bruno@clisp.org>
57718
57719         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57720         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57721
57722 2007-07-13  Jim Meyering  <jim@meyering.net>
57723
57724         df: Don't fail for Tru64's "file-on-file mount".
57725         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57726         so we fall through and use statfs instead.  Details here:
57727         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57728         Reported by Albert Chin.
57729
57730 2007-07-13  Bruno Haible  <bruno@clisp.org>
57731
57732         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57733         * modules/configmake (License): Likewise.
57734         * modules/gettext (License): Likewise.
57735         * modules/gettext-h (License): Likewise.
57736         * modules/include_next (License): Likewise.
57737         * modules/link-warning (License): Likewise.
57738         * modules/localcharset (License): Likewise.
57739         * modules/localename (License): Likewise.
57740         * modules/lock (License): Likewise.
57741         * modules/relocatable-lib-lgpl (License): Likewise.
57742         * modules/size_max (License): Likewise.
57743         * modules/vasnprintf (License): Likewise.
57744         * modules/wchar (License): Likewise.
57745         * modules/xsize (License): Likewise.
57746
57747 2007-07-13  Bruno Haible  <bruno@clisp.org>
57748
57749         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57750         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57751
57752 2007-07-12  Bruno Haible  <bruno@clisp.org>
57753
57754         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57755         in the modules files.
57756
57757 2007-07-11  Karl Berry  <karl@gnu.org>
57758
57759         * MODULES.html.sh (func_module): use
57760          sed -e '\|^'"${includefile}"'$|d'
57761          instead of /.../d, to avoid errors on $includefile's containing /.
57762
57763 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57764
57765         * gnulib-tool (func_import): Avoid duplication of --avoid
57766         statements
57767         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57768         names to `_' in variable names.
57769
57770 2007-07-10  Eric Blake  <ebb9@byu.net>
57771
57772         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57773         * NEWS: Document this change.
57774
57775 2007-07-08  Bruno Haible  <bruno@clisp.org>
57776
57777         Update to Unicode 5.0.
57778         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57779         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57780         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57781         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57782         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57783         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57784         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57785         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57786         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57787         U+10A3F, U+1D242..U+1D244.
57788         (nonspacing_table_ind): Update.
57789         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57790         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57791
57792 2007-07-08  Bruno Haible  <bruno@clisp.org>
57793
57794         Update to Unicode 5.0.
57795         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57796         code transform. Extend the name index field of unicode_name_to_code and
57797         unicode_code_to_name from 16 to 24 bits.
57798         * lib/uniname/uniname.c (unicode_character_name,
57799         unicode_name_character): Add the range 0x12xxx to the code transform.
57800         * lib/uniname/uninames.h: Regenerated.
57801         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57802
57803 2007-07-07  Bruno Haible  <bruno@clisp.org>
57804
57805         * modules/wcwidth-tests: New file.
57806         * tests/test-wcwidth.c: New file.
57807
57808         Work around MacOS X wcwidth() bug.
57809         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57810         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57811         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57812         original wcwidth in non-UTF-8 locales.
57813         * modules/wcwidth (Depends-on): Add localcharset, streq,
57814         uniwidth/width.
57815         * doc/functions/wcwidth.texi: Update.
57816
57817 2007-07-07  Bruno Haible  <bruno@clisp.org>
57818
57819         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57820         (wcwidth): New declaration.
57821         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57822         macros.
57823         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57824         here. Prepare for creating <wchar.h> unconditionally.
57825         * modules/wchar (Depends-on): Add link-warning.
57826         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57827         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57828         * lib/wcwidth.h: Remove file.
57829         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57830         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57831         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57832         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57833         (Include): Replace wcwidth.h with <wchar.h>.
57834         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57835         * lib/mbchar.h: Don't include wcwidth.h.
57836         * lib/mbswidth.c: Likewise.
57837         * NEWS: Mention the change.
57838
57839 2007-07-07  Bruno Haible  <bruno@clisp.org>
57840
57841         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57842         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57843         definition with an external declaration.
57844         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57845         defined as a function. Remove AC_C_INLINE requirement.
57846         * modules/wcwidth (Files): Add lib/wcwidth.c.
57847         (Makefile.am): Remove redundant statement.
57848
57849 2007-07-07  Bruno Haible  <bruno@clisp.org>
57850
57851         * MODULES.html.sh (Unicode string functions): Add the new modules.
57852
57853         * tests/uniwidth/test-u32-strwidth.c: New file.
57854         * modules/uniwidth/u32-strwidth-tests: New file.
57855
57856         * lib/uniwidth/u32-strwidth.c: New file.
57857         * modules/uniwidth/u32-strwidth: New file.
57858
57859         * tests/uniwidth/test-u16-strwidth.c: New file.
57860         * modules/uniwidth/u16-strwidth-tests: New file.
57861
57862         * lib/uniwidth/u16-strwidth.c: New file.
57863         * modules/uniwidth/u16-strwidth: New file.
57864
57865         * tests/uniwidth/test-u8-strwidth.c: New file.
57866         * modules/uniwidth/u8-strwidth-tests: New file.
57867
57868         * lib/uniwidth/u8-strwidth.c: New file.
57869         * modules/uniwidth/u8-strwidth: New file.
57870
57871         * tests/uniwidth/test-u32-width.c: New file.
57872         * modules/uniwidth/u32-width-tests: New file.
57873
57874         * lib/uniwidth/u32-width.c: New file.
57875         * modules/uniwidth/u32-width: New file.
57876
57877         * tests/uniwidth/test-u16-width.c: New file.
57878         * modules/uniwidth/u16-width-tests: New file.
57879
57880         * lib/uniwidth/u16-width.c: New file.
57881         * modules/uniwidth/u16-width: New file.
57882
57883         * tests/uniwidth/test-u8-width.c: New file.
57884         * modules/uniwidth/u8-width-tests: New file.
57885
57886         * lib/uniwidth/u8-width.c: New file.
57887         * modules/uniwidth/u8-width: New file.
57888
57889         * tests/uniwidth/test-uc_width.c: New file.
57890         * modules/uniwidth/width-tests: New file.
57891
57892         * lib/uniwidth/width.c: New file, from GNU libiconv.
57893         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57894         * modules/uniwidth/width: New file.
57895
57896         * lib/uniwidth.h: New file, from GNU libiconv.
57897         * modules/uniwidth/base: New file.
57898
57899 2007-07-07  Bruno Haible  <bruno@clisp.org>
57900
57901         * lib/uniname.h: New file, from GNU gettext.
57902         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57903         * lib/uniname/uninames.h: New file, from GNU gettext.
57904         * lib/uniname/uniname.c: New file, from GNU gettext.
57905         * tests/uniname/test-uninames.sh: New file.
57906         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57907         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57908         * modules/uniname/base: New file.
57909         * modules/uniname/uniname: New file.
57910         * modules/uniname/uniname-tests: New file.
57911         * MODULES.html.sh (Unicode string functions): Add the new modules.
57912
57913 2007-07-06  Bruno Haible  <bruno@clisp.org>
57914
57915         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57916
57917 2007-07-06  Bruno Haible  <bruno@clisp.org>
57918
57919         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57920         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57921         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57922         include <sys/time.h>.
57923         Reported by Eric Blake.
57924
57925 2007-07-06  Eric Blake  <ebb9@byu.net>
57926
57927         Fix testing canonicalize on cygwin.
57928         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57929         Revert patch from 2007-06-19.
57930         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57931         canonicalize module is also in use.
57932         * tests/test-canonicalize.c: New file.
57933         * tests/test-canonicalize.sh: Likewise.
57934         * modules/canonicalize-tests: Likewise.
57935
57936 2007-07-06  Jim Meyering  <jim@meyering.net>
57937
57938         * lib/getugroups.c (getugroups): Detect getgrent failure.
57939         Adjust comment to reflect reality: this function may return -1.
57940
57941 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57942
57943         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57944         the new TP address.
57945         (usage): Fix typo
57946         (gnulib_mk): New variable.
57947
57948 2007-07-05  Jim Meyering  <jim@meyering.net>
57949
57950         Don't let endgrent clobber errno, no matter how improbable.
57951         * lib/getugroups.c (getugroups): Save and restore errno around
57952         endgrent call.
57953
57954         Close the group DB even when failing with 2^31 or more members.
57955         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57956
57957 2007-07-04  Jim Meyering  <jim@meyering.net>
57958
57959         * lib/getugroups.h: New file.
57960         * lib/getugroups.c: Include "getugroups.h".
57961         Remove uses of "register" keyword.
57962         Move local variable, "cp", down into scope where used.
57963         Give "username" parameter the "const" attribute.
57964         * modules/getugroups (Files): Add lib/getugroups.h
57965
57966 2007-07-04  Karl Berry  <karl@gnu.org>
57967
57968         * MODULES.html.sh (func_all_modules): Complete rename of
57969         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57970
57971 2007-07-02  Bruno Haible  <bruno@clisp.org>
57972
57973         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57974         mode, when inttypes.h comes from gnulib.
57975         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57976
57977 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57978
57979         * NEWS: Mention lgpl module name change.
57980
57981         * modules/lgpl-2.1: Renamed from lgpl.
57982
57983         * NEWS: Mention gpl module name change.
57984
57985         * modules/gpl-3.0: New file, based on gpl-2.0.
57986
57987         * modules/gpl-2.0: Renamed from gpl.
57988
57989         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57990         doc/gpl-2.0.texi.
57991
57992 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57993
57994         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57995         #define __STDC_LIMIT_MACROS temporarily while including
57996         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57997         Problem reported by Joel E. Denny in
57998         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57999
58000 2007-07-01  Bruno Haible  <bruno@clisp.org>
58001
58002         * lib/unistdio.h: New file.
58003         * lib/unistdio/u-asnprintf.h: New file.
58004         * lib/unistdio/u-asprintf.h: New file.
58005         * lib/unistdio/u-printf-args.c: New file.
58006         * lib/unistdio/u-printf-args.h: New file.
58007         * lib/unistdio/u-printf-parse.h: New file.
58008         * lib/unistdio/u-snprintf.h: New file.
58009         * lib/unistdio/u-sprintf.h: New file.
58010         * lib/unistdio/u-vasprintf.h: New file.
58011         * lib/unistdio/u-vsnprintf.h: New file.
58012         * lib/unistdio/u-vsprintf.h: New file.
58013         * lib/unistdio/ulc-asnprintf.c: New file.
58014         * lib/unistdio/ulc-asprintf.c: New file.
58015         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
58016         * lib/unistdio/ulc-printf-parse.c: New file.
58017         * lib/unistdio/ulc-snprintf.c: New file.
58018         * lib/unistdio/ulc-sprintf.c: New file.
58019         * lib/unistdio/ulc-vasnprintf.c: New file.
58020         * lib/unistdio/ulc-vasprintf.c: New file.
58021         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
58022         * lib/unistdio/ulc-vsnprintf.c: New file.
58023         * lib/unistdio/ulc-vsprintf.c: New file.
58024         * lib/unistdio/u8-asnprintf.c: New file.
58025         * lib/unistdio/u8-asprintf.c: New file.
58026         * lib/unistdio/u8-printf-parse.c: New file.
58027         * lib/unistdio/u8-snprintf.c: New file.
58028         * lib/unistdio/u8-sprintf.c: New file.
58029         * lib/unistdio/u8-vasnprintf.c: New file.
58030         * lib/unistdio/u8-vasprintf.c: New file.
58031         * lib/unistdio/u8-vsnprintf.c: New file.
58032         * lib/unistdio/u8-vsprintf.c: New file.
58033         * lib/unistdio/u8-u8-asnprintf.c: New file.
58034         * lib/unistdio/u8-u8-asprintf.c: New file.
58035         * lib/unistdio/u8-u8-snprintf.c: New file.
58036         * lib/unistdio/u8-u8-sprintf.c: New file.
58037         * lib/unistdio/u8-u8-vasnprintf.c: New file.
58038         * lib/unistdio/u8-u8-vasprintf.c: New file.
58039         * lib/unistdio/u8-u8-vsnprintf.c: New file.
58040         * lib/unistdio/u8-u8-vsprintf.c: New file.
58041         * lib/unistdio/u16-asnprintf.c: New file.
58042         * lib/unistdio/u16-asprintf.c: New file.
58043         * lib/unistdio/u16-printf-parse.c: New file.
58044         * lib/unistdio/u16-snprintf.c: New file.
58045         * lib/unistdio/u16-sprintf.c: New file.
58046         * lib/unistdio/u16-vasnprintf.c: New file.
58047         * lib/unistdio/u16-vasprintf.c: New file.
58048         * lib/unistdio/u16-vsnprintf.c: New file.
58049         * lib/unistdio/u16-vsprintf.c: New file.
58050         * lib/unistdio/u16-u16-asnprintf.c: New file.
58051         * lib/unistdio/u16-u16-asprintf.c: New file.
58052         * lib/unistdio/u16-u16-snprintf.c: New file.
58053         * lib/unistdio/u16-u16-sprintf.c: New file.
58054         * lib/unistdio/u16-u16-vasnprintf.c: New file.
58055         * lib/unistdio/u16-u16-vasprintf.c: New file.
58056         * lib/unistdio/u16-u16-vsnprintf.c: New file.
58057         * lib/unistdio/u16-u16-vsprintf.c: New file.
58058         * lib/unistdio/u32-asnprintf.c: New file.
58059         * lib/unistdio/u32-asprintf.c: New file.
58060         * lib/unistdio/u32-printf-parse.c: New file.
58061         * lib/unistdio/u32-snprintf.c: New file.
58062         * lib/unistdio/u32-sprintf.c: New file.
58063         * lib/unistdio/u32-vasnprintf.c: New file.
58064         * lib/unistdio/u32-vasprintf.c: New file.
58065         * lib/unistdio/u32-vsnprintf.c: New file.
58066         * lib/unistdio/u32-vsprintf.c: New file.
58067         * lib/unistdio/u32-u32-asnprintf.c: New file.
58068         * lib/unistdio/u32-u32-asprintf.c: New file.
58069         * lib/unistdio/u32-u32-snprintf.c: New file.
58070         * lib/unistdio/u32-u32-sprintf.c: New file.
58071         * lib/unistdio/u32-u32-vasnprintf.c: New file.
58072         * lib/unistdio/u32-u32-vasprintf.c: New file.
58073         * lib/unistdio/u32-u32-vsnprintf.c: New file.
58074         * lib/unistdio/u32-u32-vsprintf.c: New file.
58075         * tests/unistdio/test-ulc-asnprintf1.c: New file.
58076         * tests/unistdio/test-ulc-asnprintf1.h: New file.
58077         * tests/unistdio/test-ulc-printf1.h: New file.
58078         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
58079         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
58080         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
58081         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
58082         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
58083         * tests/unistdio/test-ulc-vasprintf1.c: New file.
58084         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
58085         * tests/unistdio/test-ulc-vsprintf1.c: New file.
58086         * tests/unistdio/test-u8-asnprintf1.c: New file.
58087         * tests/unistdio/test-u8-asnprintf1.h: New file.
58088         * tests/unistdio/test-u8-printf1.h: New file.
58089         * tests/unistdio/test-u8-vasnprintf1.c: New file.
58090         * tests/unistdio/test-u8-vasnprintf2.c: New file.
58091         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
58092         * tests/unistdio/test-u8-vasnprintf3.c: New file.
58093         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
58094         * tests/unistdio/test-u8-vasprintf1.c: New file.
58095         * tests/unistdio/test-u8-vsnprintf1.c: New file.
58096         * tests/unistdio/test-u8-vsprintf1.c: New file.
58097         * tests/unistdio/test-u16-asnprintf1.c: New file.
58098         * tests/unistdio/test-u16-asnprintf1.h: New file.
58099         * tests/unistdio/test-u16-printf1.h: New file.
58100         * tests/unistdio/test-u16-vasnprintf1.c: New file.
58101         * tests/unistdio/test-u16-vasnprintf2.c: New file.
58102         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
58103         * tests/unistdio/test-u16-vasnprintf3.c: New file.
58104         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
58105         * tests/unistdio/test-u16-vasprintf1.c: New file.
58106         * tests/unistdio/test-u16-vsnprintf1.c: New file.
58107         * tests/unistdio/test-u16-vsprintf1.c: New file.
58108         * tests/unistdio/test-u32-asnprintf1.c: New file.
58109         * tests/unistdio/test-u32-asnprintf1.h: New file.
58110         * tests/unistdio/test-u32-printf1.h: New file.
58111         * tests/unistdio/test-u32-vasnprintf1.c: New file.
58112         * tests/unistdio/test-u32-vasnprintf2.c: New file.
58113         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
58114         * tests/unistdio/test-u32-vasnprintf3.c: New file.
58115         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
58116         * tests/unistdio/test-u32-vasprintf1.c: New file.
58117         * tests/unistdio/test-u32-vsnprintf1.c: New file.
58118         * tests/unistdio/test-u32-vsprintf1.c: New file.
58119         * modules/unistdio/base: New file.
58120         * modules/unistdio/u-printf-args: New file.
58121         * modules/unistdio/ulc-asnprintf: New file.
58122         * modules/unistdio/ulc-asprintf: New file.
58123         * modules/unistdio/ulc-fprintf: New file.
58124         * modules/unistdio/ulc-printf-parse: New file.
58125         * modules/unistdio/ulc-snprintf: New file.
58126         * modules/unistdio/ulc-sprintf: New file.
58127         * modules/unistdio/ulc-vasnprintf: New file.
58128         * modules/unistdio/ulc-vasprintf: New file.
58129         * modules/unistdio/ulc-vfprintf: New file.
58130         * modules/unistdio/ulc-vsnprintf: New file.
58131         * modules/unistdio/ulc-vsprintf: New file.
58132         * modules/unistdio/u8-asnprintf: New file.
58133         * modules/unistdio/u8-asprintf: New file.
58134         * modules/unistdio/u8-printf-parse: New file.
58135         * modules/unistdio/u8-snprintf: New file.
58136         * modules/unistdio/u8-sprintf: New file.
58137         * modules/unistdio/u8-vasnprintf: New file.
58138         * modules/unistdio/u8-vasprintf: New file.
58139         * modules/unistdio/u8-vsnprintf: New file.
58140         * modules/unistdio/u8-vsprintf: New file.
58141         * modules/unistdio/u8-u8-asnprintf: New file.
58142         * modules/unistdio/u8-u8-asprintf: New file.
58143         * modules/unistdio/u8-u8-snprintf: New file.
58144         * modules/unistdio/u8-u8-sprintf: New file.
58145         * modules/unistdio/u8-u8-vasnprintf: New file.
58146         * modules/unistdio/u8-u8-vasprintf: New file.
58147         * modules/unistdio/u8-u8-vsnprintf: New file.
58148         * modules/unistdio/u8-u8-vsprintf: New file.
58149         * modules/unistdio/u16-asnprintf: New file.
58150         * modules/unistdio/u16-asprintf: New file.
58151         * modules/unistdio/u16-printf-parse: New file.
58152         * modules/unistdio/u16-snprintf: New file.
58153         * modules/unistdio/u16-sprintf: New file.
58154         * modules/unistdio/u16-vasnprintf: New file.
58155         * modules/unistdio/u16-vasprintf: New file.
58156         * modules/unistdio/u16-vsnprintf: New file.
58157         * modules/unistdio/u16-vsprintf: New file.
58158         * modules/unistdio/u16-u16-asnprintf: New file.
58159         * modules/unistdio/u16-u16-asprintf: New file.
58160         * modules/unistdio/u16-u16-snprintf: New file.
58161         * modules/unistdio/u16-u16-sprintf: New file.
58162         * modules/unistdio/u16-u16-vasnprintf: New file.
58163         * modules/unistdio/u16-u16-vasprintf: New file.
58164         * modules/unistdio/u16-u16-vsnprintf: New file.
58165         * modules/unistdio/u16-u16-vsprintf: New file.
58166         * modules/unistdio/u32-asnprintf: New file.
58167         * modules/unistdio/u32-asprintf: New file.
58168         * modules/unistdio/u32-printf-parse: New file.
58169         * modules/unistdio/u32-snprintf: New file.
58170         * modules/unistdio/u32-sprintf: New file.
58171         * modules/unistdio/u32-vasnprintf: New file.
58172         * modules/unistdio/u32-vasprintf: New file.
58173         * modules/unistdio/u32-vsnprintf: New file.
58174         * modules/unistdio/u32-vsprintf: New file.
58175         * modules/unistdio/u32-u32-asnprintf: New file.
58176         * modules/unistdio/u32-u32-asprintf: New file.
58177         * modules/unistdio/u32-u32-snprintf: New file.
58178         * modules/unistdio/u32-u32-sprintf: New file.
58179         * modules/unistdio/u32-u32-vasnprintf: New file.
58180         * modules/unistdio/u32-u32-vasprintf: New file.
58181         * modules/unistdio/u32-u32-vsnprintf: New file.
58182         * modules/unistdio/u32-u32-vsprintf: New file.
58183         * modules/unistdio/ulc-asnprintf-tests: New file.
58184         * modules/unistdio/ulc-vasnprintf-tests: New file.
58185         * modules/unistdio/ulc-vasprintf-tests: New file.
58186         * modules/unistdio/ulc-vsnprintf-tests: New file.
58187         * modules/unistdio/ulc-vsprintf-tests: New file.
58188         * modules/unistdio/u8-asnprintf-tests: New file.
58189         * modules/unistdio/u8-vasnprintf-tests: New file.
58190         * modules/unistdio/u8-vasprintf-tests: New file.
58191         * modules/unistdio/u8-vsnprintf-tests: New file.
58192         * modules/unistdio/u8-vsprintf-tests: New file.
58193         * modules/unistdio/u16-asnprintf-tests: New file.
58194         * modules/unistdio/u16-vasnprintf-tests: New file.
58195         * modules/unistdio/u16-vasprintf-tests: New file.
58196         * modules/unistdio/u16-vsnprintf-tests: New file.
58197         * modules/unistdio/u16-vsprintf-tests: New file.
58198         * modules/unistdio/u32-asnprintf-tests: New file.
58199         * modules/unistdio/u32-vasnprintf-tests: New file.
58200         * modules/unistdio/u32-vasprintf-tests: New file.
58201         * modules/unistdio/u32-vsnprintf-tests: New file.
58202         * modules/unistdio/u32-vsprintf-tests: New file.
58203         * MODULES.html.sh (Unicode string functions): Add the new modules.
58204
58205 2007-07-01  Bruno Haible  <bruno@clisp.org>
58206
58207         * lib/sprintf.c (sprintf): Limit the available length estimation,
58208         to avoid address wraparound.
58209         * lib/vsprintf.c (vsprintf): Likewise.
58210         * modules/sprintf-posix (Dependencies): Add stdint.
58211         * modules/vsprintf-posix (Dependencies): Likewise.
58212
58213 2007-07-01  Bruno Haible  <bruno@clisp.org>
58214
58215         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
58216         Windows PATH as well. Conservative double-quoting. Comments.
58217
58218 2007-07-01  Bruno Haible  <bruno@clisp.org>
58219             Eric Blake  <ebb9@byu.net>
58220             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58221
58222         * gnulib-tool (self_abspathname): Fix algorithm to cope with
58223         empty components in $PATH, denoting '.'.
58224
58225 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58226
58227         * gnulib-tool: Fix indentation.
58228         (func_create_megatestdir): Likewise.
58229         Report by Bruno Haible.
58230
58231 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58232
58233         Sync from Automake.
58234         * build-aux/gnupload: Fix shell portability issues with for loops.
58235         Report by Karl Berry.
58236
58237 2007-06-29  Simon Josefsson  <simon@josefsson.org>
58238
58239         * build-aux/maint.mk (POURL): Use translationproject.org.
58240
58241 2007-06-27  Simon Josefsson  <simon@josefsson.org>
58242             Bruno Haible  <bruno@clisp.org>
58243
58244         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
58245         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
58246         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
58247         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
58248         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
58249
58250 2007-06-27  Bruno Haible  <bruno@clisp.org>
58251
58252         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
58253         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
58254
58255 2007-06-26  Karl Berry  <karl@gnu.org>
58256
58257         * MODULES.html.sh: remove xreadlink-with-size.
58258
58259 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58260
58261         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
58262         method that I hope also handles the double-include problem noted
58263         by Bruno Haible in
58264         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
58265
58266 2007-06-23  Bruno Haible  <bruno@clisp.org>
58267
58268         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58269         Don't let the 'mostlyclean' target fail if the last subdirectory could
58270         not be removed.
58271         Reported by Karl Berry.
58272
58273 2007-06-23  Bruno Haible  <bruno@clisp.org>
58274
58275         * gnulib-tool (echo): Add a speedier workaround for ksh.
58276         * tests/test-echo.sh: Likewise.
58277
58278 2007-06-23  Bruno Haible  <bruno@clisp.org>
58279
58280         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
58281         * tests/test-echo.sh: Likewise.
58282
58283 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58284
58285         * gnulib-tool (IFS): Initialize early, so we don't set it to
58286         empty later.
58287         (self_abspathname): Rewrite algorithm to set it, reindent.
58288         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
58289         (func_create_megatestdir): Merge some sed scripts.
58290
58291 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58292
58293         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
58294         exposed by Sun Studio 11 cc on Solaris 8.
58295
58296 2007-06-22  Bruno Haible  <bruno@clisp.org>
58297
58298         * gnulib-tool (echo): Ensure the echo primitive does not interpret
58299         backslashes.
58300         * tests/test-echo.sh: New file.
58301
58302 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58303
58304         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
58305         simplify `sed_replace_build_aux' scripts, they are portable but
58306         echoing them with `echo' is not.
58307         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
58308
58309 2007-06-21  Karl Berry  <karl@gnu.org>
58310
58311         * config/srclist.txt: guess we can't handle the licenses via
58312         srclist at the moment.
58313
58314 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
58315
58316         * MODULES.html.sh: Add include_next.
58317         * modules/include_next: New file.
58318
58319 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
58320
58321         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
58322         INCLUDE_NEXT.
58323         (gl_CHECK_NEXT_HEADERS): New macro.
58324         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
58325         the obsolescent gl_ABSOLUTE_HEADER.
58326         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
58327         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
58328         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
58329         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58330         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
58331         * m4/math_h.m4 (gl_MATH_H): Likewise.
58332         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58333         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58334         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
58335         * m4/stdint.m4 (gl_STDINT_H): Likewise.
58336         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
58337         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
58338         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
58339         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58340         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58341         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
58342         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
58343         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
58344         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
58345         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
58346         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
58347         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58348         * m4/inttypes.m4 (gl_INTTYPES_H): Define
58349         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
58350         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
58351         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
58352         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
58353         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
58354         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
58355         * lib/float_.h: Likewise.
58356         * lib/inttypes_.h: Likewise.
58357         * lib/math_.h: Likewise.
58358         * lib/search_.h: Likewise.
58359         * lib/signal_.h: Likewise.
58360         * lib/stdint_.h: Likewise.
58361         * lib/stdio_.h: Likewise.
58362         * lib/stdlib_.h: Likewise.
58363         * lib/string_.h: Likewise.
58364         * lib/sys_stat_.h: Likewise.
58365         * lib/sys_time_.h: Likewise.
58366         * lib/time_.h: Likewise.
58367         * lib/unistd_.h: Likewise.
58368         * lib/wchar_.h: Likewise.
58369         * lib/wctype_.h: Likewise.
58370         * lib/dirent_.h: Likewise.
58371         * lib/iconv_.h: Likewise.
58372         * lib/locale_.h: Likewise.
58373         * lib/netinet_in_.h: Likewise.
58374         * lib/sys_select_.h: Likewise.
58375         * lib/sys_socket_.h: Likewise.
58376         * lib/sysexits_.h: Likewise.
58377         * modules/fcntl (Depends-on): Depend on include_next, not
58378         absolute_header.
58379         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
58380         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
58381         * modules/fchdir: Likewise.
58382         * modules/float: Likewise.
58383         * modules/iconv_open: Likewise.
58384         * modules/inttypes: Likewise.
58385         * modules/locale: Likewise.
58386         * modules/math: Likewise.
58387         * modules/netinet_in: Likewise.
58388         * modules/search: Likewise.
58389         * modules/signal: Likewise.
58390         * modules/stdint: Likewise.
58391         * modules/stdio: Likewise.
58392         * modules/stdlib: Likewise.
58393         * modules/string: Likewise.
58394         * modules/sys_select: Likewise.
58395         * modules/sys_socket: Likewise.
58396         * modules/sys_stat: Likewise.
58397         * modules/sys_time: Likewise.
58398         * modules/sysexits: Likewise.
58399         * modules/time: Likewise.
58400         * modules/unistd: Likewise.
58401         * modules/wchar: Likewise.
58402         * modules/wctype: Likewise.
58403         * modules/sys_stat: Change maintainer to "all".
58404         * modules/unistd: Likewise.
58405
58406 2007-06-20  Karl Berry  <karl@gnu.org>
58407
58408         * config/srclist.txt: track www changes in license files.
58409
58410 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58411
58412         * build-aux/bootstrap: Remove stray dot.
58413         Make sure build_aux settings are honored when linking
58414         gnulib_extra_files.
58415
58416 2007-06-19  Eric Blake  <ebb9@byu.net>
58417
58418         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58419         Allow compilation on cygwin.
58420
58421 2007-06-19  Jim Meyering  <jim@meyering.net>
58422
58423         xreadlink-with-size: Remove module.  No longer used.
58424         Ex-callers now use xreadlink or mreadlink-with-size.
58425         * modules/xreadlink-with-size: Remove module.
58426         * lib/xreadlink-with-size.c: Remove file.
58427         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58428         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58429         just before the function definition *is* accurate.
58430
58431         Eliminate one way canonicalize_filename_mode could exit.
58432         * lib/canonicalize.c (canonicalize_filename_mode):
58433         Use mreadlink_with_size, not xreadlink_with_size.
58434
58435 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58436
58437         Detect porting problems to FreeBSD/arm, which has time_t wider than
58438         long int.  Original problem reported for GNU diff by Xin Li in
58439         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58440         * modules/getdate (Depends-on): Add intprops, verify.
58441         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58442         is an integer type no wider than long int.
58443
58444 2007-06-18  Jim Meyering  <jim@meyering.net>
58445
58446         New module: mreadlink-with-size.
58447         * MODULES.html.sh: Add mreadlink-with-size.
58448         * modules/mreadlink-with-size: New module
58449         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58450         not xreadlink-with-size.
58451         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58452
58453 2007-06-16  Bruno Haible  <bruno@clisp.org>
58454
58455         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58456         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58457         Reported by Gary V. Vaughan <gary@gnu.org>.
58458
58459 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58460
58461         Revamp lchown so that it lives in unistd.h where it belongs.
58462         * lib/lchown.h: Remove.
58463         * lib/dirchownmod.c: Don't include lib/lchown.h.
58464         * lib/fchownat.c: Likewise.
58465         * lib/openat.c: Likewise.
58466         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58467         does not follow symlinks.
58468         (EOPNOTSUPP): Define if not defined.
58469         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58470         is defined to 0.
58471         (lchown): New decl.
58472         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58473         Do not check for lchown decl.
58474         Set REPLACE_LCHOWN.
58475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58476         REPLACE_LCHOWN.
58477         * modules/chown: Make it clear it follows symlinks.
58478         * modules/lchown: Make it clear it doesn't follow symlinks.
58479         (Files): Remove lib/lchown.h
58480         (Depends-on): Add unistd.
58481         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58482         (Include): Include <unistd.h>, not "lchown.h".
58483         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58484         REPLACE_LCHOWN.
58485
58486 2007-06-15  Jim Meyering  <jim@meyering.net>
58487
58488         Change license (GPL to LGPL) of fsusage and dependents.
58489         * modules/fsusage (License): Change to LGPL.
58490         * modules/full-read (License): Likewise.
58491         * modules/full-write (License): Likewise.
58492         * modules/safe-read (License): Likewise.
58493         * modules/safe-write (License): Likewise.
58494
58495 2007-06-14  Ben Pfaff  <blp@gnu.org>
58496
58497         Missing part of allocsa -> malloca transition.
58498         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58499         gl_MALLOCA.
58500
58501 2007-06-12  Bruno Haible  <bruno@clisp.org>
58502
58503         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58504         to ia64, x86_64, i386.
58505         Reported by Eric Blake.
58506
58507 2007-06-12  Bruno Haible  <bruno@clisp.org>
58508
58509         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58510         cross-compiling to x86_64.
58511
58512 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58513
58514         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58515         glitch reported by Ralf Wildenhues in
58516         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58517
58518         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58519         Vin Shelton.
58520
58521 2007-06-11  Bruno Haible  <bruno@clisp.org>
58522
58523         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58524         replacement string.
58525         Reported by Eric Blake.
58526
58527 2007-06-10  Bruno Haible  <bruno@clisp.org>
58528
58529         Prepare vasnprintf code for use with Unicode strings.
58530         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58531         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58532         TYPE_U32_STRING.
58533         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58534         a_u32_string variants.
58535         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58536         * lib/printf-args.c: Don't include config.h and the specification
58537         header if PRINTF_FETCHARGS is already defined.
58538         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58539         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58540         TYPE_U16_STRING, TYPE_U32_STRING.
58541         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58542         u16_directive, u16_directives, u32_directive, u32_directives): New
58543         types.
58544         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58545         New declarations.
58546         * lib/printf-parse.c: Don't include config.h and the specification
58547         header if PRINTF_PARSE is already defined. Eliminate the set of
58548         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58549         them now. Include c-ctype.h.
58550         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58551         directive and CHAR_T_ONLY_ASCII.
58552         * lib/vasnprintf.c: Don't include config.h and the specification header
58553         if VASNPRINTF is already defined.
58554         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58555         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58556         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58557         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58558         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58559         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58560         code accordingly.
58561         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58562         pad_ourselves also in this case, with the 'c' and 's' directives, and
58563         with a different notion of "width".
58564         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58565
58566 2007-06-10  Bruno Haible  <bruno@clisp.org>
58567
58568         * modules/unistr/u32-mbsnlen: New file.
58569         * lib/unistr/u32-mbsnlen.c: New file.
58570
58571         * modules/unistr/u16-mbsnlen: New file.
58572         * lib/unistr/u16-mbsnlen.c: New file.
58573
58574         * modules/unistr/u8-mbsnlen: New file.
58575         * lib/unistr/u8-mbsnlen.c: New file.
58576
58577         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58578         declarations.
58579
58580 2007-06-10  Bruno Haible  <bruno@clisp.org>
58581
58582         * lib/string_.h (mbsnlen): New declaration.
58583         * lib/mbsnlen.c: New file.
58584         * m4/mbsnlen.m4: New file.
58585         * modules/mbsnlen: New file.
58586         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58587         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58588         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58589
58590 2007-06-10  Bruno Haible  <bruno@clisp.org>
58591
58592         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58593
58594 2007-06-10  Bruno Haible  <bruno@clisp.org>
58595
58596         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58597         * lib/mbuiter.h: Likewise.
58598
58599 2007-06-10  Bruno Haible  <bruno@clisp.org>
58600
58601         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58602         declaration.
58603
58604 2007-06-10  Karl Berry  <karl@gnu.org>
58605
58606         * config/srclist.txt: remove gettext entries, Bruno prefers
58607         to update individually.
58608
58609 2007-06-10  Bruno Haible  <bruno@clisp.org>
58610
58611         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58612         'maxlen'. Ensure only length + width bytes are allocated, not
58613         length + 1 + width.
58614
58615 2007-06-09  Bruno Haible  <bruno@clisp.org>
58616
58617         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58618         (CHAR_T): Remove macro.
58619         (VASNPRINTF): Update.
58620
58621 2007-06-09  Bruno Haible  <bruno@clisp.org>
58622
58623         * MODULES.html.sh (Unicode string functions): Add the new modules.
58624
58625         * modules/uniconv/u32-conv-to-enc: New file.
58626         * lib/uniconv/u32-conv-to-enc.c: New file.
58627         * modules/uniconv/u32-conv-to-enc-tests: New file.
58628         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58629
58630         * modules/uniconv/u16-conv-to-enc: New file.
58631         * lib/uniconv/u16-conv-to-enc.c: New file.
58632         * lib/uniconv/u-conv-to-enc.h: New file.
58633         * modules/uniconv/u16-conv-to-enc-tests: New file.
58634         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58635
58636         * modules/uniconv/u8-conv-to-enc: New file.
58637         * lib/uniconv/u8-conv-to-enc.c: New file.
58638         * modules/uniconv/u8-conv-to-enc-tests: New file.
58639         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58640
58641         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58642         u32_conv_to_encoding): New declarations.
58643
58644 2007-06-09  Bruno Haible  <bruno@clisp.org>
58645
58646         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58647
58648 2007-06-09  Bruno Haible  <bruno@clisp.org>
58649
58650         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58651         * modules/malloca: Renamed from modules/allocsa, updated.
58652         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58653         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58654         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58655         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58656         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58657         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58658         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58659         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58660         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58661         * modules/c-strcasestr (Depends-on): Update.
58662         * lib/c-strcasestr.c: Update.
58663         * modules/c-strstr (Depends-on): Update.
58664         * lib/c-strstr.c: Update.
58665         * modules/canonicalize-lgpl (Depends-on): Update.
58666         * lib/canonicalize-lgpl.c: Update.
58667         * modules/clean-temp (Depends-on): Update.
58668         * lib/clean-temp.c: Update.
58669         * modules/csharpcomp (Depends-on): Update.
58670         * lib/csharpcomp.c: Update.
58671         * modules/csharpexec (Depends-on): Update.
58672         * lib/csharpexec.c: Update.
58673         * modules/javacomp (Depends-on): Update.
58674         * lib/javacomp.c: Update.
58675         * modules/javaexec (Depends-on): Update.
58676         * lib/javaexec.c: Update.
58677         * modules/mbscasestr (Depends-on): Update.
58678         * lib/mbscasestr.c: Update.
58679         * modules/mbsstr (Depends-on): Update.
58680         * lib/mbsstr.c: Update.
58681         * modules/setenv (Depends-on): Update.
58682         * lib/setenv.c: Update.
58683         * modules/strcasestr (Depends-on): Update.
58684         * lib/strcasestr.c: Update.
58685         * modules/striconveha (Depends-on): Update.
58686         * lib/striconveha.c: Update.
58687         * modules/relocatable-prog-wrapper (Files): Update.
58688         * lib/relocwrapper.c: Update.
58689         * build-aux/install-reloc: Update.
58690         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58691
58692 2007-06-08  Bruno Haible  <bruno@clisp.org>
58693
58694         Port to uClibc.
58695         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58696         * lib/fpurge.c (fpurge): Likewise.
58697         * lib/freading.c (freading): Likewise.
58698         * lib/fseeko.c (rpl_fseeko): Likewise.
58699         * lib/fseterr.c (fseterr): Likewise.
58700         * lib/fwriting.c (fwriting): Likewise.
58701         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58702
58703 2007-06-08  Bruno Haible  <bruno@clisp.org>
58704
58705         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58706         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58707         * modules/gettext (Files): Add m4/intlmacosx.m4.
58708
58709 2007-06-07  Bruno Haible  <bruno@clisp.org>
58710
58711         * modules/localename-tests: New file.
58712         * tests/test-localename.c: New file.
58713
58714         New module 'localename'.
58715         * lib/localename.h: New file.
58716         * lib/localename.c: New file, from GNU gettext.
58717         * m4/localename.m4: New file.
58718         * modules/localename: New file.
58719
58720 2007-06-07  Bruno Haible  <bruno@clisp.org>
58721
58722         Work around the lack of <wchar.h> on some builds of uClibc.
58723         * doc/headers/wchar.texi: Update.
58724         * lib/wchar_.h: Include <wchar.h> only if it exists.
58725         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58726         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58727         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58728         doesn't exist.
58729         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58730         * modules/mbfile (Depends-on): Add wchar.
58731         * modules/mbiter (Depends-on): Likewise.
58732         * modules/mbuiter (Depends-on): Likewise.
58733         Reported by Simon Josefsson.
58734
58735 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58736
58737         Work around problem reported by Steven M. Schweda in
58738         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58739         Tru64 5.1B with the Compaq compiler environment installed declares
58740         an 'isblank' function but does not define it in the C library.
58741         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58742         * lib/regex_internal.h (isblank): Likewise.
58743         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58744         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58745
58746 2007-06-05  Bruno Haible  <bruno@clisp.org>
58747
58748         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58749         ia64.
58750         * modules/printf-safe: New file.
58751         * modules/fprintf-posix (Depends-on): Add printf-safe.
58752         * modules/printf-posix (Depends-on): Likewise.
58753         * modules/snprintf-posix (Depends-on): Likewise.
58754         * modules/sprintf-posix (Depends-on): Likewise.
58755         * modules/vasnprintf-posix (Depends-on): Likewise.
58756         * modules/vasprintf-posix (Depends-on): Likewise.
58757         * modules/vfprintf-posix (Depends-on): Likewise.
58758         * modules/vprintf-posix (Depends-on): Likewise.
58759         * modules/vsnprintf-posix (Depends-on): Likewise.
58760         * modules/vsprintf-posix (Depends-on): Likewise.
58761         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58762         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58763         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58764         "no" on i386, x86_64, ia64.
58765         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58766         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58767         on i386, x86_64, ia64.
58768         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58769         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58770         on i386, x86_64, ia64.
58771         * tests/test-vasnprintf-posix.c: Include float.h.
58772         (LDBL80_WORDS): New macro.
58773         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58774         on i386, x86_64, ia64.
58775         * tests/test-vasprintf-posix.c: Include float.h.
58776         (LDBL80_WORDS): New macro.
58777         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58778         on i386, x86_64, ia64.
58779         * tests/test-snprintf-posix.c: Include float.h.
58780         * tests/test-sprintf-posix.c: Likewise.
58781         * tests/test-vsnprintf-posix.c: Likewise.
58782         * tests/test-vsprintf-posix.c: Likewise.
58783
58784 2007-06-05  Bruno Haible  <bruno@clisp.org>
58785
58786         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58787         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58788         non-IEEE numbers on i386, x86_64, ia64.
58789         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58790         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58791         * tests/test-isnanl.h: Include float.h.
58792         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58793
58794 2007-06-05  Bruno Haible  <bruno@clisp.org>
58795
58796         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58797         also the %a / %A. Handle the %a / %A code before this extra handling.
58798
58799 2007-06-05  Bruno Haible  <bruno@clisp.org>
58800
58801         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58802         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58803
58804 2007-06-05  Bruno Haible  <bruno@clisp.org>
58805
58806         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58807         typo in variable name.
58808
58809 2007-06-05  Eric Blake  <ebb9@byu.net>
58810
58811         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58812         Reported by Simon Josefsson.
58813
58814 2007-06-04  Bruno Haible  <bruno@clisp.org>
58815
58816         Avoid test failures on some PowerPC platforms.
58817         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58818         Define differently for PowerPC.
58819         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58820         Reported by Gary V. Vaughan <gary@gnu.org>.
58821
58822 2007-06-02  Bruno Haible  <bruno@clisp.org>
58823
58824         Fix test-stdint failure on FreeBSD/ia64.
58825         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58826         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58827         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58828         * doc/headers/stdint.texi: Update.
58829
58830 2007-06-01  Bruno Haible  <bruno@clisp.org>
58831
58832         * tests/test-binary-io.c (main): Pass a third argument to open().
58833         Reported by Gary V. Vaughan <gary@gnu.org>.
58834
58835 2007-06-01  Bruno Haible  <bruno@clisp.org>
58836
58837         * doc/functions/frexpl.texi: Update for mingw.
58838
58839 2007-06-01  Bruno Haible  <bruno@clisp.org>
58840
58841         * tests/test-lseek.c (main): Disable test of errno for invalid third
58842         argument.
58843         * doc/functions/lseek.texi: Update.
58844         Reported by Gary V. Vaughan <gary@gnu.org>.
58845
58846 2007-05-28  Bruno Haible  <bruno@clisp.org>
58847
58848         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58849
58850 2007-05-31  Eric Blake  <ebb9@byu.net>
58851
58852         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58853         cross compiling.
58854
58855 2007-05-30  Eric Blake  <ebb9@byu.net>
58856         and Bruno Haible  <bruno@clisp.org>
58857
58858         Work around mingw test failures exposed by m4-1.4.9b.
58859         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58860         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58861         moment.
58862
58863 2007-05-30  Bruno Haible  <bruno@clisp.org>
58864
58865         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58866         assuming that they are closed. Needed on HP-UX 11.
58867
58868 2007-05-29  Bruno Haible  <bruno@clisp.org>
58869
58870         Fix a problem with #include_next.
58871         * lib/dirent_.h: Split the double-inclusion guard.
58872         * lib/fcntl_.h: Likewise.
58873         * lib/float_.h: Likewise.
58874         * lib/iconv_.h: Likewise.
58875         * lib/inttypes_.h: Likewise.
58876         * lib/locale_.h: Likewise.
58877         * lib/math_.h: Likewise.
58878         * lib/netinet_in_.h: Likewise.
58879         * lib/search_.h: Likewise.
58880         * lib/signal_.h: Likewise.
58881         * lib/stdint_.h: Likewise.
58882         * lib/stdio_.h: Likewise.
58883         * lib/stdlib_.h: Likewise.
58884         * lib/string_.h: Likewise.
58885         * lib/sys_select_.h: Likewise.
58886         * lib/sys_socket_.h: Likewise.
58887         * lib/sys_stat_.h: Likewise.
58888         * lib/sys_time_.h: Likewise.
58889         * lib/sysexits_.h: Likewise.
58890         * lib/time_.h: Likewise.
58891         * lib/unistd_.h: Likewise.
58892         * lib/wchar_.h: Likewise.
58893         * lib/wctype_.h: Likewise.
58894
58895 2007-05-29  Bruno Haible  <bruno@clisp.org>
58896
58897         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58898         for the moment.
58899
58900 2007-05-29  Bruno Haible  <bruno@clisp.org>
58901
58902         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58903         invocation.
58904         Reported by Eric Blake.
58905
58906 2007-05-29  Bruno Haible  <bruno@clisp.org>
58907
58908         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58909         compiling case.
58910
58911 2007-05-29  Eric Blake  <ebb9@byu.net>
58912             Bruno Haible  <bruno@clisp.org>
58913
58914         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58915         cross compiles.
58916
58917 2007-05-28  Eric Blake  <ebb9@byu.net>
58918
58919         * modules/closein-tests (test_closein_LDADD): Support test on
58920         cygwin with libtool.
58921
58922 2007-05-28  Bruno Haible  <bruno@clisp.org>
58923
58924         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58925         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58926         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58927         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58928         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58929         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58930         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58931         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58932         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58933
58934 2007-05-28  Eric Blake  <ebb9@byu.net>
58935
58936         Unconditionally include <config.h> in unit tests.
58937         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58938         * tests/test-allocsa.c, tests/test-arcfour.c,
58939         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58940         tests/test-array_list.c, tests/test-array_oset.c,
58941         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58942         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58943         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58944         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58945         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58946         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58947         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58948         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58949         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58950         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58951         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58952         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58953         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58954         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58955         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58956         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58957         test-md5.c, test-memmem.c, test-printf-posix.c,
58958         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58959         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58960         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58961         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58962         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58963         test-vasnprintf-posix2.c, test-vasnprintf.c,
58964         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58965         test-vfprintf-posix.c, test-vprintf-posix.c,
58966         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58967         test-xvasprintf.c: Likewise.
58968
58969 2007-05-28  Bruno Haible  <bruno@clisp.org>
58970
58971         * gnulib-tool (func_import): Remember the --with-tests command-line
58972         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58973         Reported by Eric Blake.
58974
58975 2007-05-28  Bruno Haible  <bruno@clisp.org>
58976
58977         * modules/ftell-tests: New file.
58978         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58979         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58980
58981         * lib/ftell.c: New file.
58982         * modules/ftell: New file.
58983         * m4/ftell.m4: New file.
58984         * doc/functions/ftell.texi: Update.
58985         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58986         REPLACE_FTELL.
58987         * lib/stdio_.h (rpl_ftell): New declaration.
58988         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58989         REPLACE_FTELL.
58990
58991 2007-05-28  Eric Blake  <ebb9@byu.net>
58992
58993         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58994
58995 2007-05-28  Bruno Haible  <bruno@clisp.org>
58996
58997         * modules/fseek-tests: New file.
58998         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58999         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
59000
59001         * lib/fseek.c: New file.
59002         * modules/fseek: New file.
59003         * m4/fseek.m4: New file.
59004         * doc/functions/fseek.texi: Update.
59005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
59006         REPLACE_FSEEK.
59007         * lib/stdio_.h (rpl_fseek): New declaration.
59008         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
59009         REPLACE_FSEEK.
59010
59011 2007-05-28  Bruno Haible  <bruno@clisp.org>
59012
59013         * lib/stdio_.h (fflush): More comments.
59014
59015 2007-05-28  Bruno Haible  <bruno@clisp.org>
59016
59017         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
59018         runtime test.
59019
59020 2007-05-28  Eric Blake  <ebb9@byu.net>
59021
59022         Improve lseek module.
59023         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
59024         * lib/unistd_.h (lseek): Scale back link warning message.
59025         * tests/test-lseek.c: Beef up test.
59026         * tests/test-lseek.sh: Exercise more facets of lseek.
59027         Reported by Bruno Haible.
59028
59029 2007-05-28  Bruno Haible  <bruno@clisp.org>
59030
59031         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
59032         to define.
59033
59034 2007-05-27  Bruno Haible  <bruno@clisp.org>
59035
59036         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
59037
59038 2007-05-27  Bruno Haible  <bruno@clisp.org>
59039
59040         * modules/openmp: New file.
59041         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
59042         Noah Misch.
59043
59044 2007-05-26  Bruno Haible  <bruno@clisp.org>
59045
59046         * modules/chdir-long (Depends-on): Add fchdir.
59047         * modules/chdir-safer (Depends-on): Likewise.
59048         * modules/fts (Depends-on): Likewise.
59049         * modules/fts-lgpl (Depends-on): Likewise.
59050         * modules/openat (Depends-on): Likewise.
59051         * modules/savewd (Depends-on): Likewise.
59052
59053 2007-05-24  Eric Blake  <ebb9@byu.net>
59054
59055         Fix lseek on mingw.
59056         * modules/lseek: New module.
59057         * m4/lseek.m4: New file.
59058         * lib/lseek.c: New file.
59059         * modules/lseek-tests: New file.
59060         * tests/test-lseek.c: New file.
59061         * tests/test-lseek.sh: New file.
59062         * MODULES.html.sh: Document lseek module.
59063         * modules/fflush (Depends-on): Add lseek, fseeko.
59064         * modules/fseeko (Depends-on): Likewise.
59065         * modules/ftello (Depends-on): Likewise.
59066         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
59067         broken.
59068         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
59069         broken.
59070         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
59071         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
59072         * lib/ftello.c (rpl_ftello): Likewise.
59073         * tests/test-fseeko.c (main): Test this.
59074         * tests/test-fseeko.sh: Likewise.
59075         * tests/test-ftello.c (main): Likewise.
59076         * tests/test-ftello.sh: Likewise.
59077         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
59078         implies replacing fseek.
59079         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
59080         HAVE_FTELLO.
59081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
59082         * modules/unistd (Makefile.am): Likewise.
59083         * lib/unistd_.h (lseek): Declare a replacement.
59084         * doc/functions/lseek.texi (lseek): Document this fix.
59085         * doc/functions/fseek.texi (fseek): Likewise.
59086         * doc/functions/ftell.texi (ftell): Likewise.
59087
59088 2007-05-24  Bruno Haible  <bruno@clisp.org>
59089
59090         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
59091         in the printed representation of a NaN.
59092         * tests/test-vasprintf-posix.c (test_function): Likewise.
59093         * tests/test-snprintf-posix.h (test_function): Likewise.
59094         * tests/test-sprintf-posix.h (test_function): Likewise.
59095         Reported by Eric Blake.
59096
59097 2007-05-23  Eric Blake  <ebb9@byu.net>
59098
59099         Fix fseeko/ftello on cygwin 1.5.24.
59100         * doc/functions/fseeko.texi (fseeko): Document the fix.
59101         * doc/functions/ftello.texi (ftello): Document the fix.
59102         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
59103         * doc/functions/stdout.text (stdout): New file.
59104         * doc/functions/stderr.text (stderr): New file.
59105         * doc/gnulib.texi (Function Substitutes): Use new files.
59106         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
59107         prior to 1.7.0.
59108         * tests/test-ftello.c (main): Likewise for ftello.
59109         * tests/test-fseeko.sh: New file.
59110         * tests/test-ftello.sh: New file.
59111         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
59112         with seekable stdin.
59113         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
59114         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
59115         (gl_REPLACE_FSEEKO): New macro.
59116         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
59117         * modules/fseeko (Files): Distribute fseeko.c.
59118         * modules/ftello (Files): Distribute ftello.c.
59119         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
59120         mode.
59121         * lib/ftello.c (rpl_ftello): New file.
59122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
59123         fseeko, ftello.
59124         (gl_STDIN_LARGE_OFFSET): New macro.
59125         * modules/stdio (Makefile.am): Perform the replacement.
59126         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
59127
59128 2007-05-23  Bruno Haible  <bruno@clisp.org>
59129
59130         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
59131         GNULIB_POSIXCHECK is defined.
59132
59133 2007-05-21  Bruno Haible  <bruno@clisp.org>
59134
59135         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
59136         Check also the output for NaN arguments. When cross-compiling, guess
59137         no on IRIX.
59138         * lib/vasnprintf.c: Update comments.
59139         * tests/test-vasnprintf-posix.c (strisnan): New function.
59140         (test_function): Use it.
59141         * tests/test-vasprintf-posix.c (strisnan): New function.
59142         (test_function): Use it.
59143         * tests/test-snprintf-posix.h (strisnan): New function.
59144         (test_function): Use it.
59145         * tests/test-sprintf-posix.h (strisnan): New function.
59146         (test_function): Use it.
59147         Reported by Eric Blake.
59148
59149 2007-05-20  Bruno Haible  <bruno@clisp.org>
59150
59151         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
59152         numbers that fails on BeOS.
59153         * doc/functions/frexpl.texi: Update.
59154
59155 2007-05-20  Jim Meyering  <jim@meyering.net>
59156
59157         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
59158         forced upon us by glibc-2.6.
59159
59160 2007-05-20  Bruno Haible  <bruno@clisp.org>
59161
59162         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
59163         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
59164         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
59165         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
59166         NEED_PRINTF_INFINITE.
59167         (is_infinitel): New function.
59168         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
59169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
59170         gl_PREREQ_VASNPRINTF_INFINITE.
59171         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
59172         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59173         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
59174         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
59175         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
59176         gl_PREREQ_VASNPRINTF_INFINITE.
59177         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59178         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59179         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59180         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59181         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59182         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59183         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59184         * doc/functions/fprintf.texi: Update.
59185         * doc/functions/printf.texi: Update.
59186         * doc/functions/snprintf.texi: Update.
59187         * doc/functions/sprintf.texi: Update.
59188         * doc/functions/vfprintf.texi: Update.
59189         * doc/functions/vprintf.texi: Update.
59190         * doc/functions/vsnprintf.texi: Update.
59191         * doc/functions/vsprintf.texi: Update.
59192
59193 2007-05-20  Bruno Haible  <bruno@clisp.org>
59194
59195         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
59196         was not found in libc.
59197         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
59198
59199 2007-05-20  Bruno Haible  <bruno@clisp.org>
59200
59201         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59202         printed as "-nan" instead of "nan".
59203         * tests/test-vasprintf-posix.c (test_function): Likewise.
59204         * tests/test-snprintf-posix.h (test_function): Likewise.
59205         * tests/test-sprintf-posix.h (test_function): Likewise.
59206         Needed for HP-UX 11.
59207
59208 2007-05-20  Jim Meyering  <jim@meyering.net>
59209
59210         Fix buggy test for the fchownat-deref bug.
59211         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
59212         symlink required for the run-test.  Without it, this test would
59213         always declare that fchownat doesn't work, and client code would
59214         unnecessarily use the replacement function with fixed libc.
59215         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
59216         Reported by Greg Schafer.
59217
59218 2007-05-19  Bruno Haible  <bruno@clisp.org>
59219
59220         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
59221         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
59222         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
59223         Needed for IRIX 6.5 and Solaris 2.5.1.
59224
59225 2007-05-19  Bruno Haible  <bruno@clisp.org>
59226
59227         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
59228         (test_function): Skip tests involving -0.0 on platforms where
59229         -0.0 = 0.0.
59230         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
59231         (test_function): Skip tests involving -0.0 on platforms where
59232         -0.0 = 0.0.
59233         * tests/test-snprintf-posix.h (have_minus_zero): New function.
59234         (test_function): Skip tests involving -0.0 on platforms where
59235         -0.0 = 0.0.
59236         * tests/test-sprintf-posix.h (have_minus_zero): New function.
59237         (test_function): Skip tests involving -0.0 on platforms where
59238         -0.0 = 0.0.
59239         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
59240         tests.
59241         * tests/test-printf-posix.h (test_function): Likewise.
59242         * tests/test-printf-posix.output: Remove all -0.0 related results.
59243         Needed for IRIX 6.5.
59244
59245 2007-05-19  Bruno Haible  <bruno@clisp.org>
59246
59247         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
59248         printed as "nan0x7fffffff" instead of "nan".
59249         * tests/test-vasprintf-posix.c (test_function): Likewise.
59250         * tests/test-snprintf-posix.h (test_function): Likewise.
59251         * tests/test-sprintf-posix.h (test_function): Likewise.
59252         * tests/test-fprintf-posix.h (NaN): Remove macro.
59253         (test_function): Remove all NaN related tests.
59254         * tests/test-printf-posix.h (NaN): Remove macro.
59255         (test_function): Remove all NaN related tests.
59256         * tests/test-printf-posix.output: Remove all NaN related results.
59257         Needed for IRIX 6.5.
59258
59259 2007-05-19  Bruno Haible  <bruno@clisp.org>
59260
59261         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
59262         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
59263
59264 2007-05-19  Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/float_.h: New file.
59267         * m4/float_h.m4: New file.
59268         * modules/float: New file.
59269         * modules/isnanl (Dependencies): Add float.
59270         * modules/isnanl-nolibm (Dependencies): Likewise.
59271         * modules/mathl (Dependencies): Likewise.
59272         * modules/printf-frexpl (Dependencies): Likewise.
59273         * modules/signbit (Dependencies): Likewise.
59274         * modules/vasnprintf (Dependencies): Likewise.
59275         * doc/headers/float.texi: Update.
59276
59277 2007-05-19  Jim Meyering  <jim@meyering.net>
59278
59279         * lib/utimens.c (gl_futimens): Rename from futimens,
59280         now that glibc-2.6 declares futimens.
59281         * lib/utimens.h: Likewise.
59282
59283 2007-05-19  Bruno Haible  <bruno@clisp.org>
59284
59285         Avoid test failures on mingw.
59286         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
59287         * tests/test-printf-posix.sh: Likewise.
59288         * tests/test-vfprintf-posix.sh: Likewise.
59289         * tests/test-vprintf-posix.sh: Likewise.
59290
59291 2007-05-19  Bruno Haible  <bruno@clisp.org>
59292
59293         Fix *printf result for NaN, Inf, -0.0 on mingw.
59294         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
59295         * lib/vasnprintf.c: Include math.h and isnan.h.
59296         (is_infinite_or_zero): New function.
59297         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
59298         values in the %f, %F, %e, %E, %g, %G directives.
59299         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
59300         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59301         gl_PRINTF_INFINITE and test its result. Invoke
59302         gl_PREREQ_VASNPRINTF_INFINITE.
59303         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59304         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59305         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59306         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59307         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59308         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59309         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59310         * doc/functions/fprintf.texi: Update.
59311         * doc/functions/printf.texi: Update.
59312         * doc/functions/snprintf.texi: Update.
59313         * doc/functions/sprintf.texi: Update.
59314         * doc/functions/vfprintf.texi: Update.
59315         * doc/functions/vprintf.texi: Update.
59316         * doc/functions/vsnprintf.texi: Update.
59317         * doc/functions/vsprintf.texi: Update.
59318
59319 2007-05-19  Bruno Haible  <bruno@clisp.org>
59320
59321         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
59322         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
59323         Instead of multiplying with 10^k, set extra_zeroes to k.
59324         (scale10_round_long_double): Remove function.
59325
59326 2007-05-18  Bruno Haible  <bruno@clisp.org>
59327
59328         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
59329         introduced on 2007-05-06.
59330
59331 2007-05-18  Bruno Haible  <bruno@clisp.org>
59332
59333         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
59334         %g directives.
59335         * tests/test-vasprintf-posix.c (test_function): Likewise.
59336         * tests/test-snprintf-posix.h (test_function): Likewise.
59337         * tests/test-sprintf-posix.h (test_function): Likewise.
59338
59339 2007-05-18  Bruno Haible  <bruno@clisp.org>
59340
59341         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
59342         (strmatch): New function.
59343         (test_function): Test the %f directive on numbers of various exponents.
59344         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
59345         (strmatch): New function.
59346         (test_function): Test the %f directive on numbers of various exponents.
59347         * tests/test-snprintf-posix.h (strmatch): New function.
59348         (test_function): Test the %f directive on numbers of various exponents.
59349         * tests/test-sprintf-posix.h (strmatch): New function.
59350         (test_function): Test the %f directive on numbers of various exponents.
59351         * tests/test-snprintf-posix.c (SIZEOF): New macro.
59352         * tests/test-sprintf-posix.c (SIZEOF): New macro.
59353         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
59354         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
59355
59356 2007-05-18  Bruno Haible  <bruno@clisp.org>
59357
59358         Add support for 'long double' number output.
59359         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
59360         * lib/vasnprintf.c: Include math.h and float+.h.
59361         (mp_limb_t): New type.
59362         (GMP_LIMB_BITS): New macro.
59363         (mp_twolimb_t): New type.
59364         (GMP_TWOLIMB_BITS): New macro.
59365         (mpn_t): New type.
59366         (multiply, divide, convert_to_decimal, decode_long_double,
59367         scale10_round_long_double, scale10_round_decimal_long_double,
59368         floorlog10l): New functions.
59369         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
59370         for the %f, %F, %e, %E, %g, %G directives.
59371         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
59372         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59373         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
59374         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
59375         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59376         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59377         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59378         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59379         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59380         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59381         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59382         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
59383         * modules/snprintf-posix (Depends-on): Likewise.
59384         * modules/sprintf-posix (Depends-on): Likewise.
59385         * modules/vasnprintf-posix (Depends-on): Likewise.
59386         * modules/vasprintf-posix (Depends-on): Likewise.
59387         * modules/vfprintf-posix (Depends-on): Likewise.
59388         * modules/vsnprintf-posix (Depends-on): Likewise.
59389         * modules/vsprintf-posix (Depends-on): Likewise.
59390         * modules/vasnprintf (Files): Add lib/float+.h.
59391         * doc/functions/fprintf.texi: Update.
59392         * doc/functions/printf.texi: Update.
59393         * doc/functions/snprintf.texi: Update.
59394         * doc/functions/sprintf.texi: Update.
59395         * doc/functions/vfprintf.texi: Update.
59396         * doc/functions/vprintf.texi: Update.
59397         * doc/functions/vsnprintf.texi: Update.
59398         * doc/functions/vsprintf.texi: Update.
59399
59400 2007-05-18  Bruno Haible  <bruno@clisp.org>
59401
59402         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
59403
59404 2007-05-18  Bruno Haible  <bruno@clisp.org>
59405
59406         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59407         for printing 64-bit integers. Needed for mingw.
59408
59409 2007-05-18  Bruno Haible  <bruno@clisp.org>
59410
59411         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59412         gl_FUNC_FREXPL_WORKS.
59413         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59414
59415 2007-05-18  Bruno Haible  <bruno@clisp.org>
59416
59417         * modules/frexpl-nolibm-tests: New file.
59418
59419         * modules/frexpl-nolibm: New file.
59420         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59421
59422 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59423
59424         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59425         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59426         GCC 4.2, which otherwise issues a lot of warnings.
59427         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59428         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59429         Likewise.
59430         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59431         * modules/iconv_open (iconv.h): Likewise.
59432         * modules/locale (locale.h): Likewise.
59433         * modules/netinet_in (netinet/in.h): Likewise.
59434         * modules/sys_select (sys_select.h): Likewise.
59435         * modules/sys_socket (sys/socket.h): Likewise.
59436         * modules/sys_stat (sys/stat.h): Likewise.
59437         * modules/sysexits (sysexits.h): Likewise.
59438         * modules/unistd (unistd.h): Likewise.
59439
59440 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59441
59442         * modules/closein-tests (Makefile.am): Distribute
59443         `test-closein.sh'.
59444
59445 2007-05-17  Bruno Haible  <bruno@clisp.org>
59446
59447         * tests/test-printf-posix.output: Renamed from
59448         tests/test-fprintf-posix.out.
59449         * modules/fprintf-posix-tests: Update.
59450         * modules/printf-posix-tests: Update.
59451         * modules/vfprintf-posix-tests: Update.
59452         * modules/vprintf-posix-tests: Update.
59453         * tests/test-fprintf-posix.sh: Update.
59454         * tests/test-printf-posix.sh: Update.
59455         * tests/test-vfprintf-posix.sh: Update.
59456         * tests/test-vprintf-posix.sh: Update.
59457         Reported by Ralf Wildenhues.
59458
59459 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59460
59461         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59462         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59463         GCC 4.2, which otherwise issues a lot of warnings.
59464         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59465         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59466         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59467         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59468         it should no longer be needed.
59469         * lib/string_.h: Likewise.
59470         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59471         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59472         * modules/inttypes (inttypes.h): Likewise.
59473         * modules/math (math.h): Likewise.
59474         * modules/search (search.h): Likewise.
59475         * modules/signal (signal.h): Likewise.
59476         * modules/stdint (stdint.h): Likewise.
59477         * modules/stdio (stdio.h): Likewise.
59478         * modules/stdlib (stdlib.h): Likewise.
59479         * modules/string (string.h): Likewise.
59480         * modules/sys_time (sys/time.h): Likewise.
59481         * modules/time (time.h): Likewise.
59482         * modules/wchar (wchar.h): Likewise.
59483         * modules/wctype (wtype.h): Likewise.
59484
59485 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59486
59487         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59488
59489 2007-05-13  Bruno Haible  <bruno@clisp.org>
59490
59491         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59492         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59493         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59494         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59495         (gl_PREREQ_STRTOK_R): Don't require it here.
59496
59497 2007-05-13  Bruno Haible  <bruno@clisp.org>
59498
59499         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59500         when used in C++ mode.
59501
59502 2007-05-12  Bruno Haible  <bruno@clisp.org>
59503
59504         * lib/linebuffer.h: Tweak doc.
59505         * lib/linebuffer.c: Likewise.
59506
59507 2007-05-12  James Youngman  <jay@gnu.org>
59508
59509         * lib/linebuffer.c (readlinebuffer_delim): New function,
59510         like readlinebuffer, but use a caller-specified delimiter.
59511         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59512         as the delimiter.
59513         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59514
59515 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59516
59517         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59518         * modules/openat (Files): Remove openat-die.c.
59519         (Depends-on): Add openat-die.
59520         * modules/openat-die: New module.
59521
59522 2007-05-06  Bruno Haible  <bruno@clisp.org>
59523
59524         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59525         Update with info about Cygwin.
59526         * doc/functions/fprintf.texi: Update.
59527         * doc/functions/printf.texi: Update.
59528         * doc/functions/snprintf.texi: Update.
59529         * doc/functions/sprintf.texi: Update.
59530         * doc/functions/vfprintf.texi: Update.
59531         * doc/functions/vprintf.texi: Update.
59532         * doc/functions/vsnprintf.texi: Update.
59533         * doc/functions/vsprintf.texi: Update.
59534         Reported by Eric Blake.
59535
59536 2007-05-06  Bruno Haible  <bruno@clisp.org>
59537
59538         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59539         padding ourselves for the floating-point directives.
59540         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59541         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59542         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59543         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59544         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59545         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59546         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59547         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59548         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59549         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59550         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59551         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59552         * tests/test-snprintf-posix.h (test_function): Also check the width
59553         and some flags in the %f directive.
59554         * tests/test-sprintf-posix.h (test_function): Likewise.
59555         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59556         * tests/test-vasprintf-posix.c (test_function): Likewise.
59557         * doc/functions/fprintf.texi: Update.
59558         * doc/functions/printf.texi: Update.
59559         * doc/functions/snprintf.texi: Update.
59560         * doc/functions/sprintf.texi: Update.
59561         * doc/functions/vfprintf.texi: Update.
59562         * doc/functions/vprintf.texi: Update.
59563         * doc/functions/vsnprintf.texi: Update.
59564         * doc/functions/vsprintf.texi: Update.
59565
59566 2007-05-06  Bruno Haible  <bruno@clisp.org>
59567
59568         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59569         pass the ' flag character to sprintf or snprintf.
59570         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59571         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59572         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59573         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59574         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59575         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59576         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59577         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59578         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59579         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59580         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59581         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59582         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59583         flag.
59584         * tests/test-sprintf-posix.h (test_function): Likewise.
59585         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59586         * tests/test-vasprintf-posix.c (test_function): Likewise.
59587         * doc/functions/fprintf.texi: Update.
59588         * doc/functions/printf.texi: Update.
59589         * doc/functions/snprintf.texi: Update.
59590         * doc/functions/sprintf.texi: Update.
59591         * doc/functions/vfprintf.texi: Update.
59592         * doc/functions/vprintf.texi: Update.
59593         * doc/functions/vsnprintf.texi: Update.
59594         * doc/functions/vsprintf.texi: Update.
59595
59596 2007-05-01  Bruno Haible  <bruno@clisp.org>
59597
59598         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59599
59600 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59601
59602         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59603         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59604
59605 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59606
59607         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59608         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59609         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59610
59611 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59612
59613         * lib/argp-help.c (struct hol_entry): New member `ord'.
59614         (HOL_ENTRY_PTRCMP): Use ord for comparison
59615         (hol_sort): Initialize ord.
59616
59617 2007-05-01  Bruno Haible  <bruno@clisp.org>
59618
59619         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59620         Reported by Eric Blake.
59621         * doc/gnulib.texi (Function Substitutes): Update.
59622
59623 2007-05-01  Bruno Haible  <bruno@clisp.org>
59624
59625         * doc/functions.texi: Remove file, now redundant through
59626         doc/functions/*.texi.
59627
59628 2007-05-01  Bruno Haible  <bruno@clisp.org>
59629
59630         * modules/argp (Depends-on): Add sleep.
59631
59632 2007-05-01  Bruno Haible  <bruno@clisp.org>
59633
59634         * modules/sleep-tests: New file.
59635         * tests/test-sleep.c: New file.
59636
59637         * modules/sleep: New file.
59638         * lib/sleep.c: New file.
59639         * m4/sleep.m4: New file.
59640         * lib/unistd_.h (sleep): New declaration.
59641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59642         HAVE_SLEEP.
59643         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59644         * doc/functions/sleep.texi: Document the sleep module.
59645
59646 2007-05-01  Bruno Haible  <bruno@clisp.org>
59647
59648         * lib/sigprocmask.h: Remove file.
59649         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59650         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59651         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59652         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59653         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59654         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59655         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59656         HAVE_SIGSET_T as a shell variable.
59657         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59658         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59659         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59660         (Depends-on): Add signal. Remove verify.
59661         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59662         (Include): Mention <signal.h> instead of sigprocmask.h.
59663         * NEWS: Mention the change.
59664         * lib/fatal-signal.c: Don't include sigprocmask.h.
59665
59666 2007-05-01  Bruno Haible  <bruno@clisp.org>
59667
59668         * modules/signal: New file.
59669         * lib/signal_.h: New file.
59670         * m4/signal_h.m4: New file.
59671
59672 2007-05-01  Bruno Haible  <bruno@clisp.org>
59673
59674         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59675         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59676         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59677         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59678
59679 2007-05-01  Bruno Haible  <bruno@clisp.org>
59680
59681         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59682         configure time.
59683         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59684         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59685         * modules/sys_stat (Makefile.am): Substitute their values into
59686         sys/stat.h.
59687
59688 2007-05-01  Bruno Haible  <bruno@clisp.org>
59689
59690         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59691         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59692         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59693
59694 2007-05-01  Bruno Haible  <bruno@clisp.org>
59695
59696         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59697         'assert' module here.
59698
59699 2007-05-01  Bruno Haible  <bruno@clisp.org>
59700
59701         * doc/functions/*.texi: New files.
59702         * doc/functions/google-ranking.txt: New file.
59703         * doc/gnulib.texi (Function Substitutes): New chapter.
59704         (ctime, inet_ntoa): Remove sections.
59705         * doc/ctime.texi: Remove file.
59706         * doc/inet_ntoa.texi: Remove file.
59707         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59708         dependencies.
59709         (%.info): New rule, specifying a --reference-limit.
59710
59711 2007-05-01  Bruno Haible  <bruno@clisp.org>
59712
59713         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59714
59715 2007-05-01  Bruno Haible  <bruno@clisp.org>
59716
59717         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59718         the portability of 'mkdir' to mingw systems.
59719
59720 2007-05-01  Bruno Haible  <bruno@clisp.org>
59721
59722         * doc/headers/google-ranking.txt: New file.
59723
59724 2007-04-30  Eric Blake  <ebb9@byu.net>
59725
59726         Prefer fseeko to fseek.
59727         * modules/getpass (Depends-on): Add fseeko.
59728         * lib/getpass.c (getpass): Use fseeko, not fseek.
59729
59730 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59731
59732         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59733         assumes the sorting is stable, while most qsort implementations
59734         are not.  Use argument addresses to ensure they never compare as
59735         equal.
59736
59737         * tests/test-argp-2.sh (usage-indent test): Fix output
59738         (func_compare): Restore diff options
59739         * tests/test-argp.c: Restore #include "progname.h"
59740
59741 2007-04-29  Bruno Haible  <bruno@clisp.org>
59742
59743         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59744         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59745         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59746         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59747         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59748         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59749         (TESTS, check_PROGRAMS): Add test-snprintf.
59750         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59751         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59752         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59753         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59754         assertions that fail on HP-UX, OSF/1, or IRIX.
59755         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59756
59757 2007-04-29  Bruno Haible  <bruno@clisp.org>
59758
59759         * MODULES.html.sh (posix_functions): Remove 'contents'.
59760
59761 2007-04-29  Karl Berry  <karl@gnu.org>
59762
59763         * config/srclist.txt (gendocs_template_min): new entry.
59764
59765 2007-04-29  Bruno Haible  <bruno@clisp.org>
59766
59767         Work around fpurge bug on BSD systems.
59768         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59769         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59770         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59771         fpurge to rpl_fpurge if the system already has this function.
59772         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59773         the case where the system already has this function. Correct invariants
59774         on BSD systems.
59775         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59776         BSD systems.
59777
59778 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59779
59780         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59781         proposed by Sven Verdoolaege.
59782
59783         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59784         options.
59785         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59786         (usage and help tests): Update
59787
59788 2007-04-29  Bruno Haible  <bruno@clisp.org>
59789
59790         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59791         Print more information in case of failure. Disable a test on BeOS.
59792
59793 2007-04-29  Bruno Haible  <bruno@clisp.org>
59794
59795         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59796         This helps debugging on systems on which no gdb is available.
59797
59798 2007-04-29  Bruno Haible  <bruno@clisp.org>
59799
59800         * lib/freading.h: Improve comments.
59801         * lib/fwriting.h: Likewise.
59802         * tests/test-freading.c (main): Don't check freading immediately after
59803         repositioning. Needed for glibc.
59804
59805 2007-04-29  Bruno Haible  <bruno@clisp.org>
59806
59807         * lib/freading.c (freading): Trivial simplification.
59808
59809 2007-04-28  Bruno Haible  <bruno@clisp.org>
59810
59811         * tests/test-fwriting.c (main): Also test the interaction between
59812         fflush and fwriting.
59813         * modules/fwriting-tests (Depends-on): Add fflush.
59814
59815         * tests/test-freading.c (main): Also test the interaction between
59816         fflush and freading.
59817         * modules/freading-tests (Depends-on): Add fflush.
59818
59819 2007-04-28  Bruno Haible  <bruno@clisp.org>
59820
59821         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59822         fseeko and ftello.
59823         Suggested by Eric Blake.
59824
59825 2007-04-28  Jim Meyering  <jim@meyering.net>
59826
59827         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59828         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59829         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59830
59831 2007-04-27  Eric Blake  <ebb9@byu.net>
59832
59833         * doc/headers/assert.texi (assert.h): Document assert module use.
59834
59835 2007-04-27  Bruno Haible  <bruno@clisp.org>
59836
59837         * doc/headers/*.texi: New files.
59838         * doc/gnulib.texi (Header File Substitutes): New chapter.
59839         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59840         dependencies.
59841         (standards.info ,standards.html, standards.dvi): Update dependencies.
59842         (mostlyclean, clean): New targets.
59843
59844 2007-04-27  Bruno Haible  <bruno@clisp.org>
59845
59846         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59847         * modules/sysexits (Files, Makefile.am): Update.
59848
59849         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59850         * modules/sys_socket (Files, Makefile.am): Update.
59851
59852         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59853         * modules/sys_stat (Files, Makefile.am): Update.
59854
59855 2007-04-27  Eric Blake  <ebb9@byu.net>
59856
59857         * lib/freading.h: Improve comments.
59858         * lib/fwriting.h: Likewise.
59859         * lib/fflush.c: Likewise.
59860
59861         Fix closein for mingw.
59862         * modules/closein-tests: Add tests for closein.
59863         * tests/test-closein.c: New file.
59864         * tests/test-closein.sh: Likewise.
59865         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59866         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59867
59868 2007-04-27  Bruno Haible  <bruno@clisp.org>
59869
59870         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59871         version is < 6.
59872         * lib/math_.h [__DECC]: Likewise.
59873         * lib/stdio_.h [__DECC]: Likewise.
59874         * lib/stdlib_.h [__DECC]: Likewise.
59875         * lib/string_.h [__DECC]: Likewise.
59876         * lib/time_.h [__DECC]: Likewise.
59877         * lib/wchar_.h [__DECC]: Likewise.
59878         * lib/wctype_.h [__DECC]: Likewise.
59879
59880 2007-04-27  Bruno Haible  <bruno@clisp.org>
59881
59882         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59883
59884 2007-04-27  Bruno Haible  <bruno@clisp.org>
59885
59886         * lib/fflush.c: Add comments.
59887         * modules/fpurge-tests (Depends-on): Add fflush.
59888         * modules/freadable-tests (Depends-on): Likewise.
59889         * modules/fwritable-tests (Depends-on): Likewise.
59890
59891 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59892
59893         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59894         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59895         Report by Bruno Haible <bruno@clisp.org>.
59896
59897 2007-04-26  Eric Blake  <ebb9@byu.net>
59898
59899         Fix fflush on mingw.
59900         * modules/fflush (Depends-on): Add freading.
59901         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59902         but unread data.
59903
59904 2007-04-26  Eric Blake  <ebb9@byu.net>
59905         and Bruno Haible  <bruno@clisp.org>
59906
59907         Implement freading and fwriting.
59908         * lib/freading.c: New file.
59909         * lib/freading.h: Likewise.
59910         * m4/freading.m4: Likewise.
59911         * modules/freading: Likewise.
59912         * modules/freading-tests: Likewise.
59913         * tests/test-freading.c: Likewise.
59914         * lib/fwriting.c: New file.
59915         * lib/fwriting.h: Likewise.
59916         * m4/fwriting.m4: Likewise.
59917         * modules/fwriting: Likewise.
59918         * modules/fwriting-tests: Likewise.
59919         * tests/test-fwriting.c: Likewise.
59920         * MODULES.html.sh (File stream based Input/Output): Mention them.
59921
59922 2007-04-26  Bruno Haible  <bruno@clisp.org>
59923
59924         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59925         'long' when we assume it.
59926         Suggested by Eric Blake.
59927
59928 2007-04-26  Bruno Haible  <bruno@clisp.org>
59929
59930         Ensure fseeko, ftello are declared on glibc systems.
59931         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59932         * modules/fseeko (configure.ac-early): Likewise.
59933         * modules/ftello (configure.ac-early): Likewise.
59934         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59935         AC_FUNC_FSEEKO for this.
59936         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59937         (gl_CHECK_FSEEKO): Remove macro.
59938
59939 2007-04-26  Bruno Haible  <bruno@clisp.org>
59940
59941         * tests/test-fflush.c (main): Also check the ftell result after
59942         fflush and fseek/fseeko.
59943         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59944         file descriptor position cache in the stream.
59945         * lib/fseeko.c (rpl_fseeko): Likewise.
59946
59947 2007-04-26  Bruno Haible  <bruno@clisp.org>
59948
59949         * modules/fflush-tests (Depends-on): Add fseeko.
59950
59951 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59952             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59953
59954         * lib/argz_.h: ensure error_t definition is obtained in same
59955         mechanism system argz.h would have.
59956         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59957         argz facilities are known bad.  Err on the side of caution if
59958         cross-compiling.
59959
59960 2007-04-25  Eric Blake  <ebb9@byu.net>
59961
59962         * lib/fpurge.c (includes): Use stdlib.h for free.
59963         * tests/test-fflush.c (main): Also test fflush-fseeko.
59964
59965 2007-04-25  Bruno Haible  <bruno@clisp.org>
59966
59967         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59968         * lib/fseeko.c: New file.
59969         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59970         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59971         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59972         gl_FUNC_FSEEKO.
59973         (gl_FUNC_FSEEKO): Invoke it.
59974         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59975         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59976         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59977
59978 2007-04-25  Bruno Haible  <bruno@clisp.org>
59979
59980         * modules/fflush (Depends-on): Add ftello.
59981
59982 2007-04-25  Bruno Haible  <bruno@clisp.org>
59983
59984         * modules/ftello-tests: New file.
59985         * tests/test-ftello.c: New file.
59986
59987         * modules/ftello: New file.
59988         * m4/ftello.m4: New file.
59989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59990         HAVE_FTELLO.
59991         * lib/stdio_.h (ftello): New declaration.
59992         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59993         HAVE_FTELLO.
59994
59995 2007-04-25  Bruno Haible  <bruno@clisp.org>
59996
59997         * modules/fseeko-tests: New file.
59998         * tests/test-fseeko.c: New file.
59999
60000         * modules/fseeko: New file.
60001         * m4/fseeko.m4: New file.
60002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
60003         HAVE_FSEEKO.
60004         * lib/stdio_.h (fseeko): New declaration.
60005         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
60006         HAVE_FSEEKO.
60007
60008 2007-04-25  Bruno Haible  <bruno@clisp.org>
60009
60010         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
60011
60012 2007-04-25  Bruno Haible  <bruno@clisp.org>
60013
60014         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
60015         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
60016         * tests/test-unistd.c: Likewise.
60017         * tests/test-fcntl.c: Likewise.
60018
60019 2007-04-23  Eric Blake  <ebb9@byu.net>
60020
60021         * lib/fflush.c: Fix missing include.
60022         Reported by Bruno Haible.
60023
60024 2007-04-23  Bruno Haible  <bruno@clisp.org>
60025
60026         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
60027         Reported by Eric Blake.
60028
60029 2007-04-23  Bruno Haible  <bruno@clisp.org>
60030
60031         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
60032
60033 2007-04-23  Bruno Haible  <bruno@clisp.org>
60034
60035         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
60036
60037 2007-04-23  Bruno Haible  <bruno@clisp.org>
60038
60039         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
60040         Needed on HP-UX 11.
60041
60042 2007-04-16  Eric Blake  <ebb9@byu.net>
60043
60044         Make fflush rely on fpurge.
60045         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
60046         open coding all variants.
60047         * modules/fflush (Depends-on): Add fpurge and unistd.
60048         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
60049         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
60050
60051         Fix --with-tests compilation on cygwin.
60052         * modules/argmatch-tests (Makefile.am): List gnulib library first
60053         in LDADD.
60054         * modules/argp-tests (Makefile.am): Likewise.
60055         * modules/array-list-tests (Makefile.am): Likewise.
60056         * modules/array-oset-tests (Makefile.am): Likewise.
60057         * modules/avltree-list-tests (Makefile.am): Likewise.
60058         * modules/avltree-oset-tests (Makefile.am): Likewise.
60059         * modules/avltreehash-list-tests (Makefile.am): Likewise.
60060         * modules/carray-list-tests (Makefile.am): Likewise.
60061         * modules/dirname-tests (Makefile.am): Likewise.
60062         * modules/frexp-tests (Makefile.am): Likewise.
60063         * modules/isnanl-tests (Makefile.am): Likewise.
60064         * modules/linked-list-tests (Makefile.am): Likewise.
60065         * modules/linkedhash-list-tests (Makefile.am): Likewise.
60066         * modules/lock-tests (Makefile.am): Likewise.
60067         * modules/rbtree-list-tests (Makefile.am): Likewise.
60068         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60069         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
60070         * modules/tls-tests (Makefile.am): Likewise.
60071         * modules/tsearch-tests (Makefile.am): Likewise.
60072         * modules/xvasprintf-tests (Makefile.am): Likewise.
60073
60074         Fix fpurge for cygwin.
60075         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
60076         value.
60077         * modules/fpurge-tests (Depends-on): Clean up trash.
60078
60079 2007-04-16  Simon Josefsson  <simon@josefsson.org>
60080
60081         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
60082
60083         * m4/autobuild.m4: Re-indent.
60084
60085 2007-04-13  Bruno Haible  <bruno@clisp.org>
60086
60087         * modules/fpurge-tests: New file.
60088         * tests/test-fpurge.c: New file.
60089
60090         * modules/fpurge: New file.
60091         * lib/fpurge.h: New file.
60092         * lib/fpurge.c: New file.
60093         * m4/fpurge.m4: New file.
60094
60095 2007-04-13  Bruno Haible  <bruno@clisp.org>
60096
60097         * modules/fbufmode-tests: New file.
60098         * tests/test-fbufmode.c: New file.
60099
60100         * modules/fbufmode: New file.
60101         * lib/fbufmode.h: New file.
60102         * lib/fbufmode.c: New file.
60103         * m4/fbufmode.m4: New file.
60104
60105 2007-04-13  Bruno Haible  <bruno@clisp.org>
60106
60107         * modules/fwritable-tests: New file.
60108         * tests/test-fwritable.c: New file.
60109
60110         * modules/fwritable: New file.
60111         * lib/fwritable.h: New file.
60112         * lib/fwritable.c: New file.
60113         * m4/fwritable.m4: New file.
60114
60115 2007-04-13  Bruno Haible  <bruno@clisp.org>
60116
60117         * modules/freadable-tests: New file.
60118         * tests/test-freadable.c: New file.
60119
60120         * modules/freadable: New file.
60121         * lib/freadable.h: New file.
60122         * lib/freadable.c: New file.
60123         * m4/freadable.m4: New file.
60124
60125 2007-04-13  Bruno Haible  <bruno@clisp.org>
60126
60127         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
60128         MOSTLYCLEANFILES.
60129
60130 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60131
60132         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
60133         gzip bootstrap.conf to avoid dragging in i18n machinery.
60134         (gnulib_tool_option): Use it.
60135
60136 2007-04-13  Bruno Haible  <bruno@clisp.org>
60137
60138         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
60139         %F directives.
60140         * tests/test-vasprintf-posix.c (test_function): Likewise.
60141         * tests/test-snprintf-posix.h (test_function): Likewise.
60142         * tests/test-sprintf-posix.h (test_function): Likewise.
60143         * tests/test-fprintf-posix.h (test_function): Likewise.
60144         * tests/test-printf-posix.h (test_function): Likewise.
60145         * tests/test-fprintf-posix.out: Likewise.
60146
60147 2007-04-13  Bruno Haible  <bruno@clisp.org>
60148
60149         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
60150         * modules/tls-tests (configure.ac): Likewise.
60151         Reported by Arto C. Nirkko <anirkko@insel.ch>.
60152
60153 2007-04-13  Bruno Haible  <bruno@clisp.org>
60154
60155         * lib/tls.c (glthread_tls_get): Fix return type.
60156         Patch by Arto C. Nirkko <anirkko@insel.ch>.
60157
60158 2007-04-12  Eric Blake  <ebb9@byu.net>
60159
60160         * modules/gettime (Depends-on): Remove gettime.
60161         Reported by Dmitry V. Levin.
60162
60163 2007-04-12  Bruno Haible  <bruno@clisp.org>
60164
60165         * modules/fflush (Include): Mention <stdio.h>.
60166         * modules/strtoimax (Include): Mention <inttypes.h>.
60167         * modules/strtoumax (Include): Likewise.
60168
60169 2007-04-12  Eric Blake  <ebb9@byu.net>
60170
60171         * .cvsignore: New file.
60172         * .gitignore: Likewise.
60173
60174 2007-04-12  Bruno Haible  <bruno@clisp.org>
60175
60176         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
60177         not before, since $(LDADD) often contains libgnu.a.
60178         * modules/striconv-tests (test_striconv_LDADD): Likewise.
60179         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
60180         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
60181         Needed on Cygwin.
60182
60183 2007-04-12  Eric Blake  <ebb9@byu.net>
60184
60185         Work around glibc's failure to flush stdin on fclose.
60186         * lib/closein.c (close_stdin): Flush stdin before closing.
60187
60188         Work around glibc's failure to reset seekable stdin on exit.
60189         * modules/closein: New module.
60190         * lib/closein.c: New file.
60191         * lib/closein.h: Likewise.
60192         * m4/closein.m4: Likewise.
60193         * MODULES.html.sh (File stream based Input/Output): Document it.
60194
60195 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60196
60197         * gnulib-tool: Rename generated 'autobuild' script to
60198         'do-autobuild' in --create-megatestdir output.
60199
60200         * doc/gnulib.texi (Build robot for gnulib): Fix.
60201
60202 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60203
60204         * modules/sysexits (Depends-on): Add absolute-header.
60205
60206 2007-04-12  Eric Blake  <ebb9@byu.net>
60207
60208         No need to preserve errno on success.
60209         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
60210         Reported by Bruno Haible.
60211
60212 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60213
60214         * MODULES.html.sh (Support for maintaining and releasing
60215         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
60216
60217 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60218
60219         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
60220
60221 2007-04-12  Simon Josefsson  <simon@josefsson.org>
60222
60223         * modules/autobuild: New module.
60224
60225         * m4/autobuild.m4: New file.
60226
60227 2007-04-11  Bruno Haible  <bruno@clisp.org>
60228
60229         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
60230         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
60231         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
60232         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
60233         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60234         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60235         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60236         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60237         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60238         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60239         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
60240         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60241         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
60243         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60244         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60245         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
60246         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60247         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60248         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
60249         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60250         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60251         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
60252         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60253         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60254         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
60255         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
60256         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60257         Reported by Eric Blake.
60258
60259 2007-04-11  Bruno Haible  <bruno@clisp.org>
60260
60261         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
60262
60263 2007-04-10  Bruno Haible  <bruno@clisp.org>
60264
60265         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
60266         for NaN and Infinity. Needed on FreeBSD 6.1.
60267         * tests/test-vasnprintf-posix.c (test_function): Undo last change
60268         regarding results for "%010a" of Infinity and NaN.
60269         * tests/test-vasprintf-posix.c (test_function): Likewise.
60270         * tests/test-snprintf-posix.h (test_function): Likewise.
60271         * tests/test-sprintf-posix.h (test_function): Likewise.
60272         * tests/test-fprintf-posix.h (test_function): Likewise.
60273         * tests/test-printf-posix.h (test_function): Likewise.
60274         * tests/test-fprintf-posix.out: Likewise.
60275
60276 2007-04-10  Bruno Haible  <bruno@clisp.org>
60277
60278         * modules/locale-tests: New file.
60279         * tests/test-locale.c: New file.
60280
60281         * modules/locale: New file.
60282         * lib/locale_.h: New file.
60283         * m4/locale_h.m4: New file.
60284
60285 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
60286             Bruno Haible  <bruno@clisp.org>
60287
60288         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
60289         be determined, test for availability of the copysignf, copysign,
60290         copysignl functions.
60291         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
60292         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
60293         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
60294
60295 2007-04-09  Eric Blake  <ebb9@byu.net>
60296
60297         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
60298         * modules/stdio (Makefile.am): Support fflush.
60299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
60300         * modules/fflush: New file.
60301         * lib/fflush.c: Likewise.
60302         * m4/fflush.m4: Likewise.
60303         * modules/fflush-tests: New test.
60304         * tests/test-fflush.c: Likewise.
60305         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
60306
60307 2007-04-06  Bruno Haible  <bruno@clisp.org>
60308
60309         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
60310         (VASNPRINTF): Use signbit for faster determination whether to print a
60311         minus sign.
60312         * modules/vasnprintf (Files): Remove lib/float+.h.
60313         * modules/fprintf-posix (Depends-on): Add signbit.
60314         * modules/snprintf-posix (Depends-on): Likewise.
60315         * modules/sprintf-posix (Depends-on): Likewise.
60316         * modules/vasnprintf-posix (Depends-on): Likewise.
60317         * modules/vasprintf-posix (Depends-on): Likewise.
60318         * modules/vfprintf-posix (Depends-on): Likewise.
60319         * modules/vsnprintf-posix (Depends-on): Likewise.
60320         * modules/vsprintf-posix (Depends-on): Likewise.
60321
60322 2007-04-06  Bruno Haible  <bruno@clisp.org>
60323
60324         * tests/test-frexp.c (main): Test also the sign bit of zero results.
60325         * tests/test-frexpl.c (main): Likewise.
60326         * tests/test-ldexpl.c (main): Likewise.
60327         * modules/frexp-tests (Depends-on): Add signbit.
60328         * modules/frexpl-tests (Depdends-on): Likewise.
60329         * modules/ldexpl-tests (Depdends-on): Likewise.
60330
60331 2007-04-06  Bruno Haible  <bruno@clisp.org>
60332
60333         * modules/signbit-tests: New file.
60334         * tests/test-signbit.c: New file.
60335
60336         * modules/signbit: New file.
60337         * lib/signbitf.c: New file.
60338         * lib/signbitd.c: New file.
60339         * lib/signbitl.c: New file.
60340         * m4/signbit.m4: New file.
60341         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
60342         (signbit): New macro.
60343         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
60344         REPLACE_SIGNBIT.
60345         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
60346         REPLACE_FREXPL into math.h.
60347
60348 2007-04-06  Bruno Haible  <bruno@clisp.org>
60349
60350         * modules/isnanf-nolibm-tests: New file.
60351         * tests/test-isnanf.c: New file.
60352
60353         * modules/isnanf-nolibm: New file.
60354         * lib/isnanf.h: New file.
60355         * lib/isnanf.c: New file.
60356         * lib/isnan.c: Consider the USE_FLOAT macro.
60357         * m4/isnanf.m4: New file.
60358
60359 2007-04-06  Bruno Haible  <bruno@clisp.org>
60360
60361         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
60362         (Link): New section.
60363
60364         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
60365
60366 2007-04-06  Bruno Haible  <bruno@clisp.org>
60367
60368         Assume the 'long double' type.
60369         * m4/longdouble.m4: Remove file.
60370         * config/srclist.txt: Don't mention longdouble.m4.
60371         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
60372         * lib/float+.h: Likewise.
60373         * lib/frexp.c: Likewise.
60374         * lib/printf-args.h: Likewise.
60375         * lib/printf-args.c: Likewise.
60376         * lib/printf-frexp.c: Likewise.
60377         * lib/printf-parse.c: Likewise.
60378         * lib/vasnprintf.c: Likewise.
60379         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
60380         * m4/intl.m4: Likewise.
60381         * m4/isnanl.m4: Likewise.
60382         * m4/printf.m4: Likewise.
60383         * m4/printf-frexpl.m4: Likewise.
60384         * m4/vasnprintf.m4: Likewise.
60385         * modules/allocsa (Files): Remove m4/longdouble.m4.
60386         * modules/gettext (Files): Likewise.
60387         * modules/relocatable-prog-wrapper (Files): Likewise.
60388         * modules/vasnprintf (Files): Likewise.
60389         * modules/isnanl (Files): Likewise.
60390         (Include): Simplify.
60391         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
60392         (Include): Simplify.
60393         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
60394         (Include): Simplify.
60395         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
60396         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60397         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
60398         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60399         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60400         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60401         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
60402         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60403         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60404         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60405         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
60406         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60407         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60408         * tests/test-isnanl.c: Likewise.
60409         * tests/test-snprintf-posix.h: Likewise.
60410         * tests/test-sprintf-posix.h: Likewise.
60411         * tests/test-vasnprintf-posix.c: Likewise.
60412         * tests/test-vasnprintf-posix2.c: Likewise.
60413         * tests/test-vasprintf-posix.c: Likewise.
60414
60415 2007-04-06  Bruno Haible  <bruno@clisp.org>
60416
60417         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60418         * lib/math_.h [__DECC]: Include the overridden include file through
60419         #include_next, outside the double-inclusion guard.
60420         * lib/stdio_.h [__DECC]: Likewise.
60421         * lib/stdlib_.h [__DECC]: Likewise.
60422         * lib/string_.h [__DECC]: Likewise.
60423         * lib/time_.h [__DECC]: Likewise.
60424         * lib/wchar_.h [__DECC]: Likewise.
60425         * lib/wctype_.h [__DECC]: Likewise.
60426         * lib/inttypes_.h [__DECC]: Likewise.
60427         Reported by Albert Chin <china@thewrittenword.com> in
60428         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60429
60430 2007-04-04  Eric Blake  <ebb9@byu.net>
60431
60432         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60433         1.5.x.
60434
60435 2007-04-04  Bruno Haible  <bruno@clisp.org>
60436
60437         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60438         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60439
60440 2007-04-04  Bruno Haible  <bruno@clisp.org>
60441
60442         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60443         results for "%010a" of Infinity and NaN.
60444         * tests/test-vasprintf-posix.c (test_function): Likewise.
60445         * tests/test-snprintf-posix.h (test_function): Likewise.
60446         * tests/test-sprintf-posix.h (test_function): Likewise.
60447         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60448         * tests/test-printf-posix.h (test_function): Likewise.
60449         * tests/test-fprintf-posix.out: Update.
60450         Needed for FreeBSD 6.1.
60451
60452 2007-04-04  Bruno Haible  <bruno@clisp.org>
60453
60454         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60455         directly used by the gnulib modules nor by gnulib-tool.
60456
60457 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60458
60459         * DEPENDENCIES: Give overall description of version dependency
60460         desirability.  Use more-typical names for apps.
60461         Add shell, coreutils, diffutils, grep, tar, gzip.
60462
60463 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60464
60465         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60466
60467 2007-04-04  Karl Berry  <karl@gnu.org>
60468
60469         * MODULES.html.sh (func_module): missing '.
60470
60471 2007-04-03  Bruno Haible  <bruno@clisp.org>
60472
60473         * modules/argmatch-tests (Makefile.am): New variable
60474         test_argmatch_LDADD.
60475         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60476         * modules/array-list-tests (Makefile.am): New variable
60477         test_array_list_LDADD.
60478         * modules/array-oset-tests (Makefile.am): New variable
60479         test_array_oset_LDADD.
60480         * modules/avltree-list-tests (Makefile.am): New variable
60481         test_avltree_list_LDADD.
60482         * modules/avltree-oset-tests (Makefile.am): New variable
60483         test_avltree_oset_LDADD.
60484         * modules/avltreehash-list-tests (Makefile.am): New variable
60485         test_avltreehash_list_LDADD.
60486         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60487         test_canonicalize_lgpl_LDADD.
60488         * modules/carray-list-tests (Makefile.am): New variable
60489         test_carray_list_LDADD.
60490         * modules/dirname-tests (Makefile.am): New variable
60491         test_dirname_LDADD.
60492         * modules/linked-list-tests (Makefile.am): New variable
60493         test_linked_list_LDADD.
60494         * modules/linkedhash-list-tests (Makefile.am): New variable
60495         test_linkedhash_list_LDADD.
60496         * modules/rbtree-list-tests (Makefile.am): New variable
60497         test_rbtree_list_LDADD.
60498         * modules/rbtree-oset-tests (Makefile.am): New variable
60499         test_rbtree_oset_LDADD.
60500         * modules/rbtreehash-list-tests (Makefile.am): New variable
60501         test_rbtreehash_list_LDADD.
60502         * modules/xvasprintf-tests (Makefile.am): New variable
60503         test_xvasprintf_LDADD.
60504         Reported by Eric Blake.
60505
60506 2007-04-03  Eric Blake  <ebb9@byu.net>
60507
60508         * DEPENDENCIES: Weaken m4 requirements.
60509
60510 2007-04-03  Bruno Haible  <bruno@clisp.org>
60511
60512         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60513         * modules/isnanl-tests (configure.ac): Likewise.
60514
60515 2007-04-03  Ben Pfaff  <blp@gnu.org>
60516
60517         * modules/iconv_open: Add $(srcdir)/ to source directory
60518         references in Makefile fragments that call gperf, to fix VPATH
60519         builds.
60520
60521 2007-04-03  Bruno Haible  <bruno@clisp.org>
60522
60523         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60524         * lib/ldexpl.c: Undo last change.
60525
60526 2007-04-03  Bruno Haible  <bruno@clisp.org>
60527
60528         * modules/printf-frexpl (Depends-on): Undo last change.
60529         (Files): Add m4/ldexpl.m4.
60530
60531 2007-04-03  Bruno Haible  <bruno@clisp.org>
60532
60533         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60534         * modules/isnanl (Link): New section.
60535
60536         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60537         * modules/frexp (Link): New section.
60538
60539         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60540         * modules/frexpl (Link): New section.
60541
60542         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60543         * modules/ldexpl (Link): New section.
60544
60545 2007-04-03  Bruno Haible  <bruno@clisp.org>
60546
60547         * modules/TEMPLATE-EXTENDED: New file.
60548         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60549
60550 2007-04-03  Bruno Haible  <bruno@clisp.org>
60551
60552         * DEPENDENCIES: New file.
60553         Suggested by Simon Josefsson.
60554
60555 2007-04-03  Bruno Haible  <bruno@clisp.org>
60556
60557         * doc/gnulib.texi: Escape @.
60558
60559 2007-04-03  James Youngman  <jay@gnu.org>
60560         and Paul Eggert  <eggert@cs.ucla.edu>
60561
60562         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60563         birthtime on all systems that have birthtime, not just those which
60564         use st_birthtimensec rather than st_birthtim.  Putting zero in
60565         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60566         that the birth time is not available for files on an NFS mount.
60567
60568 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60569
60570         * modules/memxor: Move back from crypto/, suggested by Bruno.
60571         * modules/crypto/hmac-sha1: Fix memxor dependency.
60572
60573         * modules/crypto/gc: Moved from ../.
60574
60575 2007-04-02  Eric Blake  <ebb9@byu.net>
60576
60577         * lib/ldexpl.c (includes): Avoid libm.
60578
60579         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60580
60581 2007-04-02  Bruno Haible  <bruno@clisp.org>
60582
60583         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60584         on IRIX.
60585
60586 2007-04-02  Bruno Haible  <bruno@clisp.org>
60587
60588         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60589         x86 or x86_64 platforms running MacOS X.
60590         Reported by Ryan Schmidt <@ryandesign.com>.
60591
60592 2007-04-02  Bruno Haible  <bruno@clisp.org>
60593
60594         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60595         i386.
60596
60597 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60598
60599         * modules/crypto/arcfour: Moved from ../.
60600         * modules/crypto/arcfour-tests: Moved from ../.
60601         * modules/crypto/arctwo: Moved from ../.
60602         * modules/crypto/arctwo-tests: Moved from ../.
60603         * modules/crypto/des: Moved from ../.
60604         * modules/crypto/des-tests: Moved from ../.
60605         * modules/crypto/gc-arcfour: Moved from ../.
60606         * modules/crypto/gc-arcfour-tests: Moved from ../.
60607         * modules/crypto/gc-arctwo: Moved from ../.
60608         * modules/crypto/gc-arctwo-tests: Moved from ../.
60609         * modules/crypto/gc-des: Moved from ../.
60610         * modules/crypto/gc-des-tests: Moved from ../.
60611         * modules/crypto/gc-hmac-md5: Moved from ../.
60612         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60613         * modules/crypto/gc-hmac-sha1: Moved from ../.
60614         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60615         * modules/crypto/gc-md2: Moved from ../.
60616         * modules/crypto/gc-md2-tests: Moved from ../.
60617         * modules/crypto/gc-md4: Moved from ../.
60618         * modules/crypto/gc-md4-tests: Moved from ../.
60619         * modules/crypto/gc-md5: Moved from ../.
60620         * modules/crypto/gc-md5-tests: Moved from ../.
60621         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60622         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60623         * modules/crypto/gc-random: Moved from ../.
60624         * modules/crypto/gc-rijndael: Moved from ../.
60625         * modules/crypto/gc-rijndael-tests: Moved from ../.
60626         * modules/crypto/gc-sha1: Moved from ../.
60627         * modules/crypto/gc-sha1-tests: Moved from ../.
60628         * modules/crypto/gc-tests: Moved from ../.
60629         * modules/crypto/hmac-md5: Moved from ../.
60630         * modules/crypto/hmac-md5-tests: Moved from ../.
60631         * modules/crypto/hmac-sha1: Moved from ../.
60632         * modules/crypto/hmac-sha1-tests: Moved from ../.
60633         * modules/crypto/md2: Moved from ../.
60634         * modules/crypto/md2-tests: Moved from ../.
60635         * modules/crypto/md4: Moved from ../.
60636         * modules/crypto/md4-tests: Moved from ../.
60637         * modules/crypto/md5: Moved from ../.
60638         * modules/crypto/md5-tests: Moved from ../.
60639         * modules/crypto/memxor: Moved from ../.
60640         * modules/crypto/rijndael: Moved from ../.
60641         * modules/crypto/rijndael-tests: Moved from ../.
60642         * modules/crypto/sha1: Moved from ../.
60643
60644 2007-03-30  James Youngman  <jay@gnu.org>
60645
60646         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60647         rename() to change the ctime of a file (because ctime is unaffected
60648         by rename on jfs2 on AIX 5.1).
60649         (main): Start by doing cleanup, in case a previous run failed leaving
60650         test files behind.
60651
60652 2007-03-31  Bruno Haible  <bruno@clisp.org>
60653
60654         Support old proprietary implementations of iconv.
60655         * modules/iconv_open: New file.
60656         * lib/iconv_.h: New file.
60657         * m4/iconv_h.m4: New file.
60658         * lib/iconv_open.c: New file.
60659         * lib/iconv_open-aix.gperf: New file.
60660         * lib/iconv_open-hpux.gperf: New file.
60661         * lib/iconv_open-irix.gperf: New file.
60662         * lib/iconv_open-osf.gperf: New file.
60663         * m4/iconv_open.m4: New file.
60664         * modules/linebreak (Depends-on): Add iconv_open.
60665         * modules/striconv (Depends-on): Likewise.
60666         * modules/striconveh (Depends-on): Likewise.
60667         * modules/unicodeio (Depends-on): Likewise.
60668         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60669         (iconv_t)(-1).
60670         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60671         conversion if cd is (iconv_t)(-1).
60672         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60673         is not possible.
60674
60675 2007-03-31  Bruno Haible  <bruno@clisp.org>
60676
60677         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60678         work on Solaris either. Protect also second use of "autodetect_jp".
60679
60680 2007-03-31  Bruno Haible  <bruno@clisp.org>
60681
60682         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60683         the function is not present.
60684
60685 2007-03-31  Bruno Haible  <bruno@clisp.org>
60686
60687         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60688         the function is not present.
60689
60690 2007-03-31  Bruno Haible  <bruno@clisp.org>
60691
60692         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60693         a bug in HP-UX iconv_open().
60694
60695 2007-03-31  Bruno Haible  <bruno@clisp.org>
60696
60697         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60698         (Mathematics <math.h>): New section, add fpieee.
60699         (Input/output <stdio.h>): Add fseterr.
60700         (Mathematics <math.h>): New section, add printf-frexp.
60701         (Container data structures): Add sublist.
60702         (Core language properties): Add fpucw, inline.
60703         (Functions for greatest-width integer types <inttypes.h>): Add
60704         imaxabs, imaxdiv, inttypes.
60705         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60706         isnanl-nolibm, ldexp.
60707         (Mathematics <math.h>): New section, add printf-frexpl.
60708         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60709         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60710         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60711         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60712         (Unicode string functions): Add unistr/u*-mbtoucr.
60713         (Java): Add javacomp-script, javaexec-script.
60714         (C#): Add csharpcomp-script, csharpexec-script.
60715         (Support for building libraries and executables): Add havelib,
60716         relocatable-*.
60717         (Support for maintaining and releasing projects): Renamed from
60718         'Support for maintaining and release projects'. Add announce-gen.
60719
60720 2007-03-31  Bruno Haible  <bruno@clisp.org>
60721
60722         * README: Talk primarily about git.
60723         (git and CVS): Renamed from CVS.
60724         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60725         gnulib is available through git.
60726         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60727
60728 2007-03-30  Bruno Haible  <bruno@clisp.org>
60729
60730         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60731         * lib/poll_.h: Likewise.
60732         * lib/stat_.h: Likewise.
60733         * lib/sys_time_.h: Likewise.
60734         * lib/sysexit_.h: Likewise.
60735         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60736         * lib/stdbool_.h: Likewise.
60737         * lib/byteswap_.h: Add double-inclusion guard.
60738
60739 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60740
60741         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60742
60743 2007-03-30  Karl Berry  <karl@gnu.org>
60744
60745         * config/srclist-update: double space after USA in the license
60746         substitution, since that's how it's usually (?) written.
60747
60748 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60749
60750         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60751         reported by Bruno Haible.
60752
60753 2007-03-29  Bruno Haible  <bruno@clisp.org>
60754
60755         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60756         a bug in AIX iconv().
60757
60758 2007-03-29  Bruno Haible  <bruno@clisp.org>
60759
60760         * modules/ldexpl-tests: New file.
60761         * tests/test-ldexpl.c: New file.
60762
60763 2007-03-29  Bruno Haible  <bruno@clisp.org>
60764
60765         * lib/ldexpl.c: Include fpucw.h.
60766         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60767         multiplication.
60768         * modules/ldexpl (Depends-on): Add fpucw.
60769
60770 2007-03-29  Bruno Haible  <bruno@clisp.org>
60771
60772         * modules/ldexpl: New file.
60773         * m4/ldexpl.m4: New file.
60774         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60775         set.
60776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60777         REPLACE_LDEXPL.
60778         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60779         REPLACE_LDEXPL.
60780         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60781         gl_FUNC_LDEXPL_WORKS.
60782         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60783         * modules/mathl (Files): Remove lib/ldexpl.c.
60784         (Depends-on): Add ldexpl.
60785
60786 2007-03-29  Bruno Haible  <bruno@clisp.org>
60787
60788         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60789
60790 2007-03-29  Bruno Haible  <bruno@clisp.org>
60791
60792         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60793         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60794         and possibly also HP-UX.
60795         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60796         work on AIX, IRIX, HP-UX, OSF/1.
60797         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60798         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60799         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60800         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60801         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60802         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60803
60804 2007-03-29  Bruno Haible  <bruno@clisp.org>
60805
60806         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60807
60808 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60809
60810         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60811         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60812
60813 2007-03-29  Eric Blake  <ebb9@byu.net>
60814
60815         * lib/acl-internal.h: Remove redundant include.
60816         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60817         Cygwin when a file is locked.
60818
60819 2007-03-29  Bruno Haible  <bruno@clisp.org>
60820
60821         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60822         file.
60823         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60824
60825 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60826
60827         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60828         try to remove a parent directory if the child couldn't be removed
60829         (except for the first rmdir, which could fail because the child
60830         doesn't exist).  Problem reported by Jeff Blaine in
60831         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60832
60833 2007-03-28  Bruno Haible  <bruno@clisp.org>
60834
60835         * lib/striconveh.c (utf8conv_carefully): New function.
60836         (mem_cd_iconveh_internal): Invoke it.
60837
60838 2007-03-28  Bruno Haible  <bruno@clisp.org>
60839
60840         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60841         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60842         input.
60843         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60844         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60845         unistr/u8-uctomb.
60846
60847 2007-03-28  Bruno Haible  <bruno@clisp.org>
60848
60849         * modules/unistr/u8-mbtoucr: New file.
60850         * lib/unistr/u8-mbtoucr.c: New file.
60851         * modules/unistr/u16-mbtoucr: New file.
60852         * lib/unistr/u16-mbtoucr.c: New file.
60853         * modules/unistr/u16-mbtoucr: New file.
60854         * lib/unistr/u16-mbtoucr.c: New file.
60855         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60856
60857 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60858             Bruno Haible  <bruno@clisp.org>
60859
60860         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60861         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60862         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60863
60864         * m4/stdio_h.m4: Add stubs for vasprintf too.
60865
60866         * modules/stdio: Support vasprintf in sed command.
60867
60868         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60869         vasprintf.h.  Add stdio module indicator.
60870
60871         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60872         vasprintf.h.
60873
60874         * lib/vasprintf.h: File removed.
60875
60876         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60877         * lib/vasprintf.c: Ditto.
60878         * lib/xvasprintf.c: Ditto.
60879         * tests/test-vasprintf-posix.c: Ditto.
60880         * tests/test-vasprintf.c: Ditto.
60881
60882 2007-03-27  Bruno Haible  <bruno@clisp.org>
60883
60884         Make vasnprintf multithread-safe.
60885         * lib/vasnprintf.c (decimal_point_char): New function.
60886         (VASNPRINTF): Use it.
60887         Suggested by Simon Josefsson.
60888
60889 2007-03-27  Eric Blake  <ebb9@byu.net>
60890
60891         Support sub-second birthtime on cygwin.
60892         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60893         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60894         (get_stat_birthtime): Also work with st_birthtim.
60895
60896 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60897
60898         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60899         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60900         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60901         (get_stat_birthtime_ns): Simplify compile-time tests.
60902         (get_stat_birthtime): Change the API to look like
60903         get_stat_mtime etc., except return a negative tv_nsec on error.
60904         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60905         Don't check for "spare" fields.
60906         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60907         or for struct stat.st_birthtime, as these tests aren't used.
60908         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60909
60910 2007-03-27  Bruno Haible  <bruno@clisp.org>
60911
60912         * lib/stat-time.h: Include <sys/stat.h>.
60913
60914 2007-03-27  James Youngman  <jay@gnu.org>
60915
60916         * lib/stat-time.h (get_stat_birthtime): New function for
60917           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60918         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60919           and its variants.
60920         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60921         * modules/stat-time-test: New file.
60922         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60923
60924 2007-03-26  Bruno Haible  <bruno@clisp.org>
60925
60926         Better support of signalling NaNs.
60927         * lib/atanl.c: Include isnanl.h.
60928         (atanl): Perform test for NaN at the beginning of the function and
60929         through a call to isnanl.
60930         * lib/cosl.c: Include isnanl.h.
60931         (cosl): Perform test for NaN at the beginning of the function and
60932         through a call to isnanl.
60933         * lib/ldexpl.c: Include isnanl.h.
60934         (ldexpl): Perform test for NaN through a call to isnanl.
60935         * lib/logl.c: Include isnanl.h.
60936         (logl): Perform test for NaN at the beginning of the function and
60937         through a call to isnanl.
60938         * lib/sinl.c: Include isnanl.h.
60939         (sinl): Perform test for NaN at the beginning of the function and
60940         through a call to isnanl.
60941         * lib/sqrtl.c: Include isnanl.h.
60942         (sqrtl): Perform test for NaN at the beginning of the function and
60943         through a call to isnanl.
60944         * lib/tanl.c: Include isnanl.h.
60945         (tanl): Perform test for NaN at the beginning of the function and
60946         through a call to isnanl.
60947         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60948         * modules/mathl (Depends-on): Add isnanl.
60949
60950 2007-03-26  Eric Blake  <ebb9@byu.net>
60951
60952         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60953         regression in logic sense of previous patch.
60954
60955 2007-03-26  Bruno Haible  <bruno@clisp.org>
60956
60957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60958         unportable shell command "if ! ...".
60959         Reported by Ralf Wildenhues.
60960
60961 2007-03-25  Bruno Haible  <bruno@clisp.org>
60962
60963         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60964         <sysexits.h> file, and only add EX_CONFIG.
60965         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60966         absolute file name and whether it is sufficient. Substitute also
60967         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60968         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60969         ABSOLUTE_SYSEXITS_H into sysexits.h.
60970
60971 2007-03-25  Bruno Haible  <bruno@clisp.org>
60972
60973         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60974         hints is NULL.
60975
60976 2007-03-25  Bruno Haible  <bruno@clisp.org>
60977
60978         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60979         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60980
60981 2007-03-25  Bruno Haible  <bruno@clisp.org>
60982
60983         * lib/vasnprintf.c: Include langinfo.h.
60984         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60985         multithread-safe.
60986         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60987         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60988         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60989         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60990         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60991         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60992         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60993         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60994         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60995         Reported by Simon Josefsson.
60996
60997 2007-03-25  Bruno Haible  <bruno@clisp.org>
60998
60999         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
61000         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
61001         * modules/vasnprintf (Depends-on): Add stdint.
61002
61003 2007-03-25  Bruno Haible  <bruno@clisp.org>
61004
61005         * modules/fpieee: New file.
61006         * m4/fpieee.m4: New file.
61007         * modules/isnan-nolibm (Depends-on): Add fpieee.
61008         * modules/isnanl-nolibm (Depends-on): Add fpieee.
61009         * modules/isnanl (Depends-on): Add fpieee.
61010
61011 2007-03-25  Bruno Haible  <bruno@clisp.org>
61012
61013         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
61014
61015 2007-03-25  Bruno Haible  <bruno@clisp.org>
61016
61017         Avoid test failures on IRIX 6.5.
61018         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
61019         (main): Use it.
61020         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
61021         macros.
61022         (main): Use them.
61023
61024 2007-03-25  Bruno Haible  <bruno@clisp.org>
61025
61026         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
61027         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
61028         exists but doesn't work.
61029         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
61030         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
61031         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
61032         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
61033         math.h.
61034
61035 2007-03-25  Bruno Haible  <bruno@clisp.org>
61036
61037         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
61038         returns inf. Needed on IRIX 6.5.
61039
61040 2007-03-25  Bruno Haible  <bruno@clisp.org>
61041
61042         * tests/test-frexpl.c: Include isnanl-nolibm.h.
61043         (main): Use isnanl instead of x != x idiom.
61044         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
61045
61046         * tests/test-frexp.c: Include isnan.h.
61047         (main): Use isnan instead of x != x idiom.
61048         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
61049
61050 2007-03-25  Bruno Haible  <bruno@clisp.org>
61051
61052         * tests/test-frexp.c (NaN): New function/macro.
61053         (main): Use it instead of 0.0 / 0.0.
61054         * tests/test-isnan.c (NaN): New function/macro.
61055         (main): Use it instead of 0.0 / 0.0.
61056         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
61057         (test_function): Use it instead of 0.0 / 0.0.
61058         * tests/test-vasprintf-posix.c (NaN): New function/macro.
61059         (test_function): Use it instead of 0.0 / 0.0.
61060         * tests/test-snprintf-posix.h (NaN): New function/macro.
61061         (test_function): Use it instead of 0.0 / 0.0.
61062         * tests/test-sprintf-posix.h (NaN): New function/macro.
61063         (test_function): Use it instead of 0.0 / 0.0.
61064         * tests/test-fprintf-posix.h (NaN): New function/macro.
61065         (test_function): Use it instead of 0.0 / 0.0.
61066         * tests/test-printf-posix.h (NaN): New function/macro.
61067         (test_function): Use it instead of 0.0 / 0.0.
61068
61069         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
61070
61071 2007-03-25  Bruno Haible  <bruno@clisp.org>
61072
61073         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
61074
61075 2007-03-25  Bruno Haible  <bruno@clisp.org>
61076
61077         * lib/regexec.c (merge_state_with_log): Make static.
61078
61079 2007-03-25  Bruno Haible  <bruno@clisp.org>
61080
61081         * lib/trigl.c (kernel_rem_pio2): Make static.
61082
61083 2007-03-25  Bruno Haible  <bruno@clisp.org>
61084
61085         * lib/sincosl.c (sincosl_table): Make static.
61086
61087 2007-03-25  Bruno Haible  <bruno@clisp.org>
61088
61089         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
61090         if the compiler does not support C99.
61091
61092 2007-03-25  Bruno Haible  <bruno@clisp.org>
61093
61094         * modules/time (Makefile.am): Ensure all rule action lines start with a
61095         tab.
61096
61097 2007-03-24  Bruno Haible  <bruno@clisp.org>
61098
61099         * modules/tsearch-tests: New file.
61100         * tests/test-tsearch.sh: New file.
61101         * tests/test-tsearch.c: New file, mostly copied from glibc.
61102
61103         * modules/search-tests: New file.
61104         * tests/test-search.c: New file.
61105
61106         * modules/search: New file.
61107         * lib/search_.h: New file, incorporating lib/tsearch.h.
61108         * m4/search_h.m4: New file.
61109         * lib/tsearch.h: Remove file.
61110         * lib/tsearch.c: Include search.h instead of tsearch.h.
61111         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
61112         HAVE_TSEARCH.
61113         * modules/tsearch (Files): Remove lib/tsearch.h.
61114         (Depends-on): Add search.
61115         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
61116         (Include): Change tsearch.h into search.h.
61117
61118 2007-03-24  Bruno Haible  <bruno@clisp.org>
61119
61120         * modules/fpucw: New file.
61121         * lib/fpucw.h: New file.
61122         * lib/frexp.c: Include fpucw.h.
61123         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
61124         (FUNC): Use them.
61125         * lib/printf-frexp.c: Include fpucw.h.
61126         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
61127         (FUNC): Use them.
61128         * lib/vasnprintf.c: Include fpucw.h.
61129         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
61130         'long double' calculations.
61131         * tests/test-frexpl.c: Include fpucw.h.
61132         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
61133         * tests/test-printf-frexpl.c: Include fpucw.h.
61134         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
61135         * modules/frexpl (Depends-on): Add fpucw.
61136         * modules/printf-frexpl (Depends-on): Likewise.
61137         * modules/fprintf-posix (Depends-on): Likewise.
61138         * modules/snprintf-posix (Depends-on): Likewise.
61139         * modules/sprintf-posix (Depends-on): Likewise.
61140         * modules/vasnprintf-posix (Depends-on): Likewise.
61141         * modules/vasprintf-posix (Depends-on): Likewise.
61142         * modules/vfprintf-posix (Depends-on): Likewise.
61143         * modules/vsnprintf-posix (Depends-on): Likewise.
61144         * modules/vsprintf-posix (Depends-on): Likewise.
61145         * modules/frexpl-tests (Depends-on): Likewise.
61146         * modules/printf-frexpl-tests (Depends-on): Likewise.
61147
61148 2007-03-24  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/float+.h: New file.
61151         * lib/isnan.c: Include float+.h.
61152         (SIZE): New macro.
61153         (FUNC): Compare only SIZE bytes of the value.
61154         * lib/vasnprintf.c: Include float+.h.
61155         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
61156         SIZEOF_LDBL or SIZEOF_DBL bytes.
61157         * modules/isnan-nolibm (Files): Add lib/float+.h.
61158         * modules/isnanl-nolibm (Files): Add lib/float+.h.
61159         * modules/isnanl (Files): Add lib/float+.h.
61160         * modules/vasnprintf (Files): Add lib/float+.h.
61161
61162 2007-03-24  Bruno Haible  <bruno@clisp.org>
61163
61164         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
61165         include isnanl-nolibm.h.
61166
61167 2007-03-24  Bruno Haible  <bruno@clisp.org>
61168
61169         * tests/test-read-file.c (main): Don't produce spurious output for
61170         expected situations. Make the test fail if it encountered unexpected
61171         results.
61172
61173 2007-03-24  Bruno Haible  <bruno@clisp.org>
61174
61175         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
61176         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
61177
61178 2007-03-24  Bruno Haible  <bruno@clisp.org>
61179
61180         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
61181
61182 2007-03-24  Bruno Haible  <bruno@clisp.org>
61183
61184         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
61185         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
61186
61187         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
61188         * modules/utf8-ucs4: Turn into a symbolic link to module
61189         unistr/u8-mbtouc.
61190
61191         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
61192         utf8-ucs4-unsafe.
61193         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
61194         unistr/u8-mbtouc-unsafe.
61195
61196         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
61197         * modules/utf16-ucs4: Turn into a symbolic link to module
61198         unistr/u16-mbtouc.
61199
61200         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
61201         utf16-ucs4-unsafe.
61202         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
61203         unistr/u16-mbtouc-unsafe.
61204
61205         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
61206         * modules/ucs4-utf8: Turn into a symbolic link to module
61207         unistr/u8-ubtomb.
61208
61209         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
61210         * modules/ucs4-utf16: Turn into a symbolic link to module
61211         unistr/u16-ubtomb.
61212
61213 2007-03-24  Bruno Haible  <bruno@clisp.org>
61214
61215         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
61216         Enable the function only if HAVE_INLINE.
61217         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
61218         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61219         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
61220         Enable the function only if HAVE_INLINE.
61221         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
61222         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
61223         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
61224         Enable the function only if HAVE_INLINE.
61225         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
61226         Enable the function only if HAVE_INLINE.
61227         * modules/utf8-ucs4: Update.
61228         * modules/utf8-ucs4-unsafe: Update.
61229         * modules/utf16-ucs4: Update.
61230         * modules/utf16-ucs4-unsafe: Update.
61231         * modules/ucs4-utf8: Update.
61232         * modules/ucs4-utf16: Update.
61233
61234 2007-03-24  Bruno Haible  <bruno@clisp.org>
61235
61236         * lib/utf8-ucs4.h: Remove file.
61237         * lib/utf8-ucs4-unsafe.h: Remove file.
61238         * lib/utf16-ucs4.h: Remove file.
61239         * lib/utf16-ucs4-unsafe.h: Remove file.
61240         * lib/ucs4-utf8.h: Remove file.
61241         * lib/ucs4-utf16.h: Remove file.
61242         * lib/unistr.h: Include their previous contents.
61243         * m4/utf-ucs4.m4: Remove file.
61244         * m4/ucs4-utf.m4: Remove file.
61245         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
61246         (Depends-on): Add unistr/base.
61247         (configure.ac): Remove gl_UTF_UCS4.
61248         (Makefile.am): Update.
61249         (Include): Change to unistr.h.
61250         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
61251         (Depends-on): Add unistr/base.
61252         (configure.ac): Remove gl_UTF_UCS4.
61253         (Makefile.am): Update.
61254         (Include): Change to unistr.h.
61255         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
61256         (Depends-on): Add unistr/base.
61257         (configure.ac): Remove gl_UTF_UCS4.
61258         (Makefile.am): Update.
61259         (Include): Change to unistr.h.
61260         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
61261         (Depends-on): Add unistr/base.
61262         (configure.ac): Remove gl_UTF_UCS4.
61263         (Makefile.am): Update.
61264         (Include): Change to unistr.h.
61265         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
61266         (Depends-on): Add unistr/base.
61267         (configure.ac): Remove gl_UCS4_UTF.
61268         (Makefile.am): Update.
61269         (Include): Change to unistr.h.
61270         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
61271         (Depends-on): Add unistr/base.
61272         (configure.ac): Remove gl_UCS4_UTF.
61273         (Makefile.am): Update.
61274         (Include): Change to unistr.h.
61275         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
61276         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
61277         utf8-ucs4-unsafe.h.
61278         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
61279         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
61280         utf16-ucs4-unsafe.h.
61281         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
61282         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
61283         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
61284         * lib/unistr/u8-strchr.c: Likewise.
61285         * lib/unistr/u8-strrchr.c: Likewise.
61286         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
61287         * lib/unistr/u16-strchr.c: Likewise.
61288         * lib/unistr/u16-strrchr.c: Likewise.
61289         * lib/striconveh.c: Update.
61290         * lib/linebreak.c: Update.
61291
61292 2007-03-24  Bruno Haible  <bruno@clisp.org>
61293
61294         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
61295         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
61296
61297 2007-03-22  Bruno Haible  <bruno@clisp.org>
61298
61299         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
61300
61301 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
61302
61303         * MODULES.html.sh (File system functions): New module write-any-file.
61304         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
61305         * m4/write-any-file.m4: New files.
61306
61307 2007-03-23  Eric Blake  <ebb9@byu.net>
61308
61309         * gnulib-tool: Rearrange space-tab sequences, since some editors
61310         like to eat them.
61311
61312 2007-03-23  Eric Blake  <ebb9@byu.net>
61313
61314         * lib/version-etc.c (version_etc_va): Update license wording to
61315         be more concise.  Recommended by Richard Stallman.
61316
61317 2007-03-22  Bruno Haible  <bruno@clisp.org>
61318
61319         * lib/poll.c (MSG_PEEK): New fallback definition.
61320
61321 2007-03-22  Bruno Haible  <bruno@clisp.org>
61322
61323         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
61324         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
61325         (main): Update.
61326         Fixes a compilation error on BeOS.
61327
61328 2007-03-22  Bruno Haible  <bruno@clisp.org>
61329
61330         * modules/frexpl-tests: New file.
61331         * tests/test-frexpl.c: New file.
61332
61333         * modules/frexpl: New file.
61334         * m4/frexpl.m4: New file.
61335         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
61336         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
61337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
61338         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
61339         (Depends-on): Add frexpl. Remove isnanl-nolibm.
61340         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
61341
61342 2007-03-22  Bruno Haible  <bruno@clisp.org>
61343
61344         * lib/frexpl.c: Share code with lib/frexp.c.
61345         * modules/mathl (Files): Add lib/frexp.c.
61346         (Depends-on): Add isnanl-nolibm.
61347
61348 2007-03-22  Bruno Haible  <bruno@clisp.org>
61349
61350         * modules/printf-frexp (Files): Add m4/frexp.m4.
61351         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
61352         only if the found frexp function actually works.
61353
61354 2007-03-22  Bruno Haible  <bruno@clisp.org>
61355
61356         * lib/frexp.c: Remove older implementation that uses divisions.
61357
61358 2007-03-21  Bruno Haible  <bruno@clisp.org>
61359
61360         * modules/frexp-tests: New file.
61361         * tests/test-frexp.c: New file.
61362
61363         * modules/frexp: New file.
61364         * lib/frexp.c: New file.
61365         * m4/frexp.m4: New file.
61366         * lib/math_.h (frexp): New declaration.
61367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
61368         REPLACE_FREXP.
61369         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
61370
61371 2007-03-21  Bruno Haible  <bruno@clisp.org>
61372
61373         * modules/isnanl-tests: New file.
61374         * tests/test-isnanl.c: New file.
61375
61376         * modules/isnanl: New file.
61377         * lib/isnanl.h: New file.
61378         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
61379         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
61380         gl_FUNC_ISNANL_WORKS.
61381         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
61382         New macros.
61383
61384 2007-03-21  Bruno Haible  <bruno@clisp.org>
61385
61386         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
61387         lib/isnanl.h.
61388         (Include): Update.
61389         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
61390         * lib/vasnprintf.c: Update.
61391         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
61392         tests/test-isnanl.h, remove tests/test-isnanl.c.
61393         (Makefile.am): Update.
61394         * tests/test-isnanl-nolibm.c: New file.
61395         * tests/test-isnanl.h: New file.
61396         * tests/test-isnanl.c: Remove file.
61397
61398 2007-03-21  Jim Meyering  <jim@meyering.net>
61399
61400         When trying to open ".", treat ESTALE like EACCES.
61401         * lib/savewd.c (savewd_save): Resort to forking not just upon
61402         failure with EACCES, but also when errno is ESTALE.
61403
61404 2007-03-20  Bruno Haible  <bruno@clisp.org>
61405
61406         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61407         Needed on AIX 5.1. Reported by Matthew Woehlke.
61408
61409 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61410
61411         Suggestions by Bruno Haible:
61412         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61413         our own.
61414         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61415         * modules/acl (Depends-on): Add gettext.
61416
61417 2007-03-19  Bruno Haible  <bruno@clisp.org>
61418
61419         * modules/iconvme: Remove file.
61420         * lib/iconvme.h: Remove file.
61421         * lib/iconvme.c: Remove file.
61422         * m4/iconvme.m4: Remove file.
61423
61424 2007-03-19  Bruno Haible  <bruno@clisp.org>
61425
61426         * doc/relocatable-maint.texi: Break long shell script line.
61427         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61428
61429 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61430
61431         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61432         handle file_has_acl.
61433         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61434         * lib/acl.c: Move header inclusions and related macro defns into
61435         lib/acl-internal.h.
61436         (S_ISLNK): Remove defn, since that's now done for us.
61437         (file_has_acl): Move to lib/file-has-acl.c.
61438         Call acl_trivial if available.  This is the crucial part of the fix.
61439         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61440         shared within the library.  Rewrite a bit, partly to make it compatible
61441         with the GNU coding style.
61442         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61443         Remove unnecessary double-quotes.
61444         Don't test for acl_to_text; the build will catch that.
61445         Replace acl_entries if it doesn't exist and it is needed.
61446         Check for -lsec and acl_trivial (as used on Solaris 10).
61447         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61448         lib/file-has-acl.c.
61449         (Depends-on): Add sys_stat, for S_ISLNK.
61450
61451 2007-03-19  Ben Pfaff  <blp@gnu.org>
61452
61453         * doc/gnulib.texi: Fix typos.
61454         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61455
61456 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61457
61458         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61459         If size is zero here, buf must be zero.
61460
61461 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61462
61463         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61464         <bruno@clisp.org>.
61465
61466 2007-03-18  Bruno Haible  <bruno@clisp.org>
61467
61468         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61469         Suggested by Eric Blake.
61470
61471 2007-03-18  Ben Pfaff  <blp@gnu.org>
61472
61473         * doc/relocatable.texi: Recommend using as prefix a directory
61474         that does not exist and will never be created.  Based on
61475         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61476         and others.
61477
61478 2007-03-17  Bruno Haible  <bruno@clisp.org>
61479
61480         * lib/fchownat.c: Include lchown.h.
61481
61482 2007-03-17  Bruno Haible  <bruno@clisp.org>
61483
61484         Fix endless loop when the given allocated size was > INT_MAX.
61485         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61486         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61487         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61488         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61489         * lib/sprintf.c (sprintf): Likewise.
61490
61491 2007-03-17  Bruno Haible  <bruno@clisp.org>
61492
61493         * tests/test-argp-2.sh (func_compare): Output a context diff.
61494
61495 2007-03-17  Bruno Haible  <bruno@clisp.org>
61496
61497         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61498         locale's decimal-point character.
61499
61500 2007-03-17  Bruno Haible  <bruno@clisp.org>
61501
61502         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61503         before comparing it. Needed because on some platforms (e.g. x86) a
61504         'long double' occupies less bytes than sizeof (long double).
61505
61506 2007-03-17  Bruno Haible  <bruno@clisp.org>
61507
61508         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61509         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61510         * tests/test-getaddrinfo.c (simple): Likewise.
61511         * tests/test-read-file.c (main): Likewise.
61512
61513 2007-03-17  Bruno Haible  <bruno@clisp.org>
61514
61515         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61516
61517 2007-03-17  Bruno Haible  <bruno@clisp.org>
61518
61519         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61520         unused variable.
61521
61522 2007-03-17  Bruno Haible  <bruno@clisp.org>
61523
61524         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61525         * tests/test-c-strncasecmp.c: Likewise.
61526
61527 2007-03-17  Bruno Haible  <bruno@clisp.org>
61528
61529         * modules/stdlib (Depends-on): Add unistd.
61530         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61531         Needed for MacOS X 10.3.
61532
61533 2007-03-17  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61536
61537 2007-03-17  Bruno Haible  <bruno@clisp.org>
61538
61539         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61540
61541 2007-03-17  Bruno Haible  <bruno@clisp.org>
61542
61543         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61544         to reflect files copied from gnulib (with or without modifications).
61545         Suggested by Jim Meyering.
61546
61547 2007-03-17  Eric Blake  <ebb9@byu.net>
61548
61549         * NEWS: Document stdlib change from 2007-02-18.
61550
61551 2007-03-17  Jim Meyering  <jim@meyering.net>
61552
61553         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61554         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61555         someone uses a name containing shell meta-characters.
61556         Reported by Alfred M. Szmidt.
61557
61558         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61559
61560 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61561
61562         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61563         and copy gettext configuration files only if configure.ac contains
61564         a use of AM_GNU_GETTEXT_VERSION.
61565
61566 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61567
61568         * build-aux/bootstrap (gnulib_name): New variable.
61569         (gnulib_tool_options): Use it.
61570
61571 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61572
61573         * tests/test-des.c: Use new namespace.
61574
61575 2007-03-15  Bruno Haible  <bruno@clisp.org>
61576
61577         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61578         Reported by James Youngman <jay@gnu.org>.
61579
61580 2007-03-15  Bruno Haible  <bruno@clisp.org>
61581
61582         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61583         declared prototype. Needed with cc on OSF/1 5.1.
61584
61585 2007-03-15  Bruno Haible  <bruno@clisp.org>
61586
61587         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61588         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61589         (struct gl_list_implementation): Add dispose_fn argument to the
61590         'create_empty', 'create' methods.
61591         (struct gl_list_impl_base): Add field 'dispose_fn'.
61592         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61593         argument.
61594         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61595         dispose_fn argument.
61596         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61597         dispose_fn on the dropped values.
61598         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61599         dispose_fn argument.
61600         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61601         dropped values.
61602         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61603         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61604         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61605         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61606         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61607         argument.
61608         (gl_tree_list_free): Call dispose_fn on the dropped values.
61609         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61610         the dropped values.
61611         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61612         Add dispose_fn argument.
61613         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61614         Call dispose_fn on the dropped values.
61615         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61616         Add dispose_fn argument.
61617         (gl_sublist_create): Initialize the 'dispose_fn' field.
61618         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61619         * tests/test-array_list.c (main): Update.
61620         * tests/test-carray_list.c (main): Update.
61621         * tests/test-avltree_list.c (main): Update.
61622         * tests/test-rbtree_list.c (main): Update.
61623         * tests/test-avltreehash_list.c (main): Update.
61624         * tests/test-rbtreehash_list.c (main): Update.
61625         * tests/test-linked_list.c (main): Update.
61626         * tests/test-linkedhash_list.c (main): Update.
61627         * tests/test-array_oset.c (main): Update.
61628
61629 2007-03-15  Bruno Haible  <bruno@clisp.org>
61630
61631         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61632         (gl_oset_create_empty): Add dispose_fn argument.
61633         (struct gl_oset_implementation): Add dispose_fn argument to
61634         'create_empty' method.
61635         (struct gl_oset_impl_base): Add dispose_fn field.
61636         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61637         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61638         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61639         values.
61640         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61641         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61642         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61643         dropped value.
61644         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61645         dropped value.
61646         * tests/test-array_oset.c (main): Update.
61647         * tests/test-avltree_oset.c (main): Update.
61648         * tests/test-rbtree_oset.c (main): Update.
61649         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61650
61651 2007-03-13  Bruno Haible  <bruno@clisp.org>
61652
61653         * tests/test-stdbool.c (i): Update after last patch.
61654
61655 2007-03-12  Bruno Haible  <bruno@clisp.org>
61656
61657         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61658         the iswprint macro. Needed on Solaris 2.5.1.
61659
61660 2007-03-12  Bruno Haible  <bruno@clisp.org>
61661
61662         * tests/test-printf-frexp.c (main): Declare x as volatile.
61663
61664 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61665
61666         * doc/gnulib.texi (Build robot for gnulib): New section.
61667
61668 2007-03-12  Jim Meyering  <jim@meyering.net>
61669
61670         * build-aux/bootstrap: New file.
61671         * build-aux/bootstrap.conf: New file, from coreutils.
61672
61673 2007-03-11  Bruno Haible  <bruno@clisp.org>
61674
61675         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61676
61677 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61678
61679         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61680         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61681         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61682
61683 2007-03-11  Bruno Haible  <bruno@clisp.org>
61684
61685         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61686         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61687
61688 2007-03-11  Bruno Haible  <bruno@clisp.org>
61689
61690         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61691         formula. Needed for SunPRO C 5.0.
61692
61693 2007-03-11  Bruno Haible  <bruno@clisp.org>
61694
61695         * modules/long-options (Depends-on): Add getopt.
61696
61697 2007-03-11  Bruno Haible  <bruno@clisp.org>
61698
61699         * modules/modechange (Depends-on): Add stdbool.
61700
61701 2007-03-11  Bruno Haible  <bruno@clisp.org>
61702
61703         * modules/i-ring (Depends-on): Add stdbool.
61704
61705 2007-03-11  Bruno Haible  <bruno@clisp.org>
61706
61707         * modules/gc-des (Depends-on): Add stdbool.
61708
61709 2007-03-11  Bruno Haible  <bruno@clisp.org>
61710
61711         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61712
61713 2007-03-11  Bruno Haible  <bruno@clisp.org>
61714
61715         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61716
61717 2007-03-11  Bruno Haible  <bruno@clisp.org>
61718
61719         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61720
61721 2007-03-11  Bruno Haible  <bruno@clisp.org>
61722
61723         * lib/vasnprintf.c (sprintf): Undefine.
61724
61725 2007-03-11  Bruno Haible  <bruno@clisp.org>
61726
61727         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61728         initializers in SunPRO C and Compaq C compilers.
61729
61730 2007-03-11  Bruno Haible  <bruno@clisp.org>
61731
61732         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61733         decrementing code ANSI C compliant.
61734
61735 2007-03-11  Bruno Haible  <bruno@clisp.org>
61736
61737         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61738         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61739
61740 2007-03-11  Bruno Haible  <bruno@clisp.org>
61741
61742         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61743         <stdbool.h> substitute doesn't pass.
61744
61745 2007-03-11  Bruno Haible  <bruno@clisp.org>
61746
61747         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61748
61749 2007-03-11  Bruno Haible  <bruno@clisp.org>
61750
61751         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61752         script, for submission to autobuild.josefsson.org.
61753
61754 2007-03-10  Bruno Haible  <bruno@clisp.org>
61755
61756         * modules/canonicalize-lgpl-tests: New file.
61757         * tests/test-canonicalize-lgpl.sh: New file.
61758         * tests/test-canonicalize-lgpl.c: New file.
61759
61760         * modules/c-strcase-tests: New file.
61761         * tests/test-c-strcase.sh: New file.
61762         * tests/test-c-strcasecmp.c: New file.
61763         * tests/test-c-strncasecmp.c: New file.
61764
61765         * modules/atexit-tests: New file.
61766         * tests/test-atexit.sh: New file.
61767         * tests/test-atexit.c: New file.
61768
61769 2007-03-10  Bruno Haible  <bruno@clisp.org>
61770
61771         * tests/test-binary-io.sh: Use temporary filenames that are not so
61772         likely to clash with those of other tests (in a parallel make).
61773         * tests/test-binary-io.c: Likewise.
61774
61775 2007-03-10  Bruno Haible  <bruno@clisp.org>
61776
61777         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61778         fallback; use #error instead.
61779         Suggested by Simon Josefsson.
61780
61781 2007-03-10  Bruno Haible  <bruno@clisp.org>
61782
61783         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61784         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61785         first and the last.
61786
61787 2007-03-10  Bruno Haible  <bruno@clisp.org>
61788
61789         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61790
61791 2007-03-10  Bruno Haible  <bruno@clisp.org>
61792
61793         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61794         "make distcheck".
61795         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61796         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61797         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61798
61799 2007-03-10  Bruno Haible  <bruno@clisp.org>
61800
61801         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61802         variable.
61803         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61804         variable.
61805
61806 2007-03-09  Eric Blake  <ebb9@byu.net>
61807         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61808
61809         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61810         types are not being provided by gnulib.
61811         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61812         types are supported.
61813
61814 2007-03-10  Bruno Haible  <bruno@clisp.org>
61815
61816         * lib/stdio_.h (__attribute__): New macro.
61817         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61818         vsprintf): Specify __attribute__ __format__ for GCC.
61819         Suggested by Eric Blake.
61820
61821 2007-03-09  Bruno Haible  <bruno@clisp.org>
61822
61823         * modules/printf-posix-tests: New file.
61824         * tests/test-printf-posix.sh: New file.
61825         * tests/test-printf-posix.c: New file.
61826
61827         * modules/printf-posix: New file.
61828         * lib/printf.c: New file.
61829         * m4/printf-posix-rpl.m4: New file.
61830         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61831         REPLACE_PRINTF.
61832         * lib/stdio_.h (printf): New declaration.
61833         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61834         ____strfmon____): New macros.
61835         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61836         REPLACE_PRINTF.
61837
61838 2007-03-09  Bruno Haible  <bruno@clisp.org>
61839
61840         * tests/test-vasnprintf-posix2.sh: New file.
61841         * tests/test-vasnprintf-posix2.c: New file.
61842         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61843         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61844         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61845
61846         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61847         a locale dependent decimal point, rather than always '.'.
61848
61849 2007-03-09  Eric Blake  <ebb9@byu.net>
61850
61851         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61852         spite of platforms like Tandem/NSK that define it to -1.
61853
61854 2007-03-08  Bruno Haible  <bruno@clisp.org>
61855
61856         * modules/vprintf-posix-tests: New file.
61857         * tests/test-vprintf-posix.sh: New file.
61858         * tests/test-vprintf-posix.c: New file.
61859         * tests/test-printf-posix.h: New file.
61860
61861         * modules/vprintf-posix: New file.
61862         * lib/vprintf.c: New file.
61863         * m4/vprintf-posix.m4: New file.
61864         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61865         REPLACE_VPRINTF.
61866         * lib/stdio_.h (vprintf): New declaration.
61867         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61868         REPLACE_VPRINTF.
61869
61870 2007-03-08  Bruno Haible  <bruno@clisp.org>
61871
61872         * modules/fprintf-posix-tests: New file.
61873         * tests/test-fprintf-posix.sh: New file.
61874         * tests/test-fprintf-posix.c: New file.
61875
61876         * modules/fprintf-posix: New file.
61877         * lib/fprintf.c: New file.
61878         * m4/fprintf-posix.m4: New file.
61879         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61880         REPLACE_FPRINTF.
61881         * lib/stdio_.h (fprintf): New declaration.
61882         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61883         REPLACE_FPRINTF.
61884
61885 2007-03-08  Bruno Haible  <bruno@clisp.org>
61886
61887         * modules/vfprintf-posix-tests: New file.
61888         * tests/test-vfprintf-posix.sh: New file.
61889         * tests/test-vfprintf-posix.c: New file.
61890         * tests/test-fprintf-posix.h: New file.
61891         * tests/test-fprintf-posix.out: New file.
61892
61893         * modules/vfprintf-posix: New file.
61894         * lib/vfprintf.c: New file.
61895         * m4/vfprintf-posix.m4: New file.
61896         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61897         REPLACE_VFPRINTF.
61898         * lib/stdio_.h (vfprintf): New declaration.
61899         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61900         REPLACE_VFPRINTF.
61901
61902 2007-03-08  Bruno Haible  <bruno@clisp.org>
61903
61904         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61905
61906 2007-03-08  Bruno Haible  <bruno@clisp.org>
61907
61908         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61909         instead of 'expr' invocations.
61910         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61911         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61912         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61913         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61914         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61915         Suggested by Paul Eggert.
61916
61917 2007-03-08  Bruno Haible  <bruno@clisp.org>
61918
61919         * modules/fseterr-tests: New file.
61920         * tests/test-fseterr.c: New file.
61921
61922         * modules/fseterr: New file.
61923         * lib/fseterr.h: New file.
61924         * lib/fseterr.c: New file.
61925
61926 2007-03-08  Bruno Haible  <bruno@clisp.org>
61927
61928         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61929         * lib/getopt_.h: Likewise.
61930         * lib/mbswidth.h: Likewise.
61931         * lib/setenv.h: Likewise.
61932         * lib/vasnprintf.h: Likewise.
61933         * lib/vasprintf.h: Likewise.
61934         * lib/verror.h: Likewise.
61935         * lib/xsetenv.h: Likewise.
61936         * lib/xvasprintf.h: Likewise.
61937
61938 2007-03-08  Jim Meyering  <jim@meyering.net>
61939
61940         * users.txt: Add parted.
61941
61942         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61943
61944 2007-03-07  Bruno Haible  <bruno@clisp.org>
61945
61946         * m4/printf.m4: Make the shell script snippets copy&pastable.
61947
61948 2007-03-02  Bruno Haible  <bruno@clisp.org>
61949
61950         * lib/netinet_in_.h: New file.
61951         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61952         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61953         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61954         (Depends-on): Add absolute-header.
61955         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61956         into netinet/in.h.
61957
61958 2007-03-03  Bruno Haible  <bruno@clisp.org>
61959
61960         * lib/sys_select_.h: New file.
61961         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61962         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61963         * modules/sys_select (Files): Add lib/sys_select_.h.
61964         (Depends-on): Add absolute-header.
61965         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61966         into sys/select.h.
61967
61968 2007-03-02  Bruno Haible  <bruno@clisp.org>
61969
61970         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61971         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61972         values.
61973         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61974         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61975         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61976         * modules/sys_socket (Depends-on): Add absolute-header.
61977         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61978         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61979         (Include): Remove requirement of inclusion of <sys/types.h>.
61980
61981 2007-03-02  Bruno Haible  <bruno@clisp.org>
61982
61983         * lib/byteswap_.h (bswap_32): Fix formula.
61984
61985 2007-03-06  Bruno Haible  <bruno@clisp.org>
61986
61987         * modules/sprintf-posix-tests: New file.
61988         * tests/test-sprintf-posix.c: New file.
61989
61990         * modules/sprintf-posix: New file.
61991         * lib/sprintf.c: New file.
61992         * m4/sprintf-posix.m4: New file.
61993         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61994         REPLACE_SPRINTF.
61995         * lib/stdio_.h (sprintf): New declaration.
61996         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61997         REPLACE_SPRINTF.
61998
61999 2007-03-06  Bruno Haible  <bruno@clisp.org>
62000
62001         * modules/vsprintf-posix-tests: New file.
62002         * tests/test-vsprintf-posix.c: New file.
62003         * tests/test-sprintf-posix.h: New file.
62004
62005         * modules/vsprintf-posix: New file.
62006         * lib/vsprintf.c: New file.
62007         * m4/vsprintf-posix.m4: New file.
62008         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
62009         REPLACE_VSPRINTF.
62010         * lib/stdio_.h (vsprintf): New declaration.
62011         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
62012         REPLACE_VSPRINTF.
62013
62014 2007-03-06  Bruno Haible  <bruno@clisp.org>
62015
62016         * modules/vsnprintf (Depend-on): Remove minmax.
62017
62018 2007-03-06  Bruno Haible  <bruno@clisp.org>
62019
62020         * modules/snprintf-posix-tests: New file.
62021         * tests/test-snprintf-posix.c: New file.
62022
62023         * modules/snprintf-posix: New file.
62024         * m4/snprintf-posix.m4: New file.
62025         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
62026         gl_FUNC_SNPRINTF.
62027         (gl_FUNC_SNPRINTF): Invoke it.
62028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
62029         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
62030         is set.
62031         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
62032
62033 2007-03-06  Bruno Haible  <bruno@clisp.org>
62034
62035         * modules/vsnprintf-posix-tests: New file.
62036         * tests/test-vsnprintf-posix.c: New file.
62037         * tests/test-snprintf-posix.h: New file.
62038
62039         * modules/vsnprintf-posix: New file.
62040         * m4/vsnprintf-posix.m4: New file.
62041         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
62042         gl_FUNC_VSNPRINTF.
62043         (gl_FUNC_VSNPRINTF): Invoke it.
62044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
62045         * lib/stdio_.h (vsnprintf): Define as a replacement if
62046         REPLACE_VSNPRINTF is set.
62047         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
62048
62049 2007-03-06  Bruno Haible  <bruno@clisp.org>
62050
62051         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
62052         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
62053
62054 2007-03-06  Bruno Haible  <bruno@clisp.org>
62055
62056         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
62057         (asinl): Declare also if HAVE_DECL_ASINL is set.
62058         (atanl): Declare also if HAVE_DECL_ATANL is set.
62059         (ceill): Declare also if HAVE_DECL_CEILL is set.
62060         (cosl): Declare also if HAVE_DECL_COSL is set.
62061         (expl): Declare also if HAVE_DECL_EXPL is set.
62062         (floorl): Declare also if HAVE_DECL_FLOORL is set.
62063         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
62064         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
62065         (logl): Declare also if HAVE_DECL_LOGL is set.
62066         (sinl): Declare also if HAVE_DECL_SINL is set.
62067         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
62068         (tanl): Declare also if HAVE_DECL_TANL is set.
62069         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
62070         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
62071         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
62072         declaration of frexpl, ldexpl.
62073         * modules/printf-frexpl (Depends-on): Add math.
62074         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
62075
62076 2007-03-05  Bruno Haible  <bruno@clisp.org>
62077
62078         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
62079         frexpl and ldexpl are declared.
62080         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
62081
62082 2007-03-05  Bruno Haible  <bruno@clisp.org>
62083
62084         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
62085         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
62086
62087 2007-03-05  Bruno Haible  <bruno@clisp.org>
62088
62089         * lib/stdio_.h: Include <stddef.h>.
62090
62091 2007-03-05  Bruno Haible  <bruno@clisp.org>
62092
62093         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
62094
62095 2007-03-05  Bruno Haible  <bruno@clisp.org>
62096
62097         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
62098         NetBSD 4, from Ralf Wildenhues.
62099
62100 2007-03-04  Bruno Haible  <bruno@clisp.org>
62101
62102         * lib/vasprintf.h: Update #if logic for the case when the functions
62103         exist but are overridden.
62104
62105 2007-03-04  Bruno Haible  <bruno@clisp.org>
62106
62107         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
62108         implementations: glibc-2.4 and MacOS X 10.3.
62109         * tests/test-vasnprintf-posix.c (test_function): Test also the case
62110         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
62111         * tests/test-vasprintf-posix.c (test_function): Likewise.
62112
62113 2007-03-04  Bruno Haible  <bruno@clisp.org>
62114
62115         * modules/vasprintf-posix-tests: New file.
62116         * tests/test-vasprintf-posix.c: New file.
62117
62118         * modules/vasprintf-posix: New file.
62119         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
62120         defined.
62121         * m4/vasprintf-posix.m4: New file.
62122         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
62123         gl_FUNC_VASPRINTF.
62124         (gl_FUNC_VASPRINTF): Invoke it.
62125         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
62126         here.
62127         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
62128
62129 2007-03-04  Bruno Haible  <bruno@clisp.org>
62130
62131         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
62132         REPLACE_GETTIMEOFDAY.
62133         * modules/sys_time (Makefile.am): Likewise.
62134         * m4/sys_time_h.m4: Likewise.
62135         * m4/gettimeofday.m4: Likewise.
62136
62137 2007-03-04  Bruno Haible  <bruno@clisp.org>
62138
62139         * modules/vasnprintf-posix-tests: New file.
62140         * tests/test-vasnprintf-posix.c: New file.
62141
62142         * modules/vasnprintf-posix: New file.
62143         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
62144         printf-frexpl.h.
62145         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
62146         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
62147         REPLACE_VASNPRINTF is defined.
62148         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
62149         gl_FUNC_VASNPRINTF.
62150         (gl_FUNC_VASNPRINTF): Invoke it.
62151         * m4/vasnprintf-posix.m4: New file.
62152         * m4/printf.m4: New file.
62153
62154 2007-03-04  Bruno Haible  <bruno@clisp.org>
62155
62156         Compile progreloc.c only if --enable-relocatable is specified.
62157         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
62158         if --enable-relocatable was specified.
62159         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
62160         lib_SOURCES.
62161
62162 2007-03-04  Jim Meyering  <jim@meyering.net>
62163
62164         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
62165         Use it consistently, rather than enumerating errno constants.
62166
62167 2007-03-04  Bruno Haible  <bruno@clisp.org>
62168
62169         * modules/xvasprintf-tests: New file.
62170         * tests/test-xvasprintf.c: New file.
62171
62172         * modules/vasprintf-tests: New file.
62173         * tests/test-vasprintf.c: New file.
62174
62175         * modules/vasnprintf-tests: New file.
62176         * tests/test-vasnprintf.c: New file.
62177
62178         * modules/vsnprintf-tests: New file.
62179         * tests/test-vsnprintf.c: New file.
62180
62181         * modules/snprintf-tests: New file.
62182         * tests/test-snprintf.c: New file.
62183
62184 2007-03-04  Bruno Haible  <bruno@clisp.org>
62185
62186         Compile relocatable.c only if --enable-relocatable is specified.
62187         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
62188         gl_RELOCATABLE_LIBRARY.
62189         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
62190         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
62191         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
62192         gl_RELOCATABLE_LIBRARY.
62193         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
62194         (Makefile.am): Remove lib_SOURCES.
62195         * modules/relocatable-lib-lgpl (configure.ac): Invoke
62196         gl_RELOCATABLE_LIBRARY.
62197         (Makefile.am): Remove lib_SOURCES.
62198         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
62199         always.
62200         * modules/relocatable-prog-wrapper (configure.ac): Invoke
62201         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
62202
62203 2007-03-04  Bruno Haible  <bruno@clisp.org>
62204
62205         * modules/argmatch-tests: New file.
62206         * tests/test-argmatch.c: New file.
62207
62208         * tests/test-allocsa.c (main): Halve the number of loop runs.
62209
62210         * modules/alloca-opt-tests: New file.
62211         * tests/test-alloca-opt.c: New file.
62212
62213 2007-03-04  Jim Meyering  <jim@meyering.net>
62214
62215         Work around difference between Linux ACLs and Solaris 10 ZFS.
62216         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
62217         for EINVAL.
62218
62219 2007-03-03  Bruno Haible  <bruno@clisp.org>
62220
62221         * modules/relocatable-prog (Depends-on): Add back progreloc's
62222         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
62223
62224 2007-03-03  Bruno Haible  <bruno@clisp.org>
62225
62226         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
62227         * modules/relocatable-lib: New file.
62228
62229 2007-03-03  Bruno Haible  <bruno@clisp.org>
62230
62231         * modules/relocatable-prog: Renamed from modules/relocatable.
62232         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
62233
62234 2007-03-03  Bruno Haible  <bruno@clisp.org>
62235
62236         * modules/relocatable-script (Files): Add doc/relocatable.texi,
62237         m4/relocatable-lib.m4.
62238         (Depends-on): Remove 'relocatable'.
62239         (configure.ac): Add gl_RELOCATABLE_NOP.
62240
62241 2007-03-03  Bruno Haible  <bruno@clisp.org>
62242
62243         * modules/relocatable-prog-wrapper: New file.
62244         * modules/relocatable (Depends-on): Add it. Remove all other
62245         dependencies except progname.
62246         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
62247
62248         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
62249         (gl_FUNC_STRERROR): Nop.
62250         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
62251
62252         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
62253         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
62254
62255         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
62256         (gl_FUNC_READLINK): Update.
62257
62258         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
62259
62260 2007-03-03  Bruno Haible  <bruno@clisp.org>
62261
62262         * lib/xreadlink.c: Include <unistd.h> unconditionally.
62263         * modules/xreadlink (Depends-on): Add unistd.
62264         * modules/xreadlink-with-size (Depends-on): Likewise.
62265
62266 2007-03-03  Bruno Haible  <bruno@clisp.org>
62267
62268         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
62269         extracted from gt_FUNC_SETENV.
62270         (gt_FUNC_SETENV): Remove macro.
62271         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
62272         remove gt_FUNC_SETENV.
62273
62274 2007-03-03  Bruno Haible  <bruno@clisp.org>
62275
62276         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
62277         ENABLE_RELOCATABLE here.
62278         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
62279
62280 2007-03-03  Bruno Haible  <bruno@clisp.org>
62281
62282         * modules/rbtreehash-list-tests (Depends-on): Add progname.
62283         * tests/test-rbtreehash_list.c: Include progname.h.
62284         (main): Call set_program_name.
62285
62286         * modules/rbtree-oset-tests (Depends-on): Add progname.
62287         * tests/test-rbtree_oset.c: Include progname.h.
62288         (main): Call set_program_name.
62289
62290         * modules/rbtree-list-tests (Depends-on): Add progname.
62291         * tests/test-rbtree_list.c: Include progname.h.
62292         (main): Call set_program_name.
62293
62294         * modules/linked-list-tests (Depends-on): Add progname.
62295         * tests/test-linked_list.c: Include progname.h.
62296         (main): Call set_program_name.
62297
62298 2007-03-03  Bruno Haible  <bruno@clisp.org>
62299
62300         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
62301         All uses of __restrict changed to _Restrict_.
62302         * lib/glob_.h (__restrict): Remove macro.
62303
62304 2007-03-02  Bruno Haible  <bruno@clisp.org>
62305
62306         * modules/gettext (configure.ac): Require gettext infrastructure
62307         from version 0.16.1.
62308
62309 2007-03-02  Bruno Haible  <bruno@clisp.org>
62310
62311         * modules/linkedhash-list-tests (Depends-on): Add progname.
62312         * tests/test-linkedhash_list.c: Include progname.h.
62313         (main): Call set_program_name.
62314
62315         * modules/carray-list-tests (Depends-on): Add progname.
62316         * tests/test-carray_list.c: Include progname.h.
62317         (main): Call set_program_name.
62318
62319         * modules/avltreehash-list-tests (Depends-on): Add progname.
62320         * tests/test-avltreehash_list.c: Include progname.h.
62321         (main): Call set_program_name.
62322
62323         * modules/avltree-oset-tests (Depends-on): Add progname.
62324         * tests/test-avltree_oset.c: Include progname.h.
62325         (main): Call set_program_name.
62326
62327         * modules/avltree-list-tests (Depends-on): Add progname.
62328         * tests/test-avltree_list.c: Include progname.h.
62329         (main): Call set_program_name.
62330
62331         * modules/array-oset-tests (Depends-on): Add progname.
62332         * tests/test-array_oset.c: Include progname.h.
62333         (main): Call set_program_name.
62334
62335         * modules/array-list-tests (Depends-on): Add progname.
62336         * tests/test-array_list.c: Include progname.h.
62337         (main): Call set_program_name.
62338
62339         * modules/argp-tests (Depends-on): Add progname.
62340         * tests/test-argp.c: Include argp.h first. Include progname.h.
62341         (main): Call set_program_name.
62342
62343 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
62344
62345         * doc/gnulib-tool.texi (Initial import): Reword description of
62346         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
62347         limited effect even if defined after the first system include.
62348
62349 2007-03-01  Bruno Haible  <bruno@clisp.org>
62350
62351         * build-aux/config.libpath: Update to libtool-1.5.22.
62352         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62353
62354 2007-03-01  Bruno Haible  <bruno@clisp.org>
62355
62356         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
62357         foo_CFLAGS.
62358         Reported by Ralf Wildenhues.
62359
62360 2007-03-01  Bruno Haible  <bruno@clisp.org>
62361
62362         * build-aux/install-reloc: Remove object files left over by some
62363         compilers.
62364         Reported by Ralf Wildenhues.
62365
62366 2007-03-01  Bruno Haible  <bruno@clisp.org>
62367
62368         * build-aux/install-reloc: Break long lines.
62369
62370 2007-03-01  Bruno Haible  <bruno@clisp.org>
62371
62372         * doc/relocatable.texi: Document that it may not work on OpenBSD.
62373         Reported by Ralf Wildenhues.
62374
62375 2007-03-01  Bruno Haible  <bruno@clisp.org>
62376
62377         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62378         include ordering constraints.
62379
62380 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62381
62382         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
62383         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
62384         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
62385         as another example.
62386         * lib/time_.h: Fix misspelling.
62387         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62388         Require gl_HEADER_TIME_H_DEFAULTS.
62389         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
62390         * m4/time_r.m4 (gl_TIME_R): Likewise.
62391         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
62392
62393 2007-03-01  Bruno Haible  <bruno@clisp.org>
62394
62395         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
62396         * m4/utimens.m4 (gl_UTIMENS): Likewise.
62397
62398 2007-03-01  Jim Meyering  <jim@meyering.net>
62399
62400         * modules/xreadlink (Maintainer): Add my name.
62401         * modules/xreadlink-with-size (Depends-on): Alphabetize.
62402
62403 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
62404             Bruno Haible  <bruno@clisp.org>
62405
62406         * build-aux/install-reloc: Compile also c-ctype.c.
62407         * build-aux/relocatable.sh.in: New file.
62408         * doc/relocatable.texi: New file.
62409         * doc/relocatable-maint.texi: New file.
62410         * doc/gnulib.texi: Include relocatable-maint.texi.
62411         * lib/progreloc.c: Include unistd.h unconditionally.
62412         * lib/relocwrapper.c: Include unistd.h unconditionally.
62413         Include c-ctype.h.
62414         (add_dotbin): Use c_tolower.
62415         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62416         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62417         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62418         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62419         to m4/relocatable-lib.m4.
62420         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62421         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62422         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62423         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62424         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62425         * modules/relocatable: New file.
62426         * modules/relocatable-lib: New file.
62427         * modules/relocatable-script: New file.
62428
62429 2007-02-28  Bruno Haible  <bruno@clisp.org>
62430
62431         Import --enable-relocatable infrastructure.
62432         * build-aux/config.libpath: New file, from GNU gettext.
62433         * build-aux/install-reloc: New file, from GNU gettext.
62434         * build-aux/reloc-ldflags: New file, from GNU gettext.
62435         * lib/relocatable.h: New file, from GNU gettext.
62436         * lib/relocatable.c: New file, from GNU gettext.
62437         * lib/relocwrapper.c: New file, from GNU gettext.
62438         * m4/relocatable.m4: New file, from GNU gettext.
62439
62440 2007-02-28  Bruno Haible  <bruno@clisp.org>
62441
62442         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62443
62444         * modules/xreadlink: New file, from GNU gettext with modifications.
62445         * lib/xreadlink.c: New file, from GNU gettext.
62446         * lib/xreadlink.h: Add comments.
62447         (xreadlink): New declaration.
62448
62449         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62450         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62451         lib/xreadlink-with-size.c.
62452         (configure.ac): Remove gl_XREADLINK invocation.
62453         (Makefile.am): Augment lib_SOURCES.
62454         * m4/xreadlink.m4: Remove file.
62455         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62456         (xreadlink_with_size): Renamed from xreadink.
62457         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62458         * modules/canonicalize (Depends-on): Replace xreadlink with
62459         xreadlink-with-size.
62460         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62461
62462 2007-02-25  Jim Meyering  <jim@meyering.net>
62463
62464         * build-aux/announce-gen: When complaining about excess arguments,
62465         list them.
62466
62467 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62468
62469         * README: Document signed integer overflow situation more
62470         accurately.
62471
62472 2007-02-25  Bruno Haible  <bruno@clisp.org>
62473
62474         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62475         'a' or 'A' conversion.
62476
62477 2007-02-25  Bruno Haible  <bruno@clisp.org>
62478
62479         * modules/filename: Renamed from modules/pathname.
62480         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62481         lib/concatpath.c with lib/concat-filename.c.
62482         (Makefile.am): Update.
62483         (Include): Replace pathname.h with filename.h.
62484         * lib/filename.h: Renamed from lib/pathname.h.
62485         (concatenated_filename): Renamed from concatenated_pathname.
62486         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62487         (concatenated_filename): Renamed from concatenated_pathname.
62488         * lib/findprog.c: Include filename.h instead of pathname.h.
62489         (find_in_path): Update.
62490         * lib/javacomp.c: Include filename.h instead of pathname.h.
62491         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62492         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62493         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62494         is_oldgcj_14_13_usable, is_javac_usable): Update.
62495         * lib/javaexec.c: Include filename.h instead of pathname.h.
62496         (execute_java_class): Update.
62497         * modules/findprog: Update.
62498         * modules/javacomp: Update.
62499         * modules/javaexec: Update.
62500         * MODULES.html.sh (File system functions): Add 'filename', remove
62501         'pathname'.
62502
62503 2007-02-25  Bruno Haible  <bruno@clisp.org>
62504
62505         * modules/printf-frexpl-tests: New file.
62506         * tests/test-printf-frexpl.c: New file.
62507
62508         * modules/printf-frexpl: New file.
62509         * lib/printf-frexpl.h: New file.
62510         * lib/printf-frexpl.c: New file.
62511         * m4/printf-frexpl.m4: New file.
62512
62513 2007-02-25  Bruno Haible  <bruno@clisp.org>
62514
62515         * modules/printf-frexp-tests: New file.
62516         * tests/test-printf-frexp.c: New file.
62517
62518         * modules/printf-frexp: New file.
62519         * lib/printf-frexp.h: New file.
62520         * lib/printf-frexp.c: New file.
62521         * m4/printf-frexp.m4: New file.
62522
62523 2007-02-25  Bruno Haible  <bruno@clisp.org>
62524
62525         Assume automake >= 1.10 for the tests.
62526         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62527         * modules/arctwo-tests: Likewise.
62528         * modules/argp-tests: Likewise.
62529         * modules/avltree-list-tests: Likewise.
62530         * modules/avltree-oset-tests: Likewise.
62531         * modules/avltreehash-list-tests: Likewise.
62532         * modules/carray-list-tests: Likewise.
62533         * modules/crc-tests: Likewise.
62534         * modules/des-tests: Likewise.
62535         * modules/gc-arcfour-tests: Likewise.
62536         * modules/gc-arctwo-tests: Likewise.
62537         * modules/gc-des-tests: Likewise.
62538         * modules/gc-hmac-md5-tests: Likewise.
62539         * modules/gc-hmac-sha1-tests: Likewise.
62540         * modules/gc-md2-tests: Likewise.
62541         * modules/gc-md4-tests: Likewise.
62542         * modules/gc-md5-tests: Likewise.
62543         * modules/gc-pbkdf2-sha1-tests: Likewise.
62544         * modules/gc-rijndael-tests: Likewise.
62545         * modules/gc-sha1-tests: Likewise.
62546         * modules/gc-tests: Likewise.
62547         * modules/getaddrinfo-tests: Likewise.
62548         * modules/hmac-md5-tests: Likewise.
62549         * modules/hmac-sha1-tests: Likewise.
62550         * modules/linked-list-tests: Likewise.
62551         * modules/linkedhash-list-tests: Likewise.
62552         * modules/lock-tests: Likewise.
62553         * modules/md2-tests: Likewise.
62554         * modules/md4-tests: Likewise.
62555         * modules/md5-tests: Likewise.
62556         * modules/rbtree-list-tests: Likewise.
62557         * modules/rbtree-oset-tests: Likewise.
62558         * modules/rbtreehash-list-tests: Likewise.
62559         * modules/read-file-tests: Likewise.
62560         * modules/rijndael-tests: Likewise.
62561         * modules/stdint-tests: Likewise.
62562         * modules/tls-tests: Likewise.
62563
62564 2007-02-24  Bruno Haible  <bruno@clisp.org>
62565
62566         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62567         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62568         function; instead check whether isnan with a double argument links.
62569         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62570         function; instead check whether isnan with a 'long double' argument
62571         links.
62572         Reported by Eric Blake <ebb9@byu.net>.
62573
62574 2007-02-24  Bruno Haible  <bruno@clisp.org>
62575
62576         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62577         defined.
62578         * lib/isnanl.c: Remove all code. Just include isnan.c.
62579         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62580
62581 2007-02-25  Jim Meyering  <jim@meyering.net>
62582
62583         Avoid conflicting types for 'unsetenv' on FreeBSD.
62584         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62585         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62586         in stdlib.h.
62587
62588 2007-02-24  Bruno Haible  <bruno@clisp.org>
62589
62590         * modules/isnanl-nolibm-tests: New file.
62591         * tests/test-isnanl.c: New file.
62592
62593         * modules/isnanl-nolibm: New file.
62594         * lib/isnanl.h: New file.
62595         * lib/isnanl.c: New file.
62596         * m4/isnanl.m4: New file.
62597
62598 2007-02-24  Bruno Haible  <bruno@clisp.org>
62599
62600         * modules/isnan-nolibm-tests: New file.
62601         * tests/test-isnan.c: New file.
62602
62603         * modules/isnan-nolibm: New file.
62604         * lib/isnan.h: New file.
62605         * lib/isnan.c: New file.
62606         * m4/isnan.m4: New file.
62607
62608 2007-02-24  Bruno Haible  <bruno@clisp.org>
62609
62610         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62611         assume that an exponent fits in 20 bits.
62612
62613 2007-02-24  Jim Meyering  <jim@meyering.net>
62614
62615         * m4/regex.m4: Update the description of the configure-time option,
62616         --without-included-regex, to state accurately what the defaults are,
62617         and perhaps to give people an idea why using this option is risky.
62618
62619 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62620
62621         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62622         loops on small arguments.  This attempts to avoid the problem
62623         Bruno Haible reported for AIX 4.3.2 in
62624         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62625
62626 2007-02-23  Bruno Haible  <bruno@clisp.org>
62627
62628         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62629         Needed for help2man.
62630
62631 2007-02-23  Karl Berry  <karl@gnu.org>
62632
62633         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62634         exists, foo.h should be cvs-ignored, not committed.
62635
62636 2007-02-23  Eric Blake  <ebb9@byu.net>
62637
62638         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62639         * lib/stat-time.h (includes): Likewise.
62640         * lib/utimecmp.c (includes): Likewise.
62641         * lib/utimens.h (includes): Likewise.
62642         * lib/getdate.y (includes): Also include "timespec.h" for use
62643         internal to the module.
62644         * modules/utimens (Depends-on): Revert yesterday's patch.
62645         * modules/nanosleep (Depends-on): Add missing dependency.
62646
62647 2007-02-22  Bruno Haible  <bruno@clisp.org>
62648
62649         * lib/glob.c: Don't include getlogin_r.h.
62650
62651 2007-02-22  Jim Meyering  <jim@meyering.net>
62652
62653         * modules/utimens (Depends-on): Add timespec, required for
62654         utimens.h's inclusion of timespec.h.
62655
62656 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62657
62658         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62659         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62660         Schwab in
62661         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62662         I'll try to think of a better way to fix the Solaris problem.
62663
62664         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62665         like glibc; on Solaris 10, it fails with errno == EINVAL.
62666         POSIX says the behavior is unspecified if the first argument is NULL,
62667         so play it safe and never pass NULL to the system getcwd.
62668
62669 2007-02-21  Jim Meyering  <jim@meyering.net>
62670
62671         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62672         of gettimeofday.  It would conflict with the one now always
62673         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62674         an IRIX 6.5 build failure.
62675
62676 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62677
62678         Minor fixups to port to Solaris 10 with Sun C 5.8.
62679         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62680         * modules/getcwd (Depends-on): Add dirfd.
62681         * lib/putenv.c (putenv): #undef it.
62682         (rpl_putenv): New decl.
62683         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62684
62685 2007-02-20  Bruno Haible  <bruno@clisp.org>
62686
62687         * modules/stdio-tests: New file.
62688         * tests/test-stdio.c: New file.
62689
62690         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62691         (Depends-on): Add stdio.
62692         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62693         (Include): Use <stdio.h> instead of vsnprintf.h.
62694         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62695         HAVE_DECL_VSNPRINTF.
62696         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62697
62698         * modules/snprintf (Files): Remove lib/snprintf.h.
62699         (Depends-on): Add stdio.
62700         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62701         (Include): Use <stdio.h> instead of snprintf.h.
62702         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62703         HAVE_DECL_SNPRINTF.
62704         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62705         * lib/getaddrinfo.c: Likewise.
62706
62707         * modules/stdio: New file.
62708         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62709         * lib/snprintf.h: Remove file.
62710         * lib/vsnprintf.h: Remove file.
62711         * lib/.cppi-disable: Remove snprintf.h.
62712         * m4/stdio_h.m4: New file.
62713         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62714
62715 2007-02-20  Jim Meyering  <jim@meyering.net>
62716
62717         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62718         used by e.g., mingw.  From Bruno Haible.
62719
62720 2007-02-19  Bruno Haible  <bruno@clisp.org>
62721
62722         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62723         warnings.
62724         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62725
62726 2007-02-19  Bruno Haible  <bruno@clisp.org>
62727
62728         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62729         from mingw users.
62730
62731 2007-02-19  Bruno Haible  <bruno@clisp.org>
62732
62733         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62734         warnings.
62735         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62736
62737 2007-02-19  Jim Meyering  <jim@meyering.net>
62738
62739         Don't use FD after a successful "fdopendir (fd)".
62740         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62741         Reset it by calling dirfd on the just-obtained DIR*.
62742
62743         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62744         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62745
62746 2007-02-18  Bruno Haible  <bruno@clisp.org>
62747
62748         * lib/readlink.c: Include <unistd.h>.
62749         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62750         HAVE_READLINK.
62751         * modules/readlink (Depends-on): Add unistd.
62752         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62753         (Include): Add <unistd.h>.
62754
62755         * lib/getlogin_r.h: Remove file.
62756         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62757         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62758         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62759         HAVE_DECL_GETLOGIN_R.
62760         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62761         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62762         (Include): Use <unistd.h> instead of getlogin_r.h.
62763
62764         * lib/getcwd.h: Remove file.
62765         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62766         * lib/xgetcwd.c: Likewise.
62767         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62768         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62769         * modules/getcwd (Files): Remove lib/getcwd.h.
62770         (Depends-on): Add unistd.
62771         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62772         (Include): Use <unistd.h> instad of getcwd.h.
62773
62774         * lib/ftruncate.c: Include <unistd.h> first.
62775         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62776         Set HAVE_FTRUNCATE.
62777         * modules/ftruncate (Depends-on): Add unistd.
62778         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62779
62780         * lib/fchdir.c: Include <unistd.h> first.
62781         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62783         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62784         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62785         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62786
62787         * lib/dup2.c: Include <unistd.h> first.
62788         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62789         HAVE_DUP2.
62790         * modules/dup2 (Depends-on): Add unistd.
62791         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62792
62793         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62794         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62795         REPLACE_CHOWN. Don't define chown as a macro here.
62796         * modules/chown (Depends-on): Add unistd.
62797         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62798
62799         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62800         Add definition for GL_LINK_WARNING.
62801         (chown, dup2): New declarations.
62802         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62803         link warning.
62804         (ftruncate): New declaration.
62805         (getcwd): New declaration, taken from old getcwd.h.
62806         (getlogin_r): New declaration, taken from old getlogin_r.h.
62807         (readlink): New declaration.
62808         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62809         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62810         (gl_PREREQ_UNISTD): Remove macro.
62811         (gl_UNISTD_MODULE_INDICATOR): New macro.
62812         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62813         many new variables. Don't set UNISTD_H.
62814         * modules/unistd (Description): Change.
62815         (Depends-on): Add link-warning.
62816         (configure.ac): Update.
62817         (Makefile.am): Create unistd.h always. Substitute many new variables
62818         into it.
62819
62820 2007-02-18  Bruno Haible  <bruno@clisp.org>
62821
62822         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62823         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62824         HAVE_GETSUBOPT.
62825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62826         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62827         * lib/getsubopt.h: Remove file.
62828         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62829         (Depends-on): Add stdlib.
62830         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62831         (Includes): Use <stdlib.h> instead of getsubopt.h.
62832         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62833         Set HAVE_GETSUBOPT.
62834         * lib/getsubopt.c: Don't include getsubopt.h.
62835
62836 2007-02-18  Bruno Haible  <bruno@clisp.org>
62837
62838         * modules/fchdir (Depends-on): Add dup2.
62839
62840 2007-02-18  Bruno Haible  <bruno@clisp.org>
62841
62842         * lib/stdlib_.h: Handle glibc's special invocation convention
62843         specially.
62844
62845 2007-02-18  Bruno Haible  <bruno@clisp.org>
62846
62847         * modules/stdlib-tests: New file.
62848         * tests/test-stdlib.c: New file.
62849
62850         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62851         (Depends-on): Add stdlib.
62852         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62853         (Includes): Use <stdlib.h> instead of mkstemp.h.
62854         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62855         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62856         * lib/mkstemp.c: Don't include mkstemp.h.
62857         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62858         * lib/stdlib--.h: Don't include mkstemp.h.
62859
62860         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62861         (Depends-on): Add stdlib.
62862         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62863         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62864         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62865         HAVE_MKDTEMP.
62866         * lib/mkdtemp.c: Don't include mkdtemp.h.
62867         * lib/clean-temp.c: Don't include mkdtemp.h.
62868
62869         * modules/exit (Files): Remove lib/exit.h.
62870         (Depends-on): Add stdlib.
62871         (Makefile.am): Remove lib_SOURCES.
62872         (Include): Use <stdlib.h> instead of exit.h.
62873         * lib/argmatch.c: Don't include exit.h.
62874         * lib/execute.c: Likewise.
62875         * lib/pagealign_alloc.c: Likewise.
62876         * lib/pipe.c: Likewise.
62877         * lib/wait-process.c: Likewise.
62878         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62879         * lib/exitfail.c: Likewise.
62880         * lib/savewd.c: Likewise.
62881         * lib/xsetenv.c: Likewise.
62882
62883         * modules/stdlib: New file.
62884         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62885         and extra comments about mkstemp().
62886         * lib/exit.h: Remove file.
62887         * lib/mkdtemp.h: Remove file.
62888         * lib/mkstemp.h: Remove file.
62889         * m4/stdlib_h.m4: New file.
62890         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62891
62892 2007-02-18  Bruno Haible  <bruno@clisp.org>
62893
62894         * modules/math-tests: New file.
62895         * tests/test-math.c: New file.
62896
62897         * modules/math: New file.
62898         * modules/mathl (Files): Remove lib/mathl.h.
62899         (Depends-on): Add math.
62900         (Makefile.am): Don't mention mathl.h.
62901         (Include): Use <math.h> instead of mathl.h.
62902         * lib/math_.h: New file.
62903         * lib/mathl.h: Remove file.
62904         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62905         mathl.h.
62906         * lib/asinl.c: Likewise.
62907         * lib/atanl.c: Likewise.
62908         * lib/ceill.c: Likewise.
62909         * lib/cosl.c: Likewise.
62910         * lib/expl.c: Likewise.
62911         * lib/floorl.c: Likewise.
62912         * lib/frexpl.c: Likewise.
62913         * lib/ldexpl.c: Likewise.
62914         * lib/logl.c: Likewise.
62915         * lib/sincosl.c: Likewise.
62916         * lib/sinl.c: Likewise.
62917         * lib/sqrtl.c: Likewise.
62918         * lib/tanl.c: Likewise.
62919         * lib/trigl.c: Likewise.
62920         * m4/math_h.m4: New file.
62921         * MODULES.html.sh (Mathematics): Add math.
62922
62923 2007-02-17  Bruno Haible  <bruno@clisp.org>
62924
62925         * modules/wctype-tests: New file.
62926         * tests/test-wctype.c: New file.
62927
62928         * modules/wchar-tests: New file.
62929         * tests/test-wchar.c: New file.
62930
62931         * modules/unistd-tests: New file.
62932         * tests/test-unistd.c: New file.
62933
62934         * modules/time-tests: New file.
62935         * tests/test-time.c: New file.
62936
62937         * modules/sysexits-tests: New file.
62938         * tests/test-sysexits.c: New file.
62939
62940         * modules/sys_time-tests: New file.
62941         * tests/test-sys_time.c: New file.
62942
62943         * modules/sys_stat-tests: New file.
62944         * tests/test-sys_stat.c: New file.
62945
62946         * modules/sys_socket-tests: New file.
62947         * tests/test-sys_socket.c: New file.
62948
62949         * modules/sys_select-tests: New file.
62950         * tests/test-sys_select.c: New file.
62951
62952         * modules/string-tests: New file.
62953         * tests/test-string.c: New file.
62954
62955         * modules/stdbool-tests: New file.
62956         * tests/test-stdbool.c: New file.
62957
62958         * modules/netinet_in-tests: New file.
62959         * tests/test-netinet_in.c: New file.
62960
62961         * modules/inttypes-tests: New file.
62962         * tests/test-inttypes.c: New file.
62963
62964         * modules/fcntl-tests: New file.
62965         * tests/test-fcntl.c: New file.
62966
62967         * modules/byteswap-tests: New file.
62968         * tests/test-byteswap.c: New file.
62969
62970         * modules/arpa_inet-tests: New file.
62971         * tests/test-arpa_inet.c: New file.
62972
62973 2007-02-17  Bruno Haible  <bruno@clisp.org>
62974
62975         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62976         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62977         if the corresponding module is not enabled. Emit link warnings if
62978         the function is used nevertheless.
62979         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62980         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62981         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62982         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62983         * modules/inttypes (Depends-on): Add link-warning.
62984         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62985         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62986         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62987         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62988         * modules/imaxdiv (configure.ac): Likewise.
62989         * modules/strtoimax (configure.ac): Likewise.
62990         * modules/strtoumax (configure.ac): Likewise.
62991
62992 2007-02-17  Bruno Haible  <bruno@clisp.org>
62993
62994         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62995         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62996         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62997         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62998
62999 2007-02-17  Bruno Haible  <bruno@clisp.org>
63000
63001         * modules/link-warning: New file.
63002         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
63003         * lib/string_.h (GL_LINK_WARNING): Remove definition.
63004         * modules/string (Depends-on): Add link-warning.
63005         (Makefile.am): Copy the contents of build-aux/link-warning.h into
63006         string.h.
63007         * MODULES.html.sh (Support for building libraries and executables): Add
63008         link-warning.
63009
63010 2007-02-17  Bruno Haible  <bruno@clisp.org>
63011
63012         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
63013         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
63014         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
63015         long lines.
63016
63017 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
63018             Bruno Haible  <bruno@clisp.org>
63019
63020         * modules/tmpfile: New file.
63021         * lib/tmpfile.c: New file.
63022         * m4/tmpfile.m4: New file.
63023         * MODULES.html.sh (func_all_modules): New section "Input/output".
63024
63025 2007-02-15  Bruno Haible  <bruno@clisp.org>
63026
63027         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
63028         (supports_delete_on_close): New function.
63029         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
63030
63031 2007-02-14  Bruno Haible  <bruno@clisp.org>
63032
63033         * modules/mbspcasecmp-tests: New file.
63034         * tests/test-mbspcasecmp.sh: New file.
63035         * tests/test-mbspcasecmp.c: New file.
63036
63037         New module mbspcasecmp.
63038         * modules/mbspcasecmp: New file.
63039         * lib/mbspcasecmp.c: New file.
63040         * lib/string_.h (strncasecmp): Change warning message.
63041         (mbspcasecmp): New declaration.
63042         * m4/mbspcasecmp.m4: New file.
63043         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63044         GNULIB_MBSPCASECMP.
63045         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
63046         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
63047
63048 2007-02-14  Bruno Haible  <bruno@clisp.org>
63049
63050         * modules/mbsncasecmp-tests: New file.
63051         * tests/test-mbsncasecmp.sh: New file.
63052         * tests/test-mbsncasecmp.c: New file.
63053
63054         New module mbsncasecmp.
63055         * modules/mbsncasecmp: New file.
63056         * lib/mbsncasecmp.c: New file.
63057         * lib/string_.h (mbsncasecmp): New declaration.
63058         * m4/mbsncasecmp.m4: New file.
63059         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63060         GNULIB_MBSNCASECMP.
63061         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
63062         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
63063
63064 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63065
63066         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
63067         Verify that it doesn't overlap with our flags.
63068         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
63069         do not have the desired effect in multibyte locales; instead, use
63070         mbscasecmp.
63071         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
63072         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
63073         we don't require GNU fnmatch ourselves (if our users require it, they
63074         should do so explicitly).
63075
63076         Fix regex code so it doesn't rely on strcasecmp.
63077         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
63078         Otherwise, include gnulib's langinfo.h.
63079         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
63080         undesirable behavior in non-C locales.  Instead, rely on localecharset.
63081         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
63082         * modules/regex (FILES): Remove m4/codeset.m4.
63083         (Depends-on): Add localcharset.  Remove strcase.
63084
63085 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63086
63087         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
63088         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63089
63090 2007-02-13  Bruno Haible  <bruno@clisp.org>
63091
63092         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
63093         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63094
63095 2007-02-12  Bruno Haible  <bruno@clisp.org>
63096
63097         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63098         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
63099         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
63100         time warning rather than a link error.
63101
63102 2007-02-12  Bruno Haible  <bruno@clisp.org>
63103
63104         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
63105         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63106         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63107
63108 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
63109
63110         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
63111         args, not 2.
63112
63113 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
63114
63115         New module 'time', so that apps can include <time.h> as per
63116         POSIX and GNU instead of separate include files like time_r.h
63117         and timegm.h.  This implementation tries out a simpler approach
63118         for replacing decls in standard include files (as compared to
63119         the string module), somewhat as an experiment.
63120
63121         * config/srclist.txt: Comment out mktime.c for now.
63122         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
63123         since it doesn't apply any more.  Use generic wording instead.
63124         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
63125         'time'.
63126         * lib/time_.h, m4/time_h.m4, modules/time: New files.
63127         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
63128         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
63129         Don't include <sys/types.h>; no longer needed since we assume C89.
63130         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
63131         * lib/strftime.c: Likewise.
63132         * lib/time_r.c: Likewise.
63133         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
63134         * lib/nanosleep.c: Include <time.h> first, to check interface.
63135         * lib/strptime.c: Likewise.
63136         * lib/time_r.c: Likewise.
63137         * lib/timegm.c: Likewise.
63138         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
63139         needed.
63140         * lib/timegm.c: Don't include timegm.h; no longer needed.
63141         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
63142         time.h now handles any problems in that area.
63143         (struct timespec, nanosleep): Remove; time.h now arranges for these.
63144         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
63145         that time.h defines struct timespec.
63146         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
63147         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
63148         handles that.
63149         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
63150         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
63151         needed.  Set REPLACE_LOCALTIME.
63152         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
63153         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
63154         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
63155         nanosleep; time_h.m4 now does that.  Don't require
63156         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
63157         module handles this now.
63158         * modules/getdate (Depends-on): Remove timespec.  Add time.
63159         * modules/nanosleep (Depends-on): Likewise.
63160         * modules/stat-time (Depends-on): Likewise.
63161         * modules/nanosleep (Include): Include time.h, not timespec.h.
63162         * modules/strptime (Files): Remove lib/strptime.h.
63163         (Depends-on): Add extensions, time.
63164         (Include): Include time.h, not strptime.h.
63165         * modules/time_r (Files): Remove lib/time_r.h.
63166         (Depends-on): Add time.
63167         (Include): Include time.h, not time_r.h.
63168         * modules/timegm: Likewise.
63169         * modules/timespec (Description): Now does timespec-related decls
63170         of our own, instead of struct timespec itself.
63171         (Depends-on): Add time; remove extensions.
63172         (Maintainer): Add self.
63173         * modules/utimecmp (Depends-on): Add time; remove timespec.
63174         * modules/utimens (Depends-on): Likewise.
63175         * modules/xnanosleep (Depends-on): Likewise.
63176
63177 2007-02-11  Bruno Haible  <bruno@clisp.org>
63178
63179         * lib/c-strstr.c: Include allocsa.h.
63180         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63181         * lib/c-strcasestr.c: Include allocsa.h.
63182         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63183         * lib/strcasestr.c: Include allocsa.h.
63184         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
63185         * lib/mbsstr.c: Include allocsa.h.
63186         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
63187         allocsa/freesa instead of malloc/free.
63188         * lib/mbscasestr.c: Include allocsa.h.
63189         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
63190         allocsa/freesa instead of malloc/free.
63191         * modules/c-strstr (Depends-on): Add allocsa.
63192         * modules/c-strcasestr (Depends-on): Likewise.
63193         * modules/strcasestr (Depends-on): Likewise.
63194         * modules/mbsstr (Depends-on): Likewise.
63195         * modules/mbscasestr (Depends-on): Likewise.
63196
63197 2007-02-11  Bruno Haible  <bruno@clisp.org>
63198
63199         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
63200
63201         * modules/mbsspn-tests: New file.
63202         * tests/test-mbsspn.sh: New file.
63203         * tests/test-mbsspn.c: New file.
63204
63205 2007-02-11  Bruno Haible  <bruno@clisp.org>
63206
63207         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
63208
63209         * modules/mbspbrk-tests: New file.
63210         * tests/test-mbspbrk.sh: New file.
63211         * tests/test-mbspbrk.c: New file.
63212
63213 2007-02-11  Bruno Haible  <bruno@clisp.org>
63214
63215         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
63216         unneeded cast.
63217
63218         * modules/mbscspn-tests: New file.
63219         * tests/test-mbscspn.sh: New file.
63220         * tests/test-mbscspn.c: New file.
63221
63222 2007-02-11  Bruno Haible  <bruno@clisp.org>
63223
63224         * modules/mbscasecmp-tests: New file.
63225         * tests/test-mbscasecmp.sh: New file.
63226         * tests/test-mbscasecmp.c: New file.
63227
63228 2007-02-11  Bruno Haible  <bruno@clisp.org>
63229
63230         Ensure O(n) worst-case complexity of mbscasestr.
63231         * lib/mbscasestr.c: Include stdbool.h.
63232         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63233         functions.
63234         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
63235         the bookkeeping indicates that it's worth it.
63236         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
63237
63238         * modules/mbscasestr-tests: New file.
63239         * tests/test-mbscasestr1.c: New file.
63240         * tests/test-mbscasestr2.sh: New file.
63241         * tests/test-mbscasestr2.c: New file.
63242         * tests/test-mbscasestr3.sh: New file.
63243         * tests/test-mbscasestr3.c: New file.
63244         * tests/test-mbscasestr4.sh: New file.
63245         * tests/test-mbscasestr4.c: New file.
63246         * m4/locale-tr.m4: New file.
63247
63248 2007-02-11  Bruno Haible  <bruno@clisp.org>
63249
63250         Ensure O(n) worst-case complexity of mbsstr.
63251         * lib/mbsstr.c: Include stdbool.h.
63252         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
63253         functions.
63254         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
63255         bookkeeping indicates that it's worth it.
63256         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
63257
63258         * modules/mbsstr-tests: New file.
63259         * tests/test-mbsstr1.c: New file.
63260         * tests/test-mbsstr2.sh: New file.
63261         * tests/test-mbsstr2.c: New file.
63262         * tests/test-mbsstr3.sh: New file.
63263         * tests/test-mbsstr3.c: New file.
63264         * m4/locale-fr.m4: New file.
63265
63266 2007-02-11  Bruno Haible  <bruno@clisp.org>
63267
63268         * lib/mbsrchr.c (mbsrchr): Fix bug.
63269
63270         * modules/mbsrchr-tests: New file.
63271         * tests/test-mbsrchr.sh: New file.
63272         * tests/test-mbsrchr.c: New file.
63273
63274 2007-02-11  Bruno Haible  <bruno@clisp.org>
63275
63276         * lib/mbschr.c (mbschr): Fix bug.
63277
63278         * modules/mbschr-tests: New file.
63279         * tests/test-mbschr.sh: New file.
63280         * tests/test-mbschr.c: New file.
63281         * m4/locale-zh.m4: New file.
63282
63283 2007-02-11  Bruno Haible  <bruno@clisp.org>
63284
63285         Support for copying multibyte string iterators.
63286         * lib/mbiter.h: Include <string.h>.
63287         (mbiter_multi_copy): New function.
63288         (mbi_copy): New macro.
63289         * lib/mbuiter.h: Include <string.h>.
63290         (mbuiter_multi_copy): New function.
63291         (mbui_copy): New macro.
63292
63293 2007-02-11  Bruno Haible  <bruno@clisp.org>
63294
63295         New module mbslen.
63296         * modules/mbslen: New file.
63297         * lib/mbslen.c: New file.
63298         * lib/string_.h (mbslen): New declaration.
63299         * m4/mbslen.m4: New file.
63300         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63301         GNULIB_MBSLEN.
63302         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
63303         * MODULES.html.sh (Internationalization functions): Add mbslen.
63304
63305 2007-02-11  Bruno Haible  <bruno@clisp.org>
63306
63307         Ensure O(n) worst-case complexity of strcasestr substitute.
63308         * lib/strcasestr.c: Include stdbool.h.
63309         (knuth_morris_pratt): New function.
63310         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63311         bookkeeping indicates that it's worth it.
63312         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
63313
63314         * modules/strcasestr-tests: New file.
63315         * tests/test-strcasestr.c: New file.
63316
63317 2007-02-11  Bruno Haible  <bruno@clisp.org>
63318
63319         Ensure O(n) worst-case complexity of c_strcasestr.
63320         * lib/c-strcasestr.c: Include stdbool.h, string.h.
63321         (knuth_morris_pratt): New function.
63322         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
63323         the bookkeeping indicates that it's worth it.
63324         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
63325
63326         * modules/c-strcasestr-tests: New file.
63327         * tests/test-c-strcasestr.c: New file.
63328
63329 2007-02-11  Bruno Haible  <bruno@clisp.org>
63330
63331         Ensure O(n) worst-case complexity of c_strstr.
63332         * lib/c-strstr.c: Include stdbool.h, string.h.
63333         (knuth_morris_pratt): New function.
63334         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63335         bookkeeping indicates that it's worth it.
63336         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
63337
63338         * lib/c-strstr.c: Complete rewrite for maintainability.
63339
63340         * modules/c-strstr-tests: New file.
63341         * tests/test-c-strstr.c: New file.
63342
63343 2007-02-11  Bruno Haible  <bruno@clisp.org>
63344
63345         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
63346         5.2.1 and earlier, whereby \055 was treated just like the range
63347         delimiter '-'.
63348         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63349
63350 2007-02-08  Bruno Haible  <bruno@clisp.org>
63351
63352         * modules/regex (Depends-on): Add stdbool.
63353         Reported by Dalibor Topic <robilad@kaffe.org>.
63354
63355 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63356
63357         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
63358         Prefer returning from main to exiting from it.
63359         Remove unnecessary parens after sizeof.
63360
63361 2007-02-05  Bruno Haible  <bruno@clisp.org>
63362
63363         New module mbssep.
63364         * modules/mbssep: New file.
63365         * lib/mbssep.c: New file.
63366         * lib/string_.h (strsep): Add a conditional link warning.
63367         (mbssep): New declaration.
63368         * m4/mbssep.m4: New file.
63369         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63370         GNULIB_MBSSEP.
63371         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
63372         * MODULES.html.sh (Internationalization functions): Add mbssep.
63373
63374 2007-02-05  Bruno Haible  <bruno@clisp.org>
63375
63376         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
63377         Optimize search in case of 1 delimiter.
63378
63379 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63380
63381         * lib/acl.h: Include sys/types.h before sys/acl.h.
63382
63383 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63384
63385         Merge upstream fix for glibc bugzilla #3957:
63386
63387         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
63388
63389         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
63390         bit for RE_HAT_LISTS_NOT_NEWLINE.
63391         (build_charclass_op): Remove bogus comment.
63392
63393 2007-02-05  Simon Josefsson  <simon@josefsson.org>
63394
63395         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
63396
63397 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63398
63399         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
63400         * lib/memmem.c [!defined _LIBC]: Include config.h.
63401
63402 2007-02-04  Bruno Haible  <bruno@clisp.org>
63403
63404         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
63405         warning message.
63406
63407 2007-02-04  Bruno Haible  <bruno@clisp.org>
63408
63409         New module mbstok_r.
63410         * modules/mbstok_r: New file.
63411         * lib/mbstok_r.c: New file.
63412         * lib/string_.h (strtok_r): Change argument names to match the
63413         comments. Add a conditional link warning.
63414         (mbstok_r): New declaration.
63415         * m4/mbstok_r.m4: New file.
63416         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63417         GNULIB_MBSTOK_R.
63418         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63419         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63420
63421 2007-02-04  Bruno Haible  <bruno@clisp.org>
63422
63423         New module mbsspn.
63424         * modules/mbsspn: New file.
63425         * lib/mbsspn.c: New file.
63426         * lib/string_.h (strspn): Add a conditional link warning.
63427         (mbsspn): New declaration.
63428         * m4/mbsspn.m4: New file.
63429         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63430         GNULIB_MBSSPN.
63431         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63432         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63433
63434 2007-02-04  Bruno Haible  <bruno@clisp.org>
63435
63436         New module mbspbrk.
63437         * modules/mbspbrk: New file.
63438         * lib/mbspbrk.c: New file.
63439         * lib/string_.h (strpbrk): Add a conditional link warning.
63440         (mbspbrk): New declaration.
63441         * m4/mbspbrk.m4: New file.
63442         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63443         GNULIB_MBSPBRK.
63444         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63445         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63446
63447 2007-02-04  Bruno Haible  <bruno@clisp.org>
63448
63449         New module mbscspn.
63450         * modules/mbscspn: New file.
63451         * lib/mbscspn.c: New file.
63452         * lib/string_.h (strcspn): Add a conditional link warning.
63453         (mbscspn): New declaration.
63454         * m4/mbscspn.m4: New file.
63455         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63456         GNULIB_MBSCSPN.
63457         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63458         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63459
63460 2007-02-04  Bruno Haible  <bruno@clisp.org>
63461
63462         New module mbscasestr, reduced goal of strcasestr.
63463         * modules/mbscasestr: New file.
63464         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63465         (mbscasestr): Renamed from strcasestr.
63466         * lib/strcasestr.c: Don't include mbuiter.h.
63467         (strcasestr): Remove support for multibyte locales.
63468         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63469         Change the conditional link warning.
63470         (mbscasestr): New declaration.
63471         * m4/mbscasestr.m4: New file.
63472         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63473         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63474         REPLACE_STRCASESTR.
63475         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63476         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63477         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63478         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63479         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63480         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63481         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63482         (Depends-on): Remove mbuiter.
63483         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63484
63485 2007-02-04  Bruno Haible  <bruno@clisp.org>
63486
63487         Simplify handling of strncasecmp.
63488         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63489         the conditional link warning.
63490         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63491         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63492         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63493         * modules/strcase (configure.ac): Don't invoke
63494         gl_STRING_MODULE_INDICATOR.
63495         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63496
63497 2007-02-04  Bruno Haible  <bruno@clisp.org>
63498
63499         New module mbscasecmp, reduced goal of strcasecmp.
63500         * modules/mbscasecmp: New file.
63501         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63502         (mbscasecmp): Renamed from strcasecmp.
63503         * lib/strcasecmp.c: Don't include mbuiter.h.
63504         (strcasecmp): Remove support for multibyte locales.
63505         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63506         Change the conditional link warning.
63507         (mbscasecmp): New declaration.
63508         * m4/mbscasecmp.m4: New file.
63509         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63510         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63511         REPLACE_STRCASECMP.
63512         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63513         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63514         GNULIB_MBSCASECMP.
63515         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63516         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63517         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63518         (Depends-on): Remove mbuiter.
63519         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63520
63521 2007-02-04  Bruno Haible  <bruno@clisp.org>
63522
63523         New module mbsstr. Remove module strstr.
63524         * modules/mbsstr: New file.
63525         * modules/strstr: Remove file.
63526         * lib/mbsstr.c: Renamed from lib/strstr.c.
63527         (mbsstr): Renamed from strstr.
63528         * lib/string_.h (strstr): Remove declaration. Change the conditional
63529         link warning.
63530         (mbsstr): New declaration.
63531         * m4/mbsstr.m4: New file.
63532         * m4/strstr.m4: Remove file.
63533         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63534         REPLACE_STRSTR.
63535         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63536         Don't initialize GNULIB_STRSTR.
63537         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63538         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63539         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63540         (Support for systems lacking ANSI C 89): Remove strstr.
63541
63542 2007-02-04  Bruno Haible  <bruno@clisp.org>
63543
63544         New module mbsrchr.
63545         * modules/mbsrchr: New file.
63546         * lib/mbsrchr.c: New file.
63547         * lib/string_.h (strrchr): Add a conditional link warning.
63548         (mbsrchr): New declaration.
63549         * m4/mbsrchr.m4: New file.
63550         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63551         GNULIB_MBSRCHR.
63552         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63553         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63554
63555 2007-02-04  Bruno Haible  <bruno@clisp.org>
63556
63557         New module mbschr.
63558         * modules/mbschr: New file.
63559         * lib/mbschr.c: New file.
63560         * lib/string_.h (strchr): Add a conditional link warning.
63561         (mbschr): New declaration.
63562         * m4/mbschr.m4: New file.
63563         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63564         GNULIB_MBSCHR.
63565         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63566         * MODULES.html.sh (Internationalization functions): Add mbschr.
63567
63568 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63569
63570         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63571
63572         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63573
63574 2007-02-04  Bruno Haible  <bruno@clisp.org>
63575
63576         New module description section 'configure.ac-early'.
63577         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63578         (func_get_autoconf_early_snippet): New function.
63579         (func_import, func_create_testdir): Use it. Remove special cases for
63580         modules 'extensions' and 'lock'.
63581         * modules/extensions (configure.ac-early): Require
63582         gl_USE_SYSTEM_EXTENSIONS.
63583         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63584
63585 2007-02-04  Bruno Haible  <bruno@clisp.org>
63586
63587         Make use of gcj-4.3's -fsource and -ftarget option.
63588         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63589         and if so try the options -fsource and -ftarget.
63590         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63591         source_version, ftarget_option, target_version arguments.
63592         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63593         (is_envjavac_oldgcj_14_14_usable): Renamed from
63594         is_envjavac_gcj_14_14_usable.
63595         (is_envjavac_oldgcj_14_13_usable): Renamed from
63596         is_envjavac_gcj_14_13_usable.
63597         (is_gcj_present): Update.
63598         (is_gcj_43, is_gcj43_usable): New functions.
63599         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63600         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63601         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63602         try the options -fsource and -ftarget.
63603
63604 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63605
63606         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63607         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63608         larger value.
63609
63610 2007-02-03  Jim Meyering  <jim@meyering.net>
63611
63612         Give tools a better chance to allocate space for very large buffers.
63613         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63614
63615         Make pwd and readlink work also when run with an unreadable parent dir
63616         on systems with openat support.
63617         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63618         provided getcwd function, even when we have openat support.
63619         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63620
63621 2007-02-02  Bruno Haible  <bruno@clisp.org>
63622
63623         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63624         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63625         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63626         portability problems if one of these functions is only used on specific
63627         platforms.
63628         Reported by Paul Eggert.
63629
63630 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63633         is causing more trouble than it's curing.
63634         * lib/regex_internal.h (__mempcpy): Remove.
63635         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63636         (and make the code a tad smaller to boot).
63637         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63638
63639 2007-02-02  Jim Meyering  <jim@meyering.net>
63640
63641         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63642         section, not in the Makefile.am: one.
63643
63644 2007-02-02  Eric Blake  <ebb9@byu.net>
63645
63646         * lib/strchrnul.c: Always include config.h first.
63647
63648         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63649         gnulib strstr is not necessary here.
63650
63651 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63652
63653         * m4/socklen.m4: Fix typo.
63654
63655 2007-02-02  Eric Blake  <ebb9@byu.net>
63656
63657         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63658         * modules/netinet_in (Makefile.am): Likewise.
63659
63660 2007-02-01  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/string_.h (GL_LINK_WARNING): New macro.
63663         (strcasecmp, strstr, strcasestr): If provided by the system,
63664         conditionally define as a macro that leads to a warning instead of to
63665         an error.
63666         (strncasecmp): Conditionally define as a macro that leads to a warning.
63667
63668 2007-02-01  Karl Berry  <karl@gnu.org>
63669
63670         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63671
63672 2007-02-01  Bruno Haible  <bruno@clisp.org>
63673
63674         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63675         renamings.
63676
63677 2007-02-01  Eric Blake  <ebb9@byu.net>
63678
63679         * modules/regex (Depends-on): Revert dependence on mempcpy.
63680         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63681         module's definition of mempcpy.
63682         Reported by Paul Eggert.
63683
63684 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63685
63686         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63687         the symbol XYZ before redefining it.  This fixes a problem with
63688         programs that don't use XYZ, when compiled on systems that define
63689         XYZ to something else.
63690
63691 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63692
63693         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63694         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63695         writeable to group or other and (2) is intended to have a special
63696         mode bit that is set or cleared.  In such a case, the directory
63697         should be neither group- nor other-writeable until the special
63698         mode bits are right.
63699
63700 2007-01-31  Eric Blake  <ebb9@byu.net>
63701
63702         * modules/mountlist (Depends-on): Add strstr.
63703
63704         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63705         bug.
63706         * modules/string (Makefile.am): Remove redundant replacement.
63707         * modules/regex (Depends-on): Add mempcpy.
63708
63709 2007-01-31  Bruno Haible  <bruno@clisp.org>
63710
63711         New module description field 'Link'.
63712         * gnulib-tool (func_usage): Document --extract-link-directive.
63713         (sed_extract_prog): Recognize 'Link' directive.
63714         (func_get_link_directive): New function.
63715         (func_import): Show summary of link directives.
63716         Handle --extract-link-directive option.
63717         * modules/acl (Link): New section.
63718         * modules/clock-time (Link): New section.
63719         * modules/euidaccess (Link): New section.
63720         * modules/gettext (Link): New section.
63721         * modules/iconv (Link): New section.
63722         * modules/lock (Link): New section.
63723         * modules/nanosleep (Link): New section.
63724         * modules/readline (Link): New section.
63725
63726 2007-01-27  Bruno Haible  <bruno@clisp.org>
63727
63728         Enforce the use of gnulib modules for unportable <string.h> functions.
63729         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63730         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63731         (gl_HEADER_STRING_H_BODY): Require it.
63732         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63733         the symbol XYZ to one that gives a link error.
63734         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63735         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63736         * modules/mempcpy (configure.ac): Likewise.
63737         * modules/memrchr (configure.ac): Likewise.
63738         * modules/stpcpy (configure.ac): Likewise.
63739         * modules/stpncpy (configure.ac): Likewise.
63740         * modules/strcase (configure.ac): Likewise.
63741         * modules/strcasestr (configure.ac): Likewise.
63742         * modules/strchrnul (configure.ac): Likewise.
63743         * modules/strdup (configure.ac): Likewise.
63744         * modules/strndup (configure.ac): Likewise.
63745         * modules/strnlen (configure.ac): Likewise.
63746         * modules/strpbrk (configure.ac): Likewise.
63747         * modules/strsep (configure.ac): Likewise.
63748         * modules/strstr (configure.ac): Likewise.
63749         * modules/strtok_r (configure.ac): Likewise.
63750
63751 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63752
63753         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63754
63755 2007-01-30  Jim Meyering  <jim@meyering.net>
63756
63757         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63758
63759 2007-01-29  Bruno Haible  <bruno@clisp.org>
63760
63761         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63762         * lib/execute.c: Likewise.
63763         * lib/pipe.c: Likewise.
63764         * lib/printf-args.h: Likewise.
63765         * lib/printf-args.c: Likewise.
63766         * lib/printf-parse.c: Likewise.
63767         * lib/vasnprintf.c: Likewise.
63768
63769 2007-01-29  Eric Blake  <ebb9@byu.net>
63770
63771         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63772         declaration.
63773
63774 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63775
63776         * lib/strptime.h (strptime): Use 'restrict' for args where
63777         POSIX requires this.
63778         * lib/strptime.c (strptime): Likewise.
63779         Change license notice from LGPL to GPL, since gnulib-tool will
63780         change this as needed.
63781         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63782         defined.
63783         Include "strptime.h" first, to check interface.
63784         Do not #undef _LIBC and _NL_CURRENT.
63785         Do not include <stdlib.h>; no longer needed.
63786         Include "time_r.h" and declare ptime_locale_status
63787         only if _LIBC is not defined.
63788         (__P): Remove unused macro.
63789         (match_string): Bring back glibc version, but use it only if _LIBC
63790         is defined.
63791         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63792         Remove unnecessary assertion and abort() call.
63793         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63794         * m4/strptime.m4: Fix serial number comment.
63795         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63796         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63797         (Depends-on): Add time_r.
63798
63799 2007-01-29  Bruno Haible  <bruno@clisp.org>
63800
63801         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63802         strptime.
63803         * modules/strptime (Depends-on): Add stdbool.
63804         * lib/strptime.h: Include <time.h> always. Add comments.
63805
63806 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63807
63808         * modules/strptime: New file.
63809         * lib/strptime.h: New file.
63810         * lib/strptime.c: New file.
63811         * m4/strptime.m4: New file.
63812
63813 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63814
63815         * MODULES.html.sh: New module mpsort.
63816         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63817
63818         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63819         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63820         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63821         All uses changed.
63822         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63823         All uses changed.
63824         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63825         to _Restrict_.
63826         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63827         the parameter matches the prototype.
63828
63829 2007-01-28  Jim Meyering  <jim@meyering.net>
63830
63831         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63832         sys/time.h here, reverting that part of the previous patch:
63833         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63834
63835 2007-01-28  Bruno Haible  <bruno@clisp.org>
63836
63837         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63838         value of $(SYS_TIME_H).
63839         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63840         remove it conditionally, too. [added by Jim Meyering]
63841         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63842         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63843         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63844         GETTIMEOFDAY_REPLACEMENT to 1.
63845
63846 2007-01-28  Bruno Haible  <bruno@clisp.org>
63847
63848         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63849         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63851         Set UNISTD_H instead of UNISTD_H2.
63852         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63853
63854 2007-01-28  Bruno Haible  <bruno@clisp.org>
63855
63856         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63857         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63858
63859 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63860
63861         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63862         (func_create_testdir): Ensure C locale for `grep' and `tr'
63863         character ranges.
63864         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63865         ACLOCAL_AMFLAGS parsing state machine.
63866
63867 2007-01-27  Bruno Haible  <bruno@clisp.org>
63868
63869         * modules/unistr/base: Update.
63870
63871 2007-01-27  Bruno Haible  <bruno@clisp.org>
63872
63873         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63874         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63875         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63876         modules/unistr/u32-mbtouc.
63877         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63878         * lib/unistr.h: Update.
63879         * lib/linebreak.c: Update.
63880         * modules/unistr/u32-mbtouc: Renamed from
63881         modules/unistr/u32-mbtouc-safe.
63882         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63883         * lib/unistr.h: Update.
63884         * lib/unistr/u32-to-u8.c: Update.
63885         * lib/unistr/u32-to-u16.c: Update.
63886
63887 2007-01-27  Bruno Haible  <bruno@clisp.org>
63888
63889         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63890         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63891         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63892         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63893         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63894         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63895         modules/unistr/u16-mbtouc.
63896         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63897         * lib/unistr.h: Update.
63898         * lib/linebreak.c: Update.
63899         * modules/linebreak: Update.
63900         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63901         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63902         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63903         * modules/unistr/u16-mbtouc: Renamed from
63904         modules/unistr/u16-mbtouc-safe.
63905         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63906         * lib/unistr.h: Update.
63907         * lib/unistr/u16-to-u8.c: Update.
63908         * modules/unistr/u16-to-u8: Update.
63909         * lib/unistr/u16-to-u32.c: Update.
63910         * modules/unistr/u16-to-u32: Update.
63911
63912 2007-01-27  Bruno Haible  <bruno@clisp.org>
63913
63914         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63915         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63916         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63917         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63918         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63919         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63920         modules/unistr/u8-mbtouc.
63921         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63922         * lib/unistr.h: Update.
63923         * lib/striconveh.c: Update.
63924         * modules/striconveh: Update.
63925         * lib/linebreak.c: Update.
63926         * modules/linebreak: Update.
63927         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63928         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63929         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63930         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63931         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63932         * lib/unistr.h: Update.
63933         * lib/striconveh.c: Update.
63934         * modules/striconveh: Update.
63935         * lib/unistr/u8-to-u16.c: Update.
63936         * modules/unistr/u8-to-u16: Update.
63937         * lib/unistr/u8-to-u32.c: Update.
63938         * modules/unistr/u8-to-u32: Update.
63939
63940 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63941
63942         Sync from Libtool.
63943         * lib/argz.c: Do not include strings.h nor memory.h, include
63944         string.h unconditionally.  Patch by Simon Josefsson.
63945
63946 2007-01-27  Bruno Haible  <bruno@clisp.org>
63947
63948         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63949         from gl_HEADER_STRING_H_BODY.
63950         (gl_HEADER_STRING_H_BODY): Require it.
63951         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63952         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63953         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63954         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63955         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63956         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63957         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63958         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63959         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63960         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63961         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63962         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63963         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63964         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63965         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63966
63967 2007-01-27  Bruno Haible  <bruno@clisp.org>
63968
63969         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63970         check_PROGRAMS into noinst_PROGRAMS.
63971         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63972         check_PROGRAMS in this case.
63973         (func_import): Set for_test to false.
63974         (func_create_testdir): Set for_test to true.
63975
63976 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63977             Bruno Haible  <bruno@clisp.org>
63978
63979         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63980         (Depends-on): Add string.
63981         (Includes): Use <string.h> instead of strcasestr.h.
63982         * modules/string (Makefile.am): Also substitute the value of
63983         REPLACE_STRCASESTR.
63984         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63985         assume strcasestr is declared in <string.h> not <strings.h>. Also
63986         set REPLACE_STRCASESTR.
63987         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63988         REPLACE_STRCASESTR.
63989         * lib/strcasestr.h: Remove file.
63990         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63991         * lib/string_.h (strcasestr): New declaration.
63992
63993 2007-01-27  Bruno Haible  <bruno@clisp.org>
63994
63995         * lib/string_.h: Use 'extern'.
63996
63997 2007-01-27  Jim Meyering  <jim@meyering.net>
63998
63999         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
64000         of set-but-not-used local, "q".
64001
64002         * lib/mempcpy.c: Include <config.h> before <string.h>.
64003         This fixes a compilation error on HP-UX, due to the system's
64004         "restrict"-using mempcpy prototype.
64005
64006 2007-01-26  Bruno Haible  <bruno@clisp.org>
64007
64008         Small optimization.
64009         * lib/javacomp.c: Include c-strstr.h.
64010          (is_envjavac_gcj): Use c_strstr instead of strstr.
64011         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
64012
64013 2007-01-26  Bruno Haible  <bruno@clisp.org>
64014
64015         * MODULES.html.sh (Unicode string functions): Add the new modules.
64016
64017         * modules/uniconv/u32-strconv-to-locale: New file.
64018         * lib/uniconv/u32-strconv-to-locale.c: New file.
64019
64020         * modules/uniconv/u16-strconv-to-locale: New file.
64021         * lib/uniconv/u16-strconv-to-locale.c: New file.
64022
64023         * modules/uniconv/u8-strconv-to-locale: New file.
64024         * lib/uniconv/u8-strconv-to-locale.c: New file.
64025
64026         * modules/uniconv/u32-strconv-from-locale: New file.
64027         * lib/uniconv/u32-strconv-from-locale.c: New file.
64028
64029         * modules/uniconv/u16-strconv-from-locale: New file.
64030         * lib/uniconv/u16-strconv-from-locale.c: New file.
64031
64032         * modules/uniconv/u8-strconv-from-locale: New file.
64033         * lib/uniconv/u8-strconv-from-locale.c: New file.
64034
64035         * modules/uniconv/u32-strconv-to-enc: New file.
64036         * lib/uniconv/u32-strconv-to-enc.c: New file.
64037         * modules/uniconv/u32-strconv-to-enc-tests: New file.
64038         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
64039
64040         * modules/uniconv/u16-strconv-to-enc: New file.
64041         * lib/uniconv/u16-strconv-to-enc.c: New file.
64042         * lib/uniconv/u-strconv-to-enc.h: New file.
64043         * modules/uniconv/u16-strconv-to-enc-tests: New file.
64044         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
64045
64046         * modules/uniconv/u8-strconv-to-enc: New file.
64047         * lib/uniconv/u8-strconv-to-enc.c: New file.
64048         * modules/uniconv/u8-strconv-to-enc-tests: New file.
64049         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
64050
64051         * modules/uniconv/u32-strconv-from-enc: New file.
64052         * lib/uniconv/u32-strconv-from-enc.c: New file.
64053         * modules/uniconv/u32-strconv-from-enc-tests: New file.
64054         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
64055
64056         * modules/uniconv/u16-strconv-from-enc: New file.
64057         * lib/uniconv/u16-strconv-from-enc.c: New file.
64058         * modules/uniconv/u16-strconv-from-enc-tests: New file.
64059         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
64060
64061         * modules/uniconv/u8-strconv-from-enc: New file.
64062         * lib/uniconv/u8-strconv-from-enc.c: New file.
64063         * lib/uniconv/u-strconv-from-enc.h: New file.
64064         * modules/uniconv/u8-strconv-from-enc-tests: New file.
64065         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
64066
64067         * modules/uniconv/u32-conv-from-enc: New file.
64068         * lib/uniconv/u32-conv-from-enc.c: New file.
64069         * modules/uniconv/u32-conv-from-enc-tests: New file.
64070         * tests/uniconv/test-u32-conv-from-enc.c: New file.
64071
64072         * modules/uniconv/u16-conv-from-enc: New file.
64073         * lib/uniconv/u16-conv-from-enc.c: New file.
64074         * lib/uniconv/u-conv-from-enc.h: New file.
64075         * modules/uniconv/u16-conv-from-enc-tests: New file.
64076         * tests/uniconv/test-u16-conv-from-enc.c: New file.
64077
64078         * modules/uniconv/u8-conv-from-enc: New file.
64079         * lib/uniconv/u8-conv-from-enc.c: New file.
64080         * modules/uniconv/u8-conv-from-enc-tests: New file.
64081         * tests/uniconv/test-u8-conv-from-enc.c: New file.
64082
64083         * modules/uniconv/base: New file.
64084         * lib/uniconv.h: New file.
64085
64086 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
64087
64088         * doc/gnulib-tool.texi (Initial import): Update to match current
64089         behavior with strdup module.
64090         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
64091         * lib/memmem.h: Remove; all uses removed.  This is now done
64092         by <string.h>.
64093         * lib/mempcpy.h: Likewise.
64094         * lib/memrchr.h: Likewise.
64095         * lib/stpcpy.h: Likewise.
64096         * lib/stpncpy.h: Likewise.
64097         * lib/strcase.h: Likewise.
64098         * lib/strchrnul.h: Likewise.
64099         * lib/strdup.h: Likewise.
64100         * lib/strndup.h: Likewise.
64101         * lib/strnlen.h: Likewise.
64102         * lib/strpbrk.h: Likewise.
64103         * lib/strsep.h: Likewise.
64104         * lib/strstr.h: Likewise.
64105         * lib/strtok_r.h: Likewise.
64106         * lib/string_.h: New file.
64107         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
64108         Rely on <string.h> instead.
64109         * lib/canon-host.c: Likewise.
64110         * lib/chdir-long.c: Likewise.
64111         * lib/concatpath.c: Likewise.
64112         * lib/exclude.c: Likewise.
64113         * lib/fchdir.c: Likewise.
64114         * lib/getaddrinfo.c: Likewise.
64115         * lib/getcwd.c: Likewise.
64116         * lib/getsubopt.c: Likewise.
64117         * lib/glob.c: Likewise.
64118         * lib/hard-locale.c: Likewise.
64119         * lib/iconvme.c: Likewise.
64120         * lib/javacomp.c: Likewise.
64121         * lib/mempcpy.c: Likewise.
64122         * lib/memrchr.c: Likewise.
64123         * lib/regex_internal.h: Likewise.
64124         * lib/stpncpy.c: Likewise.
64125         * lib/strcasecmp.c: Likewise.
64126         * lib/strchrnul.c: Likewise.
64127         * lib/strdup.c: Likewise.
64128         * lib/striconv.c: Likewise.
64129         * lib/striconveh.c: Likewise.
64130         * lib/striconveha.c: Likewise.
64131         * lib/strncasecmp.c: Likewise.
64132         * lib/strndup.c: Likewise.
64133         * lib/strnlen.c: Likewise.
64134         * lib/strsep.c: Likewise.
64135         * lib/strstr.c: Likewise.
64136         * lib/strtok_r.c: Likewise.
64137         * lib/userspec.c: Likewise.
64138         * lib/w32spawn.h: Likewise.
64139         * lib/xstrndup.c: Likewise.
64140         * lib/mountlist.c (strstr): Remove decl.
64141         * m4/string_h.m4: New file.
64142         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
64143         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
64144         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
64145         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
64146         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
64147         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
64148         Set REPLACE_STRCASECMP if necessary.
64149         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
64150         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
64151         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
64152         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
64153         HAVE_DECL_STRDUP if necessary.
64154         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
64155         since gl_FUNC_STRNDUP does that now.
64156         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
64157         Check for decl here...
64158         (gl_PREREQ_STRNLEN): ... not here.
64159         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
64160         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
64161         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
64162         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
64163         necessary.
64164         * modules/string: New file.
64165         * modules/memmem (Files): Remove special-purpose include file.
64166         (Depends-on): Add string.
64167         (Include): Include <string.h>, not the removed file.
64168         * modules/mempcpy: Likewise.
64169         * modules/memrchr: Likewise.
64170         * modules/stpcpy: Likewise.
64171         * modules/stpncpy: Likewise.
64172         * modules/strcase: Likewise.
64173         * modules/strchrnul: Likewise.
64174         * modules/strdup: Likewise.
64175         * modules/strndup: Likewise.
64176         * modules/strnlen: Likewise.
64177         * modules/strpbrk: Likewise.
64178         * modules/strsep: Likewise.
64179         * modules/strstr: Likewise.
64180         * modules/strtok_r: Likewise.
64181         * tests/test-dirname.c: Don't include "strdup.h", since
64182         <string.h> now suffices.
64183         * tests/test-memmem.c: Don't include "memmem.h", since
64184         <string.h> now suffices.
64185
64186 2007-01-25  Bruno Haible  <bruno@clisp.org>
64187
64188         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
64189         *resultp is 0.
64190
64191         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
64192         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
64193         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
64194         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
64195
64196         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
64197         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
64198         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
64199         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
64200         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
64201         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
64202
64203 2007-01-24  Bruno Haible  <bruno@clisp.org>
64204
64205         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
64206         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
64207         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
64208         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
64209         gl_FUNC_FTS_CORE.
64210         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
64211         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
64212         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64213         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
64214         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
64215         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
64216         gl_FUNC_FCHOWNAT.
64217         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
64218         gl_FUNC_STRFTIME.
64219         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
64220         Reported by Ralf Wildenhues.
64221
64222 2007-01-24  Bruno Haible  <bruno@clisp.org>
64223
64224         Drop AC_REQUIRE calls that are redundant with the module dependencies.
64225         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
64226         gl_GETADDRINFO.
64227         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
64228         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
64229         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
64230
64231 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
64232
64233         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
64234         Don't use 'exit'; just return from 'main'.
64235         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
64236
64237         * lib/fnmatch_.h: Readjust white space and comments to match
64238         glibc, to avoid spurious diffs.
64239
64240 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64241
64242         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
64243         2004-12-01 change by Jakub Jelinek, since this code won't compile
64244         if !LIBC.  Problem reported by Bob Proulx.
64245
64246 2007-01-23  Bruno Haible  <bruno@clisp.org>
64247
64248         * lib/striconveh.c: Include c-strcaseeq.h.
64249         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
64250         * modules/striconveh (Depends-on): Add c-strcaseeq.
64251
64252 2007-01-23  Bruno Haible  <bruno@clisp.org>
64253
64254         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
64255
64256         * modules/c-strcaseeq: New file.
64257         * lib/c-strcaseeq.h: New file.
64258
64259         * modules/streq: New file.
64260         * lib/streq.h: New file.
64261
64262 2007-01-23  Bruno Haible  <bruno@clisp.org>
64263
64264         * modules/striconveha-tests: New file.
64265         * tests/test-striconveha.c: New file.
64266
64267         * lib/striconveha.h: Include <stdbool.h>.
64268         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
64269         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
64270         (mem_iconveha_notranslit): Renamed from mem_iconveha.
64271         (mem_iconveha): New function.
64272         (str_iconveha_notranslit): Renamed from str_iconveha.
64273         (str_iconveha): New function.
64274         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
64275         c-strcase.
64276
64277 2007-01-23  Bruno Haible  <bruno@clisp.org>
64278
64279         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
64280         encodings without forgiving before trying any encoding with handler.
64281         (str_iconveha): Try all encodings without forgiving before trying any
64282         encoding with handler.
64283
64284 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64285
64286         Import the following changes from libc.
64287
64288         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64289
64290         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
64291
64292         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64293
64294         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
64295         normal_bracket label.
64296
64297         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
64298
64299         [BZ #361]
64300         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
64301         to normal_bracket after fetching the next character.
64302
64303 2007-01-22  Bruno Haible  <bruno@clisp.org>
64304
64305         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
64306         argument.
64307         * lib/striconveh.c (iconv_carefully_1): New function.
64308         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
64309         argument.
64310         (str_cd_iconveh): Update.
64311         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
64312         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
64313         * tests/test-striconveh.c (MAGIC): New macro.
64314         (new_offsets): New function.
64315         (main): Test call with and without offsets.
64316
64317 2007-01-22  Bruno Haible  <bruno@clisp.org>
64318
64319         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
64320         * modules/sys_select (Makefile.am): Likewise.
64321         * modules/sys_socket (Makefile.am): Likewise.
64322         * modules/sys_time (Makefile.am): Likewise.
64323
64324 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64325
64326         * modules/gettimeofday (License): Change from GPL to LGPL, since
64327         gettimeofday is a library function.
64328
64329 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64330
64331         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
64332
64333 2007-01-21  Bruno Haible  <bruno@clisp.org>
64334
64335         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
64336
64337 2007-01-21  Bruno Haible  <bruno@clisp.org>
64338
64339         * modules/striconveha: New file.
64340         * lib/striconveha.h: New file.
64341         * lib/striconveha.c: New file.
64342         * MODULES.html.sh (Internationalization functions): Add striconveha.
64343         * lib/striconv.c (str_iconv): Optimize the case of an empty input
64344         string.
64345         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
64346
64347 2007-01-21  Bruno Haible  <bruno@clisp.org>
64348
64349         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
64350         * lib/striconveh.c (str_iconveh): Likewise.
64351
64352 2007-01-21  Bruno Haible  <bruno@clisp.org>
64353
64354         * lib/striconveh.h (mem_iconveh): New declaration.
64355         * lib/striconveh.c (mem_iconveh): New function.
64356         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
64357
64358 2007-01-21  Bruno Haible  <bruno@clisp.org>
64359
64360         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
64361
64362         * lib/striconveh.h (mem_cd_iconveh): Change specification.
64363         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
64364         original result buffer.
64365         (str_cd_iconveh): Update.
64366         * tests/test-striconveh.c (main): Update.
64367
64368         * lib/striconv.h (mem_cd_iconv): Change specification.
64369         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
64370         result buffer.
64371         (str_cd_iconv): Update.
64372         * tests/test-striconv.c (main): Update.
64373
64374 2007-01-21  Bruno Haible  <bruno@clisp.org>
64375
64376         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
64377
64378 2007-01-20  Jim Meyering  <jim@meyering.net>
64379
64380         * lib/userspec.c (parse_with_separator): If a user or group string
64381         starts with "+", skip the corresponding name-to-ID look-up, since
64382         such a look-up must fail: user and group names may not include "+".
64383
64384 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64385
64386         * lib/poll.c: Include sys/time.h and time.h unconditionally,
64387         since we now assume the sys_time module.
64388         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
64389         check for sys/time.h; no longer needed.
64390         * modules/poll (Depends-on): Depend on sys_time.
64391
64392 2007-01-18  Bruno Haible  <bruno@clisp.org>
64393
64394         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
64395         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64396
64397         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
64398         gettimeofday.
64399
64400         * tests/test-gettimeofday.c: Include <time.h>.
64401         (dummy): Remove variable.
64402
64403         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
64404         gl_HEADER_SYS_TIME_H.
64405         (gl_HEADER_SYS_TIME_H): New macro.
64406
64407         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64408         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64409         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64410         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64411         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64412         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64413         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64414         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64415         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64416         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64417         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64418
64419         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64420         last change; it caused a compilation error when cross-compiling to
64421         Cygwin.
64422
64423 2007-01-18  Jim Meyering  <jim@meyering.net>
64424
64425         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64426         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64427         than the race-prone "test -d sys || mkdir sys".
64428         (configure.ac): Use AC_PROG_MKDIR_P.
64429         * modules/sys_select: Likewise.
64430         * modules/sys_socket: Likewise.
64431         * modules/sys_time: Likewise.
64432
64433 2007-01-18  Eric Blake  <ebb9@byu.net>
64434
64435         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64436         replace gettimeofday.
64437         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64438         name, to avoid infinite recursion.
64439
64440 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64441
64442         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64443         module sys_time.
64444         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64445         assume timespec.h defines struct timeval.
64446         * lib/settime.c: Likewise.
64447         * lib/utimens.c: Likewise.
64448         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64449         since we now assume the gettimeofday module.
64450         * lib/tempname.c (__gen_tempname): Likewise.
64451         * lib/gettimeofday.h: Remove.
64452         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64453         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64454         Include <time.h>, for 'time()'.
64455         (localtime_buffer_addr): Also use this workaround if
64456         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64457         to simplify the uses.  All uses changed.
64458         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64459         that #undef is inside {}, and 'const' follows type name consistently.
64460         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64461         (gettimeofday): Do not use the maximum possible value for
64462         tv->tv_usec, since that might break usages other than ls.c.
64463         Instead, we'll leave ls.c alone.  This undoes today's patch
64464         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64465         we've never observed the problem but might as well keep the
64466         canary.
64467         * lib/nanosleep.c: Include timespec.h first, for interface check.
64468         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64469         now assume the sys_time module.
64470         * lib/tempname.c: Likewise.
64471         * lib/timespec.h: Likewise.
64472         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64473         needed.
64474         * lib/strftime.c: Likewise.
64475         * lib/timespec.h: Likewise.
64476         * lib/posixtm.c: Include posixtm.h first, for interface check.
64477         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64478         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64479         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64480         * lib/sys_time_.h: New file.
64481         * lib/timespec.h (struct timespec): Use long int, not long.
64482         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64483         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64484         Remove obsolescent call to AC_HEADER_TIME.
64485         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64486         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64487         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64488         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64489         Likewise.
64490         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64491         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64492         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64493         into the sys_time module.  Check for gettimeofday just once.
64494         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64495         for gettimeofday signature to just check the signature.  Merely
64496         compile it, since linking doesn't test signature.  Improve test for
64497         whether gettimeofday.o is actually needed.
64498         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64499         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64500         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64501         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64502         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64503         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64504         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64505         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64506         than worrying about sys/time.h.
64507         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64508         Don't bother worrying about TIME_WITH_SYS_TIME.
64509         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64510         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64511         * m4/sys_time_h.m4: New file.
64512         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64513         Don't include sys/time.h.  Return from main rather than exiting.
64514         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64515         all uses changed.
64516         * modules/gethrxtime (Depends-on): Add sys_time.
64517         * modules/gettime (Depends-on): Likewise.
64518         * modules/gettimeofday (Depends-on): Likewise.
64519         * modules/nanosleep (Depends-on): Likewise.
64520         * modules/settime (Depends-on): Likewise.
64521         * modules/tempname (Depends-on): Likewise.
64522         * modules/utimens (Depends-on): Likewise.
64523         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64524         (Include): Change back to <sys/time.h>.
64525         (Maintainer): Add self.
64526         * modules/sys_time: New file.
64527         * modules/tempname (Depends-on): Add gettimeofday.
64528         * tests/test-gettimeofday.c: Include <sys/time.h>
64529         rather than gettimeofday.h.
64530
64531 2007-01-17  Bruno Haible  <bruno@clisp.org>
64532
64533         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64534         the license default to GPL.
64535         (func_create_testdir): Don't complain if a module is LGPL and its
64536         tests module depends on GPLed modules.
64537
64538 2007-01-17  Bruno Haible  <bruno@clisp.org>
64539
64540         * lib/gettimeofday.c (gettimeofday): Add code for the case
64541         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64542         maximum possible value for tv->tv_usec, rather than the minimum one.
64543
64544 2005-10-08  Martin Lambers  <marlam@marlam.de>
64545 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64546 2007-01-16  Bruno Haible  <bruno@clisp.org>
64547
64548         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64549         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64550         gl_FUNC_GETTIMEOFDAY.
64551         (Include): Add gettimeofday.h.
64552         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64553         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64554         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64555         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64556         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64557         * lib/gettimeofday.h: New file.
64558         * lib/gettimeofday.c: Include <sys/timeb.h>.
64559         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64560         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64561         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64562         fall back on time().
64563
64564         * tests/test-gettimeofday.c: New file.
64565         * modules/gettimeofday-tests: New file.
64566
64567 2007-01-16  Eric Blake  <ebb9@byu.net>
64568
64569         * modules/fnmatch (Depends-on): Depend on wchar.
64570         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64571         * m4/fnmatch.m4: Likewise.
64572         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64573         * m4/mbchar.m4: Likewise.
64574         * modules/mbswidth (Depends-on): Depend on wchar.
64575         * lib/mbswidth.c: Assume <wchar.h>.
64576         * m4/mbswidth.m4: Likewise.
64577         * modules/quotearg (Depends-on): Depend on wchar.
64578         * lib/quotearg.c: Assume <wchar.h>.
64579         * m4/quotearg.m4: Likewise.
64580         * modules/regex (Depends-on): Depend on wchar.
64581         * lib/regex_internal.h: Assume <wchar.h>.
64582         * m4/regex.m4: Likewise.
64583         * modules/stdint (Depends-on): Depend on wchar.
64584         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64585         * m4/stdint.m4: Likewise.
64586         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64587         * modules/strftime (Depends-on): Depend on wchar.
64588         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64589         * modules/strtol (Depends-on): Depend on wchar.
64590         * lib/strtol.c: Assume <wchar.h>.
64591         * modules/wcwidth (Depends-on): Depend on wchar.
64592         * lib/wcwidth.h: Assume <wchar.h>.
64593         * m4/wcwidth.m4: Likewise.
64594
64595 2007-01-16  Bruno Haible  <bruno@clisp.org>
64596
64597         * modules/csharpexec-script: New, created from...
64598         * modules/csharpexec: ... this.
64599
64600 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64601
64602         * modules/javaexec-script: New, created from...
64603         * modules/javaexec: ... this.
64604
64605 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64606
64607         * modules/poll (Dependencies): Add sys_select.
64608
64609 2007-01-15  Jim Meyering  <jim@meyering.net>
64610
64611         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64612         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64613         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64614         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64615
64616 2007-01-15  Bruno Haible  <bruno@clisp.org>
64617
64618         * modules/striconveh: New file.
64619         * lib/striconveh.h: New file.
64620         * lib/striconveh.c: New file.
64621         * MODULES.html.sh (Internationalization functions): Add striconveh.
64622
64623         * modules/striconveh-tests: New file.
64624         * tests/test-striconveh.c: New file.
64625
64626 2007-01-15  Bruno Haible  <bruno@clisp.org>
64627
64628         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64629         not from GNU libiconv or GNU libc.
64630
64631 2007-01-15  Bruno Haible  <bruno@clisp.org>
64632
64633         * doc/gnulib-intro.texi (Copyright): Explain the different license
64634         terms for module descriptions, autoconf macros, tests, documentation.
64635
64636 2007-01-14  Bruno Haible  <bruno@clisp.org>
64637
64638         * modules/striconv-tests: New file.
64639         * tests/test-striconv.c: New file.
64640
64641 2007-01-14  Bruno Haible  <bruno@clisp.org>
64642
64643         * modules/iconv-tests: New file.
64644         * tests/test-iconv.c: New file.
64645
64646 2007-01-14  Bruno Haible  <bruno@clisp.org>
64647
64648         * gnulib-tool (func_get_license): For test modules, use the license of
64649         the main module.
64650
64651 2007-01-14  Bruno Haible  <bruno@clisp.org>
64652
64653         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64654         if iconv is found to exist.
64655
64656 2007-01-14  Bruno Haible  <bruno@clisp.org>
64657
64658         * modules/c-ctype-tests: New file.
64659         * tests/test-c-ctype.c: New file.
64660
64661 2007-01-14  Bruno Haible  <bruno@clisp.org>
64662
64663         * modules/binary-io-tests: New file.
64664         * tests/test-binary-io.sh: New file.
64665         * tests/test-binary-io.c: New file.
64666
64667 2007-01-14  Bruno Haible  <bruno@clisp.org>
64668
64669         * modules/array-oset-tests: New file.
64670         * tests/test-array_oset.c: New file.
64671
64672 2007-01-14  Bruno Haible  <bruno@clisp.org>
64673
64674         * modules/array-list-tests: New file.
64675         * tests/test-array_list.c: New file.
64676
64677 2007-01-14  Bruno Haible  <bruno@clisp.org>
64678
64679         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64680         and make.
64681         Reported by Simon Josefsson in
64682         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64683
64684 2007-01-14  Bruno Haible  <bruno@clisp.org>
64685
64686         * modules/allocsa-tests: New file.
64687         * tests/test-allocsa.c: New file.
64688
64689 2007-01-14  Bruno Haible  <bruno@clisp.org>
64690
64691         * modules/fchdir (Depends-on): Add absolute-header.
64692         * modules/unistd (Depends-on): Likewise.
64693
64694 2006-12-30  Bruno Haible  <bruno@clisp.org>
64695
64696         * modules/fchdir: New file.
64697         * modules/unistd (Files): Add lib/unistd_.h.
64698         (Makefile.am): Generate unistd.h from unistd_.h.
64699         * lib/fchdir.c: New file.
64700         * lib/dirent_.h: New file.
64701         * lib/unistd_.h: New file.
64702         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64703         * m4/fchdir.m4: New file.
64704         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64705         (gl_HEADER_UNISTD): Invoke it.
64706         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64707         function.
64708         * lib/backupfile.c (opendir, closedir): Undefine.
64709         * lib/chown.c (open, close): Undefine.
64710         * lib/clean-temp.c (open, close): Undefine.
64711         * lib/copy-file.c (open, close): Undefine.
64712         * lib/execute.c (open, close): Undefine.
64713         * lib/fsusage.c (open, close): Undefine.
64714         * lib/gc-gnulib.c (open, close): Undefine.
64715         * lib/getcwd.c (opendir, closedir): Undefine.
64716         * lib/glob.c (opendir, closedir): Undefine.
64717         * lib/javacomp.c (open, close): Undefine.
64718         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64719         * lib/openat-proc.c (open, close): Undefine.
64720         * lib/pagealign_alloc.c (open, close): Undefine.
64721         * lib/pipe.c (open, close): Undefine.
64722         * lib/progreloc.c (open, close): Undefine.
64723         * lib/savedir.c (opendir, closedir): Undefine.
64724         * lib/utime.c (open, close): Undefine.
64725         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64726
64727 2007-01-10  Bruno Haible  <bruno@clisp.org>
64728
64729         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64730
64731 2007-01-12  Eric Blake  <ebb9@byu.net>
64732
64733         Provide a robust <wchar.h>.  Further simplifications are now
64734         possible in other modules, but not included here.
64735         * modules/wchar: New module.
64736         * m4/wchar.m4: New file.
64737         * lib/wchar_.h: Likewise.
64738         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64739         of the new module.
64740         * MODULES.html.sh (Extended multibyte and wide character utilities):
64741         New section.
64742
64743 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64744
64745         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64746         to a reasonable default for memory allocation.
64747         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64748         file system that reports garbage st_size values for symlinks.
64749         Problem reported by Liyang Hu.
64750
64751 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64752
64753         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64754         Emacs .#* auto-save files).
64755
64756 2007-01-11  Bruno Haible  <bruno@clisp.org>
64757
64758         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64759         directory.
64760
64761 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64762
64763         Use @...@ consistently in lib/wctype_.h.
64764         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64765         on it being set to 1 or 0.
64766         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64767         go back to AC_SUBSTing it.
64768         * modules/wctype (Makefile.am): Undo previous change.
64769
64770 2007-01-10  Eric Blake  <ebb9@byu.net>
64771
64772         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64773         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64774         * modules/wctype (Makefile.am): Likewise.
64775         Reported by Chris McGuire.
64776
64777 2007-01-10  Jim Meyering  <jim@meyering.net>
64778
64779         fts.c: a small readability/maintainability improvement
64780         * lib/fts.c (fts_read): Make this code slightly more readable and
64781         maintainable by hoisting the "sp->fts_cur = p" assignments to
64782         immediately follow the statements that set P.  Derived from
64783         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64784
64785 2007-01-10  Eric Blake  <ebb9@byu.net>
64786
64787         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64788         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64790         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64791         Reported by Chris McGuire.
64792
64793 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64794
64795         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64796         in sed script.
64797
64798 2007-01-09  Bruno Haible  <bruno@clisp.org>
64799
64800         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64801         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64802         variables.
64803         (func_module): Use them.
64804
64805 2007-01-09  Bruno Haible  <bruno@clisp.org>
64806
64807         * modules/unistr/base: New file.
64808         * lib/unistr.h: New file.
64809
64810         * modules/unistr/u8-to-u16: New file.
64811         * lib/unistr/u8-to-u16.c: New file.
64812
64813         * modules/unistr/u8-to-u32: New file.
64814         * lib/unistr/u8-to-u32.c: New file.
64815
64816         * modules/unistr/u16-to-u8: New file.
64817         * lib/unistr/u16-to-u8.c: New file.
64818
64819         * modules/unistr/u16-to-u32: New file.
64820         * lib/unistr/u16-to-u32.c: New file.
64821
64822         * modules/unistr/u32-to-u8: New file.
64823         * lib/unistr/u32-to-u8.c: New file.
64824
64825         * modules/unistr/u32-to-u16: New file.
64826         * lib/unistr/u32-to-u16.c: New file.
64827
64828         * modules/unistr/u8-check: New file.
64829         * modules/unistr/u16-check: New file.
64830         * modules/unistr/u32-check: New file.
64831         * lib/unistr/u8-check.c: New file.
64832         * lib/unistr/u16-check.c: New file.
64833         * lib/unistr/u32-check.c: New file.
64834
64835         * modules/unistr/u8-chr: New file.
64836         * modules/unistr/u16-chr: New file.
64837         * modules/unistr/u32-chr: New file.
64838         * lib/unistr/u8-chr.c: New file.
64839         * lib/unistr/u16-chr.c: New file.
64840         * lib/unistr/u32-chr.c: New file.
64841
64842         * modules/unistr/u8-cmp: New file.
64843         * modules/unistr/u16-cmp: New file.
64844         * modules/unistr/u32-cmp: New file.
64845         * lib/unistr/u8-cmp.c: New file.
64846         * lib/unistr/u16-cmp.c: New file.
64847         * lib/unistr/u32-cmp.c: New file.
64848
64849         * modules/unistr/u8-cpy: New file.
64850         * modules/unistr/u16-cpy: New file.
64851         * modules/unistr/u32-cpy: New file.
64852         * lib/unistr/u8-cpy.c: New file.
64853         * lib/unistr/u16-cpy.c: New file.
64854         * lib/unistr/u32-cpy.c: New file.
64855         * lib/unistr/u-cpy.h: New file.
64856
64857         * modules/unistr/u8-cpy-alloc: New file.
64858         * modules/unistr/u16-cpy-alloc: New file.
64859         * modules/unistr/u32-cpy-alloc: New file.
64860         * lib/unistr/u8-cpy-alloc.c: New file.
64861         * lib/unistr/u16-cpy-alloc.c: New file.
64862         * lib/unistr/u32-cpy-alloc.c: New file.
64863         * lib/unistr/u-cpy-alloc.h: New file.
64864
64865         * modules/unistr/u8-endswith: New file.
64866         * modules/unistr/u16-endswith: New file.
64867         * modules/unistr/u32-endswith: New file.
64868         * lib/unistr/u8-endswith.c: New file.
64869         * lib/unistr/u16-endswith.c: New file.
64870         * lib/unistr/u32-endswith.c: New file.
64871         * lib/unistr/u-endswith.h: New file.
64872
64873         * modules/unistr/u8-mblen: New file.
64874         * modules/unistr/u16-mblen: New file.
64875         * modules/unistr/u32-mblen: New file.
64876         * lib/unistr/u8-mblen.c: New file.
64877         * lib/unistr/u16-mblen.c: New file.
64878         * lib/unistr/u32-mblen.c: New file.
64879
64880         * modules/unistr/u8-mbtouc: New file.
64881         * modules/unistr/u16-mbtouc: New file.
64882         * modules/unistr/u32-mbtouc: New file.
64883         * lib/unistr/u8-mbtouc.c: New file.
64884         * lib/unistr/u16-mbtouc.c: New file.
64885         * lib/unistr/u32-mbtouc.c: New file.
64886
64887         * modules/unistr/u8-mbtouc-safe: New file.
64888         * modules/unistr/u16-mbtouc-safe: New file.
64889         * modules/unistr/u32-mbtouc-safe: New file.
64890         * lib/unistr/u8-mbtouc-safe.c: New file.
64891         * lib/unistr/u16-mbtouc-safe.c: New file.
64892         * lib/unistr/u32-mbtouc-safe.c: New file.
64893
64894         * modules/unistr/u8-move: New file.
64895         * modules/unistr/u16-move: New file.
64896         * modules/unistr/u32-move: New file.
64897         * lib/unistr/u8-move.c: New file.
64898         * lib/unistr/u16-move.c: New file.
64899         * lib/unistr/u32-move.c: New file.
64900         * lib/unistr/u-move.h: New file.
64901
64902         * modules/unistr/u8-next: New file.
64903         * modules/unistr/u16-next: New file.
64904         * modules/unistr/u32-next: New file.
64905         * lib/unistr/u8-next.c: New file.
64906         * lib/unistr/u16-next.c: New file.
64907         * lib/unistr/u32-next.c: New file.
64908
64909         * modules/unistr/u8-prev: New file.
64910         * modules/unistr/u16-prev: New file.
64911         * modules/unistr/u32-prev: New file.
64912         * lib/unistr/u8-prev.c: New file.
64913         * lib/unistr/u16-prev.c: New file.
64914         * lib/unistr/u32-prev.c: New file.
64915
64916         * modules/unistr/u8-set: New file.
64917         * modules/unistr/u16-set: New file.
64918         * modules/unistr/u32-set: New file.
64919         * lib/unistr/u8-set.c: New file.
64920         * lib/unistr/u16-set.c: New file.
64921         * lib/unistr/u32-set.c: New file.
64922         * lib/unistr/u-set.h: New file.
64923
64924         * modules/unistr/u8-startswith: New file.
64925         * modules/unistr/u16-startswith: New file.
64926         * modules/unistr/u32-startswith: New file.
64927         * lib/unistr/u8-startswith.c: New file.
64928         * lib/unistr/u16-startswith.c: New file.
64929         * lib/unistr/u32-startswith.c: New file.
64930         * lib/unistr/u-startswith.h: New file.
64931
64932         * modules/unistr/u8-stpcpy: New file.
64933         * modules/unistr/u16-stpcpy: New file.
64934         * modules/unistr/u32-stpcpy: New file.
64935         * lib/unistr/u8-stpcpy.c: New file.
64936         * lib/unistr/u16-stpcpy.c: New file.
64937         * lib/unistr/u32-stpcpy.c: New file.
64938         * lib/unistr/u-stpcpy.h: New file.
64939
64940         * modules/unistr/u8-stpncpy: New file.
64941         * modules/unistr/u16-stpncpy: New file.
64942         * modules/unistr/u32-stpncpy: New file.
64943         * lib/unistr/u8-stpncpy.c: New file.
64944         * lib/unistr/u16-stpncpy.c: New file.
64945         * lib/unistr/u32-stpncpy.c: New file.
64946         * lib/unistr/u-stpncpy.h: New file.
64947
64948         * modules/unistr/u8-strcat: New file.
64949         * modules/unistr/u16-strcat: New file.
64950         * modules/unistr/u32-strcat: New file.
64951         * lib/unistr/u8-strcat.c: New file.
64952         * lib/unistr/u16-strcat.c: New file.
64953         * lib/unistr/u32-strcat.c: New file.
64954         * lib/unistr/u-strcat.h: New file.
64955
64956         * modules/unistr/u8-strchr: New file.
64957         * modules/unistr/u16-strchr: New file.
64958         * modules/unistr/u32-strchr: New file.
64959         * lib/unistr/u8-strchr.c: New file.
64960         * lib/unistr/u16-strchr.c: New file.
64961         * lib/unistr/u32-strchr.c: New file.
64962
64963         * modules/unistr/u8-strcmp: New file.
64964         * modules/unistr/u16-strcmp: New file.
64965         * modules/unistr/u32-strcmp: New file.
64966         * lib/unistr/u8-strcmp.c: New file.
64967         * lib/unistr/u16-strcmp.c: New file.
64968         * lib/unistr/u32-strcmp.c: New file.
64969
64970         * modules/unistr/u8-strcpy: New file.
64971         * modules/unistr/u16-strcpy: New file.
64972         * modules/unistr/u32-strcpy: New file.
64973         * lib/unistr/u8-strcpy.c: New file.
64974         * lib/unistr/u16-strcpy.c: New file.
64975         * lib/unistr/u32-strcpy.c: New file.
64976         * lib/unistr/u-strcpy.h: New file.
64977
64978         * modules/unistr/u8-strcspn: New file.
64979         * modules/unistr/u16-strcspn: New file.
64980         * modules/unistr/u32-strcspn: New file.
64981         * lib/unistr/u8-strcspn.c: New file.
64982         * lib/unistr/u16-strcspn.c: New file.
64983         * lib/unistr/u32-strcspn.c: New file.
64984         * lib/unistr/u-strcspn.h: New file.
64985
64986         * modules/unistr/u8-strdup: New file.
64987         * modules/unistr/u16-strdup: New file.
64988         * modules/unistr/u32-strdup: New file.
64989         * lib/unistr/u8-strdup.c: New file.
64990         * lib/unistr/u16-strdup.c: New file.
64991         * lib/unistr/u32-strdup.c: New file.
64992         * lib/unistr/u-strdup.h: New file.
64993
64994         * modules/unistr/u8-strlen: New file.
64995         * modules/unistr/u16-strlen: New file.
64996         * modules/unistr/u32-strlen: New file.
64997         * lib/unistr/u8-strlen.c: New file.
64998         * lib/unistr/u16-strlen.c: New file.
64999         * lib/unistr/u32-strlen.c: New file.
65000         * lib/unistr/u-strlen.h: New file.
65001
65002         * modules/unistr/u8-strmblen: New file.
65003         * modules/unistr/u16-strmblen: New file.
65004         * modules/unistr/u32-strmblen: New file.
65005         * lib/unistr/u8-strmblen.c: New file.
65006         * lib/unistr/u16-strmblen.c: New file.
65007         * lib/unistr/u32-strmblen.c: New file.
65008
65009         * modules/unistr/u8-strmbtouc: New file.
65010         * modules/unistr/u16-strmbtouc: New file.
65011         * modules/unistr/u32-strmbtouc: New file.
65012         * lib/unistr/u8-strmbtouc.c: New file.
65013         * lib/unistr/u16-strmbtouc.c: New file.
65014         * lib/unistr/u32-strmbtouc.c: New file.
65015
65016         * modules/unistr/u8-strncat: New file.
65017         * modules/unistr/u16-strncat: New file.
65018         * modules/unistr/u32-strncat: New file.
65019         * lib/unistr/u8-strncat.c: New file.
65020         * lib/unistr/u16-strncat.c: New file.
65021         * lib/unistr/u32-strncat.c: New file.
65022         * lib/unistr/u-strncat.h: New file.
65023
65024         * modules/unistr/u8-strncmp: New file.
65025         * modules/unistr/u16-strncmp: New file.
65026         * modules/unistr/u32-strncmp: New file.
65027         * lib/unistr/u8-strncmp.c: New file.
65028         * lib/unistr/u16-strncmp.c: New file.
65029         * lib/unistr/u32-strncmp.c: New file.
65030
65031         * modules/unistr/u8-strncpy: New file.
65032         * modules/unistr/u16-strncpy: New file.
65033         * modules/unistr/u32-strncpy: New file.
65034         * lib/unistr/u8-strncpy.c: New file.
65035         * lib/unistr/u16-strncpy.c: New file.
65036         * lib/unistr/u32-strncpy.c: New file.
65037         * lib/unistr/u-strncpy.h: New file.
65038
65039         * modules/unistr/u8-strnlen: New file.
65040         * modules/unistr/u16-strnlen: New file.
65041         * modules/unistr/u32-strnlen: New file.
65042         * lib/unistr/u8-strnlen.c: New file.
65043         * lib/unistr/u16-strnlen.c: New file.
65044         * lib/unistr/u32-strnlen.c: New file.
65045         * lib/unistr/u-strnlen.h: New file.
65046
65047         * modules/unistr/u8-strpbrk: New file.
65048         * modules/unistr/u16-strpbrk: New file.
65049         * modules/unistr/u32-strpbrk: New file.
65050         * lib/unistr/u8-strpbrk.c: New file.
65051         * lib/unistr/u16-strpbrk.c: New file.
65052         * lib/unistr/u32-strpbrk.c: New file.
65053         * lib/unistr/u-strpbrk.h: New file.
65054
65055         * modules/unistr/u8-strrchr: New file.
65056         * modules/unistr/u16-strrchr: New file.
65057         * modules/unistr/u32-strrchr: New file.
65058         * lib/unistr/u8-strrchr.c: New file.
65059         * lib/unistr/u16-strrchr.c: New file.
65060         * lib/unistr/u32-strrchr.c: New file.
65061
65062         * modules/unistr/u8-strspn: New file.
65063         * modules/unistr/u16-strspn: New file.
65064         * modules/unistr/u32-strspn: New file.
65065         * lib/unistr/u8-strspn.c: New file.
65066         * lib/unistr/u16-strspn.c: New file.
65067         * lib/unistr/u32-strspn.c: New file.
65068         * lib/unistr/u-strspn.h: New file.
65069
65070         * modules/unistr/u8-strstr: New file.
65071         * modules/unistr/u16-strstr: New file.
65072         * modules/unistr/u32-strstr: New file.
65073         * lib/unistr/u8-strstr.c: New file.
65074         * lib/unistr/u16-strstr.c: New file.
65075         * lib/unistr/u32-strstr.c: New file.
65076         * lib/unistr/u-strstr.h: New file.
65077
65078         * modules/unistr/u8-strtok: New file.
65079         * modules/unistr/u16-strtok: New file.
65080         * modules/unistr/u32-strtok: New file.
65081         * lib/unistr/u8-strtok.c: New file.
65082         * lib/unistr/u16-strtok.c: New file.
65083         * lib/unistr/u32-strtok.c: New file.
65084         * lib/unistr/u-strtok.h: New file.
65085
65086         * modules/unistr/u8-uctomb: New file.
65087         * modules/unistr/u16-uctomb: New file.
65088         * modules/unistr/u32-uctomb: New file.
65089         * lib/unistr/u8-uctomb.c: New file.
65090         * lib/unistr/u16-uctomb.c: New file.
65091         * lib/unistr/u32-uctomb.c: New file.
65092
65093         * MODULES.html.sh (Unicode string functions): Add the new modules.
65094
65095 2007-01-08  Bruno Haible  <bruno@clisp.org>
65096
65097         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
65098         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
65099         subdirectories.
65100
65101 2007-01-08  Karl Berry  <karl@gnu.org>
65102
65103         * doc/error.texi: mention that main() fns must set program_name
65104         when progname is used.
65105
65106 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
65107
65108         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
65109         WCTYPE_H is empty, for the benefit of builds from non-distclean
65110         directories.  Problem reported by Eric Blake in
65111         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
65112
65113 2007-01-08  Bruno Haible  <bruno@clisp.org>
65114
65115         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
65116         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
65117         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
65118         PROVIDE_CANONICALIZE_FILENAME_MODE.
65119         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
65120
65121 2007-01-08  Bruno Haible  <bruno@clisp.org>
65122
65123         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
65124         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
65125         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
65126         * lib/fts.c: Likewise.
65127         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
65128
65129 2006-12-25  Bruno Haible  <bruno@clisp.org>
65130
65131         * modules/utf8-ucs4-safe: New file.
65132         * lib/utf8-ucs4-safe.h: New file.
65133         * lib/unistr/utf8-ucs4-safe.c: New file.
65134
65135         * modules/utf16-ucs4-safe: New file.
65136         * lib/utf16-ucs4-safe.h: New file.
65137         * lib/unistr/utf16-ucs4-safe.c: New file.
65138
65139         * MODULES.html.sh (Unicode string functions): Add the new modules.
65140
65141 2007-01-08  Bruno Haible  <bruno@clisp.org>
65142
65143         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
65144         (Depends-on): Add unitypes.
65145         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
65146         (u8_mbtouc_aux): Move out to separate file.
65147         (u8_mbtouc): Use ucs4_t, uint8_t types.
65148         * lib/unistr/utf8-ucs4.c: New file.
65149
65150         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
65151         (Depends-on): Add unitypes.
65152         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
65153         (u16_mbtouc_aux): Move out to separate file.
65154         (u16_mbtouc): Use ucs4_t, uint16_t types.
65155         * lib/unistr/utf16-ucs4.c: New file.
65156
65157         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
65158         (Depends-on): Add unitypes.
65159         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
65160         (u8_uctomb_aux): Move out to separate file.
65161         (u8_uctomb): Use ucs4_t, uint8_t types.
65162         * lib/unistr/ucs4-utf8.c: New file.
65163
65164         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
65165         (Depends-on): Add unitypes.
65166         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
65167         (u16_uctomb_aux): Move out to separate file.
65168         (u16_uctomb): Use ucs4_t, uint16_t types.
65169         * lib/unistr/ucs4-utf16.c: New file.
65170
65171 2006-12-25  Bruno Haible  <bruno@clisp.org>
65172
65173         * modules/unitypes: New file.
65174         * lib/unitypes.h: New file.
65175         * MODULES.html.sh (func_all_modules): New section "Unicode string
65176         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
65177         this section. Add unitypes.
65178
65179 2007-01-08  Bruno Haible  <bruno@clisp.org>
65180
65181         Avoid variable names that conflict with those from libtool.
65182         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
65183         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
65184         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
65185         library_names_spec to acl_library_names_spec, hardcode_* to
65186         acl_hardcode_*.
65187         Reported by Ralf Wildenhues.
65188
65189 2007-01-08  Bruno Haible  <bruno@clisp.org>
65190
65191         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
65192         definition.
65193         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
65194         definition.
65195         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
65196         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
65197         definition.
65198         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
65199         definition.
65200         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
65201         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
65202         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
65203         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
65204         definition.
65205         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
65206         definition.
65207         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
65208         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
65209         GC_USE_<algorithm>.
65210         * lib/gc-libgcrypt.c: Likewise.
65211         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
65212         * modules/gc-arctwo (configure.ac): Likewise.
65213         * modules/gc-des (configure.ac): Likewise.
65214         * modules/gc-hmac-md5 (configure.ac): Likewise.
65215         * modules/gc-hmac-sha1 (configure.ac): Likewise.
65216         * modules/gc-md2 (configure.ac): Likewise.
65217         * modules/gc-md4 (configure.ac): Likewise.
65218         * modules/gc-md5 (configure.ac): Likewise.
65219         * modules/gc-random (configure.ac): Likewise.
65220         * modules/gc-rijndael (configure.ac): Likewise.
65221         * modules/gc-sha1 (configure.ac): Likewise.
65222
65223 2007-01-08  Bruno Haible  <bruno@clisp.org>
65224
65225         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
65226         macro definition.
65227         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
65228         definition.
65229         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
65230         definition.
65231         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
65232         * modules/fcntl-safer (configure.ac): Likewise.
65233         * modules/fopen-safer (configure.ac): Likewise.
65234         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
65235         GNULIB_FWRITEERROR macro definition.
65236
65237 2007-01-08  Bruno Haible  <bruno@clisp.org>
65238
65239         * m4/gnulib-common.m4: New file.
65240         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
65241         (func_get_filelist): Add m4/gnulib-common.m4.
65242
65243 2007-01-08  Bruno Haible  <bruno@clisp.org>
65244
65245         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
65246         command.
65247
65248 2007-01-08  Jim Meyering  <jim@meyering.net>
65249
65250         Use a more robust test for a "can't happen" condition.
65251         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
65252         narrowed the st_size value.  Presuming the "can't happen" condition
65253         is true, that narrowing could conceivably convert an invalid st_size
65254         value into a valid one.  Instead, use a change based on Matthew
65255         Woehlke's original patch.
65256
65257         Slight readability improvement: use an assert-like macro
65258         in place of literal "abort ()" uses.
65259         * lib/fts.c (fts_assert): Define.
65260         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
65261         Use this macro instead of a bare 'abort'.
65262
65263 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
65264
65265         Don't worry about using IRIX 5.3's wctype.h broken definitions;
65266         simply work around them.
65267         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
65268         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
65269         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
65270         declaring.
65271         Don't bother to define as macros, since the standard doesn't require it.
65272         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
65273         longer worry about IRIX 5.3.
65274         (HAVE_WCTYPE_CTMP_BUG): Remove.
65275
65276 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65277
65278         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
65279         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
65280         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65281         Problems reported by Georg Schwarz for IRIX 5.3.
65282
65283         * gnulib-tool (autoconf_minversion): Take the maximum version number
65284         found, not the minimum.  Problem reported by James Youngman.
65285
65286 2007-01-03  Karl Berry  <karl@gnu.org>
65287
65288         * doc/error.texi: new file, explaining interaction with progname.
65289         * doc/gnulib.texi: include it.  Update copyright.
65290
65291 2007-01-03  Simon Josefsson  <simon@josefsson.org>
65292
65293         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
65294         AC_CANONICAL_HOST, to improve autobuild outputs.
65295
65296 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
65297             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65298
65299         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
65300         sockets, server sockets, and other file descriptors.  Count errors
65301         to compute the return value.  Reorder the code a bit to be easier
65302         to follow.  Don't set event bits that were not requested (except
65303         POLLERR and POLLHUP).
65304
65305 2007-01-01  Bruno Haible  <bruno@clisp.org>
65306
65307         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
65308
65309 2007-01-03  Jim Meyering  <jim@meyering.net>
65310
65311         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
65312
65313 2007-01-02  Bruno Haible  <bruno@clisp.org>
65314
65315         * modules/settime (Include): Require timespec.h.
65316         * modules/nanosleep (Include): Likewise.
65317
65318 2007-01-01  Bruno Haible  <bruno@clisp.org>
65319
65320         * gnulib-tool (func_emit_copyright_notice): Bump year.
65321         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
65322
65323 2007-01-01  Bruno Haible  <bruno@clisp.org>
65324
65325         Improve support for OpenBSD.
65326         * build-aux/config.rpath (libname_spec): Export.
65327         (library_names_spec): New variable. Export.
65328         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
65329         library_names_spec from the config.rpath output. Locate shared library
65330         through the name pattern in library_names_spec.
65331
65332 2007-01-01  Eric Blake  <ebb9@byu.net>
65333
65334         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
65335
65336 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
65337
65338         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
65339         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
65340         assume the C locale, and avoid an "eval" that could cause trouble.
65341         Problem with SORT reported by Bob Proulx.
65342
65343         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
65344         Define.  Trivial patch from Henning Nielsen Lund, originally
65345         sent to bug-grep@gnu.org today.
65346
65347 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
65348
65349         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
65350         struct stat.  Problem reported by Henning Nielsen Lund.
65351         * lib/acl.c: Include acl.h first, to check interface.  Don't
65352         bother to include sys/types.h and sys/stat.h again.
65353
65354 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65355
65356         Import the following change from libc; problem reported by
65357         Sven Verdoolaege.
65358
65359         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
65360
65361         [BZ #1373]
65362         * lib/argp.h: Remove __NTH for __argp_usage inline function.
65363
65364 2006-12-28  Jim Meyering  <jim@meyering.net>
65365
65366         * build-aux/announce-gen: Do not assume that the package
65367         builds any of tar.gz, tar.bz2, and .xdelta files.
65368         Suggestion from Simon Josefsson.
65369
65370 2006-12-28  Simon Josefsson  <simon@josefsson.org>
65371
65372         * modules/announce-gen: New file.
65373
65374 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
65375
65376         * lib/mbchar.h: Just include <wctype.h>; the wctype module
65377         handles its gotchas now.
65378         * lib/mbswidth.c: Likewise.
65379         * lib/wcwidth.h: Likewise.
65380         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
65381         and iswcntrl; the wctype module does this stuff now.
65382         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65383         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65384         * modules/mbchar (Depends-on): Add wctype.
65385         * modules/mbswidth (Depends-on): Likewise.
65386         * modules/wcwidth (Depends-on): Likewise.
65387
65388 2006-12-27  Eric Blake  <ebb9@byu.net>
65389
65390         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
65391         module uses more than what <wctype.h> is required to provide.
65392
65393 2006-12-26  Eric Blake  <ebb9@byu.net>
65394
65395         * gnulib-tool (sed_extract_prog): Avoid space-tab.
65396
65397 2006-12-26  Eric Blake  <ebb9@byu.net>
65398
65399         * modules/absolute-header: New module.
65400         * modules/fcntl (Depends-on): Depend on it.
65401         * modules/inttypes (Depends-on): Likewise.
65402         * modules/stdint (Depends-on): Likewise.
65403         * modules/sys_stat (Depends-on): Likewise.
65404         * modules/wctype (Depends-on): Likewise.
65405         * MODULES.html.sh (Support for building libraries and
65406         executables): Document it.
65407
65408 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65409
65410         * gnulib-tool (SED): Remove, undoing previous change.
65411         The problem was that it broke coreutils on Solaris, because
65412         "sed --posix" leaked into a makefile.
65413         (sed): New alias, if 'alias' and GNU sed.
65414
65415 2006-12-24  Jim Meyering  <jim@meyering.net>
65416
65417         Work around an fchownat bug in glibc-2.4:
65418         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65419         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65420         in spite of the -P option.
65421         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65422         New macros.
65423         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65424         * modules/openat (Files): Add lib/fchownat.c.
65425         * lib/openat.c (fchownat): Don't define here.  Move to...
65426         * lib/fchownat.c: ...this new file.
65427
65428 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65429
65430         Fix bug reported by Bruno Haible in
65431         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65432         where quotearg.c didn't compile on Mac OS X 10.2 because it
65433         lacks <wchar.h> and wint_t.
65434         * lib/wctype_.h (__wctype_wint_t): New type.
65435         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65436         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65437         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65438         Arg is now of type __wctype_wint_t, not wint_t.
65439         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65440         substitute HAVE_WINT_T.
65441         * modules/wctype (Files): Add m4/wint_t.m4.
65442         (wctype.h): Substitute HAVE_WINT_T.
65443
65444 2006-12-23  Bruno Haible  <bruno@clisp.org>
65445
65446         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65447
65448 2006-12-23  Bruno Haible  <bruno@clisp.org>
65449
65450         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65451         S_ISLNK.
65452         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65453         mingw.
65454
65455 2006-12-22  Bruno Haible  <bruno@clisp.org>
65456
65457         * lib/copy-file.c: Include acl.h.
65458         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65459         Close the file descriptors only after being done with copy_acl.
65460         * modules/copy-file (Depends-on): Add acl.
65461
65462 2006-12-22  Bruno Haible  <bruno@clisp.org>
65463
65464         * gnulib-tool (SED): New variable.
65465         Use $SED instead of sed everywhere.
65466
65467 2006-12-22  Bruno Haible  <bruno@clisp.org>
65468
65469         * modules/no-c++: New file.
65470         * m4/no-c++.m4: New file.
65471         * MODULES.html.sh (Support for building libraries and executables):
65472         Add no-c++.
65473
65474 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65475
65476         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65477         Include <limits.h>, and use its INT_MAX to rewrite the
65478         j loop so that it does not overflow 'int'.  Problem reported by
65479         Ralf Wildenhues in
65480         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65481         Play it safe by shifting left by 1 rather than multiplying by 2,
65482         as GCC is less likely to optimize this away when the value
65483         is signed (when it assumes overflow leads to undefined behavior).
65484         Also, don't assume time_t uses two's complement.
65485
65486 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65487
65488         * MODULES.html.sh: New module wctype.
65489         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65490         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65491         <wctype.h>, since the new wctype module should fix this.
65492         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65493         the wctype module should arrange for it.
65494         * lib/regex_internal.h: Likewise.
65495         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65496         since the wctype module should handle this now.
65497         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65498         * modules/fnmatch (Depends-on): Add wctype.
65499         * modules/quotearg (Depends-on): Likewise.
65500         * modules/regex (Depends-on): Likewise.
65501
65502 2006-12-19  Bruno Haible  <bruno@clisp.org>
65503
65504         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65505         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65506
65507 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65508
65509         * modules/savewd (Depends-on): Fix dependency on fcntl.
65510
65511 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65512
65513         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65514         conforms to C99, rather than relying on the user's environment
65515         setting of STDINT_H.
65516
65517 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65518         and Eric Blake  <ebb9@byu.net>
65519
65520         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65521         This is more consistent with the other defines here.
65522         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65523         Port to z/OS.  Problem reported by Paul Gilmartin.
65524         Change local vars to use gl_ prefix rather than ac_.
65525         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65526         with other defines.
65527         * modules/double-slash-root: New module.
65528         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65529         (Depends-on): Add double-slash-root.
65530         * MODULES.html.sh (File system functions): Mention new module.
65531
65532 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65533
65534         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65535         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65536         This is for the benefit of gzip, which doesn't do i18n.
65537
65538 2006-12-12  Jim Meyering  <jim@meyering.net>
65539
65540         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65541         Reported by Andreas Schwab <schwab@suse.de>.
65542
65543 2006-12-12  Bruno Haible  <bruno@clisp.org>
65544
65545         Merge these changes.
65546         2006-09-05  Bruno Haible  <bruno@clisp.org>
65547         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65548         iconv_alloc succeeded.
65549         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65550         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65551         test for " && dest " at the end - dest is always != NULL there. Call
65552         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65553         with 2xNULL arguments, also to flush the state storage. Handle the
65554         IRIX iconv behaviour. Realloc the final result, to throw away unused
65555         memory.
65556
65557 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65558
65559         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65560         and fchmodat unconditionally, since glibc 2.4 has them.
65561         Problem reported by Arkadiusz Miskiewicz.
65562
65563 2006-12-10  Bruno Haible  <bruno@clisp.org>
65564
65565         * gnulib-tool (func_import): Show the include files only for those
65566         modules that are copied and specified.
65567         Reported by Karl Berry.
65568
65569 2006-12-08  Jim Meyering  <jim@meyering.net>
65570
65571         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65572         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65573
65574         * build-aux/announce-gen: Add two new options, both optional:
65575         --bootstrap-tools=TOOL_LIST
65576               a comma-separated list of tools, e.g.,
65577               autoconf,automake,bison,gnulib
65578         --gnulib-snapshot-date=DATE
65579               if gnulib is in the bootstrap tool list,
65580               then report this as the snapshot date.
65581               If not specified, use the current date/time.
65582               If you specify a date here, be sure it's UTC.
65583
65584 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65585
65586         * tests/test-argp-2.sh: Fix test to match actual output.
65587         (func_compare): Fix sed script to be portable.
65588
65589 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65590
65591         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65592         workaround for this case.  It is not autoconfigured now; offhand
65593         it's hard to see how to autoconfigure it.
65594
65595 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65596
65597         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65598         a directory that is about to be chowned.  Such a directory's
65599         initial file permissions should permit the owner only and this
65600         should not be changed until after the chown, since the group and
65601         other bits would be incorrect if they granted permission before
65602         the chown.
65603
65604         Fix porting problem for iswctype reported by Georg Schwarz in:
65605         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65606         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65607         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65608         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65609         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65610
65611 2006-12-03  Jim Meyering  <jim@meyering.net>
65612
65613         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65614         p->fts_statp may not yet be defined.
65615         (fts_read): Instead, set it in the caller, once p->fts_statp is
65616         sure to be defined, and corresponds to a top-level directory.
65617         This bug made du -x fail.  Here's the coreutils test case:
65618         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65619         Reported by Mike Frysinger.
65620
65621 2006-12-01  Jim Meyering  <jim@meyering.net>
65622
65623         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65624         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65625         Reported by Simon Josefsson.
65626
65627 2006-11-30  Jim Meyering  <jim@meyering.net>
65628
65629         * m4/warning.m4: Use the all-permissive copyright notice
65630         recommended by RMS (rather than LGPL).
65631         * m4/vararrays.m4: Likewise.
65632         * m4/flexmember.m4: Likewise.
65633
65634 2006-11-29  Bruno Haible  <bruno@clisp.org>
65635
65636         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65637         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65638         using +=.
65639         Reported by Simon Josefsson <simon@josefsson.org>.
65640
65641 2006-11-28  James Youngman <jay@gnu.org>
65642
65643         * README: Advise users that they might find the bug-gnulib@gnu.org
65644         and autotools-announce@gnu.org mailing lists useful.
65645
65646 2006-11-28  Bruno Haible  <bruno@clisp.org>
65647
65648         * m4/ptrdiff_max.m4: Remove file.
65649
65650 2006-11-21  Bruno Haible  <bruno@clisp.org>
65651
65652         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65653         _AC_COMPUTE_INT.
65654         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65655         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65656         _AC_COMPUTE_INT.
65657         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65658         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65659         _AC_COMPUTE_INT.
65660         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65661
65662 2006-11-28  Jim Meyering  <jim@meyering.net>
65663
65664         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65665         warning from "gcc -Wshadow" about shadowing the builtin.
65666
65667 2006-11-27  Bruno Haible  <bruno@clisp.org>
65668
65669         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65670         _AC_COMPUTE_INT.
65671         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65672
65673 2006-11-27  Bruno Haible  <bruno@clisp.org>
65674             Paul Eggert  <eggert@cs.ucla.edu>
65675
65676         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65677
65678 2006-11-26  Bruno Haible  <bruno@clisp.org>
65679
65680         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65681         noinst_LTLIBRARIES.
65682
65683 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65684             Bruno Haible  <bruno@clisp.org>
65685
65686         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65687         if compiling with "gcc -ansi".
65688
65689 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65690
65691         Fix some incompatibilities with gcc -ansi -pedantic.
65692         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65693         if compiling pedantically with GCC, unless it's C99 or later.
65694         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65695         it mishandles gcc -ansi -pedantic as well.
65696         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65697         if gcc -pedantic.
65698         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65699         initializers for struct if -pedantic, unless it's C99 or later.
65700
65701 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65702
65703         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65704         Don't close an fd more than once. Identical atimes indicate
65705         success, not failure.
65706
65707 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65708
65709         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65710
65711 2006-11-23  Jim Meyering  <jim@meyering.net>
65712
65713         * build-aux/announce-gen: New file.  From coreutils.
65714
65715 2006-11-22  Jim Meyering  <jim@meyering.net>
65716
65717         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65718         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65719         (fts_read): Use a temporary to narrow the overused st_size member
65720         before using it in a switch statement.  Reported by Matthew Woehlke.
65721
65722         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65723         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65724
65725 2006-11-20  Bruno Haible  <bruno@clisp.org>
65726
65727         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65728         changequote instead of pairs of brackets.
65729         Reported by Andreas Schwab <schwab@suse.de>.
65730
65731 2006-11-21  Jim Meyering  <jim@meyering.net>
65732
65733         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65734         so as to remain compatible with older compilers.
65735         Patch from Michael Deutschmann.
65736
65737 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65738
65739         * MODULES.html.sh (File system functions): Add openat.
65740
65741         * lib/openat.h (rpl_fstatat): New macro, if
65742         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65743         (fstatat): Define to rpl_fstatat under the same conditions,
65744         unless COMPILING_FSTATAT.
65745         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65746         seems to have the bug.
65747         * lib/fstatat.c: New file.
65748         * modules/openat (Files): Add it.
65749
65750 2006-11-20  Bruno Haible  <bruno@clisp.org>
65751
65752         * Makefile: New file.
65753
65754 2006-11-20  Jim Meyering  <jim@meyering.net>
65755
65756         The beginnings of syntax-related checks for gnulib.
65757         * lib/Makefile: New file.
65758         * lib/t-idcache: New script.  Ensure that the two halves of
65759         idcache.c stay in sync.
65760
65761         * lib/idcache.c: Adjust comments in user- and group- portions to
65762         be more accurate, and to be consistent with one another.
65763
65764 2006-11-20  Jim Meyering  <jim@meyering.net>
65765
65766         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65767         continue using the flexible array member (thus, this module performs
65768         half as many malloc calls), with the addition that...
65769         (getgroup, getuser): Consistently record a non-match via an empty
65770         "name" string, and map an empty string match to a NULL return value.
65771         * modules/idcache (Depends-on): Re-add flexmember.
65772
65773         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65774         (getuidbyname, getgroup, getgidbyname): Likewise.
65775
65776         Use cleaner syntax: NULL rather than 0.
65777         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65778
65779 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65780
65781         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65782         It mishandled the case where the group was missing.
65783         Problem reported by Greg Schafer.
65784         * modules/idcache: Likewise.
65785
65786 2006-11-18  Jim Meyering  <jim@meyering.net>
65787
65788         * check-module (%exempt_header): Add exception for some
65789         conditionally-included headers.
65790
65791         * modules/i-ring (Depends-on): Add verify.
65792         (License): Change to LGPL.
65793
65794 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65795
65796         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65797         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65798         and inttostr.h.  Use snprintf rather than uinttostr, so that
65799         LGPLed code doesn't depend on GPLed.
65800
65801 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65802
65803         * modules/inline (License): Change from GPL to LGPL.
65804
65805 2006-11-17  Jim Meyering  <jim@meyering.net>
65806
65807         * modules/d-type (License): Switch to LGPL.
65808
65809 2006-11-15  Bruno Haible  <bruno@clisp.org>
65810
65811         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65812
65813 2006-11-15  Eric Blake  <ebb9@byu.net>
65814
65815         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65816         the module dependency.
65817
65818 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65819             Bruno Haible  <bruno@clisp.org>
65820
65821         * gnulib-tool (func_create_testdir): Add license consistency check.
65822
65823 2006-11-15  Eric Blake  <ebb9@byu.net>
65824
65825         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65826         random "(cached)" in configure output.
65827
65828 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65829
65830         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65831         test for conforming inttypes.h is both announced and cached.
65832
65833         * MODULES.html.sh (seen_modules, seen_files): New variables.
65834         (func_module): Rewrite to use a few less gnulib-tool and sed
65835         invocations.  Avoid a couple of quadratic algorithms for ...
65836         (missed_modules, missed_files): ... these, with ...
65837         (func_append, func_tmpdir): ... these new functions, from
65838         gnulib-tool.  Analogously, install traps for cleanup.
65839
65840         * tests/test-gc.c (main): Remove unused variables.
65841         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65842
65843 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65844
65845         * modules/inttostr (License): Change to LGPL.
65846
65847 2006-11-14  Eric Blake  <ebb9@byu.net>
65848
65849         * modules/tempname (License): Change to LGPL.
65850
65851 2006-11-14  Eric Blake  <ebb9@byu.net>
65852
65853         * doc/functions.texi (Function Portability): *printf functions on
65854         Cygwin now understand all POSIX size specifiers.
65855
65856 2006-11-14  Bruno Haible  <bruno@clisp.org>
65857
65858         * modules/c-ctype (License): Change to LGPL.
65859
65860 2006-11-12  Bruno Haible  <bruno@clisp.org>
65861
65862         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65863         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65864         for GNOME libraries, for which the include files are installed in
65865         subdirectories of $prefix/include.
65866
65867 2006-11-12  Bruno Haible  <bruno@clisp.org>
65868
65869         * m4/lib-link.m4: Require at least autoconf-2.54.
65870         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65871         name to underscores for the --with option.
65872
65873 2006-11-13  Bruno Haible  <bruno@clisp.org>
65874
65875         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65876         the tests directory.
65877         Reported by Ralf Wildenhues.
65878
65879 2006-11-13  Bruno Haible  <bruno@clisp.org>
65880
65881         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65882         (func_emit_initmacro_end): Undo the override here.
65883         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65884         Works around the famous automake error in coreutils.
65885
65886 2006-11-13  Eric Blake  <ebb9@byu.net>
65887
65888         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65889         element, not its node.
65890
65891 2006-11-12  Bruno Haible  <bruno@clisp.org>
65892
65893         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65894         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65895
65896 2006-11-12  Bruno Haible  <bruno@clisp.org>
65897
65898         * gnulib-tool: New option --local-symlink.
65899         (func_usage): Document it.
65900         (lsymbolic): New variable.
65901         (func_import, func_create_testdir): If --symlink was not specified,
65902         test whether --local-symlink was specified and the file comes from
65903         the local_gnulib_dir.
65904
65905 2006-11-12  Bruno Haible  <bruno@clisp.org>
65906
65907         * gnulib-tool (func_ln): New function.
65908         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65909
65910 2006-11-12  Bruno Haible  <bruno@clisp.org>
65911
65912         Finish support for source files in subdirectories.
65913         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65914         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65915         AUTOMAKE_OPTIONS.
65916         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65917
65918 2006-11-12  Bruno Haible  <bruno@clisp.org>
65919
65920         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65921         EXTRA_lib_SOURCES augmentation.
65922         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65923
65924 2006-11-12  Jim Meyering  <jim@meyering.net>
65925
65926         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65927         file descriptors.  This also averts a failure on systems with
65928         native openat support when a traversed directory lacks "x" access.
65929         * lib/fts_.h: Include "i-ring.h"
65930         (struct FTS) [fts_fd_ring]: New member.
65931         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65932         (FCHDIR): Add parentheses.
65933         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65934         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65935         When descending, rather than simply closing the previous
65936         fts_cwd_fd value, push that file descriptor onto the ring.
65937         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65938         (fts_open): Initialize the new fd_ring member.
65939         (fts_close): Clear the ring.
65940         (fts_safe_changedir): When possible, use our new fd_ring to skip
65941         the diropen and fstat and dev/ino comparison that would normally
65942         accompany a virtual `chdir ("..")'.
65943
65944         * modules/fts (Depends-on): Add i-ring.
65945         * modules/i-ring: New module.
65946         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65947         * m4/i-ring.m4: New file.
65948
65949 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65950
65951         * gnulib-tool (func_create_testdir): Fix replacement of
65952         `build-aux' in configure.ac.  Run autotools in gltests
65953         subdirectory.
65954         (func_create_testdir, func_create_megatestdir, test): There is
65955         no need for '--force' in most autotool invocations in a new
65956         tree.  Actually fail the whole test if any of the tools, or the
65957         configure or make stages fail.
65958
65959         Sync from Automake.
65960         * build-aux/gnupload: Revert last change.  Add pointer to upload
65961         instructions of the GNU Maintenance Instructions.
65962         Suggestion by Karl Berry.
65963
65964 2006-11-10  Jim Meyering  <jim@meyering.net>
65965
65966         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65967
65968 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65969
65970         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65971         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65972         (bind_textdomain_codeset) [! ENABLE_NLS]:
65973         Evaluate all the arguments.  That way, callers get compatible behavior
65974         if the arguments have side effects.  Also, it avoids some GCC
65975         diagnostics in some cases; Joel E. Denny reported problems when Bison
65976         was configured with --enable-gcc-warnigs.
65977
65978 2006-11-10  Jim Meyering  <jim@meyering.net>
65979
65980         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65981         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65982         account.
65983
65984 2006-11-10  Jim Meyering  <jim@meyering.net>
65985
65986         * modules/inline: New file/module.
65987         * modules/xalloc (Files): Remove m4/inline.m4.
65988         (Depends-on): Add inline, instead.
65989         * modules/oset: Likewise.
65990         * modules/list: Likewise.
65991
65992 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65993
65994         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65995         Problem reported by Matthew Woehlke.
65996
65997 2006-11-09  Bruno Haible  <bruno@clisp.org>
65998
65999         * lib/tempname.c (gen_tempname): Remove variant that invokes
66000         __gen_tempname.
66001         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
66002         __gen_tempname.
66003
66004 2006-11-08  Bruno Haible  <bruno@clisp.org>
66005
66006         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
66007         to 'yes' instead of 'cross-compiling'.
66008
66009 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
66010
66011         * lib/quotearg.h (quotearg_free): New decl.
66012         * lib/quotearg.c (quotearg_free): New function.
66013         (slot0, nslots, slotvec0, slotvec):
66014         Now file-scope so that quotearg_free can get at them.
66015
66016 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66017
66018         Sync from Automake.
66019         * build-aux/gnupload: Add missing 'gnu' to example URL.
66020         Report by Karl Berry.
66021
66022 2006-11-08  Bruno Haible  <bruno@clisp.org>
66023
66024         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
66025         Suggested by Paul Eggert.
66026
66027 2006-11-08  Jim Meyering  <jim@meyering.net>
66028
66029         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
66030         It's already included if !_LIBC.
66031         (fts_safe_changedir): Add a comment.
66032
66033 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
66034
66035         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
66036         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
66037         Matthew Woehlke.
66038
66039         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
66040         definitions up, to avoid colliding with change below.
66041         (static_inline) [HAVE_INLINE]: New macro.
66042         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
66043         Provide extern decls when !HAVE_INLINE.  Do not define unless
66044         static_inline is defined, either by us or by xmalloc.c.  Use
66045         static_inline rather than static inline.
66046         (XCALLOC): Optimize sizeof(T) = 1 case.
66047         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
66048
66049 2006-11-07  Bruno Haible  <bruno@clisp.org>
66050
66051         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
66052         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
66053         AC_C_INLINE.
66054         * modules/xalloc (Files): Add m4/inline.m4.
66055
66056 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66057
66058         * README: Fix typo.
66059         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
66060         (Miscellanous Notes): ...from this.
66061
66062 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
66063
66064         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
66065         Mention that offsetof should be used instead of sizeof.
66066         From Bruno Haible.
66067
66068 2006-11-07  Bruno Haible  <bruno@clisp.org>
66069
66070         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
66071
66072 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
66073
66074         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
66075         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
66076         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
66077         (gl_tree_add_before, gl_tree_add_after):
66078         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
66079         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
66080         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66081         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
66082         (gl_linked_add_after, gl_linked_add_at): Likewise.
66083         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
66084         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
66085         (gl_tree_add_before, gl_tree_add_after): Likewise.
66086         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
66087         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
66088         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
66089
66090 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66091
66092         * lib/gl_oset.h: Use C comment style, not C++ comment style.
66093
66094 2006-11-06  Bruno Haible  <bruno@clisp.org>
66095
66096         * m4/inline.m4: New file.
66097         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
66098         * modules/list (Files): Add m4/inline.m4.
66099         * modules/oset (Files): Likewise.
66100
66101 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * lib/idcache.c: Include <stddef.h>, for offsetof.
66104         (struct userid.name): Change from char * to a flexible array member.
66105         All uses changed.
66106         * modules/idcache (Depends-on): Add flexmember.
66107
66108         * MODULES.html.sh (Core language properties): New module flexmember.
66109         * modules/flexmember, m4/flexmember.m4: New files.
66110
66111         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
66112         inline functions that are identical with the old xnmalloc_inline,
66113         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
66114         that we can avoid some unnecessary integer multiplications and
66115         divisions in the common case where the element size is known at
66116         compile time.
66117         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
66118         needed.
66119         (xnboundedmalloc): Remove.
66120         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
66121         arguments, for consistency with rest of this header.
66122         (xcharalloc): Rewrite using XNMALLOC.
66123         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
66124         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
66125         versions have been moved to lib/xalloc.h and renamed to be the
66126         non-*_inline versions.
66127         (xmalloc, xrealloc): Implement without reference to the xnmalloc
66128         and xnrealloc functions, since those functions are now inline and
66129         now call us.
66130         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
66131         renaming described above.
66132         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
66133         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
66134         captures the dependency in AC_C_INLINE.
66135
66136         New module canonicalize-lgpl, proposed by Charles Wilson in
66137         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
66138         with a few small changes afterwards.
66139         * MODULES.html.sh (File system functions): New module
66140         canonicalize-lgpl.
66141         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
66142         and canonicalize_file_name.
66143         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
66144         * modules/canonicalize-lgpl: New files.
66145
66146 2006-11-05  Bruno Haible  <bruno@clisp.org>
66147
66148         * gnulib-tool (func_import, func_create_testdir): Create directories
66149         also for files in subdirectories of lib/.
66150
66151 2006-11-05  Bruno Haible  <bruno@clisp.org>
66152
66153         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
66154         ANSI C compliant.
66155
66156 2006-11-03  Bruno Haible  <bruno@clisp.org>
66157
66158         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
66159         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
66160         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
66161         (xnboundedmalloc): New inline function.
66162         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
66163         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
66164         xmalloc.
66165         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
66166         xmalloc.
66167         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
66168         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
66169         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
66170         xmalloc.
66171         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
66172         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
66173         xmalloc.
66174         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
66175         gl_tree_add_after): Use XMALLOC instead of xmalloc.
66176         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
66177         xmalloc.
66178         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
66179         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
66180         gl_tree_add_after): Use XMALLOC instead of xmalloc.
66181         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
66182         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
66183         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
66184         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
66185
66186 2006-11-03  Bruno Haible  <bruno@clisp.org>
66187
66188         * lib/c-ctype.h [C++]: Define functions without name mangling.
66189         * lib/fwriteerror.h [C++]: Likewise.
66190         * lib/gcd.h [C++]: Likewise.
66191         * lib/linebreak.h [C++]: Likewise.
66192
66193 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66194
66195         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
66196         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
66197         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
66198         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
66199         Check for functions and headers just once.
66200         Check for declaration of canonicalize_file_name.
66201         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
66202
66203 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66204
66205         * gnulib-tool (func_import): Fix typo in actioncmd.
66206
66207 2006-11-02  Bruno Haible  <bruno@clisp.org>
66208
66209         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
66210         newline sequence in the Makefile.am snippet as a space, like "make"
66211         does.
66212         Reported by Roger Persson <perrog@gmail.com>.
66213
66214 2006-11-01  Bruno Haible  <bruno@clisp.org>
66215
66216         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
66217         already declared in <string.h>.
66218         * lib/strcase.h (strncasecmp): Don't declare it if yes.
66219
66220 2006-11-01  Bruno Haible  <bruno@clisp.org>
66221
66222         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
66223         * lib/strcase.h: Include <string.h>.
66224         (strcasecmp): Define to rpl_strcasecmp here.
66225
66226 2006-11-01  Bruno Haible  <bruno@clisp.org>
66227
66228         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
66229
66230 2006-11-01  Eric Blake  <ebb9@byu.net>
66231
66232         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
66233
66234         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
66235
66236 2006-10-29  Bruno Haible  <bruno@clisp.org>
66237
66238         Make it compile in C++ mode.
66239         * lib/full-write.c (full_rw): Add a cast.
66240
66241 2006-11-01  Bruno Haible  <bruno@clisp.org>
66242
66243         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
66244         be POSIX compliant.
66245         Reported by Roger Persson <perrog@gmail.com>.
66246
66247 2006-11-01  Eric Blake  <ebb9@byu.net>
66248
66249         * lib/getopt_.h: Fix comments.
66250
66251 2006-10-31  Eric Blake  <ebb9@byu.net>
66252
66253         * modules/tmpdir (Depends-on): Add sys_stat.
66254         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
66255         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
66256         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
66257         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
66258         tempname.
66259
66260 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
66261
66262         Avoid some C++ diagnostics reported by Bruno Haible.
66263         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
66264         xmalloc.
66265         (quotearg_alloc): Use xcharalloc rather than xmalloc.
66266         (struct slotvec): Move to top level.
66267         (quotearg_n_options): Rewrite to avoid xmalloc.
66268         * lib/xalloc.h (xcharalloc): New function.
66269         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
66270         [defined __cplusplus]: Add function template that provides result
66271         type propagation.  This part of the change is from Bruno Haible.
66272
66273 2006-10-29  Bruno Haible  <bruno@clisp.org>
66274
66275         Make it compile in C++ mode.
66276         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
66277         * lib/strnlen1.c (strnlen1): Cast memchr result.
66278         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
66279         * lib/clean-temp.c (string_equals, string_hash): Add casts.
66280         (create_temp_dir): Rename local variable 'template'.
66281         (compile_csharp_using_sscli): Add cast.
66282         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
66283         * lib/findprog.c (find_in_path): Likewise.
66284         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
66285         * lib/wait-process.c (register_slave_subprocess): Likewise.
66286
66287 2006-10-22  Bruno Haible  <bruno@clisp.org>
66288
66289         * modules/tsearch: New file.
66290         * lib/tsearch.h: New file.
66291         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
66292         * m4/tsearch.m4: New file.
66293         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
66294
66295 2006-10-29  Eric Blake  <ebb9@byu.net>
66296
66297         * lib/arcfour.c: Assume config.h.
66298         * lib/arctwo.c: Likewise.
66299         * lib/base64.c: Likewise.
66300         * lib/check-version.c: Likewise.
66301         * lib/crc.c: Likewise.
66302         * lib/des.c: Likewise.
66303         * lib/gc-gnulib.c: Likewise.
66304         * lib/gc-libgcrypt.c: Likewise.
66305         * lib/gc-pbkdf2-sha1.c: Likewise.
66306         * lib/getaddrinfo.c: Likewise.
66307         * lib/getdelim.c: Likewise.
66308         * lib/getline.c: Likewise.
66309         * lib/hmac-md5.c: Likewise.
66310         * lib/hmac-sha1.c: Likewise.
66311         * lib/iconvme.c: Likewise.
66312         * lib/md2.c: Likewise.
66313         * lib/md4.c: Likewise.
66314         * lib/memxor.c: Likewise.
66315         * lib/read-file.c: Likewise.
66316         * lib/readline.c: Likewise.
66317         * lib/rijndael-alg-fst.c: Likewise.
66318         * lib/rijndael-api-fst.c: Likewise.
66319         * lib/xgetdomainname.c: Likewise.
66320
66321 2006-10-28  Eric Blake  <ebb9@byu.net>
66322
66323         * lib/xstrndup.c: Assume config.h.
66324
66325 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66326
66327         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
66328         stat-macros.h is now for our own macros, whereas stat_h is for
66329         macros in the <sys/stat.h> name space.
66330         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
66331         (STAT_MACROS_H): Remove.
66332         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
66333         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
66334         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
66335         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
66336         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
66337         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
66338         Move these macros to ...
66339         * lib/stat_.h: here.  Don't include stat-macros.h.
66340         * lib/canonicalize.c: Don't include stat-macros.h.
66341         * lib/chown.c: Likewise.
66342         * lib/euidaccess.c: Likewise.
66343         * lib/file-type.c: Likewise.
66344         * lib/filemode.c: Likewise.
66345         * lib/glob.c: Likewise.
66346         * lib/isapipe.c: Likewise.
66347         * lib/lchown.c: Likewise.
66348         * lib/lstat.c: Likewise.
66349         * lib/mkdir-p.c: Likewise.
66350         * lib/rmdir.c: Likewise.
66351         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
66352         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
66353         unless mkdir isn't declared, to speed up 'configure'.
66354         Always create sys/stat.h, since it's unlikely any real sys/stat.h
66355         would define all the S_* symbols.
66356         * modules/canonicalize (Depends-on):
66357         Depend on sys_stat, not stat-macros.
66358         * modules/chown: Likewise.
66359         * modules/euidaccess: Likewise.
66360         * modules/filemode: Likewise.
66361         * modules/file-type: Likewise.
66362         * modules/glob: Likewise.
66363         * modules/isapipe: Likewise.
66364         * modules/lchown: Likewise.
66365         * modules/lstat: Likewise.
66366         * modules/mkancesdirs: Likewise.
66367         * modules/rmdir: Likewise.
66368         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
66369         * modules/modechange: Likewise.
66370         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
66371         (configure.ac): Remove gl_STAT_MACROS.
66372         * modules/sys_stat (Depends-on): Remove stat-macros.
66373
66374 2006-10-27  Bruno Haible  <bruno@clisp.org>
66375
66376         * m4/signed.m4: Remove file.
66377         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
66378         invocation.
66379         * modules/vasnprintf (Files): Remove m4/signed.m4.
66380
66381 2006-10-27  Bruno Haible  <bruno@clisp.org>
66382
66383         Update to GNU gettext 0.16.
66384         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
66385         m4/inttypes-h.m4, m4/signed.m4.
66386         * m4/gettext.m4: Update to GNU gettext 0.16.
66387         * m4/intl.m4: New file, from GNU gettext.
66388         * m4/intldir.m4: New file, from GNU gettext.
66389         * config/srclist.txt: Update
66390
66391 2006-10-27  Eric Blake  <ebb9@byu.net>
66392
66393         * MODULES.html.sh: Document tempname.
66394         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
66395         dependencies.
66396         (Files): Move lib/tempname.c...
66397         * modules/tempname: ...to this new module.
66398         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
66399         (gl_PREREQ_TEMPNAME): Move...
66400         * m4/tempname.m4: ...to this new file.
66401         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
66402         * modules/sys_stat (Depends-on): Add stat-macros.
66403         * lib/stat_.h (includes): Pick up stat macros.
66404         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
66405         if stat macros are broken.
66406         * lib/tempname.c (includes): No need to include "stat-macros.h".
66407         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66408         (direxists, __path_search) [!_LIBC]: Don't compile these in
66409         gnulib; the tmpdir module covers that.
66410         * lib/tempname.h: New file.
66411
66412 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66413
66414         * COPYING: Explain how gnulib-tool converts licence headers.
66415         Almost all wording by Eric Blake.
66416
66417 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66418
66419         * lib/mbchar.h (is_basic_table): Make read-only.
66420         * lib/mbchar.c (is_basic_table): Likewise.
66421         Reported by John Darrington.
66422
66423 2006-10-25  Bruno Haible  <bruno@clisp.org>
66424
66425         * lib/progname.h (set_program_name): Undefine before defining.
66426
66427 2006-10-25  Bruno Haible  <bruno@clisp.org>
66428
66429         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66430         false for non-gcc C++ compilers.
66431         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66432
66433 2006-10-24  Bruno Haible  <bruno@clisp.org>
66434
66435         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66436         iconv implementations like Irix iconv.
66437
66438 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66439
66440         * modules/vararrays: New file.
66441         * m4/vararrays.m4: New file, taken from diffutils.
66442         * MODULES.html.sh: New module vararrays.
66443
66444 2006-10-24  Karl Berry  <karl@gnu.org>
66445
66446         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66447         Don't call GNU Unix.
66448
66449 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66450
66451         * users.txt: Add Libtool.
66452
66453         Sync from Libtool:
66454
66455         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66456
66457         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66458         to gnulib's policy of including config.h unconditionally.
66459
66460 2006-10-24  Bruno Haible  <bruno@clisp.org>
66461
66462         * modules/wcwidth (Files): Add m4/wint_t.m4.
66463         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66464         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66465
66466 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66467
66468         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66469         to pacify GCC with some -W flags enabled.  Problem reported by
66470         Bruno Haible.
66471
66472 2006-10-24  Jim Meyering  <jim@meyering.net>
66473
66474         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66475         Reported by Karl Berry.
66476
66477 2006-10-23  Bruno Haible  <bruno@clisp.org>
66478
66479         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66480
66481 2006-10-24  Bruno Haible  <bruno@clisp.org>
66482
66483         * lib/gl_list.h: Use C comment style, not C++ comment style.
66484
66485 2006-10-23  Eric Blake  <ebb9@byu.net>
66486
66487         * lib/getaddrinfo.c (includes): Add missing include.
66488
66489 2006-10-23  Bruno Haible  <bruno@clisp.org>
66490             Paul Eggert  <eggert@cs.ucla.edu>
66491
66492         Ability to rename obstack_free.
66493         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66494         obstack_free.
66495         (obstack_free): Invoke the __obstack_free macro.
66496         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66497
66498 2006-10-23  Bruno Haible  <bruno@clisp.org>
66499             Paul Eggert  <eggert@cs.ucla.edu>
66500
66501         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66502         __argc, __argv from the declaration. (They are defined as macros on
66503         mingw.)
66504
66505 2006-10-22  Bruno Haible  <bruno@clisp.org>
66506
66507         * doc/gnulib-intro.texi: New file.
66508         * doc/gnulib.texi: Include it.
66509
66510 2006-10-21  Bruno Haible  <bruno@clisp.org>
66511
66512         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66513         "Introduction", "Miscellanous Notes", "Particular Modules".
66514
66515 2006-10-21  Bruno Haible  <bruno@clisp.org>
66516
66517         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66518         Change mostlyclean-local rule to avoid sh syntax error from bash
66519         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66520
66521 2006-10-23  Jim Meyering  <jim@meyering.net>
66522
66523         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66524         in place of snprintf.
66525
66526         * modules/inttostr (Files): Add lib/uinttostr.c.
66527         * lib/uinttostr.c (inttostr): New file/function.
66528         * lib/inttostr.h (uinttostr): Declare.
66529         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66530         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66531         Add uinttostr.
66532         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66533
66534 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66535
66536         * lib/canonicalize.c (ELOOP): Define if not already defined.
66537         Problem reported by Bruno Haible in
66538         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66539
66540 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66541
66542         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66543         Problem reported by Perry Smith and Ville Laurikari.
66544
66545         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66546         uses.
66547
66548 2006-10-19  Bruno Haible  <bruno@clisp.org>
66549
66550         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66551         for mingw.
66552
66553 2006-10-19  Bruno Haible  <bruno@clisp.org>
66554
66555         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66556         Needed for mingw.
66557
66558 2006-10-19  Bruno Haible  <bruno@clisp.org>
66559
66560         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66561
66562 2006-10-19  Bruno Haible  <bruno@clisp.org>
66563
66564         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66565         it.
66566
66567 2006-10-19  Bruno Haible  <bruno@clisp.org>
66568
66569         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66570         invocation.
66571
66572 2006-10-19  Bruno Haible  <bruno@clisp.org>
66573
66574         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66575         mountlist by default.
66576
66577 2006-10-16  Bruno Haible  <bruno@clisp.org>
66578
66579         * lib/c-strstr.c: Include c-strstr.h.
66580
66581 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66582
66583         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66584         in a slash.
66585
66586 2006-10-18  Bruno Haible  <bruno@clisp.org>
66587
66588         * lib/lock.h [C++]: Wrap definitions in extern "C".
66589
66590 2006-10-18  Bruno Haible  <bruno@clisp.org>
66591
66592         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66593         gl_LIBOBJS list.
66594
66595 2006-10-18  Bruno Haible  <bruno@clisp.org>
66596
66597         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66598
66599 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66600
66601         * lib/xstrtol.h: Include gettext.h.
66602         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66603         Problem reported by Eric Blake.
66604         * modules/xstrtol (Depends-on): Add gettext-h.
66605
66606 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66607
66608         * lib/strftime.c (advance): New macro.
66609         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66610         incomplete type, so you can't add 0 to it.  Problem and patch
66611         reported by Eelco Dolstra for dietlibc.
66612
66613 2006-10-18  Jim Meyering  <jim@meyering.net>
66614
66615         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66616         type for a local, and rename it: s/up/user_proc/.
66617
66618 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66619
66620         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66621         READ_UTMP_USER_PROCESS.
66622         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66623
66624 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66625
66626         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66627         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66628
66629 2006-10-17  Eric Blake  <ebb9@byu.net>
66630
66631         * lib/sigprocmask.c (sigprocmask): Fix typo.
66632
66633         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66634
66635         * modules/clean-temp (Makefile.am): Don't add to make output...
66636         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66637         config.h.
66638
66639 2006-10-17  Bruno Haible  <bruno@clisp.org>
66640
66641         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66642         differently if DEFAULT_TEXT_DOMAIN is set.
66643
66644 2006-10-16  Bruno Haible  <bruno@clisp.org>
66645
66646         * lib/clean-temp.c: Include fwriteerror.h.
66647
66648 2006-10-16  Bruno Haible  <bruno@clisp.org>
66649
66650         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66651
66652 2006-10-16  Bruno Haible  <bruno@clisp.org>
66653
66654         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66655         * lib/sigprocmask.h: Include <sys/types.h>.
66656         (sigset_t): Use the system's definition if present.
66657
66658 2006-10-17  Eric Blake  <ebb9@byu.net>
66659
66660         * lib/xvasprintf.c (includes): Assume config.h.
66661         * lib/xasprintf.c (includes): Likewise.
66662
66663 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66664
66665         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66666         at least as wide as intmax_t.
66667
66668 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66669
66670         (Imported from Automake.)
66671         * build-aux/gnupload: Update to version 1.1 of directive file.
66672
66673 2006-10-16  Eric Blake  <ebb9@byu.net>
66674
66675         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66676         match Automake 1.10a.
66677
66678 2006-10-14  Bruno Haible  <bruno@clisp.org>
66679
66680         * modules/sigprocmask: New file.
66681         * lib/sigprocmask.h: New file.
66682         * lib/sigprocmask.c: New file.
66683         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66684         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66685         request sigprocmask.o.
66686         (gl_PREREQ_SIGPROCMASK): New macro.
66687         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66688         (Depends-on): Add sigprocmask.
66689         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66690         gt_SIGNALBLOCKING. Test for 'raise' only once.
66691         * lib/fatal-signal.c: Include sigprocmask.h.
66692         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66693         unblock_fatal_signals): Define always.
66694         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66695         sigprocmask.
66696
66697 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66698
66699         Sync from Automake.
66700         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66701         which incorrectly sets the mode of an existing destination
66702         directory.  In some cases the unpatched install-sh could do the
66703         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66704         system.  We hope this is rare in practice, but it's clearly worth
66705         fixing.  Problem reported by Alex Unleashed in
66706         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66707         Also, don't bother to check for -m bugs unless we're using -m;
66708         suggested by Stepan Kasal.
66709
66710 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66711
66712         Sync from Automake.
66713         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66714         `-c' flag, so they appear at the same position as in %FASTDEP%
66715         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66716         which ignores unknown options only after the first non-option.
66717         Bug report against M4 by Nelson H. F. Beebe.
66718
66719 2006-10-13  Jim Meyering  <jim@meyering.net>
66720
66721         Fix a bug in yesterday's change.
66722         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66723         p->fts_statp->st_dev would be used uninitialized.
66724         Ensures that we always call fts_stat on the very first entry.
66725         Miklos Szeredi reported that find -xdev stopped working.
66726
66727 2006-10-12  Bruno Haible  <bruno@clisp.org>
66728
66729         * gnulib-tool (func_get_automake_snippet): Append an automatically
66730         computed EXTRA_DIST augmentation.
66731         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66732         * modules/alloca-opt (Makefile.am): Likewise.
66733         * modules/allocsa (Makefile.am): Likewise.
66734         * modules/arcfour (Makefile.am): Likewise.
66735         * modules/arctwo (Makefile.am): Likewise.
66736         * modules/argmatch (Makefile.am): Likewise.
66737         * modules/argz (Makefile.am): Likewise.
66738         * modules/atexit (Makefile.am): Likewise.
66739         * modules/backupfile (Makefile.am): Likewise.
66740         * modules/byteswap (Makefile.am): Likewise.
66741         * modules/c-strtod (Makefile.am): Likewise.
66742         * modules/c-strtold (Makefile.am): Likewise.
66743         * modules/calloc (Makefile.am): Likewise.
66744         * modules/canon-host (Makefile.am): Likewise.
66745         * modules/canonicalize (Makefile.am): Likewise.
66746         * modules/chdir-long (Makefile.am): Likewise.
66747         * modules/chdir-safer (Makefile.am): Likewise.
66748         * modules/check-version (Makefile.am): Likewise.
66749         * modules/chown (Makefile.am): Likewise.
66750         * modules/cloexec (Makefile.am): Likewise.
66751         * modules/close-stream (Makefile.am): Likewise.
66752         * modules/closeout (Makefile.am): Likewise.
66753         * modules/crc (Makefile.am): Likewise.
66754         * modules/csharpexec (Makefile.am): Likewise.
66755         * modules/cycle-check (Makefile.am): Likewise.
66756         * modules/des (Makefile.am): Likewise.
66757         * modules/dev-ino (Makefile.am): Likewise.
66758         * modules/dirfd (Makefile.am): Likewise.
66759         * modules/dirname (Makefile.am): Likewise.
66760         * modules/dup2 (Makefile.am): Likewise.
66761         * modules/eealloc (Makefile.am): Likewise.
66762         * modules/error (Makefile.am): Likewise.
66763         * modules/euidaccess (Makefile.am): Likewise.
66764         * modules/exclude (Makefile.am): Likewise.
66765         * modules/exitfail (Makefile.am): Likewise.
66766         * modules/fcntl-safer (Makefile.am): Likewise.
66767         * modules/fcntl (Makefile.am): Likewise.
66768         * modules/file-type (Makefile.am): Likewise.
66769         * modules/fileblocks (Makefile.am): Likewise.
66770         * modules/filemode (Makefile.am): Likewise.
66771         * modules/filenamecat (Makefile.am): Likewise.
66772         * modules/fnmatch (Makefile.am): Likewise.
66773         * modules/fopen-safer (Makefile.am): Likewise.
66774         * modules/fpending (Makefile.am): Likewise.
66775         * modules/fprintftime (Makefile.am): Likewise.
66776         * modules/free (Makefile.am): Likewise.
66777         * modules/fsusage (Makefile.am): Likewise.
66778         * modules/ftruncate (Makefile.am): Likewise.
66779         * modules/fts (Makefile.am): Likewise.
66780         * modules/gc-arcfour (Makefile.am): Likewise.
66781         * modules/gc-des (Makefile.am): Likewise.
66782         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66783         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66784         * modules/gc-md4 (Makefile.am): Likewise.
66785         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66786         * modules/gc-sha1 (Makefile.am): Likewise.
66787         * modules/gc (Makefile.am): Likewise.
66788         * modules/getaddrinfo (Makefile.am): Likewise.
66789         * modules/getcwd (Makefile.am): Likewise.
66790         * modules/getdelim (Makefile.am): Likewise.
66791         * modules/getdomainname (Makefile.am): Likewise.
66792         * modules/getgroups (Makefile.am): Likewise.
66793         * modules/gethostname (Makefile.am): Likewise.
66794         * modules/gethrxtime (Makefile.am): Likewise.
66795         * modules/getline (Makefile.am): Likewise.
66796         * modules/getloadavg (Makefile.am): Likewise.
66797         * modules/getlogin_r (Makefile.am): Likewise.
66798         * modules/getndelim2 (Makefile.am): Likewise.
66799         * modules/getopt (Makefile.am): Likewise.
66800         * modules/getpagesize (Makefile.am): Likewise.
66801         * modules/getpass-gnu (Makefile.am): Likewise.
66802         * modules/getpass (Makefile.am): Likewise.
66803         * modules/getsubopt (Makefile.am): Likewise.
66804         * modules/gettime (Makefile.am): Likewise.
66805         * modules/gettimeofday (Makefile.am): Likewise.
66806         * modules/getugroups (Makefile.am): Likewise.
66807         * modules/getusershell (Makefile.am): Likewise.
66808         * modules/glob (Makefile.am): Likewise.
66809         * modules/group-member (Makefile.am): Likewise.
66810         * modules/hard-locale (Makefile.am): Likewise.
66811         * modules/hash (Makefile.am): Likewise.
66812         * modules/hmac-md5 (Makefile.am): Likewise.
66813         * modules/hmac-sha1 (Makefile.am): Likewise.
66814         * modules/human (Makefile.am): Likewise.
66815         * modules/idcache (Makefile.am): Likewise.
66816         * modules/imaxabs (Makefile.am): Likewise.
66817         * modules/imaxdiv (Makefile.am): Likewise.
66818         * modules/inet_ntop (Makefile.am): Likewise.
66819         * modules/inet_pton (Makefile.am): Likewise.
66820         * modules/intprops (Makefile.am): Likewise.
66821         * modules/inttostr (Makefile.am): Likewise.
66822         * modules/inttypes (Makefile.am): Likewise.
66823         * modules/isapipe (Makefile.am): Likewise.
66824         * modules/javaversion (Makefile.am): Likewise.
66825         * modules/lchmod (Makefile.am): Likewise.
66826         * modules/lchown (Makefile.am): Likewise.
66827         * modules/localcharset (Makefile.am): Likewise.
66828         * modules/long-options (Makefile.am): Likewise.
66829         * modules/lstat (Makefile.am): Likewise.
66830         * modules/malloc (Makefile.am): Likewise.
66831         * modules/mathl (Makefile.am): Likewise.
66832         * modules/mbchar (Makefile.am): Likewise.
66833         * modules/md2 (Makefile.am): Likewise.
66834         * modules/md4 (Makefile.am): Likewise.
66835         * modules/md5 (Makefile.am): Likewise.
66836         * modules/memcasecmp (Makefile.am): Likewise.
66837         * modules/memchr (Makefile.am): Likewise.
66838         * modules/memcmp (Makefile.am): Likewise.
66839         * modules/memcoll (Makefile.am): Likewise.
66840         * modules/memcpy (Makefile.am): Likewise.
66841         * modules/memmem (Makefile.am): Likewise.
66842         * modules/memmove (Makefile.am): Likewise.
66843         * modules/mempcpy (Makefile.am): Likewise.
66844         * modules/memrchr (Makefile.am): Likewise.
66845         * modules/memset (Makefile.am): Likewise.
66846         * modules/memxor (Makefile.am): Likewise.
66847         * modules/mkancesdirs (Makefile.am): Likewise.
66848         * modules/mkdir-p (Makefile.am): Likewise.
66849         * modules/mkdir (Makefile.am): Likewise.
66850         * modules/mkdtemp (Makefile.am): Likewise.
66851         * modules/mkstemp (Makefile.am): Likewise.
66852         * modules/mktime (Makefile.am): Likewise.
66853         * modules/modechange (Makefile.am): Likewise.
66854         * modules/mountlist (Makefile.am): Likewise.
66855         * modules/nanosleep (Makefile.am): Likewise.
66856         * modules/obstack (Makefile.am): Likewise.
66857         * modules/openat (Makefile.am): Likewise.
66858         * modules/pagealign_alloc (Makefile.am): Likewise.
66859         * modules/pathmax (Makefile.am): Likewise.
66860         * modules/physmem (Makefile.am): Likewise.
66861         * modules/poll (Makefile.am): Likewise.
66862         * modules/posixtm (Makefile.am): Likewise.
66863         * modules/posixver (Makefile.am): Likewise.
66864         * modules/putenv (Makefile.am): Likewise.
66865         * modules/quote (Makefile.am): Likewise.
66866         * modules/quotearg (Makefile.am): Likewise.
66867         * modules/raise (Makefile.am): Likewise.
66868         * modules/read-file (Makefile.am): Likewise.
66869         * modules/readline (Makefile.am): Likewise.
66870         * modules/readlink (Makefile.am): Likewise.
66871         * modules/readtokens (Makefile.am): Likewise.
66872         * modules/readutmp (Makefile.am): Likewise.
66873         * modules/realloc (Makefile.am): Likewise.
66874         * modules/regex (Makefile.am): Likewise.
66875         * modules/rename-dest-slash (Makefile.am): Likewise.
66876         * modules/rename (Makefile.am): Likewise.
66877         * modules/rijndael (Makefile.am): Likewise.
66878         * modules/rmdir (Makefile.am): Likewise.
66879         * modules/rpmatch (Makefile.am): Likewise.
66880         * modules/safe-read (Makefile.am): Likewise.
66881         * modules/safe-write (Makefile.am): Likewise.
66882         * modules/same-inode (Makefile.am): Likewise.
66883         * modules/same (Makefile.am): Likewise.
66884         * modules/save-cwd (Makefile.am): Likewise.
66885         * modules/savedir (Makefile.am): Likewise.
66886         * modules/setenv (Makefile.am): Likewise.
66887         * modules/settime (Makefile.am): Likewise.
66888         * modules/sha1 (Makefile.am): Likewise.
66889         * modules/sig2str (Makefile.am): Likewise.
66890         * modules/snprintf (Makefile.am): Likewise.
66891         * modules/stat-macros (Makefile.am): Likewise.
66892         * modules/stat-time (Makefile.am): Likewise.
66893         * modules/stdbool (Makefile.am): Likewise.
66894         * modules/stdint (Makefile.am): Likewise.
66895         * modules/stdlib-safer (Makefile.am): Likewise.
66896         * modules/stpcpy (Makefile.am): Likewise.
66897         * modules/stpncpy (Makefile.am): Likewise.
66898         * modules/strcase (Makefile.am): Likewise.
66899         * modules/strcasestr (Makefile.am): Likewise.
66900         * modules/strchrnul (Makefile.am): Likewise.
66901         * modules/strcspn (Makefile.am): Likewise.
66902         * modules/strdup (Makefile.am): Likewise.
66903         * modules/strerror (Makefile.am): Likewise.
66904         * modules/strftime (Makefile.am): Likewise.
66905         * modules/strndup (Makefile.am): Likewise.
66906         * modules/strnlen (Makefile.am): Likewise.
66907         * modules/strpbrk (Makefile.am): Likewise.
66908         * modules/strsep (Makefile.am): Likewise.
66909         * modules/strstr (Makefile.am): Likewise.
66910         * modules/strtod (Makefile.am): Likewise.
66911         * modules/strtoimax (Makefile.am): Likewise.
66912         * modules/strtok_r (Makefile.am): Likewise.
66913         * modules/strtol (Makefile.am): Likewise.
66914         * modules/strtoll (Makefile.am): Likewise.
66915         * modules/strtoul (Makefile.am): Likewise.
66916         * modules/strtoull (Makefile.am): Likewise.
66917         * modules/strtoumax (Makefile.am): Likewise.
66918         * modules/strverscmp (Makefile.am): Likewise.
66919         * modules/sys_socket (Makefile.am): Likewise.
66920         * modules/sys_stat (Makefile.am): Likewise.
66921         * modules/sysexits (Makefile.am): Likewise.
66922         * modules/time_r (Makefile.am): Likewise.
66923         * modules/timegm (Makefile.am): Likewise.
66924         * modules/timespec (Makefile.am): Likewise.
66925         * modules/tmpfile-safer (Makefile.am): Likewise.
66926         * modules/trim (Makefile.am): Likewise.
66927         * modules/unistd-safer (Makefile.am): Likewise.
66928         * modules/unlinkdir (Makefile.am): Likewise.
66929         * modules/unlocked-io (Makefile.am): Likewise.
66930         * modules/userspec (Makefile.am): Likewise.
66931         * modules/utime (Makefile.am): Likewise.
66932         * modules/utimecmp (Makefile.am): Likewise.
66933         * modules/utimens (Makefile.am): Likewise.
66934         * modules/vasnprintf (Makefile.am): Likewise.
66935         * modules/vasprintf (Makefile.am): Likewise.
66936         * modules/vsnprintf (Makefile.am): Likewise.
66937         * modules/xalloc (Makefile.am): Likewise.
66938         * modules/xgetcwd (Makefile.am): Likewise.
66939         * modules/xnanosleep (Makefile.am): Likewise.
66940         * modules/xreadlink (Makefile.am): Likewise.
66941         * modules/xstrtod (Makefile.am): Likewise.
66942         * modules/xstrtol (Makefile.am): Likewise.
66943         * modules/xstrtold (Makefile.am): Likewise.
66944         * modules/yesno (Makefile.am): Likewise.
66945         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66946
66947 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66948
66949         * modules/error (Makefile.am): Distribute files through
66950         EXTRA_DIST, not lib_SOURCES.
66951
66952 2006-10-12  Eric Blake  <ebb9@byu.net>
66953
66954         * modules/error (Makefile.am): Distribute files in /lib.
66955         * modules/obstack (Makefile.am): Likewise.
66956
66957 2006-10-12  Bruno Haible  <bruno@clisp.org>
66958
66959         * modules/acl (Makefile.am): Distribute all files in lib/ through
66960         EXTRA_DIST.
66961         * modules/arcfour (Makefile.am): Likewise.
66962         * modules/arctwo (Makefile.am): Likewise.
66963         * modules/argmatch (Makefile.am): Likewise.
66964         * modules/argz (Makefile.am): Likewise.
66965         * modules/atexit (Makefile.am): Likewise.
66966         * modules/backupfile (Makefile.am): Likewise.
66967         * modules/c-strtod (Makefile.am): Likewise.
66968         * modules/c-strtold (Makefile.am): Likewise.
66969         * modules/calloc (Makefile.am): Likewise.
66970         * modules/canon-host (Makefile.am): Likewise.
66971         * modules/canonicalize (Makefile.am): Likewise.
66972         * modules/chdir-long (Makefile.am): Likewise.
66973         * modules/chdir-safer (Makefile.am): Likewise.
66974         * modules/check-version (Makefile.am): Likewise.
66975         * modules/chown (Makefile.am): Likewise.
66976         * modules/cloexec (Makefile.am): Likewise.
66977         * modules/close-stream (Makefile.am): Likewise.
66978         * modules/closeout (Makefile.am): Likewise.
66979         * modules/crc (Makefile.am): Likewise.
66980         * modules/cycle-check (Makefile.am): Likewise.
66981         * modules/des (Makefile.am): Likewise.
66982         * modules/dirfd (Makefile.am): Likewise.
66983         * modules/dirname (Makefile.am): Likewise.
66984         * modules/dup2 (Makefile.am): Likewise.
66985         * modules/euidaccess (Makefile.am): Likewise.
66986         * modules/exclude (Makefile.am): Likewise.
66987         * modules/exitfail (Makefile.am): Likewise.
66988         * modules/fcntl-safer (Makefile.am): Likewise.
66989         * modules/file-type (Makefile.am): Likewise.
66990         * modules/fileblocks (Makefile.am): Likewise.
66991         * modules/filemode (Makefile.am): Likewise.
66992         * modules/filenamecat (Makefile.am): Likewise.
66993         * modules/fnmatch (Makefile.am): Likewise.
66994         * modules/fopen-safer (Makefile.am): Likewise.
66995         * modules/fpending (Makefile.am): Likewise.
66996         * modules/fprintftime (Makefile.am): Likewise.
66997         * modules/free (Makefile.am): Likewise.
66998         * modules/fsusage (Makefile.am): Likewise.
66999         * modules/ftruncate (Makefile.am): Likewise.
67000         * modules/fts (Makefile.am): Likewise.
67001         * modules/gc (Makefile.am): Likewise.
67002         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
67003         * modules/getaddrinfo (Makefile.am): Likewise.
67004         * modules/getcwd (Makefile.am): Likewise.
67005         * modules/getdelim (Makefile.am): Likewise.
67006         * modules/getdomainname (Makefile.am): Likewise.
67007         * modules/getgroups (Makefile.am): Likewise.
67008         * modules/gethostname (Makefile.am): Likewise.
67009         * modules/gethrxtime (Makefile.am): Likewise.
67010         * modules/getline (Makefile.am): Likewise.
67011         * modules/getloadavg (Makefile.am): Likewise.
67012         * modules/getlogin_r (Makefile.am): Likewise.
67013         * modules/getopt (Makefile.am): Likewise.
67014         * modules/getpass (Makefile.am): Likewise.
67015         * modules/getpass-gnu (Makefile.am): Likewise.
67016         * modules/getsubopt (Makefile.am): Likewise.
67017         * modules/gettime (Makefile.am): Likewise.
67018         * modules/gettimeofday (Makefile.am): Likewise.
67019         * modules/getugroups (Makefile.am): Likewise.
67020         * modules/getusershell (Makefile.am): Likewise.
67021         * modules/glob (Makefile.am): Likewise.
67022         * modules/group-member (Makefile.am): Likewise.
67023         * modules/hard-locale (Makefile.am): Likewise.
67024         * modules/hash (Makefile.am): Likewise.
67025         * modules/hmac-md5 (Makefile.am): Likewise.
67026         * modules/hmac-sha1 (Makefile.am): Likewise.
67027         * modules/human (Makefile.am): Likewise.
67028         * modules/idcache (Makefile.am): Likewise.
67029         * modules/imaxabs (Makefile.am): Likewise.
67030         * modules/imaxdiv (Makefile.am): Likewise.
67031         * modules/inet_ntop (Makefile.am): Likewise.
67032         * modules/inet_pton (Makefile.am): Likewise.
67033         * modules/inttostr (Makefile.am): Likewise.
67034         * modules/isapipe (Makefile.am): Likewise.
67035         * modules/lchown (Makefile.am): Likewise.
67036         * modules/long-options (Makefile.am): Likewise.
67037         * modules/lstat (Makefile.am): Likewise.
67038         * modules/malloc (Makefile.am): Likewise.
67039         * modules/mathl (Makefile.am): Likewise.
67040         * modules/mbchar (Makefile.am): Likewise.
67041         * modules/md2 (Makefile.am): Likewise.
67042         * modules/md4 (Makefile.am): Likewise.
67043         * modules/md5 (Makefile.am): Likewise.
67044         * modules/memcasecmp (Makefile.am): Likewise.
67045         * modules/memchr (Makefile.am): Likewise.
67046         * modules/memcmp (Makefile.am): Likewise.
67047         * modules/memcoll (Makefile.am): Likewise.
67048         * modules/memcpy (Makefile.am): Likewise.
67049         * modules/memmem (Makefile.am): Likewise.
67050         * modules/memmove (Makefile.am): Likewise.
67051         * modules/mempcpy (Makefile.am): Likewise.
67052         * modules/memrchr (Makefile.am): Likewise.
67053         * modules/memset (Makefile.am): Likewise.
67054         * modules/memxor (Makefile.am): Likewise.
67055         * modules/mkancesdirs (Makefile.am): Likewise.
67056         * modules/mkdir (Makefile.am): Likewise.
67057         * modules/mkdir-p (Makefile.am): Likewise.
67058         * modules/mkdtemp (Makefile.am): Likewise.
67059         * modules/mkstemp (Makefile.am): Likewise.
67060         * modules/mktime (Makefile.am): Likewise.
67061         * modules/modechange (Makefile.am): Likewise.
67062         * modules/mountlist (Makefile.am): Likewise.
67063         * modules/nanosleep (Makefile.am): Likewise.
67064         * modules/openat (Makefile.am): Likewise.
67065         * modules/pagealign_alloc (Makefile.am): Likewise.
67066         * modules/physmem (Makefile.am): Likewise.
67067         * modules/poll (Makefile.am): Likewise.
67068         * modules/posixtm (Makefile.am): Likewise.
67069         * modules/posixver (Makefile.am): Likewise.
67070         * modules/putenv (Makefile.am): Likewise.
67071         * modules/quote (Makefile.am): Likewise.
67072         * modules/quotearg (Makefile.am): Likewise.
67073         * modules/raise (Makefile.am): Likewise.
67074         * modules/read-file (Makefile.am): Likewise.
67075         * modules/readline (Makefile.am): Likewise.
67076         * modules/readlink (Makefile.am): Likewise.
67077         * modules/readtokens (Makefile.am): Likewise.
67078         * modules/readutmp (Makefile.am): Likewise.
67079         * modules/realloc (Makefile.am): Likewise.
67080         * modules/regex (Makefile.am): Likewise.
67081         * modules/rename (Makefile.am): Likewise.
67082         * modules/rename-dest-slash (Makefile.am): Likewise.
67083         * modules/rijndael (Makefile.am): Likewise.
67084         * modules/rmdir (Makefile.am): Likewise.
67085         * modules/rpmatch (Makefile.am): Likewise.
67086         * modules/safe-read (Makefile.am): Likewise.
67087         * modules/safe-write (Makefile.am): Likewise.
67088         * modules/same (Makefile.am): Likewise.
67089         * modules/save-cwd (Makefile.am): Likewise.
67090         * modules/savedir (Makefile.am): Likewise.
67091         * modules/setenv (Makefile.am): Likewise.
67092         * modules/settime (Makefile.am): Likewise.
67093         * modules/sha1 (Makefile.am): Likewise.
67094         * modules/sig2str (Makefile.am): Likewise.
67095         * modules/snprintf (Makefile.am): Likewise.
67096         * modules/stdlib-safer (Makefile.am): Likewise.
67097         * modules/stpcpy (Makefile.am): Likewise.
67098         * modules/stpncpy (Makefile.am): Likewise.
67099         * modules/strcase (Makefile.am): Likewise.
67100         * modules/strcasestr (Makefile.am): Likewise.
67101         * modules/strchrnul (Makefile.am): Likewise.
67102         * modules/strcspn (Makefile.am): Likewise.
67103         * modules/strdup (Makefile.am): Likewise.
67104         * modules/strerror (Makefile.am): Likewise.
67105         * modules/strftime (Makefile.am): Likewise.
67106         * modules/strndup (Makefile.am): Likewise.
67107         * modules/strnlen (Makefile.am): Likewise.
67108         * modules/strpbrk (Makefile.am): Likewise.
67109         * modules/strsep (Makefile.am): Likewise.
67110         * modules/strstr (Makefile.am): Likewise.
67111         * modules/strtod (Makefile.am): Likewise.
67112         * modules/strtoimax (Makefile.am): Likewise.
67113         * modules/strtok_r (Makefile.am): Likewise.
67114         * modules/strtol (Makefile.am): Likewise.
67115         * modules/strtoll (Makefile.am): Likewise.
67116         * modules/strtoul (Makefile.am): Likewise.
67117         * modules/strtoull (Makefile.am): Likewise.
67118         * modules/strtoumax (Makefile.am): Likewise.
67119         * modules/strverscmp (Makefile.am): Likewise.
67120         * modules/time_r (Makefile.am): Likewise.
67121         * modules/timegm (Makefile.am): Likewise.
67122         * modules/tmpfile-safer (Makefile.am): Likewise.
67123         * modules/unistd-safer (Makefile.am): Likewise.
67124         * modules/unlinkdir (Makefile.am): Likewise.
67125         * modules/userspec (Makefile.am): Likewise.
67126         * modules/utime (Makefile.am): Likewise.
67127         * modules/utimecmp (Makefile.am): Likewise.
67128         * modules/utimens (Makefile.am): Likewise.
67129         * modules/vasnprintf (Makefile.am): Likewise.
67130         * modules/vasprintf (Makefile.am): Likewise.
67131         * modules/vsnprintf (Makefile.am): Likewise.
67132         * modules/xalloc (Makefile.am): Likewise.
67133         * modules/xgetcwd (Makefile.am): Likewise.
67134         * modules/xnanosleep (Makefile.am): Likewise.
67135         * modules/xreadlink (Makefile.am): Likewise.
67136         * modules/xstrtod (Makefile.am): Likewise.
67137         * modules/xstrtol (Makefile.am): Likewise.
67138         * modules/xstrtold (Makefile.am): Likewise.
67139         * modules/yesno (Makefile.am): Likewise.
67140
67141 2006-10-12  Jim Meyering  <jim@meyering.net>
67142
67143         * m4/getloadavg.m4: Revert the change below.
67144
67145         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
67146         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
67147         fail with a symlink, which is what coreutils' ./bootstrap now
67148         creates by default.
67149
67150 2006-10-12  Bruno Haible  <bruno@clisp.org>
67151
67152         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
67153         mingw.
67154         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
67155         MSVC and mingw explicitly.
67156
67157 2006-10-11  Simon Josefsson  <jas@extundo.com>
67158             Bruno Haible  <bruno@clisp.org>
67159
67160         Add support for multiple gnulib-tool invocations in the scope of a
67161         single configure.ac file.
67162         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
67163         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
67164         with the same contents as the _LIBADD variable.
67165         (func_emit_initmacro_start, func_emit_initmacro_end,
67166         func_emit_initmacro_done): New functions.
67167         (func_import, func_create_testdir): Invoke them. Allow the identifiers
67168         gl_LIBOBJS and gl_LTLIBOBJS.
67169
67170 2006-10-11  Bruno Haible  <bruno@clisp.org>
67171
67172         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
67173         (func_create_testdir): Don't create po/Makefile.am, don't invoke
67174         autoreconf. Instead, invoke autopoint explicitly but move back the
67175         *.m4 files from gnulib.
67176
67177 2006-10-11  Bruno Haible  <bruno@clisp.org>
67178
67179         * gnulib-tool (func_usage): Make module names after --create-testdir
67180         optional.
67181         (func_create_testdir): If no module was specified, use nearly all
67182         modules.
67183
67184 2006-10-12  Jim Meyering  <jim@meyering.net>
67185
67186         Big performance improvement for fts-based tools that use FTS_NOSTAT.
67187         Avoid spurious inode-mismatch problems on non-POSIX file systems.
67188         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
67189         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
67190         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
67191         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
67192         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
67193         (fts_set_stat_required): New function.
67194         (fts_open): Defer the calls to fts_stat, if possible or requested.
67195         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
67196         into fts_stat itself.
67197         (fts_read): Perform any required (deferred) fts_stat call.
67198         (fts_build): Likewise, for the directory we're about to open and read.
67199         In the readdir loop, carefully decide whether each entry will require
67200         an eventual call to fts_stat, using dirent.d_type info if available.
67201         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
67202         a command line argument into this function.  Update all callers.
67203         Map a return value of FTS_DOT to FTS_D for a command line argument.
67204         * modules/fts (Depends-on): Add d-type.  Alphabetize.
67205         Thanks to Miklos Szeredi for his tenacity and for the initial
67206         bug report about "find" failing on a FUSE-based file system.
67207
67208         * lib/fts.c (fts_open): Use consistent indentation.
67209
67210 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
67211
67212         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
67213         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
67214         reported by Jim Meyering.  All uses of cache variables renamed
67215         to match Autoconf's.
67216         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
67217         the other one.
67218
67219         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
67220         Fix misspelling in diagnostic.
67221
67222 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67223
67224         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
67225         defined.  Problem reported by Matthew Woehlke.
67226
67227         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
67228         Add support for Tandem NonStop R series.
67229         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
67230         Use new macro.
67231
67232         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
67233         (has_trailing_slash): Omit size arg; all callers changed.
67234         Omit 'inline', since it doesn't help performance and we'd
67235         need to configure it.
67236         Don't count //, ///, etc. as having a trailing slash.
67237         As a side effect, this removes a C99ism reported by Matthew Woehlke.
67238         (rpl_rename_dest_slash): On failure, use rename's errno rather
67239         than (in some cases) an incorrect or junk errno.
67240         Simplify code by removing need to compute length; this does
67241         cause it to make two passes instead of one over the file name,
67242         but it's worth it.
67243
67244         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
67245         change, since Autoconf's version may no longer be appropriate now
67246         that we are using CVS Autoconf's version.  Add support for Tandem.
67247
67248 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
67249             Bruno Haible  <bruno@clisp.org>
67250
67251         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
67252         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
67253         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
67254         gl_AC_TYPE_LONG_LONG.
67255
67256         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
67257         instead of HAVE_LONG_LONG.
67258         * lib/printf-args.c (printf_fetchargs): Likewise.
67259         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
67260         * lib/vasnprintf.c (VASNPRINTF): Likewise.
67261         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
67262         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
67263         gl_AC_TYPE_LONG_LONG.
67264
67265 2006-10-11  Bruno Haible  <bruno@clisp.org>
67266
67267         * m4/longlong.m4: Add comments.
67268         * m4/ulonglong.m4: Likewise.
67269
67270 2006-10-10  Bruno Haible  <bruno@clisp.org>
67271
67272         Make it possible to #define stpcpy, strdup to aliases.
67273         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
67274         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
67275
67276 2006-10-10  Bruno Haible  <bruno@clisp.org>
67277
67278         Make it possible to #define gcd to an alias.
67279         * lib/gcd.c: Include config.h.
67280
67281 2006-10-10  Bruno Haible  <bruno@clisp.org>
67282
67283         Make it possible to #define c_isascii to an alias.
67284         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
67285         defined. Undefine the macros before defining them, to avoid gcc
67286         warnings.
67287         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
67288         define NO_C_CTYPE_MACROS early.
67289
67290 2006-10-10  Bruno Haible  <bruno@clisp.org>
67291
67292         Make it possible to #define set_program_name to an alias.
67293         * lib/progname.c: Don't undefine set_program_name; instead, undefine
67294         ENABLE_RELOCATABLE early.
67295
67296 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67297
67298         Port to Tandem NSK OSS, which has 64-bit signed int but at most
67299         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
67300         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
67301         More generally, don't assume that 64-bit signed int is available
67302         if unsigned int is, and vice versa.
67303         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
67304         unsigned symbols, not on their signed counterparts.
67305         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
67306         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
67307         (UINT64_C, UINTMAX_C):
67308         Likewise.
67309         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
67310         unsigned counterparts.
67311         (Have_long_long, Unsigned): New macros.
67312         (Int): Renamed from INT.
67313         (strtoimax): Use the new macros.
67314         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
67315         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
67316         * modules/inttypes (inttypes.h): Substitute
67317         HAVE_UNSIGNED_LONG_LONG_INT.
67318         * modules/stdint (stdint.h): Likewise.
67319         (Files): Add m4/ulonglong.m4.
67320
67321 2006-10-10  Bruno Haible  <bruno@clisp.org>
67322
67323         Fix a gcc -Wshadow warning.
67324         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
67325         to 'bucket'.
67326         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
67327         gl_linked_indexof_from_to): Likewise.
67328         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
67329         Likewise.
67330         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
67331         Likewise.
67332         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
67333         Reported by Eric Blake.
67334
67335 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
67336
67337         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
67338         for NetBSD.  Problem reported by Bruno Haible.
67339
67340 2006-10-09  Jim Meyering  <jim@meyering.net>
67341
67342         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
67343         Patch from Bruno Haible.
67344
67345 2006-10-09  Jim Meyering  <jim@meyering.net>
67346
67347         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
67348         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
67349         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
67350
67351 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67352
67353         Don't include <config.h> twice; this doesn't work in some cases,
67354         e.g., when config.h has "#define intmax_t long long int" and
67355         we include <config.h>, <inttypes.h>, <config.h> in that order.
67356         Problem reported by Matthew Woehlke in:
67357         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
67358         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
67359         * lib/fts-cycle.c: Don't include config.h.
67360         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
67361         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
67362         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
67363         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
67364         inttypes.h.
67365         * lib/xstrtoumax.c: Likewise.
67366         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
67367         __strtol and the like, so that this module is more like its siblings.
67368         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
67369         Remove; no longer needed now that we assume gnulib inttypes.h.
67370
67371 2006-10-08  Bruno Haible  <bruno@clisp.org>
67372
67373         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
67374         option.
67375
67376 2006-10-07  Jim Meyering  <jim@meyering.net>
67377
67378         * modules/inttypes (inttypes.h): Revert what seems to have been
67379         an inadvertent part of today's change: use "|", not "/" in the
67380         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
67381
67382 2006-10-07  Bruno Haible  <bruno@clisp.org>
67383
67384         * modules/sublist: New file.
67385
67386 2006-10-07  Bruno Haible  <bruno@clisp.org>
67387
67388         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
67389         * modules/argz (argz.h): Likewise.
67390         * modules/arpa_inet (arpa/inet.h): Likewise.
67391         * modules/byteswap (byteswap.h): Likewise.
67392         * modules/configmake (configmake.h): Likewise.
67393         * modules/fcntl (fcntl.h): Likewise.
67394         * modules/fnmatch (fnmatch.h): Likewise.
67395         * modules/getopt (getopt.h): Likewise.
67396         * modules/glob (glob.h): Likewise.
67397         * modules/inttypes (inttypes.h): Likewise.
67398         * modules/netinet_in (netinet/in.h): Likewise.
67399         * modules/poll (poll.h): Likewise.
67400         * modules/stdbool (stdbool.h): Likewise.
67401         * modules/stdint (stdint.h): Likewise.
67402         * modules/sys_select (sys/select.h): Likewise.
67403         * modules/sys_socket (sys/socket.h): Likewise.
67404         * modules/sys_stat (sys/stat.h): Likewise.
67405         * modules/sysexits (sysexits.h): Likewise.
67406         * modules/unistd (unistd.h): Likewise.
67407         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67408         Add a "DO NOT EDIT" comment to the generated file.
67409         (func_import): Likewise for gnulib-comp.m4.
67410
67411 2006-10-07  Bruno Haible  <bruno@clisp.org>
67412
67413         * lib/gl_sublist.h: New file.
67414         * lib/gl_sublist.c: New file.
67415
67416 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67417
67418         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67419         name (relative to the original working directory) and the file
67420         name component (relative to the temporary working directory).  All
67421         callers changed.
67422         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67423         * lib/mkdir-p.c (make_dir_parents): Likewise.
67424         * lib/mkdir-p.h (make_dir_parents): Likewise.
67425
67426 2006-10-06  Eric Blake  <ebb9@byu.net>
67427
67428         Define several macros for use by the clean-temp module.
67429         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67430         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67431         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67432
67433         * lib/clean-temp.h (close_stream_temp): New declaration.
67434         * lib/clean-temp.c (includes): Pull in headers according to what
67435         other modules are in use.
67436         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67437
67438 2006-10-06  Bruno Haible  <bruno@clisp.org>
67439
67440         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67441         instead of fopen, fwriteerror.
67442
67443 2006-10-06  Bruno Haible  <bruno@clisp.org>
67444
67445         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67446         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67447         int.
67448         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67449         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67450         Return an error indicator.
67451         Suggested by Eric Blake.
67452
67453 2006-10-06  Bruno Haible  <bruno@clisp.org>
67454
67455         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67456         Reported by Eric Blake.
67457
67458 2006-10-06  Bruno Haible  <bruno@clisp.org>
67459
67460         * modules/closeout (Description): Mention stderr too.
67461
67462 2006-10-06  Bruno Haible  <bruno@clisp.org>
67463         and Paul Eggert  <eggert@cs.ucla.edu>
67464
67465         * lib/closeout.c (close_stdout): Also close stderr.
67466         * lib/closeout.h: Update comment.
67467
67468 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67469
67470         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67471         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67472         * lib/dirchownmod.c: Include lchown.h.
67473         * lib/lchown.c: Don't include files that lchown.h now includes.
67474         Don't declare chown, since lchown.h now does that.
67475         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67476         (lchown): Define to rpl_chown if lchown is declared but
67477         does not exist.  Declare using a prototype if lchown is not
67478         declared.  Add a copyright notice.
67479         * lib/mkstemp.h: Include <unistd.h>.
67480         * lib/openat.c: Include lchown.h.
67481
67482         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67483         we now test for that separately.
67484         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67485         rather than O_NOFOLLOW, when testing whether it's possible to
67486         avoid a race condition reliably.
67487         * lib/savewd.c (savewd_chdir): Likewise.
67488
67489         Remove macros that are no longer needed now that stdint.h is
67490         reliable.
67491         * lib/fsusage.c (UINTMAX_MAX): Remove.
67492         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67493         * lib/utimecmp.c (SIZE_MAX): Remove.
67494
67495         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67496
67497         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67498         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67499         O_NOATIME works.
67500
67501 2006-10-05  Bruno Haible  <bruno@clisp.org>
67502
67503         * lib/gl_list.h (gl_sortedlist_search_from_to,
67504         gl_sortedlist_indexof_from_to): New declarations.
67505         (gl_list_implementation): New fields sortedlist_search_from_to,
67506         sortedlist_indexof_from_to.
67507         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67508         inline functions.
67509         * lib/gl_list.c (gl_sortedlist_search_from_to,
67510         gl_sortedlist_indexof_from_to): New functions.
67511         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67512         function.
67513         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67514         (gl_array_sortedlist_search_from_to): New function.
67515         (gl_array_list_implementation): Update.
67516         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67517         function.
67518         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67519         (gl_carray_sortedlist_search_from_to): New function.
67520         (gl_carray_list_implementation): Update.
67521         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67522         gl_linked_sortedlist_indexof_from_to): New functions.
67523         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67524         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67525         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67526         gl_tree_sortedlist_indexof_from_to): New functions.
67527         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67528         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67529         Update.
67530         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67531         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67532         Update.
67533
67534 2006-10-05  Bruno Haible  <bruno@clisp.org>
67535
67536         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67537         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67538         (struct gl_list_implementation): Add fields search_from_to,
67539         indexof_from_to. Remove fields search, indexof.
67540         (gl_list_search): Use the search_from_to method.
67541         (gl_list_search_from, gl_list_search_from_to): New functions.
67542         (gl_list_indexof): Use the indexof_from_to method.
67543         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67544         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67545         (gl_list_search_from, gl_list_search_from_to): New functions.
67546         (gl_list_indexof): Use the indexof_from_to method.
67547         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67548         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67549         gl_array_indexof. Add start_index, end_index arguments.
67550         (gl_array_search_from_to): Renamed from gl_array_search. Add
67551         start_index, end_index arguments.
67552         (gl_array_remove, gl_array_list_implementation): Update.
67553         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67554         gl_carray_indexof. Add start_index, end_index arguments.
67555         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67556         start_index, end_index arguments.
67557         (gl_carray_remove, gl_carray_list_implementation): Update.
67558         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67559         gl_linked_search. Add start_index, end_index arguments.
67560         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67561         start_index, end_index arguments.
67562         (gl_linked_remove): Update.
67563         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67564         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67565         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67566         field to 'size_t'.
67567         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67568         gl_tree_search. Add start_index, end_index arguments.
67569         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67570         start_index, end_index arguments.
67571         (gl_tree_remove): Update.
67572         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67573         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67574         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67575         function.
67576         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67577         gl_tree_search. Add start_index, end_index arguments.
67578         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67579         start_index, end_index arguments.
67580         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67581         Update.
67582         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67583
67584 2006-10-05  Bruno Haible  <bruno@clisp.org>
67585
67586         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67587
67588         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67589         fwriteerror_temp): New declarations.
67590         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67591         (descriptors): New variable.
67592         (cleanup): First, close the descriptors.
67593         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67594         fclose_temp, fwriteerror_temp): New functions.
67595
67596 2006-10-04  Jim Meyering  <jim@meyering.net>
67597
67598         * lib/fts.c (fts_open): Tiny comment change.
67599
67600 2006-10-04  Bruno Haible  <bruno@clisp.org>
67601
67602         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67603         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67604         gl_LOCK_BODY.
67605         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67606         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67607         gl_LOCK_EARLY_BODY.
67608         (gl_LOCK): Require gl_LOCK_BODY.
67609
67610 2006-10-04  Bruno Haible  <bruno@clisp.org>
67611
67612         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67613         (gl_oset_search_atleast): New declaration.
67614         (struct gl_oset_implementation): Add field 'search_atleast'.
67615         (gl_oset_search_atleast): New inline function.
67616         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67617         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67618         (gl_array_oset_implementation): Update.
67619         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67620         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67621         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67622
67623 2006-10-04  Bruno Haible  <bruno@clisp.org>
67624
67625         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67626
67627 2006-10-03  Bruno Haible  <bruno@clisp.org>
67628
67629         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67630         from gl_avltreehash_list_implementation.
67631
67632 2006-10-03  Bruno Haible  <bruno@clisp.org>
67633
67634         * lib/gl_oset.c (gl_oset_add): Fix return type.
67635
67636 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67637
67638         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67639
67640 2006-10-02  Eric Blake  <ebb9@byu.net>
67641
67642         * modules/strnlen (Depends-on): Add extensions.
67643
67644 2006-10-02  Eric Blake  <ebb9@byu.net>
67645
67646         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67647         definition in 2.60+.
67648
67649 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67650
67651         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67652         checks.
67653
67654 2006-10-02  Bruno Haible  <bruno@clisp.org>
67655
67656         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67657         to the AUTOMAKE_OPTIONS.
67658         Reported by Jim Meyering.
67659
67660 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67661
67662         Work around bug in Solaris 10 /proc file system:
67663         /proc/self/fd/NNN/.. isn't the parent directory of
67664         the directory whose file descriptor is NNN.  This needs to
67665         be worked around at run time, not compile time, since a
67666         program might be built on Solaris 8, where things work, and
67667         run on Solaris 10.
67668         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67669         to use the following interface instead:
67670         (OPENAT_BUFFER_SIZE): New macro.
67671         (openat_proc_name): New function.
67672         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67673         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67674         Likewise.
67675         * lib/openat-proc.c: New file.
67676         * modules/openat (Files): Add lib/openat-proc.c.
67677         (Depends-on): Add same-inode, stdbool.
67678         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67679
67680 2006-09-29  Bruno Haible  <bruno@clisp.org>
67681
67682         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67683         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67684         argument. Set stdout_closed before testing for ferror, not after.
67685         (fwriteerror, fwriteerror_no_ebadf): New functions.
67686
67687 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67688
67689         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67690
67691 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67692
67693         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67694         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67695
67696 2006-09-28  Jim Meyering  <jim@meyering.net>
67697
67698         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67699         Include <unistd.h>.
67700
67701 2006-09-28  Bruno Haible  <bruno@clisp.org>
67702
67703         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67704         * modules/linkedhash-list (Depends-on): Likewise.
67705         * modules/rbtreehash-list (Depends-on): Likewise.
67706
67707 2006-09-28  Bruno Haible  <bruno@clisp.org>
67708
67709         * lib/strndup.h: Simplify the redefinition of strndup.
67710         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67711         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67712
67713 2006-09-28  Bruno Haible  <bruno@clisp.org>
67714
67715         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67716         * lib/gl_linkedhash_list.c: Likewise.
67717         * lib/gl_rbtreehash_list.c: Likewise.
67718
67719 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67720
67721         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67722         getaddrinfo.
67723
67724         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67725         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67726         it causes <stdio_ext.h> to cause a compile-time error.
67727         Problem reported by Nelson H. F. Beebe.
67728         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67729         of HAVE_DECL___PENDING.
67730
67731         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67732         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67733         declaration.
67734
67735 2006-09-27  Jim Meyering  <jim@meyering.net>
67736
67737         This file could end up with a definition for a function
67738         named __strndup, rather than rpl_strndup on a system with
67739         incomplete weak_alias support.
67740         * lib/strndup.c (strndup): Rename from __strndup.
67741         Remove #defines that used to map __strndup to strndup.
67742         Don't use K&R prototypes.
67743         Remove LIBC-related code, since this file is not sync'd with glibc.
67744         * lib/strndup.h: Revamp, accordingly.
67745         * m4/strndup.m4: Modernize.
67746
67747 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67748
67749         * modules/savewd (Depends-on): Add 'raise'.
67750         * lib/savewd.c: Include <signal.h>, for 'raise'.
67751
67752 2006-09-26  Jim Meyering  <jim@meyering.net>
67753
67754         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67755         when we detect Darwin 8.7.0's acl_get_file bug.
67756         Rearrange to perform the new (below) run-test while $LIBS
67757         contains any acl-related library.  Set USE_ACL at the end.
67758         (gl_ACL_GET_FILE): New function.
67759
67760 2006-09-26  Eric Blake  <ebb9@byu.net>
67761
67762         * lib/verror.c: Include <config.h> unconditionally.
67763
67764 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67765
67766         * modules/clock-time (Maintainer): Add self.
67767         * modules/getlogin_r (Depends-on): Add extensions.
67768
67769 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67770
67771         * modules/clock-time: New module.
67772         * modules/nanosleep (Depends-on): Add clock-time.
67773         * modules/gethrxtime (Depends-on): Likewise.
67774         * modules/gettime (Depends-on): Likewise.
67775         * modules/settime (Depends-on): Likewise.
67776
67777         * modules/fts-lgpl: Depend on openat.
67778         * modules/mkancesdirs: Depend on savewd.
67779         * modules/mkdir-p: Likewise.
67780
67781 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67782
67783         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67784
67785         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67786         `gl_have_arbitrary_file_name_length_limit' to
67787         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67788         actually works between configure runs.
67789
67790 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67791             Bruno Haible  <bruno@clisp.org>
67792
67793         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67794
67795 2006-09-25  Jim Meyering  <jim@meyering.net>
67796
67797         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67798         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67799
67800 2006-09-25  Eric Blake  <ebb9@byu.net>
67801
67802         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67803         exec's in 2006-09-18 patch when shuffling fds.
67804
67805 2006-09-25  Bruno Haible  <bruno@clisp.org>
67806
67807         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67808         Reported by Jim Meyering.
67809
67810 2006-09-24  Jim Meyering  <jim@meyering.net>
67811
67812         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67813         compare a pointer against a literal "0".  That caused failures with
67814         at least HP-UX's hpcc.
67815
67816 2006-09-22  Simon Josefsson  <jas@extundo.com>
67817
67818         * modules/gc-sha1:
67819         * modules/gc-md4:
67820         * modules/gc-hmac-sha1:
67821         * modules/gc-hmac-md5:
67822         * modules/gc-des:
67823         * modules/gc-arcfour: Distribute more files.
67824
67825 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67826
67827         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67828         (gl_linked_iterator_from_to): Initialize struct completely.
67829         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67830         (gl_tree_iterator_from_to): Likewise
67831         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67832         * lib/gl_array_list.c [lint] (gl_array_iterator)
67833         (gl_array_iterator_from_to): Likewise.
67834         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67835         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67836         (gl_carray_iterator_from_to): Likewise.
67837
67838         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67839         * lib/md4.c (md4_process_block): Remove unused variable.
67840         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67841         parentheses for clarity.
67842
67843 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67844
67845         * modules/bison-i18n (Depends-on): Add gettext.
67846
67847 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67848
67849         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67850         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67851         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67852         also add missing comma that caused broken test.
67853         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67854         stdlib.h, for `abort'.
67855         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67856         variables.
67857         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67858         include unistd.h if present, for `rmdir'.
67859         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67860         variables.
67861         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67862         in the process include standard headers for prototypes.
67863         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67864         gets declared on GNU/Linux.
67865         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67866         unistd.h, for `rmdir'.
67867         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67868
67869         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67870         always true.
67871         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67872
67873         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67874
67875 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67876
67877         * gnulib-tool (func_version): Create output all at once.  This
67878         may help avoid triggering unnecessary SIGPIPEs, and at any
67879         rate it doesn't hurt.
67880
67881 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67882             Bruno Haible  <bruno@clisp.org>
67883
67884         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67885         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67886         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67887
67888         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67889         (gl_FUNC_VASPRINTF): Invoke it.
67890
67891 2006-09-22  Bruno Haible  <bruno@clisp.org>
67892
67893         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67894         getloadavg.c as first argument.
67895
67896 2006-09-22  Bruno Haible  <bruno@clisp.org>
67897
67898         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67899         at the beginning of the gl_INIT macro.
67900         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67901         gl_GETLOADAVG.
67902
67903 2006-09-22  Bruno Haible  <bruno@clisp.org>
67904
67905         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67906         module.
67907         Suggested by Ralf Wildenhues.
67908
67909 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67910
67911         Import this patch from libc:
67912
67913         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67914
67915         * lib/regex_internal.c (re_string_reconstruct): Handle
67916         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67917         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67918         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67919         re_string_context_at.
67920
67921         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67922         now requires it.
67923         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67924         gl_REGEX now does it for us.
67925         (gl_REGEX): Add test taken from
67926         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67927
67928         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67929         Check that large offsets work.  Modernize Autoconf usages.
67930         Prefer "yes" to mean a good thing rather than a bad.
67931         Don't put "#define mkstemp" in config.h, as this might interfere
67932         with standard system headers that "#define mkstemp mkstemp64".
67933
67934         * modules/mkstemp (Depends-on): Add extensions, so that
67935         mkstemp is visible on some platforms.
67936         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67937         (Include): Change to "mkstemp.h" from <stdlib.h>.
67938         (Files): Add mkstemp.h.
67939
67940         * lib/mkstemp.h: New file, since some standard headers
67941         #define mkstemp.
67942         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67943         Include "mkstemp.h".
67944         Make the _LIBC code resemble glibc original more,
67945         e.g., use K&R style.
67946         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67947         (mkstemp): Remove, since mkstemp.h does this for us.
67948         * lib/stdlib--.h: Include mkstemp.h.
67949
67950         Import this patch from libc:
67951
67952         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67953
67954         * lib/tempname.c (__gen_tempname): Change attempts_min
67955         into a macro.  Use preprocessor to decide how to initialize
67956         attempts [Coverity CID 67].
67957
67958 2006-09-20  Bruno Haible  <bruno@clisp.org>
67959
67960         * lib/mkdtemp.c: Import from libc.
67961         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67962                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67963                 attempts_min into a macro.  Use preprocessor to decide how to
67964                 initialize attempts [Coverity CID 67].
67965         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67966                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67967                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67968
67969 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67970
67971         * gnulib-tool (func_exit): New function, to allow to pass the
67972         exit status portably through the trap.  Use everywhere.
67973         (--help, --version): Signal a write error.
67974         (trap): catch SIGPIPE, for write errors.
67975         Exit at the end of the trap, with the correct exit status.
67976
67977 2006-09-19  Karl Berry  <karl@gnu.org>
67978
67979         * doc/gnulib.texi: note about the license texinfo files.
67980
67981 2006-09-19  Eric Blake  <ebb9@byu.net>
67982
67983         * gnulib-tool: Avoid space-tab.
67984
67985 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67986
67987         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67988         that prevented coreutils 6.1 from building.  Problem reported
67989         by Petter Reinholdtsen.
67990
67991 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67992
67993         * gnulib-tool (avoidlist): Fix typo that broke options like
67994         --avoid=lock that are used by coreutils bootstrap.
67995
67996 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67997
67998         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67999         more systematically.
68000
68001 2006-09-18  Jim Meyering  <jim@meyering.net>
68002
68003         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
68004
68005 2006-09-18  Bruno Haible  <bruno@clisp.org>
68006
68007         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
68008
68009 2006-09-18  Bruno Haible  <bruno@clisp.org>
68010
68011         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
68012         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
68013         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
68014         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
68015         * m4/gettext.m4: Require autoconf >= 2.52.
68016         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
68017         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
68018         of gl_cv_header_inttypes_h.
68019
68020 2006-09-18  Bruno Haible  <bruno@clisp.org>
68021
68022         * lib/javaversion.c: Include configmake.h.
68023
68024 2006-09-18  Bruno Haible  <bruno@clisp.org>
68025
68026         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
68027         avoid that the while loops be executed in a subshell.
68028
68029 2006-09-18  Bruno Haible  <bruno@clisp.org>
68030
68031         * MODULES.html.sh (func_module): Break long lines.
68032         Suggested by Bruce Korb <bkorb@gnu.org>.
68033
68034 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68035
68036         Speed up by a factor of 1.12.
68037         * gnulib-tool (nl): New variable.
68038         (func_import): Rewrite include directive extraction to only read each
68039         directive once.
68040
68041 2006-09-17  Bruno Haible  <bruno@clisp.org>
68042
68043         * modules/javaversion (Makefile.am): Remove DEFS setting.
68044         (Depends-on): Add configmake, for PKGDATADIR definition.
68045
68046 2006-09-17  Bruno Haible  <bruno@clisp.org>
68047
68048         * gnulib-tool (func_create_testdir): Rewrite all files at once.
68049
68050 2006-09-17  Bruno Haible  <bruno@clisp.org>
68051
68052         * gnulib-tool (func_append): New function, stolen from libtool.m4.
68053         (func_modules_transitive_closure, func_modules_add_dummy,
68054         func_modules_to_filelist, func_import, func_create_testdir,
68055         func_create_megatestdir, ...): Use it wherever possible.
68056         Suggested by Ralf Wildenhues.
68057
68058 2006-09-16  Karl Berry  <karl@gnu.org>
68059
68060         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
68061         to avoid sectioning errors.
68062         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
68063         [ifinfo]: blank line after @center-ed titles.
68064         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
68065         Spell FSF address consistently with others.
68066         (These changes approved by rms.)
68067
68068 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68069
68070         Speed up by a factor of 1.61.
68071         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
68072         already checked module names again.
68073
68074 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68075
68076         Speed up by a factor of 1.13.
68077         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
68078         for new_files, and the input to func_add_or_update.
68079
68080 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68081
68082         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
68083         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
68084
68085 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68086
68087         * modules/mkancesdirs (Depends-on): Add fcntl.
68088         * modules/savewd: New file.
68089         * MODULES.html.sh (File system functions): Add savewd.
68090
68091         * modules/configmake (Makefile.am): Add support for the
68092         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
68093
68094 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68095
68096         * m4/savewd.m4: New file.
68097
68098 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68099
68100         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
68101         (dirchownmod): New arg FD.  All callers changed.
68102         Use FD rather than opening the directory ourself, as opening is
68103         now the caller's responsibility.
68104         * lib/dirchownmod.h: Likewise.
68105         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
68106         hosts that require <sys/types.h> before <sys/stat.h>.  Include
68107         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
68108         (test_dir): Remove.
68109         (mkancesdirs): Return length of prefix of FILE that has already
68110         been made, or -2 if there is a child doing the work.  Redo
68111         algorithm so that it is O(N) rather than O(N**2).  Optimize away
68112         ".", and treat ".." specially since it might stray back into
68113         already-created areas.  Use a subprocess if necessary.  New arg
68114         WD; all users changed.  MAKE_DIR function should now return 1
68115         if it creates a directory that is not readable.  Return -2 if
68116         a child process is spun off.
68117         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
68118         Adjust signature to match code.
68119         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
68120         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
68121         all users changed.
68122         * lib/savewd.c, lib/savewd.h: New files.
68123
68124 2006-09-15  Jim Meyering  <jim@meyering.net>
68125
68126         * modules/rename-dest-slash: New module.
68127         * MODULES.html.sh (posix_compat): Add it here.
68128
68129         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
68130
68131 2006-09-15  Jim Meyering  <jim@meyering.net>
68132
68133         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
68134         file.
68135
68136         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
68137
68138 2006-09-15  Jim Meyering  <jim@meyering.net>
68139
68140         * lib/rename-dest-slash.c (has_trailing_slash): Use
68141         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
68142         (rpl_rename_dest_slash): Perform the cheaper trailing slash
68143         test before testing whether SRC is a directory.
68144         Suggestions from Bruno Haible.
68145
68146         Avoid a warning about an unused variable.
68147         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
68148         into the #ifdef block where it's used.
68149
68150         * lib/rename-dest-slash.c: New file.
68151
68152 2006-09-14  Bruno Haible  <bruno@clisp.org>
68153
68154         * lib/allocsa.c: Include <config.h> unconditionally.
68155         * lib/asnprintf.c: Likewise.
68156         * lib/asprintf.c: Likewise.
68157         * lib/c-strcasecmp.c: Likewise.
68158         * lib/c-strcasestr.c: Likewise.
68159         * lib/c-strncasecmp.c: Likewise.
68160         * lib/c-strstr.c: Likewise.
68161         * lib/classpath.c: Likewise.
68162         * lib/clean-temp.c: Likewise.
68163         * lib/concatpath.c: Likewise.
68164         * lib/copy-file.c: Likewise.
68165         * lib/csharpcomp.c: Likewise.
68166         * lib/csharpexec.c: Likewise.
68167         * lib/execute.c: Likewise.
68168         * lib/fatal-signal.c: Likewise.
68169         * lib/findprog.c: Likewise.
68170         * lib/fwriteerror.c: Likewise.
68171         * lib/gl_array_list.c: Likewise.
68172         * lib/gl_array_oset.c: Likewise.
68173         * lib/gl_avltree_list.c: Likewise.
68174         * lib/gl_avltree_oset.c: Likewise.
68175         * lib/gl_avltreehash_list.c: Likewise.
68176         * lib/gl_carray_list.c: Likewise.
68177         * lib/gl_linked_list.c: Likewise.
68178         * lib/gl_linkedhash_list.c: Likewise.
68179         * lib/gl_list.c: Likewise.
68180         * lib/gl_oset.c: Likewise.
68181         * lib/gl_rbtree_list.c: Likewise.
68182         * lib/gl_rbtree_oset.c: Likewise.
68183         * lib/gl_rbtreehash_list.c: Likewise.
68184         * lib/imaxabs.c: Likewise.
68185         * lib/imaxdiv.c: Likewise.
68186         * lib/javacomp.c: Likewise.
68187         * lib/javaexec.c: Likewise.
68188         * lib/javaversion.c: Likewise.
68189         * lib/linebreak.c: Likewise.
68190         * lib/localcharset.c: Likewise.
68191         * lib/lock.c: Likewise.
68192         * lib/mbchar.c: Likewise.
68193         * lib/mbswidth.c: Likewise.
68194         * lib/mkdtemp.c: Likewise.
68195         * lib/pipe.c: Likewise.
68196         * lib/printf-args.c: Likewise.
68197         * lib/printf-parse.c: Likewise.
68198         * lib/progname.c: Likewise.
68199         * lib/progreloc.c: Likewise.
68200         * lib/readlink.c: Likewise.
68201         * lib/sh-quote.c: Likewise.
68202         * lib/stpcpy.c: Likewise.
68203         * lib/stpncpy.c: Likewise.
68204         * lib/strcasecmp.c: Likewise.
68205         * lib/strcasestr.c: Likewise.
68206         * lib/strcspn.c: Likewise.
68207         * lib/striconv.c: Likewise.
68208         * lib/strncasecmp.c: Likewise.
68209         * lib/strnlen1.c: Likewise.
68210         * lib/strstr.c: Likewise.
68211         * lib/strtok_r.c: Likewise.
68212         * lib/tls.c: Likewise.
68213         * lib/tmpdir.c: Likewise.
68214         * lib/unicodeio.c: Likewise.
68215         * lib/unsetenv.c: Likewise.
68216         * lib/vasnprintf.c: Likewise.
68217         * lib/vasprintf.c: Likewise.
68218         * lib/wait-process.c: Likewise.
68219         * lib/xallocsa.c: Likewise.
68220         * lib/xsetenv.c: Likewise.
68221         * lib/xstriconv.c: Likewise.
68222
68223 2006-09-13  Simon Josefsson  <jas@extundo.com>
68224
68225         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
68226         that internally, suggested by Ralf Wildenhues
68227         <Ralf.Wildenhues@gmx.de>.
68228
68229 2006-09-13  Simon Josefsson  <jas@extundo.com>
68230
68231         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
68232         @LIBOBJS@.
68233         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68234
68235 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68236
68237         * lib/_fpending.c: Include <config.h> unconditionally, since we no
68238         longer worry about uses that don't define HAVE_CONFIG_H.
68239         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
68240         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
68241         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
68242         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
68243         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
68244         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
68245         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
68246         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
68247         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
68248         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
68249         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
68250         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
68251         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
68252         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
68253         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
68254         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
68255         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
68256         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
68257         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
68258         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
68259         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
68260         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
68261         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
68262         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
68263         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
68264         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
68265         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
68266         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
68267         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
68268         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
68269         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
68270         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
68271         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
68272         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
68273         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
68274         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
68275         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
68276         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
68277         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
68278         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
68279         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
68280         Likewise.
68281
68282 2006-09-13  Eric Blake  <ebb9@byu.net>
68283
68284         * lib/getopt.c: Fix typo in last commit.
68285
68286 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68287
68288         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
68289         dgettext.
68290
68291 2006-09-12  Jim Meyering  <jim@meyering.net>
68292
68293         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
68294         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
68295         Reported by Nelson H. F. Beebe.
68296
68297 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68298
68299         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
68300         program_invocation_name and program_invocation_short_name are
68301         initialized.
68302         * lib/argp-namefrob.h: Move declarations of program_invocation_name
68303         and program_invocation_short_name to argp.h, so they are visible
68304         to user programs.
68305         * lib/argp.h: Likewise
68306
68307 2006-09-10  Bruno Haible  <bruno@clisp.org>
68308
68309         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68310         m4/inttypes_h.m4, m4/uintmax_t.m4.
68311
68312 2006-09-10  Bruno Haible  <bruno@clisp.org>
68313
68314         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
68315         gl_AC_TYPE_UINTMAX_T.
68316
68317 2006-09-10  Bruno Haible  <bruno@clisp.org>
68318
68319         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
68320
68321 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68322
68323         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
68324         convention.  Text proposed by Bruno Haible.
68325         (struct argp_option): Document the use of N_() wrappers.
68326
68327         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
68328         '\v', and translate the two parts separately, instead of feeding
68329         the whole string to gettext.  This allows to exclude
68330         '\v' from the strings visible to the translator by writing doc
68331         strings as N_("..") "\v" N_("..").
68332
68333 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
68334
68335         * config/srclist.txt: Undo latest change; the bug was fixed.
68336
68337 2006-09-09  Bruno Haible  <bruno@clisp.org>
68338
68339         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
68340         assignments if building a library without libtool.
68341         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
68342         in func_emit_lib_Makefile_am.
68343         (func_import): When building a static library libfoo.a, arrange to
68344         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
68345         (func_create_testdir): Likewise.
68346         * modules/gc (configure.ac, Makefile.am): If building statically,
68347         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
68348         * modules/iconvme (configure.ac, Makefile.am): Likewise.
68349         * modules/striconv (configure.ac, Makefile.am): Likewise.
68350         Based on a suggestion by Ralf Wildenhues.
68351
68352 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68353
68354         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68355         Check for unistd.h too, since Autoconf doesn't assume POSIX.
68356         Also:
68357
68358         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68359         Add year_2050_test to catch glibc bug 2821
68360         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68361
68362         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68363         Prefer #ifdef to #if.
68364
68365         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68366         Return from 'main' instead of calling 'exit'.
68367
68368 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68369
68370         * lib/mktime.c (guess_time_tm): Fix bug where mktime
68371         returned the maximum time_t value rather than (time_t) -1.
68372         Problem originally reported by William Bardwell
68373         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68374
68375         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68376         Moved to here ...
68377         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68378         ... from here.
68379
68380 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68381
68382         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
68383         2821 is fixed.
68384
68385 2006-09-08  Jim Meyering  <jim@meyering.net>
68386
68387         Don't make generated files read-only.  That would bother too many
68388         people.  However, do retain the ability to work when targets are
68389         read-only: remove the destination and temporary files before writing
68390         them (when generated via sed or echo), or by using the -f option for
68391         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
68392         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68393         * modules/byteswap, modules/configmake, modules/fcntl:
68394         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68395         * modules/localcharset, modules/netinet_in, modules/poll:
68396         * modules/stdbool, modules/stdint, modules/sys_select:
68397         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68398
68399 2006-09-08  Jim Meyering  <jim@meyering.net>
68400
68401         Avoid new build failure on FreeBSD 6.0.
68402         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
68403         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
68404         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
68405
68406 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68407
68408         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68409
68410 2006-09-07  Jim Meyering  <jim@meyering.net>
68411
68412         Fix global typo in last change: use chmod u-w, not chmod u-x.
68413         Spotted by Paul Eggert and Bruce Korb.
68414         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68415         * modules/byteswap, modules/configmake, modules/fcntl:
68416         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68417         * modules/localcharset, modules/netinet_in, modules/poll:
68418         * modules/stdbool, modules/stdint, modules/sys_select:
68419         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68420
68421 2006-09-06  Jim Meyering  <jim@meyering.net>
68422
68423         Make generated files be read-only.
68424         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68425         Ensure that each generated file is now read-only.
68426         * modules/argz: Likewise.
68427         * modules/arpa_inet: Likewise.
68428         * modules/byteswap: Likewise.
68429         * modules/configmake: Likewise.
68430         * modules/fcntl: Likewise.
68431         * modules/fnmatch: Likewise.
68432         * modules/getopt: Likewise.
68433         * modules/glob: Likewise.
68434         * modules/inttypes: Likewise.
68435         * modules/netinet_in: Likewise.
68436         * modules/poll: Likewise.
68437         * modules/stdbool: Likewise.
68438         * modules/stdint: Likewise.
68439         * modules/sys_select: Likewise.
68440         * modules/sys_socket: Likewise.
68441         * modules/sys_stat: Likewise.
68442         * modules/sysexits: Likewise.
68443         * modules/localcharset: Same as above, but continue using temporary
68444         file named "t-$@" (why different?) rather than the "$@-t" used
68445         everywhere else.
68446
68447         * modules/sysexits (Makefile.am): Replace literal occurrences
68448         of "sysexit.h" more readable, and more consistent, "$@".
68449
68450 2006-09-06  Bruno Haible  <bruno@clisp.org>
68451
68452         * modules/striconv: New file.
68453         * modules/xstriconv: New file.
68454         * MODULES.html.sh (Internationalization functions): Add striconv,
68455         xstriconv.
68456
68457 2006-09-06  Bruno Haible  <bruno@clisp.org>
68458
68459         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68460         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68461         not using libtool correctly.
68462
68463 2006-09-06  Bruno Haible  <bruno@clisp.org>
68464
68465         * lib/striconv.h: New file.
68466         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68467         iconvstring.c.
68468         * lib/xstriconv.h: New file.
68469         * lib/xstriconv.c: New file.
68470
68471 2006-09-06  Bruno Haible  <bruno@clisp.org>
68472
68473         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68474         lib_..._LDFLAGS.
68475
68476 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68477
68478         * lib/argz_.h: Sync from Libtool.
68479
68480         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68481                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68482
68483         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68484
68485 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68486
68487         * modules/trim: New file.
68488
68489 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68490
68491         * lib/trim.h: New file.
68492         * lib/trim.c: New file.
68493
68494 2006-09-05  Bruno Haible  <bruno@clisp.org>
68495
68496         * MODULES.html.sh (String handling): Add trim.
68497
68498 2006-09-04  Karl Berry  <karl@gnu.org>
68499
68500         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68501         until next release.
68502
68503 2006-09-03  Bruno Haible  <bruno@clisp.org>
68504
68505         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68506         correctly.
68507
68508 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68509
68510         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68511         not gl_GETLOADAVG.  Omit unneeded semicolons.
68512         Problems reported by Ralf Wildenhues in
68513         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68514         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68515         at the end, which is the usual gnulib style.
68516
68517         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68518         of doing all the work ourselves.
68519         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68520         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68521
68522 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68523
68524         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68525         Problem reported by Ralf Wildenhues in
68526         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68527
68528         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68529         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68530
68531 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68532
68533         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68534         yesterday's patch by changing test -n to test -z.
68535
68536 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68537
68538         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68539         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68540         the former is now obsolescent.
68541
68542         * modules/chdir-long (Depends-on): Add fcntl.
68543
68544 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68545
68546         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68547         obsolescent, and programs should use gnulib instead.
68548         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68549         but with prefixes changed.
68550
68551 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68552
68553         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68554         or stdbool.h, because they might not exist while configuring.
68555
68556         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68557         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68558         does that for us.
68559         (O_DIRECTORY): Remove.
68560
68561 2006-08-31  Eric Blake  <ebb9@byu.net>
68562
68563         * gnulib-tool: Don't let emacs change spaces to TAB.
68564
68565 2006-08-31  Bruno Haible  <bruno@clisp.org>
68566
68567         * gnulib-tool: When calling func_import more than once, do it in a
68568         subshell.
68569         Reported by Eric Blake <ebb9@byu.net>.
68570
68571 2006-08-31  Bruno Haible  <bruno@clisp.org>
68572
68573         * gnulib-tool (nl): Remove variable.
68574         (sed_transform_lib_file): Use more robust test for config-h module.
68575         (func_import): Fix typo in 2006-08-25 patch.
68576
68577 2006-08-31  Bruno Haible  <bruno@clisp.org>
68578
68579         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68580         specified, augment Makefile.am variables instead of assigning them.
68581
68582 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68583
68584         Work around a bug in both the Linux and SunOS 64-bit kernels:
68585         nanosleep mishandles sleeps for longer than 2**31 seconds.
68586         Problem reported by Frank v Waveren in
68587         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68588         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68589         Check for nanosleep bug.
68590         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68591
68592 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68593
68594         Work around a bug in both the Linux and SunOS 64-bit kernels:
68595         nanosleep mishandles sleeps for longer than 2**31 seconds.
68596         Problem reported by Frank v Waveren in
68597         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68598         * lib/nanosleep.c (BILLION): New constant.
68599         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68600         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68601         implementation.
68602
68603 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68604
68605         * modules/nanosleep (Depends-on): Add gettime.
68606
68607 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68608         and Simon Josefsson  <jas@extundo.com>
68609         and Oskar Liljeblad  <oskar@osk.mine.nu>
68610
68611         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68612         * gnulib-tool (func_import): New license type 'unmodifiable license
68613         text'.
68614         * modules/fdl: Use it.  Longer description.
68615         * module/gpl, module/lgpl: New files.
68616
68617 2006-08-30  Jim Meyering  <jim@meyering.net>
68618
68619         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68620         shadowing the parameter.
68621
68622 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68623
68624         Sync from Libtool:
68625
68626         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68627
68628         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68629         sharing with gnulib.  Report by Eric Blake.
68630
68631 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68632
68633         * modules/isapipe: New file.
68634         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68635
68636 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68637
68638         * modules/configmake (Makefile.am): Add a comment, and omit
68639         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68640         by Bruno Haible.
68641
68642 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68643
68644         * m4/isapipe.m4: New file.
68645
68646 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68647
68648         * lib/isapipe.c, lib/isapipe.h: New files.
68649
68650 2006-08-29  Jim Meyering  <jim@meyering.net>
68651
68652         * modules/configmake (Makefile.am): Make configmake.h depend on
68653         Makefile.  Otherwise, a stale configmake.h could hang around.
68654
68655 2006-08-29  Eric Blake  <ebb9@byu.net>
68656
68657         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68658         resolution of upstream bug 3044.
68659
68660 2006-08-29  Bruno Haible  <bruno@clisp.org>
68661
68662         * modules/localcharset (Depends-on): Add configmake.
68663         (Makefile.am): Remove setting of LIBDIR through DEFS.
68664
68665 2006-08-29  Bruno Haible  <bruno@clisp.org>
68666
68667         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68668         defined.
68669
68670 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68671
68672         * modules/fcntl: New file.
68673         * modules/chdir-safer (Depends-on): Add fcntl.
68674         * modules/fts: Likewise.
68675         * modules/mkdir-p: Likewise.
68676
68677         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68678         This undoes the most recent change, since we're now addressing the
68679         problem in a different way.
68680
68681         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68682         into output, since the output might be called Makefile.am even
68683         if $makefile_name is something different.
68684         (func_import): Use $makefile_am rather than
68685         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68686         empty.
68687
68688         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68689
68690 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68691
68692         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68693         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68694         recent change to stdint.m4, since we're now addressing the problem in a
68695         different way.
68696
68697 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68698
68699         * m4/fcntl_h.m4: New file.
68700
68701 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68702
68703         * lib/fcntl_.h: New file.
68704         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68705         the fcntl module.
68706         * lib/dirchownmod.c: Likewise.
68707         * lib/fts.c: Likewise.
68708
68709         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68710         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68711         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68712         just before including <inttypes.h>, to avoid circular inclusion.
68713
68714 2006-08-28  Jim Meyering  <jim@meyering.net>
68715
68716         * doc/visibility.texi: Actually read and correct the grammar of the
68717         sentence affected by yesterday's change.
68718
68719 2006-08-28  Eric Blake  <ebb9@byu.net>
68720
68721         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68722         needs wrapper.
68723
68724 2006-08-28  Eric Blake  <ebb9@byu.net>
68725
68726         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68727
68728 2006-08-28  Eric Blake  <ebb9@byu.net>
68729
68730         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68731
68732 2006-08-28  Bruno Haible  <bruno@clisp.org>
68733
68734         * modules/c-strstr: New file, from GNU gettext.
68735         * MODULES.html.sh (String handling): Add c-strstr.
68736
68737 2006-08-28  Bruno Haible  <bruno@clisp.org>
68738
68739         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68740         macros.
68741         Reported by Eric Blake.
68742
68743 2006-08-28  Bruno Haible  <bruno@clisp.org>
68744
68745         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68746         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68747         * lib/vasprintf.c: Include errno.h, limits.h.
68748         (EOVERFLOW): New fallback definition.
68749         (vasprintf): Test here whether the string length is > INT_MAX.
68750         * lib/vsnprintf.c: Include errno.h, limits.h.
68751         (EOVERFLOW): New fallback definition.
68752         (vsnprintf): Fix bug when generated string was too long for the buffer.
68753         Test here whether the string length is > INT_MAX.
68754
68755 2006-08-28  Bruno Haible  <bruno@clisp.org>
68756
68757         * lib/inttypes_.h (SCNX*): Remove definitions.
68758         Reported by Eric Blake.
68759
68760 2006-08-28  Bruno Haible  <bruno@clisp.org>
68761
68762         * lib/c-strstr.h: New file, from GNU gettext.
68763         * lib/c-strstr.c: New file, from GNU gettext.
68764
68765 2006-08-28  Bruno Haible  <bruno@clisp.org>
68766
68767         * gnulib-tool: Reorder some statements.
68768
68769 2006-08-28  Bruno Haible  <bruno@clisp.org>
68770
68771         * gnulib-tool: New option --makefile-name.
68772         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68773         $makefile_name.
68774         (func_import): Write $makefile_name to the cache file, and read it from
68775         there unless explicitly specified. Use $makefile_name as file name
68776         instead of Makefile.am. Adjust the recommendations accordingly.
68777
68778 2006-08-28  Bruno Haible  <bruno@clisp.org>
68779
68780         * gnulib-tool (func_verify_module): Check against misapplying patch.
68781
68782 2006-08-28  Bruno Haible  <bruno@clisp.org>
68783
68784         * gnulib-tool (func_relativize, func_relconcat): New functions.
68785         Give an error if --local-dir is given with --update.
68786         Remove trailing slashes from $local_gnulib_dir.
68787         (func_import): Store the relativized $local_gnulib_dir in
68788         gnulib-cache.m4, and read it from there if not specified explicitly.
68789
68790 2006-08-28  Bruno Haible  <bruno@clisp.org>
68791
68792         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68793         is the current directory. Respect also $local_gnulib_dir.
68794
68795 2006-08-28  Bruno Haible  <bruno@clisp.org>
68796             Simon Josefsson  <jas@extundo.com>
68797
68798         BeOS portability.
68799         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68800
68801 2006-08-27  Jim Meyering  <jim@meyering.net>
68802
68803         * doc/visibility.texi: Remove duplicate word: "pointer".
68804
68805 2006-08-26  Bruno Haible  <bruno@clisp.org>
68806
68807         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68808         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68809         (Makefile.am): Create inttypes.h from inttypes_.h.
68810         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68811
68812         * modules/imaxabs: New file.
68813
68814         * modules/imaxdiv: New file.
68815
68816 2006-08-26  Bruno Haible  <bruno@clisp.org>
68817
68818         * m4/inttypes.m4: New file.
68819         * m4/_inttypes_h.m4: Remove file.
68820         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68821         PRI_MACROS_BROKEN.
68822         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68823
68824         * m4/imaxabs.m4: New file.
68825
68826         * m4/imaxdiv.m4: New file.
68827
68828 2006-08-26  Bruno Haible  <bruno@clisp.org>
68829
68830         * lib/inttypes_.h: New file.
68831         * lib/inttypes.h: Remove file.
68832         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68833
68834         * lib/imaxabs.c: New file.
68835
68836         * lib/imaxdiv.c: New file.
68837
68838 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68839
68840         New config-h module, so that "make" output needn't be cluttered
68841         by -DHAVE_CONFIG_H.
68842         * MODULES.html.sh (Support for building libraries and executables):
68843         Add config-h.
68844         * modules/config-h: New file.
68845         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68846         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68847         the config-h module is used.
68848
68849         New configmake module, so that "make" output needn't be cluttered
68850         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68851         * MODULES.html.sh (Support for building libraries and executables):
68852         Add configmake.
68853         * modules/configmake: New file.
68854
68855 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68856
68857         * m4/config-h.m4: New file.
68858
68859 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68860
68861         * config/srclist.txt: Add elisp-comp.
68862
68863 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68864
68865         * MODULES.html.sh (Support for building libraries and executables):
68866         Add elisp-comp.
68867         * build-aux/elisp-comp: New file.
68868         * modules/elisp-comp: New file.
68869
68870 2006-08-24  Bruno Haible  <bruno@clisp.org>
68871
68872         * gnulib-tool (func_create_testdir): Use non-default values of
68873         sourcebase and m4base.
68874
68875 2006-08-24  Bruno Haible  <bruno@clisp.org>
68876
68877         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68878         HTML structure.
68879
68880 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68881
68882         * modules/openat (Depends-on): Add lchown.
68883
68884 2006-08-23  Bruno Haible  <bruno@clisp.org>
68885
68886         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68887         of gl_LOCK_EARLY instead of gl_LOCK.
68888
68889 2006-08-23  Bruno Haible  <bruno@clisp.org>
68890
68891         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68892         on OSF/1 to no.
68893         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68894
68895 2006-08-23  Bruno Haible  <bruno@clisp.org>
68896
68897         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68898         as unusable.
68899
68900         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68901         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68902         (gl_LOCK): New macro.
68903
68904 2006-08-22  Simon Josefsson  <jas@extundo.com>
68905
68906         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68907         to md5 module.
68908
68909 2006-08-22  Simon Josefsson  <jas@extundo.com>
68910
68911         * MODULES.html.sh: Add "Support for maintaining and release
68912         projects".
68913
68914         * build-aux/gnupload: New file, from coreutils.
68915
68916 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68917
68918         Avoid the need for AC_LIBSOURCES in m4 macros.
68919         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68920         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68921         * modules/check-version (EXTRA_DIST): Add check-version.h.
68922         * modules/crc (EXTRA_DIST): Add crc.h.
68923         * modules/des (EXTRA_DIST): Add des.h.
68924         * modules/gc (EXTRA_DIST): Add gc.h.
68925         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68926         * modules/getline (EXTRA_DIST): Add getline.h.
68927         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68928         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68929         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68930         * modules/md2 (EXTRA_DIST): Add md2.h.
68931         * modules/md4 (EXTRA_DIST): Add md4.h.
68932         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68933         * modules/read-file (EXTRA_DIST): Add read-file.h.
68934         * modules/readline (EXTRA_DIST): Add readline.h.
68935         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68936         rijndael-api-fst.h.
68937
68938 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68939
68940         * m4/rijndael.m4 (gl_ARCFOUR):
68941         * m4/arctwo.m4 (gl_ARCTWO):
68942         * m4/check-version.m4 (gl_CHECK_VERSION):
68943         * m4/crc.m4 (gl_CRC):
68944         * m4/des.m4 (gl_DES):
68945         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68946         * m4/gc.m4 (gl_GC):
68947         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68948         * m4/getline.m4 (gl_FUNC_GETLINE):
68949         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68950         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68951         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68952         * m4/md2.m4 (gl_MD2):
68953         * m4/md4.m4 (gl_MD4):
68954         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68955         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68956         * m4/readline.m4 (gl_FUNC_READLINE):
68957         * m4/rijndael.m4 (gl_RIJNDAEL):
68958         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68959         to get the necessary .h files and whatnot.
68960
68961 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68962
68963         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68964         gnulib rather than the other way around.
68965         * config/srclistvars.sh (COREUTILS): Remove.
68966
68967 2006-08-22  Jim Meyering  <jim@meyering.net>
68968
68969         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68970
68971         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68972
68973 2006-08-22  Eric Blake  <ebb9@byu.net>
68974
68975         * modules/regexprops-generic: New file.
68976         * MODULES.html.sh (Support for building documentation): List it.
68977
68978 2006-08-22  Eric Blake  <ebb9@byu.net>
68979
68980         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68981         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68982         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68983         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68984
68985 2006-08-22  Bruno Haible  <bruno@clisp.org>
68986
68987         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68988         and lib_LTLIBRARIES like the other lib_* variables.
68989
68990 2006-08-22  Bruno Haible  <bruno@clisp.org>
68991
68992         * build-aux/x-to-1.in: New file, from GNU gettext.
68993
68994 2006-08-22  Bruno Haible  <bruno@clisp.org>
68995
68996         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68997         <utmpx.h> exists.
68998
68999 2006-08-22  Bruno Haible  <bruno@clisp.org>
69000
69001         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
69002         <utmpx.h> exists.
69003
69004 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69005
69006         BeOS portability.
69007         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
69008         exist.
69009         Problem reported by Bruno Haible.
69010
69011 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69012
69013         Avoid the need for AC_LIBSOURCES in m4 macros.
69014         * modules/acl (EXTRA_DIST): Add acl.h.
69015         * modules/argmatch (Files): Add m4/argmatch.m4.
69016         (configure.ac): Add gl_ARGMATCH.
69017         (EXTRA_DIST): Renamed from lib_SOURCES, for
69018         consistency with the other modules.  Remove argmatch.c.
69019         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
69020         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
69021         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
69022         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
69023         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
69024         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
69025         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
69026         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
69027         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
69028         * modules/closeout (EXTRA_DIST): Add closeout.h.
69029         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
69030         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
69031         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
69032         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
69033         dirname.h; remove basename.c and stripslash.c.
69034         * modules/exclude (EXTRA_DIST): Add exclude.h.
69035         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
69036         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
69037         * modules/file-type (EXTRA_DIST): Add file-type.h.
69038         * modules/filemode (EXTRA_DIST): Add filemode.h.
69039         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
69040         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
69041         * modules/fpending (EXTRA_DIST): Add __fpending.h.
69042         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
69043         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
69044         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
69045         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
69046         * modules/getdate (EXTRA_DIST): Add getdate.c.
69047         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
69048         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
69049         * modules/getpass (EXTRA_DIST): Add getpass.h.
69050         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
69051         * modules/group-member (EXTRA_DIST): Add group-member.h.
69052         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
69053         * modules/hash (EXTRA_DIST): Add hash.h.
69054         * modules/human (EXTRA_DIST): Add human.h.
69055         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
69056         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
69057         * modules/lchown (EXTRA_DIST): Add lchown.h.
69058         * modules/long-options (EXTRA_DIST): Add long-options.h.
69059         * modules/lstat (EXTRA_DIST): Add lstat.h.
69060         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
69061         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
69062         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
69063         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
69064         * modules/memxor (EXTRA_DIST): Add memxor.h.
69065         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
69066         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
69067         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
69068         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
69069         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
69070         * modules/physmem (EXTRA_DIST): Add physmem.h.
69071         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
69072         * modules/posixver (EXTRA_DIST): Add posixver.h.
69073         * modules/quote (EXTRA_DIST): Add quote.h.
69074         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
69075         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
69076         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
69077         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
69078         regex_internal.h regexec.c.
69079         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
69080         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
69081         * modules/same (EXTRA_DIST): Add same.h.
69082         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
69083         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
69084         * modules/savedir (EXTRA_DIST): Add savedir.h.
69085         * modules/sha1 (EXTRA_DIST): Add sha1.h.
69086         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
69087         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
69088         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
69089         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
69090         * modules/strdup (EXTRA_DIST): Add strdup.h.
69091         * modules/strftime (EXTRA_DIST): Add strftime.h.
69092         * modules/strndup (EXTRA_DIST): Add strndup.h.
69093         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
69094         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
69095         * modules/time_r (EXTRA_DIST): Add time_r.h.
69096         * modules/timespec (EXTRA_DIST): Add timespec.h.
69097         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
69098         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
69099         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
69100         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
69101         * modules/userspec (EXTRA_DIST): Add userspec.h.
69102         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
69103         * modules/utimens (EXTRA_DIST): Add utimens.h.
69104         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
69105         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
69106         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
69107         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
69108         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
69109         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
69110         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
69111         * modules/yesno (EXTRA_DIST): Add yesno.h.
69112
69113 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
69114
69115         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
69116
69117         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
69118         * m4/dev-ino.m4, same-inode.m4: Remove.
69119
69120         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
69121         * m4/acl.m4 (AC_FUNC_ACL):
69122         * m4/backupfile.m4 (gl_BACKUPFILE):
69123         * m4/c-strtod.m4 (gl_C99_STRTOLD):
69124         * m4/canon-host.m4 (gl_CANON_HOST):
69125         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69126         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
69127         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
69128         * m4/cloexec.m4 (gl_CLOEXEC):
69129         * m4/close-stream.m4 (gl_CLOSE_STREAM):
69130         * m4/closeout.m4 (gl_CLOSEOUT):
69131         * m4/dirfd.m4 (gl_FUNC_DIRFD):
69132         * m4/dirname.m4 (gl_DIRNAME):
69133         * m4/exclude.m4 (gl_EXCLUDE):
69134         * m4/exitfail.m4 (gl_EXITFAIL):
69135         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
69136         * m4/file-type.m4 (gl_FILE_TYPE):
69137         * m4/filemode.m4 (gl_FILEMODE):
69138         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
69139         * m4/fpending.m4 (gl_FUNC_FPENDING):
69140         * m4/fprintftime.m4 (gl_FPRINTFTIME):
69141         * m4/fts.m4 (gl_FUNC_FTS):
69142         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
69143         * m4/getdate.m4 (gl_GETDATE):
69144         * m4/gethrxtime.m4 (gl_GETHRXTIME):
69145         * m4/getpagesize.m4 (gl_GETPAGESIZE):
69146         * m4/getpass.m4 (gl_FUNC_GETPASS):
69147         * m4/gettime.m4 (gl_GETTIME):
69148         * m4/getugroups.m4 (gl_GETUGROUPS):
69149         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
69150         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
69151         * m4/hard-locale.m4 (gl_HARD_LOCALE):
69152         * m4/hash.m4 (gl_HASH):
69153         * m4/idcache.m4 (gl_IDCACHE):
69154         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
69155         * m4/lchown.m4 (gl_FUNC_LCHOWN):
69156         * m4/long-options.m4 (gl_LONG_OPTIONS):
69157         * m4/lstat.m4 (gl_FUNC_LSTAT):
69158         * m4/md5.m4 (gl_MD5):
69159         * m4/memcasecmp.m4 (gl_MEMCASECMP):
69160         * m4/memcoll.m4 (gl_MEMCOLL):
69161         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
69162         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
69163         * m4/memxor.m4 (gl_MEMXOR):
69164         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
69165         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
69166         * m4/modechange.m4 (gl_MODECHANGE):
69167         * m4/mountlist.m4 (gl_MOUNTLIST):
69168         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69169         * m4/openat.m4 (gl_FUNC_OPENAT):
69170         * m4/pathmax.m4 (gl_PATHMAX):
69171         * m4/physmem.m4 (gl_PHYSMEM):
69172         * m4/posixtm.m4 (gl_POSIXTM):
69173         * m4/posixver.m4 (gl_POSIXVER):
69174         * m4/quote.m4 (gl_QUOTE):
69175         * m4/quotearg.m4 (gl_QUOTEARG):
69176         * m4/readtokens.m4 (gl_READTOKENS):
69177         * m4/readutmp.m4 (gl_READUTMP):
69178         * m4/regex.m4 (gl_REGEX):
69179         * m4/safe-read.m4 (gl_SAFE_READ):
69180         * m4/safe-write.m4 (gl_SAFE_WRITE):
69181         * m4/same.m4 (gl_SAME):
69182         * m4/save-cwd.m4 (gl_SAVE_CWD):
69183         * m4/savedir.m4 (gl_SAVEDIR):
69184         * m4/settime.m4 (gl_SETTIME):
69185         * m4/sha1.m4 (gl_SHA1):
69186         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
69187         * m4/stat-macros.m4 (gl_STAT_MACROS):
69188         * m4/stat-time.m4 (gl_STAT_TIME):
69189         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
69190         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
69191         * m4/strdup.m4 (gl_FUNC_STRDUP):
69192         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
69193         * m4/strndup.m4 (gl_FUNC_STRNDUP):
69194         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
69195         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
69196         * m4/time_r.m4 (gl_TIME_R):
69197         * m4/timespec.m4 (gl_TIMESPEC):
69198         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
69199         * m4/unlinkdir.m4 (gl_UNLINKDIR):
69200         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
69201         * m4/userspec.m4 (gl_USERSPEC):
69202         * m4/utimecmp.m4 (gl_UTIMECMP):
69203         * m4/utimens.m4 (gl_UTIMENS):
69204         * m4/xalloc.m4 (gl_XALLOC):
69205         * m4/xgetcwd.m4 (gl_XGETCWD):
69206         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
69207         * m4/xreadlink.m4 (gl_XREADLINK):
69208         * m4/xstrtod.m4 (gl_XSTRTOD):
69209         * m4/yesno.m4 (gl_YESNO):
69210         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
69211         to get the necessary .h files and whatnot.
69212
69213 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
69214             Bruno Haible  <bruno@clisp.org>
69215
69216         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
69217         /bin/sh understanding of '!' conditional negation.
69218
69219 2006-08-21  Jim Meyering  <jim@meyering.net>
69220
69221         * modules/openat (Depends-on): Really alphabetize.
69222
69223         * modules/acl (Depends-on): Add error and quote.
69224
69225         * check-module (find_included_lib_files): Add at-func.c to the
69226         ok-to-include-more-than-once white list.
69227
69228         * modules/openat (Depends-on): Add lstat.  Alphabetize.
69229
69230 2006-08-21  Bruno Haible  <bruno@clisp.org>
69231
69232         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69233         Emit a pkgdata_DATA variable only if some snippets add contents to it.
69234         Reported by Martin Lambers <marlam@marlam.de>.
69235
69236 2006-08-21  Bruno Haible  <bruno@clisp.org>
69237
69238         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
69239         specify an installation location, don't emit a noinst_LIBRARIES or
69240         noinst_LTLIBRARIES assignment.
69241
69242 2006-08-21  Bruno Haible  <bruno@clisp.org>
69243
69244         BeOS portability.
69245         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
69246         BeOS has mbrtowc() but no <wctype.h>.
69247
69248 2006-08-21  Bruno Haible  <bruno@clisp.org>
69249
69250         BeOS portability.
69251         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
69252         exist.
69253
69254 2006-08-21  Bruno Haible  <bruno@clisp.org>
69255
69256         BeOS portability.
69257         * lib/mbchar.h: Include <wctype.h> only if it exists.
69258
69259 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69260
69261         Remove files that are no longer needed by their respective modules.
69262         * m4/obstack.m4: Remove.
69263         * m4/strerror_r.m4: Remove.
69264         * m4/uint32_t.m4: Remove.
69265         * m4/uintptr_t.m4: Remove.
69266         * m4/ullong_max.m4: Remove.
69267         * m4/xstrtoimax.m4: Remove.
69268         * m4/xstrtoumax.m4: Remove.
69269
69270         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
69271         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
69272         dependencies now capture this.
69273
69274         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
69275         Do not use AC_LIBSOURCES, since gnulib modules now do this.
69276         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
69277         * m4/human.m4 (gl_HUMAN): Likewise.
69278         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
69279         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
69280
69281         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
69282
69283         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
69284         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
69285         stdint.
69286         * m4/human.m4 (gl_HUMAN): Likewise.
69287         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
69288         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
69289         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69290         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69291         * m4/xstrtol (gl_XSTRTOL): Likewise.
69292
69293         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
69294         AC_TYPE_LONG_LONG_INT.
69295         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69296         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
69297         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
69298         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69299
69300         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
69301         on stdbool.
69302
69303         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
69304         (gl_PREREQ_XSTRTOUL): Remove.
69305
69306         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
69307
69308         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
69309         mode.
69310
69311 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69312
69313         Add and change modules to make it easier for coreutils to use
69314         gnulib-tool.
69315         * modules/backupfile (Files): Remove m4/d-ino.m4.
69316         (Depends-on): Add d-ino.
69317         * modules/cycle-check (Depends-on): Add stdint.
69318         (lib_SOURCES): Add cycle-check.h.
69319         * modules/d-ino: New module.
69320         * modules/d-type: New module.
69321         * modules/error (Files): Remove m4/strerror_r.m4.
69322         * modules/filemode (Files): Add m4/st_dm_mode.m4.
69323         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
69324         m4/inttypes_h.m4, m4/uintmax_t.m4.
69325         (Depends-on): Add stdint.
69326         (lib_SOURCES): Add fsusage.h.
69327         * modules/getcwd (Files): Remove d-ino.m4.
69328         (Depends-on): Add d-ino.
69329         * modules/getndelim2 (Depends-on): Add stdint.
69330         * modules/glob (Files): Remove m4/d-type.m4.
69331         (Depends-on): Add d-type.
69332         * modules/host-os: New module.
69333         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
69334         m4/inttypes_h.m4, m4/uintmax_t.m4.
69335         * Depends-on: Add stdint.
69336         (lib_SOURCES): Add human.h.
69337         * modules/inttostr (Files): Remove m4/intmax_t.m4,
69338         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
69339         m4/uintmax_t.m4, m4/ulonglong.m4.
69340         (Depends-on): Add stdint.
69341         (EXTRA_DIST): Add inttostr.h.
69342         * modules/lchmod: New module.
69343         * modules/link-follow: New module.
69344         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
69345         (Depends-on): Add lchmod.
69346         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
69347         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
69348         (Depends-on): Add stdint.
69349         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
69350         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
69351         (Depends-on): Add stdint.
69352         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
69353         * modules/perl: New module.
69354         * modules/regex (Depends-on): Add stdint.
69355         * modules/rmdir-errno: New module.
69356         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69357         m4/intmax_t.m4.
69358         (Depends-on): Add stdint.
69359         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69360         m4/uintmax_t.m4.
69361         (Depends-on): Add stdint.
69362         * modules/unlink-busy: New module.
69363         * modules/utimecmp (Depends-on): Add stdint.
69364         * modules/uptime: New module.
69365         * modules/winsz-ioctl: New module.
69366         * modules/winsz-termios: New module.
69367         * modules/xnanosleep (Depends-on): Add nanosleep.
69368         * modules/ullong_max: Remove.
69369         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
69370         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
69371         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
69372         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
69373         (Depends-on): Add inttypes.
69374         (lib_SOURCES): Add xstrtol.h.
69375         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
69376         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
69377         * MODULES.html.sh: Move 'assert' into the assert section.
69378         Move 'dummy' into the linking section.
69379         Remove ullong_max.
69380         Add section for compatibility checks for POSIX:2001 functions,
69381         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
69382         winsz-ioctl, and winsz-termios into it.
69383         Add lchmod.
69384         Add top-level Misc section and put host-os, perl, and uptime
69385         into it.
69386
69387 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69388
69389         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
69390         now assume the stdint module.  Do not include inttypes.h.
69391         * lib/fsusage.h: Likewise.
69392         * lib/getndelim2.c: Likewise.
69393         * lib/human.h: Likewise.
69394         * lib/inttostr.h: Likewise.
69395         * lib/obstack.c: Likewise.
69396         * lib/regex_internal.h: Likewise.
69397         * lib/tempname.c: Likewise.
69398         * lib/utimecmp.c: Likewise.
69399         * lib/xstrtol.h: Likewise.
69400
69401         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
69402
69403         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
69404         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
69405         * lib/xtime.h: Likewise.
69406
69407 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69408
69409         * modules/openat (Files): Add lib/fchmodat.c.
69410         Fixes problem reported by Jay Youngman.
69411
69412 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69413
69414         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69415         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69416
69417 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69418             Bruno Haible  <bruno@clisp.org>
69419
69420         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69421         and is a script that invokes bison. Tighten the code. Add comments.
69422
69423 2006-08-18  Jim Meyering  <jim@meyering.net>
69424
69425         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69426         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69427         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69428         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69429
69430 2006-08-18  Bruno Haible  <bruno@clisp.org>
69431
69432         * modules/bison-i18n: New file.
69433         * MODULES.html.sh (Internationalization functions): Add it.
69434
69435 2006-08-18  Bruno Haible  <bruno@clisp.org>
69436
69437         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69438         sys/statvfs.h. When getmntinfo was found, check its declaration and
69439         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69440
69441 2006-08-18  Bruno Haible  <bruno@clisp.org>
69442
69443         * m4/bison-i18n.m4: New file, from bison.
69444
69445 2006-08-18  Bruno Haible  <bruno@clisp.org>
69446
69447         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69448         (ME_DUMMY): Treat "kernfs" as a dummy.
69449         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69450
69451 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69452
69453         Update from coreutils.
69454
69455         2006-08-15  Jim Meyering  <jim@meyering.net>
69456
69457         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69458
69459         2006-01-17  Jim Meyering  <jim@meyering.net>
69460
69461         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69462
69463         2006-01-11  Jim Meyering  <jim@meyering.net>
69464
69465         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69466         Check for the lchmod function.
69467
69468 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69469
69470         Update from coreutils.
69471
69472         * lib/__fpending.h: Add copyright notice.
69473         * lib/fprintftime.h: Likewise.
69474         * lib/savedir.c: Use (C) in copyright notice.
69475         * lib/savedir.h: Likewise.
69476
69477         2006-08-15  Jim Meyering  <jim@meyering.net>
69478
69479         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69480         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69481         in support of the EXPECTED_ERRNO macro.
69482         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69483         definitions.  Instead, define the appropriate symbols and include
69484         "at-func.c".
69485         * lib/mkdirat.c (mkdirat): Likewise.
69486         * lib/fchmodat.c (fchmodat): Likewise.
69487         (ENOSYS): Remove definition.
69488         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69489         it.  Don't include "unistd--.h" -- it wasn't ever used.
69490
69491         2006-01-17  Jim Meyering  <jim@meyering.net>
69492
69493         Rewrite fts.c not to change the current working directory,
69494         by using openat, fstatat, fdopendir, etc..
69495
69496         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69497         (HAVE_OPENAT_SUPPORT): Define.
69498         [_LIBC] (fchdir): Don't undef or define; no longer used.
69499         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69500         Now, this `function' always succeeds, and consumes its file descriptor
69501         parameter -- so callers must not close such FDs.  Update callers.
69502         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69503         (diropen): Add parameter, SP.  Adjust all callers.
69504         Implement using diropen_fd, rather than open.
69505         (fts_open): Initialize new member, fts_cwd_fd.
69506         Remove fts_rft-setting code.
69507         (fts_close): Close fts_cwd_fd, if necessary.
69508         (__opendir2): Define in terms of opendir or opendirat,
69509         depending on whether the FST_NOCHDIR flag is set.
69510         (fts_build): Since fts_safe_changedir consumes its FD, and since
69511         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69512         and close the dup'd file descriptor upon failure.
69513         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69514         (fts_safe_changedir): Tweak semantics to reflect that this function
69515         now calls cwd_advance_fd and hence consumes its FD argument.
69516         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69517         [struct FTS] (fts_rft): Remove now-unused member.
69518         [struct FTS] (fts_cycle.state): Improve comment.
69519
69520         * lib/openat.c (openat_needs_fchdir): New function.
69521         * lib/openat.h (openat_needs_fchdir): Declare it.
69522
69523 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69524
69525         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69526         Problem and fix reported by Pádraig Brady in
69527         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69528
69529 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69530
69531         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69532
69533 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69534
69535         * lib/memcoll.c (memcoll): Optimize for the common case where the
69536         arguments are bytewise equal.
69537
69538 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69539
69540         * doc/regexprops-generic.texi: Add a copyright notice.
69541
69542 2006-08-15  Bruno Haible  <bruno@clisp.org>
69543
69544         * modules/tmpdir (License): Change to LGPL.
69545
69546 2006-08-15  Bruno Haible  <bruno@clisp.org>
69547
69548         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69549         module.
69550
69551 2006-08-14  Simon Josefsson  <jas@extundo.com>
69552
69553         * config/srclist.txt: Add gnupload.
69554
69555 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69556
69557         Change copyright notice from LGPL 2 to GPL 2, since that's the
69558         standard form used in the gnulib repository.
69559         * tests/test-lock.c: Likewise.
69560         * tests/test-stdint.c: Likewise.
69561         * tests/test-tls.c: Likewise.
69562
69563         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69564         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69565         Add copyright notice.
69566
69567         * check-module: Add copyright notice.  Output a copyright
69568         notice if "--version" is specified.
69569         * modules/COPYING: New file.
69570         * tests/test-getaddrinfo.c: Add copyright notice.
69571         * tests/test-verify.c: Likewise.
69572
69573 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69574
69575         Change copyright notice from LGPL 2 to GPL 2, since that's the
69576         standard form used in the gnulib repository.
69577         * lib/lock.c: LGPL -> GPL.
69578         * lib/lock.h: Likewise.
69579         * lib/strnlen1.c: Likewise.
69580         * lib/strnlen1.h: Likewise.
69581         * lib/tls.c: Likewise.
69582         * lib/tls.h: Likewise.
69583         * lib/tmpdir.c: Likewise.
69584
69585         * lib/TODO: Remove; this belongs only in coreutils.
69586
69587 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         Add copyright notices to long-enough files that lack them, since
69590         otherwise the files aren't clearly free.  Use the same notice that
69591         getdate.texi already uses.
69592         * doc/alloca-opt.texi: Add copyright notice.
69593         * doc/alloca.texi: Likewise.
69594         * doc/ctime.texi: Likewise.
69595         * doc/functions.texi: Likewise.
69596         * doc/gcd.texi: Likewise.
69597         * doc/gnulib-tool.texi: Likewise.
69598         * doc/inet_ntoa.texi: Likewise.
69599         * doc/visibility.texi: Likewise.
69600
69601         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69602         * doc/quote.texi: Add copyright notice.
69603
69604         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69605         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69606         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69607         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69608         is now obsolete, and give a pointer to the Sun list.
69609         Add copyright notice.
69610
69611 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69612
69613         * config/srclistvars.sh: Add copyright notice.
69614
69615 2006-08-14  Eric Blake  <ebb9@byu.net>
69616
69617         Import the following change from libc:
69618
69619         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69620
69621         Upstream bug 2997.
69622         * lib/misc/error.c: Add space between program name and message if file
69623         name is missing.
69624
69625 2006-08-12  Karl Berry  <karl@gnu.org>
69626
69627         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69628         remove, these originate in gnulib now.
69629
69630 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69631
69632         * doc/Makefile (standards.info standards.html standards.dvi):
69633         Also depend on make-stds.texi.
69634
69635 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69636
69637         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69638         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69639
69640         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69641         in wchar_t.  Problem reported by Eric Blake.
69642
69643         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69644         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69645         Also, help the compiler to keep LEN in a register.
69646
69647 2006-08-11  Eric Blake  <ebb9@byu.net>
69648
69649         * users.txt: Sort.  Add tar.
69650
69651 2006-08-11  Bruno Haible  <bruno@clisp.org>
69652
69653         * users.txt: New file.
69654
69655 2006-08-11  Bruno Haible  <bruno@clisp.org>
69656
69657         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69658         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69659
69660 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69661
69662         * modules/snprintf (Depends-on): Remove minmax.
69663         (Maintainer): Add self and Bruno.
69664
69665 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69666
69667         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69668         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69669         (EOVERFLOW): Define if the system does not.
69670         Do not include "minmax.h"; it wasn't used.
69671         (snprintf): Don't assume size_t promotes to an unsigned type.
69672         Fix bug when generated string was too long for the buffer: the
69673         buffer's contents are supposed to be the initial prefix of the
69674         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69675         exceeds INT_MAX; do the check ourselves.
69676
69677         Import the following changes from libc:
69678
69679         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69680
69681         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69682         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69683         set wc to the byte which couldn't be converted.
69684         (re_string_reconstruct): Don't clear valid_raw_len before calling
69685         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69686         tip_context using re_string_context_at.
69687
69688         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69689
69690         * lib/posix/regex.h: g++ still cannot handled [restrict].
69691
69692         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69693
69694         * lib/posix/regex.h: Remove special handling for VMS.
69695
69696 2006-08-10  Jim Meyering  <jim@meyering.net>
69697
69698         * modules/same-inode: New module.
69699         * modules/dev-ino: New module.
69700         * modules/cycle-check: Depend on these modules, rather than simply
69701         including their .h files.
69702         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69703         required via m4/cycle-check.m4.
69704         * modules/same: Depend on new same-inode module, rather than
69705         including same-inode.h.
69706         * modules/chdir-safer: New file.
69707
69708         * modules/chown (Depends-on): Add stat-macros.
69709
69710 2006-08-10  Jim Meyering  <jim@meyering.net>
69711
69712         * m4/cycle-check.m4: New file.
69713         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69714         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69715
69716 2006-08-10  Eric Blake  <ebb9@byu.net>
69717
69718         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69719         in from original proposal.
69720
69721 2006-08-10  Eric Blake  <ebb9@byu.net>
69722         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69723
69724         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69725         namespace.
69726
69727 2006-08-10  Bruno Haible  <bruno@clisp.org>
69728
69729         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69730         as well.
69731
69732 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69733
69734         Sync from coreutils.
69735
69736         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69737
69738         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69739         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69740
69741 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69742
69743         * modules/restrict: Remove; no longer needed now that we assume
69744         Autoconf 2.59 or later.
69745         * MODULES.html.sh: Remove 'restrict'.
69746         * modules/argp (Depends-on): Remove 'restrict'.
69747         * modules/base64 (Depends-on): Likewise.
69748         * modules/gc (Depends-on): Likewise.
69749         * modules/getaddrinfo (Depends-on): Likewise.
69750         * modules/glob (Depends-on): Likewise.
69751         * modules/inet_ntop (Depends-on): Likewise.
69752         * modules/inet_pton (Depends-on): Likewise.
69753         * modules/memxor (Depends-on): Likewise.
69754         * modules/regex (Depends-on): Likewise.
69755         * modules/strtok_r (Depends-on): Likewise.
69756         * modules/time_r (Depends-on): Likewise.
69757
69758 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69759
69760         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69761         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69762         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69763         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69764         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69765         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69766         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69767         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69768
69769         Merge from coreutils.
69770         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69771         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69772         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69773         * m4/time_r.m4 (gl_TIME_R): Likewise.
69774
69775 2006-08-09  Karl Berry  <karl@gnu.org>
69776
69777         * config/srclist.txt: no more gettext-tools, per Bruno.
69778
69779 2006-08-08  Eric Blake  <ebb9@byu.net>
69780
69781         * modules/verror: New module.
69782         * MODULES.html.sh: Document it.
69783
69784 2006-08-08  Eric Blake  <ebb9@byu.net>
69785
69786         * lib/verror.h, lib/verror.c: New files.
69787
69788 2006-08-08  Eric Blake  <ebb9@byu.net>
69789
69790         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69791         verror_at_line output complies with GNU Coding Standards even when
69792         file is NULL.
69793
69794 2006-08-07  Bruno Haible  <bruno@clisp.org>
69795
69796         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69797         versions of AIX.
69798         Reported by Ralf Wildenhues.
69799
69800 2006-08-07  Bruno Haible  <bruno@clisp.org>
69801
69802         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69803         in an AC_DEFUN. Needed so that the autoconf snippets can use
69804         AC_REQUIRE.
69805
69806 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69807
69808         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69809         Initialize pkgdata_DATA.
69810         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69811         overriding it.
69812
69813 2006-08-06  Eric Blake  <ebb9@byu.net>
69814
69815         * lib/error.h: Fold in some upstream changes from glibc.
69816         * lib/error.c: Likewise.
69817
69818 2006-08-04  Bruno Haible  <bruno@clisp.org>
69819
69820         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69821         Make the mostlyclean-local rule depend on mostlyclean-generic.
69822         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69823
69824 2006-07-31  Bruno Haible  <bruno@clisp.org>
69825
69826         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69827         <stdlib.h>, <string.h>.
69828
69829 2006-07-30  Bruno Haible  <bruno@clisp.org>
69830
69831         * modules/readlink (License): Change to LGPL.
69832
69833 2006-07-30  Bruno Haible  <bruno@clisp.org>
69834
69835         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69836         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69837         set PKGDATADIR to point to it.
69838
69839 2006-07-30  Bruno Haible  <bruno@clisp.org>
69840
69841         * modules/csharpexec (configure.ac): Comment out macro invocation.
69842         * modules/javaexec (configure.ac): Likewise.
69843         * modules/javacomp-script (configure.ac): Likewise.
69844
69845         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69846
69847 2006-07-30  Bruno Haible  <bruno@clisp.org>
69848
69849         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69850         linked-list.
69851
69852 2006-07-30  Bruno Haible  <bruno@clisp.org>
69853
69854         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69855
69856 2006-07-30  Bruno Haible  <bruno@clisp.org>
69857
69858         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69859         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69860         get removed.
69861
69862 2006-07-29  Bruno Haible  <bruno@clisp.org>
69863
69864         Make it possible for gnulib-tool to work with locally modified or
69865         augmented gnulib repositories.
69866         * gnulib-tool (func_usage): Document --local-dir option.
69867         (local_gnulib_dir): New variable.
69868         Handle --local-dir option.
69869         (func_lookup_file): New function.
69870         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69871         (func_get_description, func_get_filelist, func_get_description,
69872         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69873         func_get_automake_snippet, func_get_include_directive,
69874         func_get_license, func_get_maintainer): Use func_lookup_file.
69875         (func_import, func_create_testdir): Use func_lookup_file.
69876
69877 2006-07-29  Bruno Haible  <bruno@clisp.org>
69878
69879         * modules/setenv (Depends-on): Add unistd.
69880
69881 2006-07-29  Bruno Haible  <bruno@clisp.org>
69882
69883         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69884
69885 2006-07-29  Bruno Haible  <bruno@clisp.org>
69886
69887         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69888
69889 2006-07-29  Bruno Haible  <bruno@clisp.org>
69890
69891         * gnulib-tool (import, update): If there is no Makefile.am, look at
69892         aclocal.m4, instead of bailing out.
69893
69894 2006-07-29  Bruno Haible  <bruno@clisp.org>
69895
69896         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69897         Categorize the options by when they are useful.
69898
69899 2006-07-29  Bruno Haible  <bruno@clisp.org>
69900
69901         * gnulib-tool (func_usage): Document option --no-libtool.
69902         Handle option --no-libtool.
69903         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69904         for changed semantics of $libtool variable.
69905         (func_import): Likewise. If libtool is not used, show this through
69906         an option --no-libtool.
69907         (func_create_testdir): Update.
69908
69909 2006-07-29  Bruno Haible  <bruno@clisp.org>
69910
69911         * gnulib-tool (func_import): Extend error message about missing
69912         --doc-base.
69913
69914 2006-07-29  Bruno Haible  <bruno@clisp.org>
69915
69916         * gnulib-tool (func_import): Don't create the $docbase directory if
69917         there is no file to store there.
69918
69919 2006-07-29  Bruno Haible  <bruno@clisp.org>
69920
69921         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69922         relevant, look for configure.ac there, not in the current directory.
69923         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69924
69925 2006-07-29  Bruno Haible  <bruno@clisp.org>
69926
69927         * gnulib-tool (SORT): New variable.
69928         (func_usage): Undocument --assume-autoconf option.
69929         Remove --assume-autoconf option handling.
69930         (autoconf_minversion): Determine from the contents of configure.ac.
69931         (func_import): Remove autoconf_minversion handling.
69932         Suggested by Eric Blake.
69933
69934 2006-07-29  Bruno Haible  <bruno@clisp.org>
69935
69936         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69937
69938 2006-07-29  Bruno Haible  <bruno@clisp.org>
69939
69940         * config/srclist.txt (*setenv.[ch]): Remove rules.
69941
69942 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69943
69944         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69945
69946 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69947
69948         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69949         arpa/inet.h.
69950
69951 2006-07-28  Simon Josefsson  <jas@extundo.com>
69952
69953         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69954         * modules/inet_pton (Depends-on): Likewise.
69955
69956 2006-07-28  Simon Josefsson  <jas@extundo.com>
69957
69958         * m4/netinet_in_h.m4: New file.
69959
69960 2006-07-28  Simon Josefsson  <jas@extundo.com>
69961
69962         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69963         #include's.
69964
69965 2006-07-28  Simon Josefsson  <jas@extundo.com>
69966
69967         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69968         #include's.
69969
69970 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69971
69972         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69973         setgid on directories only if they set these bits.
69974         * lib/modechange.h: Remove obsolete comment about masks.
69975
69976 2006-07-28  Eric Blake  <ebb9@byu.net>
69977
69978         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69979         macro expansion.
69980
69981 2006-07-28  Bruno Haible  <bruno@clisp.org>
69982
69983         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69984
69985 2006-07-28  Bruno Haible  <bruno@clisp.org>
69986
69987         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69988
69989 2006-07-28  Bruno Haible  <bruno@clisp.org>
69990
69991         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69992         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69993         Define fallbacks.
69994         Avoids link error on FreeBSD 4.x.
69995         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69996
69997         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69998         encoding.
69999         * lib/mbswidth.c (iswcntrl): Likewise.
70000
70001 2006-07-27  Bruno Haible  <bruno@clisp.org>
70002
70003         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
70004         test.
70005
70006 2006-07-27  Bruno Haible  <bruno@clisp.org>
70007
70008         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
70009         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
70010         defined.
70011
70012 2006-07-26  Eric Blake  <ebb9@byu.net>
70013
70014         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
70015
70016 2006-07-26  Eric Blake  <ebb9@byu.net>
70017
70018         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
70019         like mingw that lack mkstemp.
70020         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
70021         avoid compilation warning on mingw.
70022
70023 2006-07-26  Bruno Haible  <bruno@clisp.org>
70024
70025         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
70026         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
70027         INT_FAST*_MIN, INTPTR_MIN.
70028
70029 2006-07-25  Bruno Haible  <bruno@clisp.org>
70030
70031         * modules/version-etc (Depends-on): Add stdarg.
70032
70033 2006-07-25  Bruno Haible  <bruno@clisp.org>
70034
70035         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
70036         complex commands.
70037
70038 2006-07-25  Bruno Haible  <bruno@clisp.org>
70039
70040         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
70041         defined in <stdarg.h> or config.h.
70042
70043 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
70044
70045         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
70046         (gl_STDIO_SAFER): Remove.
70047
70048 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
70049
70050         * MODULES.html.sh (File stream based Input/Output):
70051         Add fopen-safer, tmpfile-safer; remove stdio-safer.
70052         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
70053         * modules/fopen-safer, modules/tmpfile-safer: New files.
70054         * modules/stdio-safer: Remove.
70055
70056 2006-07-24  Bruno Haible  <bruno@clisp.org>
70057
70058         * modules/tmpdir: New file.
70059         * MODULES.html.sh (File system functions): Add it.
70060
70061 2006-07-24  Bruno Haible  <bruno@clisp.org>
70062
70063         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
70064         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
70065
70066 2006-07-24  Bruno Haible  <bruno@clisp.org>
70067
70068         * modules/clean-temp: New file.
70069
70070 2006-07-24  Bruno Haible  <bruno@clisp.org>
70071
70072         * m4/tmpdir.m4: New file, from GNU gettext.
70073
70074 2006-07-24  Bruno Haible  <bruno@clisp.org>
70075
70076         * lib/tmpdir.h: New file, from GNU gettext.
70077         * lib/tmpdir.c: New file, from GNU gettext.
70078
70079 2006-07-24  Bruno Haible  <bruno@clisp.org>
70080
70081         * lib/clean-temp.h: New file, from GNU gettext.
70082         * lib/clean-temp.c: New file, from GNU gettext.
70083
70084 2006-07-23  Eric Blake  <ebb9@byu.net>
70085
70086         * modules/stdio-safer (Files): Add tmpfile-safer.c.
70087         (Depends-on): Add binary-io.
70088
70089 2006-07-23  Eric Blake  <ebb9@byu.net>
70090
70091         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
70092
70093 2006-07-23  Eric Blake  <ebb9@byu.net>
70094
70095         * lib/tmpfile-safer.c: New file.
70096         * lib/stdio-safer.h (fopen_safer): Add prototype.
70097         * lib/stdio--.h (tmpfile): Make safer.
70098
70099 2006-07-23  Bruno Haible  <bruno@clisp.org>
70100
70101         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
70102         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
70103         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
70104         gl_linked_remove_at): Use it.
70105
70106 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70107         and Simon Josefsson <jas@extundo.com>
70108
70109         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
70110
70111         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
70112
70113 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70114
70115         * modules/close-stream: New file.
70116         * modules/closeout (Description): Make it clear that it exits
70117         with a diagnostic on error.
70118         (Depends-on): Add close-stream.  Remove fpending, stdbool.
70119         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
70120
70121 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70122
70123         * m4/close-stream.m4: New file.
70124
70125 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
70126
70127         * lib/close-stream.c, lib/close-stream.h: New files.
70128
70129 2006-07-22  Bruno Haible  <bruno@clisp.org>
70130
70131         Merge from GNU gettext 0.15.
70132
70133         2006-05-01  Bruno Haible  <bruno@clisp.org>
70134
70135                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
70136
70137         2006-07-22  Bruno Haible  <bruno@clisp.org>
70138
70139                 * modules/javaversion: New file.
70140                 * MODULES.html.sh (Java): Add javaversion.
70141
70142         2006-03-12  Bruno Haible  <bruno@clisp.org>
70143
70144                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
70145
70146         2005-12-04  Bruno Haible  <bruno@clisp.org>
70147
70148                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
70149                 (untested).
70150
70151         2006-06-21  Bruno Haible  <bruno@clisp.org>
70152
70153                 Avoid warnings from recent versions of mcs.
70154                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
70155                 -o, -L, -r any more. Use options documented since mcs-1.0
70156                 instead. Similarly for -g.
70157
70158         2005-12-04  Bruno Haible  <bruno@clisp.org>
70159
70160                 * build-aux/csharpcomp.sh.in: Suffix for resources is
70161                 .resources, not .resource.
70162
70163         2005-07-09  Bruno Haible  <bruno@clisp.org>
70164
70165                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
70166                 add a .dll suffix.
70167                 Reported by Mark Junker <mjscod@gmx.de>.
70168
70169         2006-07-22  Bruno Haible  <bruno@clisp.org>
70170
70171                 * modules/gettext: Upgrade to gettext-0.15.
70172                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
70173                 m4/visibility.m4.
70174                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
70175
70176 2006-07-22  Bruno Haible  <bruno@clisp.org>
70177
70178         Merge from GNU gettext 0.15.
70179
70180         2006-03-25  Bruno Haible  <bruno@clisp.org>
70181
70182                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
70183
70184         2006-07-21  Bruno Haible  <bruno@clisp.org>
70185
70186                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
70187                 "1.1".
70188
70189         2006-05-09  Bruno Haible  <bruno@clisp.org>
70190
70191                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
70192                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
70193                 for the conftestver execution.
70194
70195         2006-05-01  Bruno Haible  <bruno@clisp.org>
70196
70197                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
70198                 optional target-version argument. Verify that the compiler
70199                 groks source of the specified source-version, or add -source
70200                 option as necessary. Verify that the compiler produces
70201                 bytecode in the specified target-version, or add -target and
70202                 -source options as necessary. Make the result of the test
70203                 available as variable CONF_JAVAC. Also log error output in
70204                 config.log.
70205
70206         2006-03-11  Bruno Haible  <bruno@clisp.org>
70207
70208                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
70209
70210         2006-05-09  Bruno Haible  <bruno@clisp.org>
70211
70212                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
70213                 CLASSPATH_SEPARATOR to a semicolon.
70214
70215         2006-03-12  Bruno Haible  <bruno@clisp.org>
70216
70217                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
70218                 available as variable CONF_JAVA, for subsequent autoconf
70219                 tests. Also log error output in config.log.
70220
70221         2006-07-19  Bruno Haible  <bruno@clisp.org>
70222
70223                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
70224                 that getline works on glibc2 systems. Needed to avoid trouble
70225                 in relocatable.c.
70226                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
70227
70228         2005-12-04  Bruno Haible  <bruno@clisp.org>
70229
70230                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
70231                 launcher (untested).
70232
70233         2005-12-04  Bruno Haible  <bruno@clisp.org>
70234
70235                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
70236
70237         2006-07-22  Bruno Haible  <bruno@clisp.org>
70238
70239                 * gettext.m4: Update from GNU gettext-0.15.
70240                 * nls.m4: Likewise.
70241                 * po.m4: Likewise.
70242                 * inttypes-pri.m4: Likewise.
70243                 * inttypes-h.m4: Renamed from inttypes.m4.
70244                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
70245
70246 2006-07-22  Bruno Haible  <bruno@clisp.org>
70247
70248         Merge from GNU gettext 0.15.
70249
70250         2005-07-05  Bruno Haible  <bruno@clisp.org>
70251
70252                 * printf-args.c (printf_fetchargs): Work around broken
70253                 definition of wint_t on mingw.
70254
70255         2005-02-12  Bruno Haible  <bruno@clisp.org>
70256
70257                 * xallocsa.h: Add extern "C" for C++.
70258
70259         2006-05-17  Bruno Haible  <bruno@clisp.org>
70260
70261                 Cygwin portability.
70262                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
70263
70264         2006-04-30  Bruno Haible  <bruno@clisp.org>
70265
70266                 * progreloc.c: Include <mach-o/dyld.h> if available.
70267                 (find_executable): Use _NSGetExecutablePath when possible.
70268
70269         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70270
70271                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
70272                 function.
70273
70274         2005-12-29  Bruno Haible  <bruno@clisp.org>
70275
70276                 * progreloc.c (set_program_name_and_installdir): Fix
70277                 compilation error.
70278
70279         2005-12-04  Bruno Haible  <bruno@clisp.org>
70280
70281                 Cygwin portability.
70282                 * progreloc.c: Include <windows.h> also on Cygwin.
70283                 (find_executable): Add support for Cygwin.
70284                 (set_program_name_and_installdir): Handle also platforms with
70285                 nonempty EXEEXT.
70286
70287         2006-07-11  Bruno Haible  <bruno@clisp.org>
70288
70289                 * javacomp.c: Fix a comment.
70290                 Reported by Jim Meyering.
70291
70292         2006-04-30  Bruno Haible  <bruno@clisp.org>
70293
70294                 * javacomp.h (compile_java_class): Add source_version,
70295                 target_version arguments.
70296                 * javacomp.c: Rewritten to choose only a compiler that
70297                 respects the specified source_version and target_version.
70298
70299         2006-06-27  Bruno Haible  <bruno@clisp.org>
70300
70301                 Assume correct S_ISDIR macro.
70302                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
70303
70304         2006-07-22  Bruno Haible  <bruno@clisp.org>
70305
70306                 * javaversion.h: New file, from GNU gettext.
70307                 * javaversion.c: New file, from GNU gettext.
70308                 * javaversion.java: New file, from GNU gettext.
70309                 * javaversion.class: New file, from GNU gettext.
70310
70311         2006-05-17  Bruno Haible  <bruno@clisp.org>
70312
70313                 Cygwin portability.
70314                 * javaexec.c (execute_java_class): Test for jview program
70315                 also on Cygwin.
70316
70317         2006-04-09  Bruno Haible  <bruno@clisp.org>
70318
70319                 * fatal-signal.c: Don't include string.h.
70320                 (at_fatal_signal): Use a copying loop instead of memcpy.
70321
70322         2005-12-04  Bruno Haible  <bruno@clisp.org>
70323
70324                 * csharpexec.c: Add support for 'clix' launcher (untested).
70325                 (execute_csharp_using_sscli): New function.
70326                 (execute_csharp_program): Call it.
70327
70328         2006-06-21  Bruno Haible  <bruno@clisp.org>
70329
70330                 Avoid warnings from recent versions of mcs.
70331                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
70332                 -o, -L, -r any more. Use options documented since mcs-1.0
70333                 instead. Similarly for -g.
70334
70335         2005-07-09  Bruno Haible  <bruno@clisp.org>
70336
70337                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
70338                 add a .dll suffix.
70339                 Reported by Mark Junker <mjscod@gmx.de>.
70340
70341         2006-06-17  Bruno Haible  <bruno@clisp.org>
70342
70343                 * config.charset: Update for NetBSD 3.0.
70344
70345         2006-05-17  Bruno Haible  <bruno@clisp.org>
70346
70347                 Cygwin portability.
70348                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
70349
70350         2006-05-16  Bruno Haible  <bruno@clisp.org>
70351
70352                 * localcharset.c [CYGWIN]: Include <windows.h>.
70353                 (get_charset_aliases): For Cygwin, return the same CPxxx
70354                 aliases list as under WIN32.
70355                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
70356                 the environment variables. Fall back to GetACP().
70357
70358         2006-04-05  Bruno Haible  <bruno@clisp.org>
70359
70360                 * config.charset: Update Juan Manuel Guerrero's address.
70361
70362         2005-02-12  Bruno Haible  <bruno@clisp.org>
70363
70364                 * allocsa.h: Add extern "C" for C++.
70365
70366         2005-02-10  Bruno Haible  <bruno@clisp.org>
70367
70368                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
70369                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
70370
70371         2006-07-22  Bruno Haible  <bruno@clisp.org>
70372
70373                 * gettext.h: Update to GNU gettext-0.15.
70374
70375 2006-07-22  Bruno Haible  <bruno@clisp.org>
70376
70377         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
70378         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
70379         lib-prefix.m4, longdouble.m4, ssize_t.m4.
70380
70381 2006-07-21  Eric Blake  <ebb9@byu.net>
70382
70383         * modules/stdlib-safer: New file.
70384         * MODULES.html.sh (File stream based Input/Output): Add
70385         stdlib-safer.
70386
70387 2006-07-21  Eric Blake  <ebb9@byu.net>
70388
70389         * lib/stdlib-safer.h: New file from coreutils, required by
70390         stdlib--.h.
70391
70392 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
70393
70394         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
70395
70396 2006-07-20  Bruno Haible  <bruno@clisp.org>
70397
70398         * gnulib-tool: Recognize new option --assume-autoconf.
70399         (autoconf_minversion): New variable.
70400         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
70401
70402 2006-07-20  Bruno Haible  <bruno@clisp.org>
70403
70404         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
70405
70406 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70407
70408         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70409         Reindent and repaginate.
70410
70411 2006-07-19  Derek Price  <derek@ximbiot.com>
70412
70413         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70414         Correct grammar.
70415
70416 2006-07-17  Bruno Haible  <bruno@clisp.org>
70417
70418         * modules/list: New file.
70419         * modules/array-list: New file.
70420         * modules/carray-list, modules/carray-list-tests: New files.
70421         * modules/linked-list, modules/linked-list-tests: New files.
70422         * modules/avltree-list, modules/avltree-list-tests: New files.
70423         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70424         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70425         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70426         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70427         * modules/oset: New file.
70428         * modules/array-oset: New file.
70429         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70430         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70431         * tests/test-carray_list.c: New file.
70432         * tests/test-linked_list.c: New file.
70433         * tests/test-avltree_list.c: New file.
70434         * tests/test-rbtree_list.c: New file.
70435         * tests/test-linkedhash_list.c: New file.
70436         * tests/test-avltreehash_list.c: New file.
70437         * tests/test-rbtreehash_list.c: New file.
70438         * tests/test-avltree_oset.c: New file.
70439         * tests/test-rbtree_oset.c: New file.
70440         * MODULES.html.sh (Container data structures): New section.
70441
70442 2006-07-17  Bruno Haible  <bruno@clisp.org>
70443
70444         * m4/gl_list.m4: New file.
70445
70446 2006-07-17  Bruno Haible  <bruno@clisp.org>
70447
70448         * lib/gl_list.h: New file.
70449         * lib/gl_list.c: New file.
70450         * lib/gl_array_list.h: New file.
70451         * lib/gl_array_list.c: New file.
70452         * lib/gl_carray_list.h: New file.
70453         * lib/gl_carray_list.c: New file.
70454         * lib/gl_linked_list.h: New file.
70455         * lib/gl_linked_list.c: New file.
70456         * lib/gl_anylinked_list1.h: New file.
70457         * lib/gl_anylinked_list2.h: New file.
70458         * lib/gl_avltree_list.h: New file.
70459         * lib/gl_avltree_list.c: New file.
70460         * lib/gl_anyavltree_list1.h: New file.
70461         * lib/gl_anyavltree_list2.h: New file.
70462         * lib/gl_rbtree_list.h: New file.
70463         * lib/gl_rbtree_list.c: New file.
70464         * lib/gl_anyrbtree_list1.h: New file.
70465         * lib/gl_anyrbtree_list2.h: New file.
70466         * lib/gl_anytree_list1.h: New file.
70467         * lib/gl_anytree_list2.h: New file.
70468         * lib/gl_linkedhash_list.h: New file.
70469         * lib/gl_linkedhash_list.c: New file.
70470         * lib/gl_anyhash_list1.h: New file.
70471         * lib/gl_anyhash_list2.h: New file.
70472         * lib/gl_avltreehash_list.h: New file.
70473         * lib/gl_avltreehash_list.c: New file.
70474         * lib/gl_rbtreehash_list.h: New file.
70475         * lib/gl_rbtreehash_list.c: New file.
70476         * lib/gl_anytreehash_list1.h: New file.
70477         * lib/gl_anytreehash_list2.h: New file.
70478
70479         * lib/gl_oset.h: New file.
70480         * lib/gl_oset.c: New file.
70481         * lib/gl_array_oset.h: New file.
70482         * lib/gl_array_oset.c: New file.
70483         * lib/gl_avltree_oset.h: New file.
70484         * lib/gl_avltree_oset.c: New file.
70485         * lib/gl_rbtree_oset.h: New file.
70486         * lib/gl_rbtree_oset.c: New file.
70487         * lib/gl_anytree_oset.h: New file.
70488
70489 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70490
70491         * m4/mkancesdirs.m4: New file.
70492         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70493         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70494         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70495         it.
70496
70497 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70498
70499         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70500         * lib/mkancesdirs.h: New files.
70501         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70502         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70503         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70504         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70505         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70506         callers changed.  Revamp internals significantly, by not
70507         attempting to create directories that are temporarily more
70508         permissive than the final results.  Do not attempt to use
70509         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70510         This removes some race conditions, fixes some bugs, and simplifies
70511         things.  Use new dirchownmod function to do owner and mode changes.
70512         * lib/mkdir-p.h: Likewise.
70513         * lib/modechange.c (octal_to_mode): New function.
70514         (struct mode_change): New member mentioned.
70515         (make_node_op_equals): New arg mentioned.  All callers changed.
70516         (mode_compile): Keep track of which mode bits the user has explicitly
70517         mentioned.
70518         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70519         New arg PMODE_BITS, to keep track of which mode bits the user
70520         mentioned; it treats S_ISUID and S_ISGID speciall.
70521         All callers changed.
70522         * lib/modechange.h: Likewise.
70523
70524 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70525
70526         * MODULES.html.sh: Add mkancestors.
70527         * modules/mkancesdirs: New module.
70528         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70529         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70530         The chdir-safer and afs files are now orphans; I'll remove them
70531         unless someone speaks up.
70532         Add lib/dirchownmod.c, lib/dirchownmod.h.
70533         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70534         Add lchown, mkancesdirs.
70535         (Maintainer): Add self.
70536
70537 2006-07-15  Karl Berry  <karl@gnu.org>
70538
70539         * gnulib-tool: help message wording/arrangement.
70540
70541 2006-07-14  Simon Josefsson  <jas@extundo.com>
70542
70543         * doc/gnulib.texi (Libtool and Windows): New section.
70544
70545 2006-07-12  Simon Josefsson  <jas@extundo.com>
70546
70547         * modules/gendocs (License): Fix license, approved by Karl.
70548
70549 2006-07-12  Eric Blake  <ebb9@byu.net>
70550
70551         * MODULES.html.sh: Add gendocs.
70552
70553 2006-07-11  Eric Blake  <ebb9@byu.net>
70554
70555         * modules/fdl: New module, to install doc/fdl.texi.
70556         * MODULES.html.sh: Add new section for documentation modules.
70557         * gnulib-tool: Avoid space-tab.
70558         (--doc-base): New option, to manage files from doc.
70559
70560 2006-07-11  Eric Blake  <ebb9@byu.net>
70561
70562         * m4/absolute-header.m4: Fix comments to match recent change.
70563
70564 2006-07-11  Eric Blake  <ebb9@byu.net>
70565
70566         * gnulib-tool: List --doc-base before --tests-base.
70567
70568 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70569
70570         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70571
70572 2006-07-11  Bruno Haible  <bruno@clisp.org>
70573
70574         * README: Mention where to put documentation.
70575
70576 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70577
70578         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70579
70580 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70581
70582         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70583         to stdint.m4.
70584
70585 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70586
70587         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70588         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70589         "no/such/file/stdint.h" when there is no such file, so that
70590         the resulting C code can be parsed by dodgy compilers.
70591         Problems reported by Bob Proulx.
70592
70593 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70594
70595         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70596         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70597         macros into the GNU _D_EXACT_NAMLEN.
70598         * lib/savedir.c:  Likewise.
70599         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70600
70601 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70602         and Paul Eggert  <eggert@cs.ucla.edu>
70603
70604         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70605         * m4/savedir.m4:
70606         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70607         macros into the GNU _D_EXACT_NAMLEN.
70608
70609 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70610
70611         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70612         around the absolute name, to work around a problem with the HP-UX
70613         11.23 native C compiler, reported by Bob Proulx.
70614
70615 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70616
70617         * doc/maintain.texi, make-stds.texi: Sync from
70618         <http://savannah.gnu.org/projects/gnustandards>.
70619
70620 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70621
70622         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70623
70624 2006-07-09  Jim Meyering  <jim@meyering.net>
70625
70626         * m4/glob.m4: Remove a doubled word in a comment.
70627
70628 2006-07-09  Jim Meyering  <jim@meyering.net>
70629
70630         * lib/argp-pv.c: Remove a doubled word in a comment.
70631         * lib/check-version.c (check_version): Likewise.
70632         * lib/javacomp.c (compile_java_class): Likewise.
70633
70634 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70635
70636         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70637         for the benefit of people using Autoconf 2.60.  If you want to
70638         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70639         (or m4/onceonly.m4, if pre-2.57) manually.
70640
70641 2006-07-08  Jim Meyering  <jim@meyering.net>
70642
70643         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70644         comment.
70645         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70646         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70647         comment.
70648
70649 2006-07-08  Jim Meyering  <jim@meyering.net>
70650
70651         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70652
70653 2006-07-07  Simon Josefsson  <jas@extundo.com>
70654
70655         * tests/test-crc.c: Change expected crc value, the test vector
70656         were probably computed using the old broken crc.c?
70657
70658 2006-07-06  Simon Josefsson  <jas@extundo.com>
70659
70660         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70661         now the canonical place for the M4 file).
70662
70663         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70664         from the sys_socket dependency now.
70665
70666         * modules/inet_pton (Files): Ditto.
70667
70668         * modules/inet_ntop (Files): Ditto.
70669
70670 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70671
70672         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70673         not gl_PREREQ_GETUSERSHELL.
70674
70675 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70676
70677         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70678         with only one argument, for Autoconf 2.60.
70679         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70680         expand to nothing, so add a shell command to avoid syntax error.
70681         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70682
70683 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70684
70685         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70686
70687 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70688
70689         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70690         no longer needed.  Check for isblank decl.
70691         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70692         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70693         of existence.
70694
70695 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70696
70697         * lib/getloadavg.c: Use __VMS, not VMS.
70698         * lib/getopt.c: Likewise.
70699         * lib/getpagesize.h: Likewise.
70700         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70701         and probably does not work.
70702
70703 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70704
70705         * lib/.cppi-disable: Add wcwidth.
70706         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70707         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70708         (ISGRAPH): Remove.  All uses changed to isgraph.
70709         (FOLD) [!defined _LIBC]: Remove special case.
70710         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70711         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70712         HAVE_ISBLANK.
70713         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70714         case.
70715
70716 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70717
70718         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70719         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70720         brackets.  Other minor changes to suppress some compiler
70721         warnings.
70722
70723 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70724         and Paul Eggert  <eggert@cs.ucla.edu>
70725
70726         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70727         of invoking obsolescent AC_HEADER_DIRENT macro.
70728         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70729         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70730         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70731         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70732         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70733         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70734         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70735         * m4/readdir.m4: Remove; no longer needed.
70736
70737 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70738         and Paul Eggert  <eggert@cs.ucla.edu>
70739
70740         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70741         Don't worry about this obsolete case any more.
70742         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70743         directories.
70744         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70745         worry about this obsolete case any more.
70746         * lib/fts.c: Likewise.
70747         * lib/getcwd.c: Likewise.
70748         * lib/glob.h: Likewise.
70749         * lib/savedir.c: Likewise.
70750
70751 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70752
70753         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70754         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70755         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70756         needed.
70757         All uses removed.
70758         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70759         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70760         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70761         needed.
70762         * m4/getdate.m4 (gl_GETDATE): Likewise.
70763         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70764         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70765         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70766         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70767         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70768         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70769         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70770         needed.
70771
70772 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70773
70774         * lib/memcasecmp.c: Include <limits.h>.
70775         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70776         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70777         Don't assume isdigit succeeds only on '0' through '9'.
70778
70779 2006-07-05  Eric Blake  <ebb9@byu.net>
70780
70781         * modules/getaddrinfo (Depends-on): Add snprintf.
70782
70783 2006-07-05  Eric Blake  <ebb9@byu.net>
70784
70785         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70786         to avoid 'header present but could not be compiled' on cygwin.
70787
70788 2006-07-05  Eric Blake  <ebb9@byu.net>
70789
70790         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70791         missing from netdb.h.
70792         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70793
70794 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70795
70796         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70797         no longer needed.
70798         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70799         * m4/getdate.m4 (gl_GETDATE): Likewise.
70800         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70801         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70802         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70803         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70804         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70805
70806 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70807
70808         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70809         All uses of is_space replaced by isspace.
70810         * lib/exit.h: Don't talk about STDC_HEADERS.
70811         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70812         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70813         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70814         replaced by isprint etc.
70815         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70816         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70817         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70818         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70819         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70820         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70821
70822 2006-07-05  Bruno Haible  <bruno@clisp.org>
70823
70824         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70825         the function exists, before testing against AIX.
70826         Reported by Martin Lambers <marlam@marlam.de>.
70827
70828 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70829
70830         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70831         From Mark D. Baushke.
70832
70833 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70834
70835         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70836         to the absolute name, not just one, to bypass Sun C 5.8's
70837         "warning: #include of /usr/include/... may be non-portable".
70838
70839 2006-07-04  Eric Blake  <ebb9@byu.net>
70840
70841         * modules/dirname-tests: New test module.
70842         * tests/test-dirname.c: New file, replacing dirname.c
70843         TEST_DIRNAME section that was recently deleted.
70844
70845 2006-07-04  Bruno Haible  <bruno@clisp.org>
70846
70847         Assume ANSI C header files and <ctype.h> functions.
70848         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70849         (mbsnwidth): Use isprint, iscntrl instead.
70850
70851 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70852
70853         Merge from coreutils.
70854         * MODULES.html.sh: Add xstrtold.
70855         * modules/xstrtold: New file.
70856         * modules/cycle-check (Files): Add lib/same-inode.h.
70857         * modules/dirname (Files): Add m4/double-slash-root.m4.
70858         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70859         * modules/mkdir-p (Files): Add lib/same-inode.h.
70860         * modules/same (Files): Add lib/same-inode.h.
70861
70862 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70863
70864         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70865         This is to keep the terminology clean; POSIX talks about
70866         "absolute pathnames", not "full pathnames", but the GNU
70867         Coding Standards say to use "path" for something else;
70868         so use "absolute" to keep both sides happy.
70869         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70870         Set gl_absolute_header, not gl_full_header_path.
70871         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70872         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70873         All uses changed.
70874
70875         Merge from coreutils.
70876
70877         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70878
70879         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70880         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70881         want to require the building of c-strtod.o.
70882         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70883         needs -lm directly.
70884         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70885
70886         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70887
70888         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70889         --as-needed option if available.  Problem reported by Albert Chin in
70890         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70891         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70892         cc merely issues a bunch of annoying warnings for --as-needed
70893         (this problem was reported by Bob Proulx).  Also, try linking with
70894         -lm to detect a bug in binutils 2.16 (this problem was reported
70895         by Ralf Wildenhues).
70896
70897         2006-06-18  Jim Meyering  <jim@meyering.net>
70898
70899         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70900         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70901         macro.
70902         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70903         also check for glibc-2.4's abort-inducing bug.
70904
70905         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70906         Low-probability clean-up should be to use rmdir to get rid of
70907         the just-created directory, not unlink.
70908
70909         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70910         configure fail, and request a bug report to inform us about it.
70911         Add a comment that, barring reports to the contrary, in 2007 we'll
70912         assume ftruncate is universally available.
70913
70914         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70915
70916         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70917
70918         2006-03-12  Jim Meyering  <jim@meyering.net>
70919
70920         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70921         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70922         * m4/same.m4 (gl_SAME): Likewise.
70923         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70924
70925         2006-03-11  Eric Blake  <ebb9@byu.net>
70926
70927         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70928         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70929         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70930         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70931
70932 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70933
70934         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70935         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70936         reported by Mark D. Baushke, one in
70937         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70938
70939         Merge from coreutils.
70940
70941         * lib/.cppi-disable: Add stdint_.h.
70942         * lib/.cvsignore: Add stdint.h.
70943
70944         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70945
70946         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70947         both double and long double versions.
70948         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70949         * lib/xstrtold.c: New file.
70950         * lib/xstrtod.h (xstrtold): New decl.
70951
70952         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70953
70954         * lib/filemode.c (setst): Remove.
70955         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70956         (arguably) clearer, and the generated code is a bit smaller on my
70957         Debian GNU/Linux stable x86 host.
70958
70959         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70960
70961         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70962         Assume that filemode.h includes sys/types.h and sys/stat.h.
70963         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70964         (ftypelet): Reorder to put common cases first, for efficiency.
70965         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70966         to do 'M'.
70967         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70968         of 10, for compatibility with FreeBSD.  All callers changed.
70969         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70970         types that can't be deduced solely from st_mode.  First arg is now a
70971         const pointer.
70972         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70973         (strmode): Renamed from mode_string.
70974         (filemodestring): New decl.
70975         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70976         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70977         needed.
70978         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70979
70980         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70981
70982         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70983         fsusage.h now does that.  Include fsusage.h first, to test interface.
70984         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70985         at most one method (the old code could have generated decls that
70986         didn't conform to C89, not that this was ever exercised).
70987         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70988
70989         2006-03-19  Jim Meyering  <jim@meyering.net>
70990
70991         Work even in a chroot where d_ino values for entries in "/"
70992         don't match the stat.st_ino values for the same names.
70993         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70994         number, iterate through all entries again, using lstat instead.
70995         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70996         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70997
70998         * lib/getcwd.c (__getcwd): Clarify a comment.
70999         Use memcpy in place of a call to strcpy.
71000
71001         2006-03-12  Jim Meyering  <jim@meyering.net>
71002
71003         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
71004         matches that of the current directory (which we're about to chdir ".."
71005         out of), then save the dev-ino of the parent, instead.
71006
71007         * lib/same-inode.h (SAME_INODE): New file/macro.
71008         * lib/chdir-safer.c (SAME_INODE): Remove definition.
71009         Include "same-inode.h", instead.
71010         * lib/same.c: Likewise.
71011         * lib/cycle-check.h: Include "same-inode.h".
71012         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
71013         * lib/cycle-check.c (SAME_INODE): Remove definition.
71014         * lib/root-dev-ino.h: Include "same-inode.h".
71015
71016         2006-03-11  Eric Blake  <ebb9@byu.net>
71017
71018         * lib/same.c (same_name): s/base_name/last_component/
71019         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
71020         * lib/filenamecat.c (file_name_concat): Likewise.
71021
71022         2006-03-11  Eric Blake  <ebb9@byu.net>,
71023                     Paul Eggert  <eggert@cs.ucla.edu>
71024
71025         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
71026         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
71027         drive prefix.
71028         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
71029         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
71030         (last_component): New method.
71031         * lib/dirname.c (dir_len): Determine when drive letters need a
71032         subsequent slash.  Preserve // when it is special.
71033         (dir_name): Don't append dot when drive letter is absolute.
71034         [TEST_DIRNAME]: Move into a full-blown gnulib test.
71035         * lib/basename.c (base_name): New semantics - malloc the result.
71036         Preserve // when it is special.  Preserve relative files that look
71037         like drive letters.
71038         (base_len): Preserve // when it is special.
71039         (last_component): New method, similar to old base_name semantics.
71040         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
71041         base_name.  Strip redundant slashes from ///.
71042
71043 2006-07-03  Jim Meyering  <jim@meyering.net>
71044
71045         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
71046         macro is used before the first cycle_check call.
71047
71048 2006-07-03  Eric Blake  <ebb9@byu.net>
71049
71050         * modules/dirname (Depends-on): Add xstrndup.
71051
71052 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
71053
71054         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
71055         test cases, so that config.log is a bit easier to follow.
71056
71057 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
71058
71059         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
71060         both are 64 bits, since this seems to be the tradition, and this
71061         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
71062         we ever run into a host that prefers long long to long in this
71063         case, we'll need another configure-time test.  Problem reported by
71064         Jim Meyering.
71065
71066 2006-07-02  Eric Blake  <ebb9@byu.net>
71067
71068         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
71069
71070 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71071
71072         * modules/inttypes (Depends-on): No longer depends on stdint.
71073         * modules/stdint (Description): Say more about assumptions.
71074         Say that the fast types might differ.  Say macros are used.
71075         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
71076         (Makefile.am): Revise list of substituted symbols to match
71077         new stdint.m4.
71078         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
71079         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
71080         * tests/test-stdint.c (verify_same_types)
71081         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
71082         the code conforms to C99/C89.
71083         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
71084         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
71085
71086 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71087
71088         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
71089         but fix a bug, by requiring at least 64 bits.
71090         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
71091         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
71092         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
71093         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
71094
71095         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
71096         changes.  Make 2.59 a prerequisite.  Check and substitute for
71097         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
71098         inttypes.h.  Do not use special include files; just use the
71099         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
71100         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
71101         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
71102         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
71103         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
71104         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
71105         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
71106         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
71107         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
71108         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
71109         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
71110         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
71111         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
71112         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
71113         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
71114         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
71115         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
71116         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
71117         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
71118         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
71119         WINT_MAX.  Check for C99 conformance more strictly, by detecting
71120         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
71121         not check for things that C99 does not require, e.g., int8_t.  If
71122         a test isn't needed unless <stdint.h> isn't working, and is
71123         unlikely to be needed for any other reason, then don't do it
71124         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
71125         size_t, since we assume C89 freestanding at least.  Do not check
71126         for sig_atomic_t, wchar_t, or wint_t, since the code now does
71127         the right thing even if the types are not defined.  Instead use:
71128         (gl_STDINT_TYPE_PROPERTIES): New macro.
71129         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
71130         testing whether <sys/types.h> clashes, as Autoconf does this for
71131         us now.  All uses removed.
71132         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
71133         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
71134         (gl_CHECK_TYPE_SAME):
71135         Remove; no longer needed.
71136         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
71137         exists, since we'll return 0 anyway in that case.
71138         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
71139
71140 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71141
71142         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
71143         possible collision with system files.
71144         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
71145         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
71146         WCHAR_MIN and WCHAR_MAX in this case.
71147         (<stddef.h>): Do not include; no longer needed.
71148         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
71149         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
71150         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
71151         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
71152         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
71153         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
71154         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
71155         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
71156         !defined(__c99))]: Include in this case too, since it's harmless
71157         now.
71158         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
71159         dangerous to do so.
71160         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
71161         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
71162         (_STDINT_MIN, _STDINT_MAX): New macros.
71163         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
71164         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
71165         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
71166         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
71167         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
71168         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
71169         macros, not typedefs; this simplifies things quite a bit.
71170         Use long int for all types narrower than int64_t.
71171         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
71172         Define in terms of long long int or int64_t or long int,
71173         not int64_t or int32_t.  This saves some compile-time testing.
71174         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
71175         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
71176         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
71177         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
71178         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
71179         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
71180         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
71181         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
71182         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
71183         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
71184         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
71185         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
71186         undef any previous version and define our own version, for
71187         simplicity and consistency with the new macros for types.
71188         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
71189         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
71190         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
71191         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
71192         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
71193         @WINT_T_SUFFIX@ to keep things simple here.
71194         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
71195         Simplify by assuming typical 8/16/32/64 host, since we're
71196         already doing that elsewhere anyway.
71197         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
71198         and assume long long int is 64 bits if available.  This
71199         speeds up 'configure'.
71200
71201 2006-07-01  Eric Blake  <ebb9@byu.net>
71202
71203         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
71204         Reported by Andreas Buening.
71205
71206 2006-07-01  Eric Blake  <ebb9@byu.net>
71207
71208         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
71209
71210 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
71211
71212         * lib/getaddrinfo.c: fixed typo
71213
71214 2006-06-29  Jim Meyering  <jim@meyering.net>
71215
71216         * modules/strftime (Maintainer): Add my name, since with the
71217         FPRINTFTIME changes strftime.c has forked from glibc.
71218
71219 2006-06-29  Eric Blake  <ebb9@byu.net>
71220
71221         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
71222
71223 2006-06-29  Eric Blake  <ebb9@byu.net>
71224
71225         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
71226
71227 2006-06-29  Eric Blake  <ebb9@byu.net>
71228
71229         * lib/stat_.h: New file.
71230
71231 2006-06-29  Eric Blake  <ebb9@byu.net>
71232
71233         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
71234         unused static function.
71235
71236 2006-06-29  Eric Blake  <ebb9@byu.net>
71237
71238         * doc/functions.texi (Function Portability): Document missing lstat
71239         on mingw.
71240
71241 2006-06-29  Eric Blake  <ebb9@byu.net>
71242
71243         * MODULES.html.sh: Add sys_stat.
71244         * modules/sys_stat: New module.
71245         * modules/mkstemp (Depends-on): Add sys_stat.
71246
71247 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71248
71249         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
71250
71251 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71252
71253         * m4/c-bs-a.m4: Removed.
71254
71255 2006-06-29  Derek R. Price  <derek@ximbiot.com>
71256
71257         * lib/strftime.c: Assume strftime() exists.
71258
71259 2006-06-29  Derek Price  <derek@ximbiot.com>
71260
71261         * modules/c-bs-a: Removed - \a is C89.
71262         * MODULES.html.sh: Remove c-bs-a.
71263
71264 2006-06-29  Bruno Haible  <bruno@clisp.org>
71265
71266         * modules/wcwidth (License): Change to LGPL.
71267
71268 2006-06-28  Simon Josefsson  <jas@extundo.com>
71269
71270         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
71271         on _WIN32.
71272
71273         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
71274         getnameinfo.
71275
71276 2006-06-28  Simon Josefsson  <jas@extundo.com>
71277
71278         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
71279
71280 2006-06-28  Simon Josefsson  <jas@extundo.com>
71281
71282         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
71283         functions there.  It will succeed on Windows XP, but on Windows
71284         2000 and (presumably) earlier, it will fail, and use the internal
71285         re-implementation.
71286         (use_win32_p): New function.
71287         (getaddrinfo): Use strtoul on servname, to support numeric ports.
71288         Support AI_NUMERICSERV to disable getservbyname.
71289         (getnameinfo): New function, only supports
71290         NI_NUMERICHOST|NI_NUMERICSERV for now.
71291
71292         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
71293         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
71294         getnameinfo.
71295
71296 2006-06-28  Eric Blake  <ebb9@byu.net>
71297
71298         * modules/wcwidth: New file.
71299         * modules/mbchar (Depends-on): Add wcwidth.
71300         * modules/mbswidth (Depends-on): Add wcwidth.
71301         * MODULES.html.sh: Add wcwidth.
71302
71303 2006-06-28  Eric Blake  <ebb9@byu.net>
71304
71305         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
71306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
71307
71308 2006-06-28  Eric Blake  <ebb9@byu.net>
71309
71310         * lib/xvasprintf.h: Fix comments.
71311
71312 2006-06-28  Eric Blake  <ebb9@byu.net>
71313
71314         * lib/mbchar.h (wcwidth): Include wcwidth.h.
71315         * lib/mbswidth.c (wcwidth): Move from here...
71316         * lib/wcwidth.h: ...to this new file.
71317
71318 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71319
71320         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
71321
71322         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
71323         it's obsolete.
71324         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
71325
71326 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71327
71328         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
71329         Autoconf 2.60 says this stuff was obsolete.
71330
71331 2006-06-28  Bruno Haible  <bruno@clisp.org>
71332
71333         * modules/wcwidth (Files): Add m4/wchar_t.m4.
71334
71335 2006-06-28  Bruno Haible  <bruno@clisp.org>
71336
71337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
71338         gt_TYPE_WCHAR_T.
71339
71340 2006-06-28  Bruno Haible  <bruno@clisp.org>
71341
71342         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
71343         declaration for wcwidth.
71344         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
71345
71346 2006-06-28  Bruno Haible  <bruno@clisp.org>
71347
71348         * lib/mkdtemp.c [MINGW]: Include <io.h>.
71349         (mkdir): Define using _mkdir.
71350
71351 2006-06-28  Bruno Haible  <bruno@clisp.org>
71352
71353         * lib/getaddrinfo.h: Fix POSIX URL.
71354         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
71355         _WIN32.
71356         (use_win32_p): Make static.
71357         (getaddrinfo): Reject service name if it is empty or does not consist
71358         solely of decimal digits, or if its value is > 65535.
71359         (getnameinfo): Remove useless casts.
71360
71361 2006-06-27  Simon Josefsson  <jas@extundo.com>
71362
71363         * modules/sys_select: New file, suggested by Bruno Haible, Paul
71364         Eggert and Martin Lambers.
71365
71366 2006-06-27  Simon Josefsson  <jas@extundo.com>
71367
71368         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
71369         Eggert and Martin Lambers.
71370
71371 2006-06-27  Bruno Haible  <bruno@clisp.org>
71372
71373         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
71374         result to 0, not to empty.
71375         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
71376
71377 2006-06-27  Bruno Haible  <bruno@clisp.org>
71378
71379         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
71380
71381 2006-06-26  Simon Josefsson  <jas@extundo.com>
71382
71383         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
71384         present.
71385
71386 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
71387
71388         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
71389         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
71390         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
71391
71392 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
71393
71394         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
71395
71396 2006-06-26  Bruno Haible  <bruno@clisp.org>
71397
71398         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
71399
71400 2006-06-26  Bruno Haible  <bruno@clisp.org>
71401
71402         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
71403
71404 2006-06-26  Bruno Haible  <bruno@clisp.org>
71405
71406         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71407         SGI C compiler in pre-C99 mode.
71408         Suggested by Mark D. Baushke and Larry Jones.
71409
71410 2006-06-26  Bruno Haible  <bruno@clisp.org>
71411
71412         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71413         WCHAR_MAX.
71414         Reported by Mark D. Baushke and Larry Jones.
71415
71416 2006-06-26  Bruno Haible  <bruno@clisp.org>
71417
71418         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71419         in pre-C99 mode.
71420         Suggested by Mark D. Baushke and Larry Jones.
71421
71422 2006-06-23  Simon Josefsson  <jas@extundo.com>
71423             Bruno Haible  <bruno@clisp.org>
71424
71425         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71426         Emit mostlyclean-local rule.
71427         (func_emit_tests_Makefile_am): Likewise.
71428         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71429
71430 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71431
71432         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71433
71434 2006-06-23  Bruno Haible  <bruno@clisp.org>
71435
71436         * tests/test-stdint.c: Update to match ISO C 99 Technical
71437         Corrigendum 1.
71438
71439 2006-06-23  Bruno Haible  <bruno@clisp.org>
71440
71441         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71442
71443 2006-06-23  Bruno Haible  <bruno@clisp.org>
71444
71445         * lib/stdint_.h: Treat IRIX like OpenBSD.
71446
71447 2006-06-23  Bruno Haible  <bruno@clisp.org>
71448
71449         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71450         ISO C 99 Technical Corrigendum 1.
71451
71452 2006-06-22  Simon Josefsson  <jas@extundo.com>
71453
71454         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71455         MinGW.
71456
71457 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71458
71459         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71460         needed.  Some compiler complained about some of them.  Problem reported
71461         by Larry Jones in
71462         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71463
71464 2006-06-21  Simon Josefsson  <jas@extundo.com>
71465
71466         * tests/test-getaddrinfo.c: New file.
71467
71468         * modules/getaddrinfo-tests: New file.
71469
71470         * MODULES.html.sh: Add inet_pton.
71471
71472         * modules/inet_pton: New file.
71473
71474 2006-06-21  Simon Josefsson  <jas@extundo.com>
71475
71476         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71477         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71478         of using the (limited) gnulib implementation on Windows XP.
71479
71480         * m4/inet_pton.m4: New file.
71481
71482 2006-06-21  Simon Josefsson  <jas@extundo.com>
71483
71484         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71485         variable.
71486
71487         * lib/socket_.h: Don't define WINVER.
71488
71489         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71490         slightly modified to work in gnulib.
71491
71492 2006-06-21  Simon Josefsson  <jas@extundo.com>
71493
71494         * doc/gnulib.texi (Windows sockets): Add.
71495
71496 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71497
71498         * lib/read-file.c (fread_file): Start with buffer allocation of
71499         0 bytes rather than 1 byte; this simplifies the code.
71500         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71501         code to free buffer and save/restore errno.
71502         (internal_read_file): Remove unused local.
71503
71504 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71505
71506         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71507         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71508         Problem reported by Denis Excoffier in
71509         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71510
71511 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71512
71513         * modules/sys_socket, modules/socklen: Include sys/types since
71514         FreeBSD 4.x's sys/socket.h needs it.
71515
71516 2006-06-19  Simon Josefsson  <jas@extundo.com>
71517
71518         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71519
71520 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71521
71522         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71523
71524 2006-06-19  Bruno Haible  <bruno@clisp.org>
71525
71526         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71527         and FULL_PATH_INTTYPES_H in angle brackets.
71528         Reported by Mark D. Baushke <mdb@gnu.org>.
71529
71530 2006-06-17  Eric Blake  <ebb9@byu.net>
71531
71532         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71533         errno.
71534
71535 2006-06-17  Bruno Haible  <bruno@clisp.org>
71536
71537         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71538         <sys/inttypes.h>.
71539
71540 2006-06-17  Bruno Haible  <bruno@clisp.org>
71541
71542         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71543         whether errno is declared. Assume <errno.h> declares errno.
71544
71545 2006-06-17  Bruno Haible  <bruno@clisp.org>
71546
71547         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71548
71549 2006-06-17  Bruno Haible  <bruno@clisp.org>
71550
71551         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71552         problem on Solaris 2.5.1.
71553
71554 2006-06-16  Eric Blake  <ebb9@byu.net>
71555
71556         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71557         * lib/unicodeio.c [!defined errno]: Likewise.
71558         * lib/strtol.c [!defined errno]: Likewise.
71559         * lib/strtod.c [!defined errno]: Likewise.
71560
71561 2006-06-15  Eric Blake  <ebb9@byu.net>
71562
71563         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71564
71565 2006-06-15  Eric Blake  <ebb9@byu.net>
71566
71567         * config/srclist.txt (ssize_t.m4): Lose sync.
71568
71569 2006-06-15  Bruno Haible  <bruno@clisp.org>
71570
71571         * modules/stdint (Files): Include m4/full-header-path.m4,
71572         m4/size_max.m4, m4/wchar_t.m4.
71573         (Makefile.am): Many more substitutions.
71574         * modules/stdint-tests: New file.
71575         * tests/test-stdint.c: New file.
71576
71577 2006-06-15  Bruno Haible  <bruno@clisp.org>
71578
71579         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71580         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71581         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71582         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71583         gl_CHECK_TYPE_SAME): New macros.
71584
71585 2006-06-15  Bruno Haible  <bruno@clisp.org>
71586
71587         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71588
71589 2006-06-15  Bruno Haible  <bruno@clisp.org>
71590
71591         * lib/stdint_.h: Rewritten to be fully auto-configured.
71592         Fixes bug on HP-UX/IA64.
71593
71594 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71595
71596         * lib/getdate.y (__attribute__): Don't define if already defined.
71597         Problem reported by Larry Jones.
71598         * lib/utimens.c (__attribute__): Likewise.
71599
71600 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71601
71602         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71603         reported by Andreas Schwab.
71604
71605 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71606             Bruno Haible  <bruno@clisp.org>
71607
71608         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71609         check for the declaration of strnlen and a run test that exposes the
71610         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71611         rpl_strndup.
71612
71613 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71614             Bruno Haible  <bruno@clisp.org>
71615
71616         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71617
71618 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71619
71620         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71621         compile test, for Tru64 4.0D.
71622
71623 2006-05-28  Karl Berry  <karl@gnu.org>
71624
71625         * config/srclist.txt (printf-args.c): lose sync.
71626
71627 2006-05-26  Martin Lambers  <marlam@marlam.de>
71628
71629         * lib/getpass.c: Updates the test for the native W32 API, and adds
71630         missing includes, thus fixing compilation warnings.
71631
71632 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71633
71634         * lib/exclude.c (exclude_fnmatch): New function.
71635         (excluded_file_name): Call exclude_fnmatch.
71636         * lib/exclude.h (excluded_file_name): New prototype
71637
71638 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71639
71640         * lib/tempname.c (small_open, large_open): New macros.
71641         (__open, __open64) [!_LIBC]: Remove.
71642         (__gen_tempname): Use small_open and large_open instead of __open
71643         and __open64.  This fixes a portability bug on HP-UX 11.11i
71644         reported by Simon Wing-Tang in
71645         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71646
71647 2006-05-24  Bruno Haible  <bruno@clisp.org>
71648
71649         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71650         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71651         Reported by Thorsten Maerz <torte@netztorte.de> via
71652         Aaron Stone <aaron@serendipity.cx>.
71653
71654 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71655
71656         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71657         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71658         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71659         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71660         not really conditional on the cache.
71661         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71662
71663 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71664
71665         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71666         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71667         (my_usleep): Don't mishandle maximum value.
71668
71669 2006-05-19  Jim Meyering  <jim@meyering.net>
71670
71671         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71672
71673 2006-05-17  Bruno Haible  <bruno@clisp.org>
71674
71675         Cygwin portability.
71676         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71677
71678 2006-05-17  Bruno Haible  <bruno@clisp.org>
71679
71680         * lib/stdint_.h: Fix recognition of Cygwin.
71681
71682 2006-05-15  Bruno Haible  <bruno@clisp.org>
71683
71684         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71685         on libtool patch by Ralf Wildenhues.
71686
71687 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71688
71689         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71690         test for C99 conformance; (bool) 0.5 is an integer constant
71691         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71692         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71693
71694 2006-05-11  Simon Josefsson  <jas@extundo.com>
71695
71696         * m4/xvasprintf.m4: Fix obvious typo.
71697
71698 2006-05-11  Jim Meyering  <jim@meyering.net>
71699
71700         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71701         James Lemley.
71702
71703 2006-05-10  Simon Josefsson  <jas@extundo.com>
71704
71705         * lib/md4.c: Typo fix, update copyright years.
71706         (K1, K2): Don't use L because it turn computations into 64-bit on
71707         64-bit platforms.
71708
71709 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71710
71711         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71712         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71713         unwanted sign propagation, e.g., on hosts with 64-bit int.
71714         There still are some problems with reeelly weird theoretical hosts
71715         (e.g., 33-bit int) but it's not worth worrying about now.
71716         * lib/sha1.c (rol): Likewise.
71717         (K1, K2, K3, K4): Remove unnecessary L suffix.
71718
71719 2006-05-10  Bruno Haible  <bruno@clisp.org>
71720
71721         * lib/des.c: Cast to avoid warnings.
71722
71723 2006-05-09  Bruno Haible  <bruno@clisp.org>
71724
71725         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71726         (Depends-on): Depend also on xsize, stdarg.
71727         (configure.ac): Add gl_XVASPRINTF.
71728
71729 2006-05-09  Bruno Haible  <bruno@clisp.org>
71730
71731         * m4/xvasprintf.m4: New file.
71732
71733 2006-05-09  Bruno Haible  <bruno@clisp.org>
71734
71735         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71736         (EOVERFLOW): Define fallback value.
71737         (xstrcat): New function.
71738         (xvasprintf): Recognize the special case of a string concatenation.
71739
71740 2006-05-08  Eric Blake  <ebb9@byu.net>
71741
71742         * gnulib-tool (func_version): Base copyright year on CVS date.
71743         (func_emit_copyright_notice): New function.
71744         (func_emit_lib_Makefile_am): Use it.
71745         (func_emit_tests_Makefile_am): Likewise.
71746         (func_import): Likewise.
71747
71748 2006-05-08  Bruno Haible  <bruno@clisp.org>
71749
71750         * modules/stdarg: New file.
71751         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71752
71753 2006-05-08  Bruno Haible  <bruno@clisp.org>
71754
71755         * m4/stdarg.m4: New file, from GNU gettext.
71756
71757 2006-05-08  Bruno Haible  <bruno@clisp.org>
71758
71759         * config/srclist.txt (build-aux/config.rpath): different from latest
71760         release.
71761
71762 2006-05-08  Bruno Haible  <bruno@clisp.org>
71763
71764         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71765
71766 2006-05-05  Jim Meyering  <jim@meyering.net>
71767
71768         * m4/warning.m4: New file, derived from bison's file by the same name.
71769
71770 2006-05-03  Bruno Haible  <bruno@clisp.org>
71771
71772         * lib/stdint_.h: Shorter URL.
71773         * lib/inttypes.h: Likewise.
71774
71775 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71776
71777         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71778
71779 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         * lib/verify.h: Document the internals better.  Most of this change
71782         was written by Bruno Haible.
71783
71784 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71785
71786         * doc/verify.texi: New file, partly based on a proposal by
71787         Bruno Haible.
71788
71789 2006-05-02  Bruno Haible  <bruno@clisp.org>
71790
71791         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71792         test from here...
71793         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71794
71795 2006-04-29  Bruno Haible  <bruno@clisp.org>
71796
71797         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71798         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71799
71800 2006-04-29  Bruno Haible  <bruno@clisp.org>
71801
71802         * gnulib-tool: Make --update option actually work.
71803
71804 2006-04-29  Bruno Haible  <bruno@clisp.org>
71805
71806         * doc/gcd.texi: New file.
71807         * doc/gnulib.texi: Include it.
71808
71809 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71810
71811         * lib/getdate.y (get_date): When adding relative date, start with the
71812         initial time, not with the result of the first mktime call.
71813
71814 2006-04-25  Bruno Haible  <bruno@clisp.org>
71815
71816         * gnulib-tool (func_import): Output the include directives in three
71817         blocks, sorted separately.
71818         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71819
71820 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71821
71822         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71823         to define main with arguments, for C++.  Reported by Eric Blake.
71824         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71825         Prefer 'int main ()' to 'int main (void)', for C++.
71826         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71827         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71828         for 'main', for C99 and C++.
71829
71830 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71831
71832         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71833         Don't assume that exit status -1 is valid.
71834         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71835         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71836         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71837         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71838         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71839         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71840         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71841         functions can be used without declaring them, or that you can
71842         exit with status -1.
71843         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71844
71845 2006-04-24  Karl Berry  <karl@gnu.org>
71846
71847         * config/srclist.txt (longdouble.m4): sync lost.
71848
71849 2006-04-24  Eric Blake  <ebb9@byu.net>
71850
71851         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71852
71853 2006-04-24  Bruno Haible  <bruno@clisp.org>
71854
71855         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71856         poll() implementation in AIX.
71857         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71858
71859 2006-04-24  Bruno Haible  <bruno@clisp.org>
71860
71861         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71862         assigned exactly once.
71863
71864 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71865             Bruno Haible  <bruno@clisp.org>
71866
71867         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71868         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71869         for AM_CPPFLAGS.
71870
71871 2006-04-23  Bruno Haible  <bruno@clisp.org>
71872
71873         * modules/copy-file: Depend on unistd.
71874         * modules/execute: Likewise.
71875         * modules/fatal-signal: Likewise.
71876         * modules/findprog: Likewise.
71877         * modules/mkdtemp : Likewise.
71878         * modules/pipe: Likewise.
71879         * modules/wait-process: Likewise.
71880
71881 2006-04-23  Bruno Haible  <bruno@clisp.org>
71882
71883         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71884         condition was already detected.
71885         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71886
71887 2006-04-23  Bruno Haible  <bruno@clisp.org>
71888
71889         * lib/copy-file.c: Include <unistd.h> unconditionally.
71890         * lib/execute.c: Likewise.
71891         * lib/fatal-signal.c: Likewise.
71892         * lib/findprog.c: Likewise.
71893         * lib/mkdtemp.c: Likewise.
71894         * lib/pipe.h: Likewise.
71895         * lib/pipe.c: Likewise.
71896         * lib/wait-process.h: Likewise.
71897
71898 2006-04-23  Bruno Haible  <bruno@clisp.org>
71899
71900         * gnulib-tool (func_usage): Fix --import description. Document
71901         --update.
71902         (func_import): Create temporary file in a temporary directory, if
71903         --dry-run is specified. Silence errors from 'grep' when there are no
71904         m4 files in $m4dir.
71905         (func_create_testdir): Silence errors from 'grep' when there are no
71906         m4 files in $m4dir.
71907         Reported by Karl Berry <karl@freefriends.org>.
71908
71909 2006-04-20  Bruno Haible  <bruno@clisp.org>
71910
71911         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71912         one argument, so that the code will be portable to Autoconf 2.60.
71913         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71914         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71915         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71916
71917 2006-04-19  Derek Price  <derek@ximbiot.com>
71918             Eric Blake  <ebb9@byu.net>
71919
71920         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71921         rather than "/full/path.h".  Update comment to match.  Shorten &
71922         generalize m4_translit call via AS_TR_CPP.
71923
71924 2006-04-19  Derek Price  <derek@ximbiot.com>
71925             Eric Blake  <ebb9@byu.net>
71926
71927         * lib/inttypes.h: Correct grammar in comment.
71928
71929 2006-04-18  Derek Price  <derek@ximbiot.com>
71930             Paul Eggert  <eggert@cs.ucla.edu>
71931
71932         * modules/inttypes: New file.
71933         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71934
71935 2006-04-18  Derek Price  <derek@ximbiot.com>
71936             Paul Eggert  <eggert@cs.ucla.edu>
71937
71938         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71939         New files.
71940
71941 2006-04-18  Derek Price  <derek@ximbiot.com>
71942             Paul Eggert  <eggert@cs.ucla.edu>
71943
71944         * lib/inttypes.h: New file.
71945         * lib/strtoimax.c: Assume <inttypes.h>.
71946
71947 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71948
71949         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71950         isn't mounted.  Problem reported by Kir Kolyshkin.
71951
71952 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71953
71954         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71955         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71956         Derek R. Price.
71957         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71958         implementation.
71959
71960 2006-04-12  Eric Blake  <ebb9@byu.net>
71961
71962         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71963         is now done automatically by the corresponding Autoconf macro.
71964
71965 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71966
71967         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71968         time_r.h.
71969
71970 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71971
71972         Merge regex changes from libc, removing some of our
71973         POSIX-conformance changes that were rejected and redoing them in a
71974         less-intrusive way.
71975
71976         * lib/regcomp.c (re_compile_internal, init_dfa):
71977         Length arg is now size_t, not Idx.  All uses changed.
71978         (peek_token): Forward decl now says internal_function.
71979         (__re_error_msgid, __re_error_msgid_idx):
71980         Now static rather than extern with attribute_hidden.
71981         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71982         For some reason libc prefers K&R style defns for external functions.
71983         (regerror) [!defined _LIBC]: Likewise.
71984         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71985         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71986         (build_range_exp, build_collating_symbol):
71987         Use K&R-style defn.
71988         (re_compile_fastmap): Use '\0' to memset, not 0.
71989         (utf8_sb_map): Make the calculations more obvious.
71990         (init_dfa, parse_bracket_exp, build_charclass_op):
71991         Call calloc and cast result, as glibc does.
71992         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71993         (build_range_exp, build_collating_symbol):
71994         Now internal functions.
71995
71996         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71997
71998         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71999         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
72000         Don't depend on VMS; depend on __VMS instead, for POSIX
72001         namespace cleanness.
72002         (regoff_t): Define to ssize_t, not long int.
72003
72004         Remove the REG_ macros named below.  Instead, make the old names
72005         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
72006         __USE_GNU_REGEX.
72007         (REG_BACKSLASH_ESCAPE_IN_LISTS):
72008         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
72009         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
72010         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
72011         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
72012         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
72013         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
72014         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
72015         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
72016         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
72017         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
72018         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
72019         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
72020         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
72021         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
72022         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
72023         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
72024         (REG_NREGS):
72025         Remove.  All uses replaced by the old RE_* names.
72026         (RE_BACKSLASH_ESCAPE_IN_LISTS):
72027         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
72028         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
72029         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
72030         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
72031         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
72032         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
72033         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
72034         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
72035         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
72036         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
72037         Don't bother having these macros be independent of each others'
72038         values, since they no longer exist in the POSIX name space.
72039
72040         Rename the following member names back to their old names,
72041         unless !__USE_GNU_REGEX.  All uses changed back.
72042         (buffer): Renamed from re_buffer.
72043         (allocated): Renamed from re_allocated.
72044         (used): Renamed from re_used.
72045         (syntax): Renamed from re_syntax.
72046         (fastmap): Renamed from re_fastmap.
72047         (translate): Renamed from re_translate.
72048         (can_be_null): Renamed from re_can_be_null.
72049         (regs_allocated): Renamed from re_regs_allocated.
72050         (fastmap_accurate): Renamed from re_fastmap_accurate.
72051         (no_sub): Renamed from re_no_sub.
72052         (not_bol): Renamed from re_not_bol.
72053         (not_eol): Renamed from re_not_eol.
72054         (newline_anchor): Renamed from re_newline_anchor.
72055         (num_regs): Renamed from rm_num_regs.
72056         (start): Renamed from rm_start.
72057         (end): Renamed from rm_end.
72058
72059         (free_state): Move up a bit.
72060
72061         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
72062         #define to be empty.
72063         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
72064         when that is what is intended.
72065         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
72066         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
72067         (MAX): New macro.
72068         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
72069         All uses changed back to re_malloc, etc.  It's now the caller's
72070         responsibility to check for overflow; all callers changed.
72071         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
72072         (re_x2nrealloc): Remove.
72073         (free_state): Remove decl.
72074
72075         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
72076         (re_set_registers, re_exec):
72077         Use K&R-style defn.
72078
72079         2006-01-31  Roland McGrath  <roland@redhat.com>
72080
72081         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
72082         Reported by Mike Frysinger <vapier@gentoo.org>.
72083
72084         2006-01-15  Andreas Jaeger  <aj@suse.de>
72085
72086         [BZ #1950]
72087         * lib/regex_internal.c (re_string_reconstruct): Adjust for
72088         build_wcs_upper_buffer change.
72089         (build_wcs_upper_buffer): Change return type.
72090
72091         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
72092
72093         * lib/regex_internal.h: Include <stdint.h> if available.
72094
72095         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
72096
72097         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
72098
72099         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
72100
72101         * lib/regcomp.c: Adjust for changed secondary hash function.
72102
72103         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
72104
72105         * lib/regex.h: Pretty printing.
72106         Clean up namespace a bit.
72107
72108         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
72109
72110         * lib/regexec.c (update_cur_sifted_state, check_arrival,
72111         check_arrival_add_next_nodes): Avoid using uninitialized variable.
72112
72113         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72114                     Ulrich Drepper  <drepper@redhat.com>
72115
72116         [BZ #1302]
72117         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
72118         changed.
72119         (bitset_word_t): Renamed from bitset_word.  All uses changed.
72120
72121         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
72122
72123         [BZ #281]
72124         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
72125         * lib/regcomp.c: Remove unnecessary uses of
72126         unsigned RE_TRANSLATE_TYPE.
72127         * lib/regex_internal.h: Likewise.
72128         * lib/regex_internal.c: Likewise.
72129         * lib/regexec.c: Likewise.
72130         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
72131
72132         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
72133
72134         * lib/regexec.c (find_recover_state): Remove unnecessary
72135         initialization.
72136         (transit_state_bkref): Make DFA a const pointer.
72137         (get_subexp): Likewise.
72138         (check_arrival): Likewise.
72139         (update_cur_sifted_state): Likewise.
72140         (re_search_internal): Likewise.
72141         (prune_impossible_nodes): Likewise.
72142         (acquire_init_state_context): Likewise.
72143         (proceed_next_node): Likewise.
72144         (set_regs): Likewise.
72145         (free_fail_stack_return): Likewise.
72146         (check_arrival_expand_ecl): Mark DFA parameter as const.
72147         (check_arrival_expand_ecl_sub): Likewise.
72148         (check_subexp_limits): Likewise.
72149         (sub_epsilon_src_nodes):  Likewise.
72150         (add_epsilon_src_nodes):  Likewise.
72151         (merge_state_array): Likewise.
72152         (update_regs): Likewise.
72153         (build_trtable): Likewise.
72154         (sift_states_backward): Mark MCTX parameter as const.
72155         (build_sifted_states): Likewise.
72156         (update_cur_sifted_state): Likewise.
72157         (sift_states_mkref): Likewise.
72158         (check_arrival_expand_ecl): Mark eclosure as const.
72159         (check_dst_limits_calc_pos_1): Likewise.
72160         * lib/regex_internal.h (re_match_context_t): Make dfa a const
72161         pointer.
72162
72163         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
72164
72165         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
72166         (transit_state_sb): Likewise.
72167         (transit_state_mb): Likewise.
72168         (sift_states_iter_mb): Likewise.
72169         (check_arrival_add_next_nodes): Likewise.
72170         (check_node_accept_bytes): Change first parameter to pointer-to-const.
72171         [_LIBC] (re_search_2_stub): Use mempcpy.
72172
72173         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
72174         mbrtowc for very simple UTF-8 case.
72175
72176         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
72177         a pointer-to-const.
72178         (re_acquire_state_context): Likewise.
72179         * lib/regex_internal.h: Adjust prototypes.
72180
72181         * lib/regex.c: Prevent using C++ compilers.
72182
72183         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
72184         (re_acquire_state_context): Likewise.
72185
72186 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72187
72188         * modules/regex (Depends-on): Add ssize_t.
72189
72190 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72191
72192         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
72193         translation table.
72194
72195 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
72196
72197         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
72198
72199 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
72200             Bruno Haible  <bruno@clisp.org>
72201
72202         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
72203         <sys/types.h> and <inttypes.h>.
72204
72205 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72206
72207         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
72208         `__error_t_defined', so argp.h will not typedef the former.
72209
72210 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
72211
72212         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
72213         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
72214         glibc names.  Even if glibc is changed to conform to POSIX, the
72215         traditional names will be available anyway, since regex depends on
72216         the extensions module.  Also, fix a longstanding typo in the
72217         implementation of Spencer ERE test #75 from grep 2.3.  Problems
72218         reported by Emanuele Giaquinta.  Also, change sense of cached
72219         variable, so that the message makes sense.
72220
72221 2006-03-24  Simon Josefsson  <jas@extundo.com>
72222
72223         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
72224         including some doc fixes.
72225         (base64_encode_alloc): Fix +1 bug on allocation failures.
72226
72227 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72228
72229         * lib/base64.c (base64_encode): Do not read past end of array with
72230         unsanitized input on systems with CHAR_BIT > 8.
72231
72232 2006-03-24  Eric Blake  <ebb9@byu.net>
72233
72234         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
72235
72236 2006-03-22  Karl Berry  <karl@gnu.org>
72237
72238         * config/srclist.txt (*setenv.[ch]): get from coreutils.
72239         * config/srclistvars.sh (COREUTILS): new var.
72240
72241 2006-03-17  Jim Meyering  <jim@meyering.net>
72242
72243         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
72244         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
72245
72246 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72247
72248         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
72249         no longer needs it.  Instead, check that regoff_t is as least
72250         as wide as ptrdiff_t.
72251
72252         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
72253         so that our regex.h stays compatible with the installed regex.
72254         This is helpful for installers who configure --without-included-regex.
72255         Problem reported by Emanuele Giaquinta.
72256
72257 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72258
72259         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
72260         Typedef to long int, not to off_, as POSIX will likely change
72261         in that direction.
72262
72263 2006-03-15  Eric Blake  <ebb9@byu.net>
72264
72265         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
72266
72267 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72268
72269         * lib/argp-help.c (validate_uparams): Fix typo
72270         * lib/argp-parse.c (argp_default_options): Consistently begin help
72271         messages with a lowercase letter.
72272
72273 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
72274
72275         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
72276         overrun buffers and shouldn't be used (much as gets shouldn't be
72277         used).
72278         * lib/time_r.c (asctime_r, ctime_r): Likewise.
72279
72280 2006-03-08  Simon Josefsson  <jas@extundo.com>
72281
72282         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
72283         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72284
72285 2006-03-08  Simon Josefsson  <jas@extundo.com>
72286
72287         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
72288         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72289
72290 2006-03-08  Simon Josefsson  <jas@extundo.com>
72291
72292         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
72293         signal that configure disabled the device.
72294
72295 2006-03-08  Simon Josefsson  <jas@extundo.com>
72296
72297         * build-aux/maint.mk: Fix refresh-po, to handle no translated
72298         languages.
72299
72300 2006-03-07  Simon Josefsson  <jas@extundo.com>
72301
72302         * modules/getopt (Depends-on): Add unistd.
72303
72304         * modules/unistd: New file.
72305
72306 2006-03-07  Simon Josefsson  <jas@extundo.com>
72307
72308         * modules/gc-random: New file.
72309
72310 2006-03-07  Simon Josefsson  <jas@extundo.com>
72311
72312         * m4/unistd_h.m4: New file.
72313
72314 2006-03-07  Simon Josefsson  <jas@extundo.com>
72315
72316         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
72317         test to be side-effect free by storing the result in the cache
72318         variable gl_cv_lib_readline, and moving the assignment of
72319         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
72320         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72321
72322 2006-03-07  Simon Josefsson  <jas@extundo.com>
72323
72324         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
72325         error on missing devices (the functions will return an error).
72326
72327         * m4/gc.m4: Move random stuff to gc-random.m4
72328
72329 2006-03-07  Simon Josefsson  <jas@extundo.com>
72330
72331         * lib/unistd_.h: New file.
72332
72333 2006-03-07  Simon Josefsson  <jas@extundo.com>
72334
72335         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
72336
72337 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72338
72339         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
72340         Problem reported by Juan Manuel Guerrero.
72341
72342 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72343
72344         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
72345         the unistd module.
72346         * lib/getlogin_r.c: Likewise.
72347         * lib/getlogin_r.h: Likewise.
72348         * lib/glob.c: Likewise.
72349         * lib/pagealign_alloc.c: Likewise.
72350         * lib/unistd_.h: Remove; no longer needed.
72351
72352 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72353
72354         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72355         Add unistd.
72356         * modules/c-stack (Depends-on): Add unistd.
72357         * modules/getlogin_r: Likewise.
72358         * modules/glob: Likewise.
72359         * modules/pagealign_alloc: Likewise.
72360         * modules/unistd (Files): Remove lib/unistd_.h.
72361         (EXTRA_DIST): Remove.
72362         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
72363         need unistd_.h.
72364         (MOSTLYCLEANFILES): Remove unistd.h-t.
72365
72366 2006-03-03  Simon Josefsson  <jas@extundo.com>
72367
72368         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
72369
72370 2006-03-03  Simon Josefsson  <jas@extundo.com>
72371
72372         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
72373         libidn and bison.
72374
72375 2006-03-03  Simon Josefsson  <jas@extundo.com>
72376
72377         * build-aux/maint.mk: Add indent target.
72378
72379 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
72380
72381         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
72382         our replacement poll.h in any case, to avoid a differing
72383         declaration from a system header.  Seen on AIX.
72384
72385 2006-03-01  Simon Josefsson  <jas@extundo.com>
72386
72387         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
72388         <kasal@ucw.cz>.
72389
72390 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72391
72392         * modules/gettime (Depends-on): Add extensions module.
72393         * modules/nanosleep (Depends-on): Likewise.
72394         * modules/settime (Depends-on): Likewise.
72395
72396 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
72399         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
72400         pedantically.
72401         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72402         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
72403
72404         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
72405         not "==".  Reported by Ralf Wildenhues.
72406
72407 2006-03-01  Karl Berry  <karl@gnu.org>
72408
72409         * doc/Copyright/request-*: new files, synced from gnuorg.
72410
72411 2006-03-01  Karl Berry  <karl@gnu.org>
72412
72413         * config/srclist.txt (Copyright/*): new entries.
72414
72415 2006-02-28  Simon Josefsson  <jas@extundo.com>
72416
72417         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72418
72419 2006-02-27  Simon Josefsson  <jas@extundo.com>
72420
72421         * lib/base64.h: Indent #define's.  From Jim Meyering
72422         <jim@meyering.net>.
72423
72424 2006-02-27  Jim Meyering  <jim@meyering.net>
72425
72426         Revert the change of 2006-02-24, so these files can continue
72427         to be sync'd from gettext.
72428         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72429         of `config.h'.
72430
72431 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72432
72433         * modules/intprops: New file.
72434         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72435         Add intprops.
72436         * modules/getloadavg (Files): Remove lib/intprops.h.
72437         (Depends-on): Add intprops.
72438         * modules/human: Likewise.
72439         * modules/inttostr: Likewise.
72440         * modules/openat: Likewise.
72441         * modules/sig2str: Likewise.
72442         * modules/userspec: Likewise.
72443         * modules/utimecmp: Likewise.
72444         * modules/xnanosleep: Likewise.
72445         * modules/xstrtol: Likewise.
72446
72447 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72448
72449         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72450         * modules/lock-tests (TESTS): Use $(EXEEXT).
72451         * modules/tls-tests: Likewise.
72452         * modules/argp-tests: Likewise.
72453         (check_PROGRAMS): New var, replacing...
72454         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72455
72456 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72457
72458         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72459         `config.h'.
72460
72461 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72462
72463         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72464
72465 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72466
72467         Sync from coreutils.
72468         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72469         gl_CHDIR_SAFER.
72470
72471 2006-02-22  Jim Meyering  <jim@meyering.net>
72472
72473         Sync from coreutils.
72474         * m4/chdir-safer.m4: New file.
72475
72476 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72477
72478         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72479         AT_FDCWD exceeds INT_MAX.
72480         * lib/openat.h (AT_FDCWD): Likewise.
72481
72482 2006-02-17  Eric Blake  <address@hidden>
72483
72484         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72485
72486 2006-02-16  Simon Josefsson  <jas@extundo.com>
72487
72488         * modules/getaddrinfo (Depends-on): Add sys_socket.
72489
72490 2006-02-15  Simon Josefsson  <jas@extundo.com>
72491
72492         * build-aux/maint.mk: Add dsyntax-check rule.
72493
72494 2006-02-15  Eric Blake  <ebb9@byu.net>
72495
72496         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72497         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72498         'present but cannot compile' warnings on cygwin.
72499         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72500         use ws2tcpip.h if sys/socket.h works.
72501         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72502         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72503
72504 2006-02-14  Simon Josefsson  <jas@extundo.com>
72505
72506         * modules/maintainer-makefile (Files): Rename.
72507
72508         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72509         and (the local) Makefile.cfg to maint-cfg.mk.
72510
72511         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72512         to the latter.
72513
72514         * modules/maintainer-makefile: New module.
72515
72516         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72517         severaly stripped to make it possible to build it up from scratch
72518         with reliable tests.
72519
72520         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72521         fixes to permit overriding the default actions when configure and
72522         makefile are not available.
72523
72524 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72525
72526         Sync from coreutils.
72527         * modules/lstat (Depends-on): Don't depend on xalloc.
72528         (License): Change from GPL to LGPL, since this is now simply a
72529         replacement for a libc function.
72530
72531 2006-02-14  Jim Meyering  <jim@meyering.net>
72532
72533         Sync from coreutils.
72534
72535         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72536         failure on deficient systems, and simplify gnulib lgpl dependencies.
72537         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72538         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72539
72540         * lib/xalloc-die.c: Remove unused definition of N_.
72541
72542 2006-02-14  Jim Meyering  <jim@meyering.net>
72543
72544         Sync from coreutils.
72545         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72546         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72547         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72548         double-quote uses of that variable, to accommodate the rare case in
72549         which getmntent is available in none of the libraries checked.  This
72550         happens at least on FreeBSD 5.0.
72551
72552 2006-02-13  Simon Josefsson  <jas@extundo.com>
72553
72554         * gnulib-tool (Usage): Fix --import, from
72555         karl@freefriends.org (Karl Berry).
72556
72557 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72558
72559         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72560
72561 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72562
72563         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72564         "autoupdate" on 2005-12-12.
72565
72566 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72567
72568         * modules/closeout (Depends-on): Remove atexit.
72569
72570 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72571
72572         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72573         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72574
72575 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72576
72577         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72578         __EXTENSIONS__ if this causes compilation to fail.  Problem
72579         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72580         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72581
72582 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72583
72584         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72585         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72586         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72587         All uses changed.
72588
72589 2006-01-26  Simon Josefsson  <jas@extundo.com>
72590
72591         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72592         prototype is visible on mingw32.
72593
72594         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72595         for mingw32.
72596
72597         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72598         mingw32).
72599
72600 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72601
72602         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72603         attempt to open for write; this always fails, at least on POSIX
72604         hosts.  This reinstates the 2006-01-09 change, which was
72605         inadvertently removed.
72606
72607 2006-01-26  Bruno Haible  <bruno@clisp.org>
72608
72609         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72610         Reported by Paul Eggert.
72611
72612 2006-01-26  Bruno Haible  <bruno@clisp.org>
72613             Paul Eggert  <eggert@cs.ucla.edu>
72614
72615         * lib/stdbool_.h (_Bool)
72616         [(! (defined __cplusplus || defined __BEOS__)
72617           && !defined __GNUC__
72618           && !(defined __HP_cc || defined __xlc__
72619                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72620                || defined __sgi))]:
72621         #define to signed char in these cases too; this simplifies
72622         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72623         etc., separately) and makes it more conservative.
72624
72625 2006-01-25  Simon Josefsson  <jas@extundo.com>
72626
72627         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72628         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72629         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72630
72631 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72632
72633         * lib/argp-namefrob.h: Bugfix. Remove stray #
72634
72635 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72636
72637         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72638         so that we test the test.
72639         Check for yet another HP-UX cc bug involving *bool |= bool.
72640
72641 2006-01-25  Karl Berry  <karl@gnu.org>
72642
72643         * config/srclist.txt (vasnprintf.c): sync lost.
72644
72645 2006-01-25  Jim Meyering  <jim@meyering.net>
72646
72647         Sync from the stable (b5) branch of coreutils:
72648
72649         * lib/fts.c (fts_children): Don't let close() clobber errno from
72650         failed fchdir().
72651
72652         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72653         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72654         a dangling symlink.  That can also happen at least for ELOOP.
72655         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72656         FYI, this bug predates the inclusion of fts.c in coreutils.
72657
72658         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72659         in their own block, so pre-c99 compilers don't object.
72660
72661         Avoid the double-free (first in fts_read, second in fts_close) that
72662         would occur when an `active' directory is made inaccessible (e.g.,
72663         via chmod a-x) during a traversal.
72664         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72665         before returning.  Reproduce this failure by
72666         mkdir -p a/b; cd a; chmod a-x . b
72667         Reported by Stavros Passas.
72668
72669 2006-01-25  Jim Meyering  <jim@meyering.net>
72670
72671         * lib/fileblocks.c: Remove more useless parentheses.
72672         * lib/readutmp.h: Likewise.
72673
72674 2006-01-25  Bruno Haible  <bruno@clisp.org>
72675
72676         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72677         warnings.
72678         Reported by Paul Eggert.
72679
72680 2006-01-25  Bruno Haible  <bruno@clisp.org>
72681
72682         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72683         rid of a trap command. For Solaris sh.
72684         Reported by Mark D. Baushke <mdb@gnu.org>.
72685
72686 2006-01-24  Simon Josefsson  <jas@extundo.com>
72687
72688         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72689         Bruno.
72690
72691 2006-01-24  Karl Berry  <karl@gnu.org>
72692
72693         * config/srclist.txt (argp-namefrob.h): sync lost.
72694
72695 2006-01-24  Jim Meyering  <jim@meyering.net>
72696
72697         * modules/openat (Files): Add lib/intprops.h.
72698         From Mark D. Baushke.
72699
72700 2006-01-24  Jim Meyering  <jim@meyering.net>
72701
72702         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72703         Reported by Mark D. Baushke.
72704
72705 2006-01-24  Jim Meyering  <jim@meyering.net>
72706
72707         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72708
72709 2006-01-24  Bruno Haible  <bruno@clisp.org>
72710
72711         * modules/strnlen (Maintainer): Change from glibc to all.
72712
72713 2006-01-24  Bruno Haible  <bruno@clisp.org>
72714
72715         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72716         Patch by Paul Eggert.
72717
72718 2006-01-24  Bruno Haible  <bruno@clisp.org>
72719
72720         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72721         already has it.
72722         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72723         2005-11-26.
72724
72725         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72726         'signed char' to avoid problems with the built-in _Bool type.
72727         Reported by Paul Eggert on 2005-11-26.
72728
72729 2006-01-24  Bruno Haible  <bruno@clisp.org>
72730
72731         * gnulib-tool (func_import): Avoid constructing complicated sed
72732         expressions inside backquote.
72733         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72734
72735 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72736
72737         These changes imported from libc.
72738         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72739         test and two separate function calls.
72740         * lib/strndup.c (__strndup): Add libc_hidden_def.
72741
72742 2006-01-23  Simon Josefsson  <jas@extundo.com>
72743
72744         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72745         Remove the test_*_SOURCES variable: automake infers it by default.
72746         * modules/tls-tests: Likewise.
72747
72748 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72749
72750         Work around porting bugs reported by Dieter in
72751         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72752         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72753         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72754         Include "getopt.h" first, to check interface.
72755         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72756         !HAVE_DECL_GETENV.
72757         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72758         (__strndup): Revert to K&R-style function dfns, the glibc style.
72759         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72760         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72761         Include strnlen.h first, to get prototype properly.
72762         (strnlen): Renamed from __strnlen.
72763         Remove weak alias.
72764
72765 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72766
72767         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72768
72769 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72770
72771         * config/srclist.txt: Adjust to reflect glibc reorganization.
72772         This affects only comments.
72773
72774 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72775
72776          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72777          Reported by Bruce Korb <bkorb@gnu.org>.
72778
72779 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72782         to pacify gcc -Wswitch-default.
72783
72784 2006-01-22  Bruno Haible  <bruno@clisp.org>
72785
72786         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72787         temporary buffer for sprintf, take into account the precision also
72788         for 'd', 'i', 'u', 'o', 'x', 'X'.
72789
72790 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72791
72792         * modules/argp-tests: New module
72793         * tests/test-argp.c: New file
72794         * tests/test-argp-2.sh: New file
72795
72796 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72797
72798         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72799         (__argp_base_name): Removed
72800         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72801         typo.
72802         (__argp_base_name): Provide macro definition or extern declaration
72803         depending on the configuration
72804
72805 2006-01-20  Simon Josefsson  <jas@extundo.com>
72806
72807         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72808
72809 2006-01-20  Simon Josefsson  <jas@extundo.com>
72810
72811         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72812
72813 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72814
72815         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72816         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72817         Suggested by Bruno Haible.
72818
72819 2006-01-20  Karl Berry  <karl@gnu.org>
72820
72821         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72822         until changes propagate, I guess.
72823
72824 2006-01-19  Simon Josefsson  <jas@extundo.com>
72825
72826         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72827
72828 2006-01-19  Simon Josefsson  <jas@extundo.com>
72829
72830         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72831
72832 2006-01-19  Simon Josefsson  <jas@extundo.com>
72833
72834         * gnulib-tool: Set check_PROGRAMS.
72835
72836         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72837         modules/des-tests, modules/gc-arcfour-tests,
72838         modules/gc-arctwo-tests, modules/gc-des-tests,
72839         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72840         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72841         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72842         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72843         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72844         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72845         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72846         test_*_SOURCES.
72847
72848 2006-01-18  Simon Josefsson  <jas@extundo.com>
72849
72850         * modules/socklen (Depends-on): Depend on sys_socket.
72851
72852 2006-01-18  Simon Josefsson  <jas@extundo.com>
72853
72854         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72855         modules/des-tests, modules/gc-arcfour-tests,
72856         modules/gc-arctwo-tests, modules/gc-des-tests,
72857         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72858         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72859         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72860         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72861         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72862         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72863         $(EXEEXT) to automake TESTS variable, for mingw32.
72864
72865 2006-01-17  Simon Josefsson  <jas@extundo.com>
72866
72867         * modules/socklen (Include): Need sys/socket.h.
72868
72869 2006-01-17  Bruno Haible  <bruno@clisp.org>
72870
72871         * modules/ssize_t (Include): Add <sys/types.h>.
72872
72873 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72874
72875         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72876         it's not portable and it doesn't work with cross-compiles.
72877         Problem reported by Bruno Haible.  Fix missing-$ typo in
72878         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72879         -zignore from being used with Sun's C compiler.
72880
72881 2006-01-12  Simon Josefsson  <jas@extundo.com>
72882
72883         * lib/base64.c: Fix warning, reported by Bruno Haible
72884         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72885
72886 2006-01-12  Bruno Haible  <bruno@clisp.org>
72887
72888         * modules/ldd: New file.
72889         * build-aux/ldd.sh.in: New file.
72890         * MODULES.html.sh (Support for building libraries and executables): Add
72891         ldd.
72892
72893 2006-01-12  Bruno Haible  <bruno@clisp.org>
72894
72895         * m4/ldd.m4: New file.
72896
72897 2006-01-12  Bruno Haible  <bruno@clisp.org>
72898
72899         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72900         endless loop while replacing $auxdir with build-aux.
72901
72902 2006-01-11  Simon Josefsson  <jas@extundo.com>
72903
72904         * lib/stdint_.h (SIZE_MAX): Add missing (.
72905
72906 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72907
72908         Sync from coreutils.
72909         * lib/md5.c: Fix commentary typos.
72910         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72911         * lib/md5.h (__attribute__): Remove; unused.
72912         * lib/sha1.c: Fix commentary to match md5 better.
72913         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72914         so that we don't need to worry about alignment.  All uses changed.
72915         This merges the 2005-10-28 md5 change into sha1.
72916
72917 2006-01-11  Jim Meyering  <jim@meyering.net>
72918
72919         Sync from coreutils.
72920         * lib/md5.c (OP): Fix spacing.
72921
72922 2006-01-11  Bruno Haible  <bruno@clisp.org>
72923
72924         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72925         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72926         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72927
72928 2006-01-11  Bruno Haible  <bruno@clisp.org>
72929
72930         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72931         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72932         the "early" section as well.
72933
72934 2006-01-11  Bruno Haible  <bruno@clisp.org>
72935
72936         Avoid "ar: no archive members specified" error on MacOS X.
72937         * gnulib-tool (func_modules_add_dummy): New function.
72938         (func_import, func_create_testdir): Invoke it.
72939
72940 2006-01-11  Bruno Haible  <bruno@clisp.org>
72941
72942         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72943         with $auxdir in AC_CONFIG_FILES statements.
72944
72945 2006-01-11  Bruno Haible  <bruno@clisp.org>
72946
72947         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72948         Initialize also noinst_HEADERS to empty.
72949
72950 2006-01-11  Bruno Haible  <bruno@clisp.org>
72951
72952         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72953         variables.
72954         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72955         autoreconf.
72956
72957 2006-01-11  Bruno Haible  <bruno@clisp.org>
72958
72959         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72960         overridable by the user.
72961         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72962
72963 2006-01-10  Simon Josefsson  <jas@extundo.com>
72964
72965         * modules/sys_socket: New file.
72966
72967 2006-01-10  Simon Josefsson  <jas@extundo.com>
72968
72969         * m4/sys_socket_h.m4: New file.
72970
72971 2006-01-10  Simon Josefsson  <jas@extundo.com>
72972
72973         * lib/socket_.h: New file.
72974
72975 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72976
72977         * modules/readutmp (Maintainer): Add myself.
72978
72979 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72980
72981         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72982         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72983         People who are still concerned with buggy memcmp implementations
72984         can invoke gl_FUNC_MEMCMP themselves.
72985
72986 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72987
72988         * lib/regex_internal.h (BITSET_WORD_BITS):
72989         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72990         preprocessor mishandles large unsigned values as if they were signed.
72991         Problem reported by Claudio Fontana in
72992         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72993
72994 2006-01-10  Jim Meyering  <jim@meyering.net>
72995
72996         Avoid the double-free (first in fts_read, second in fts_close) that
72997         would occur when an `active' directory is made inaccessible (e.g.,
72998         via chmod a-x) during a traversal.
72999         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
73000         before returning.  Reproduce this failure by
73001         mkdir -p a/b; cd a; chmod a-x . b
73002         Reported by Stavros Passas.
73003
73004         Sync from coreutils.
73005         * lib/sha1.c: Tweak grammar in a comment.
73006
73007 2006-01-10  Jim Meyering  <jim@meyering.net>
73008
73009         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
73010         Patch by Joerg Sonnenberger.
73011
73012 2006-01-10  Bruno Haible  <bruno@clisp.org>
73013
73014         * modules/readutmp: Depend on module free.
73015         * modules/strtok_r: Depend on module restrict.
73016
73017 2006-01-10  Bruno Haible  <bruno@clisp.org>
73018
73019         * modules/gettext (configure.ac): Add an invocation of
73020         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
73021
73022 2006-01-10  Bruno Haible  <bruno@clisp.org>
73023
73024         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
73025         Reported by Werner Lemberg <wl@gnu.org>.
73026
73027 2006-01-10  Bruno Haible  <bruno@clisp.org>
73028
73029         * lib/localcharset.c: Update from GNU gettext.
73030
73031 2006-01-10  Bruno Haible  <bruno@clisp.org>
73032
73033         * lib/argp.h (__const): Remove macro. Use const instead.
73034         * lib/argp-fmtstream.h (__const): Likewise.
73035         * lib/glob_.h (__const): Remove macro.
73036         * lib/glob-libc.h: Use const instead of __const.
73037
73038 2006-01-10  Bruno Haible  <bruno@clisp.org>
73039
73040         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
73041         variable.
73042         Needed to avoid an automake error regarding the 'gettext' module.
73043
73044 2006-01-09  Simon Josefsson  <jas@extundo.com>
73045
73046         * modules/inet_ntop (Depends-on): Add restrict.
73047
73048 2006-01-09  Simon Josefsson  <jas@extundo.com>
73049
73050         * modules/gc-rijndael-tests (License): Put under LGPL.
73051
73052         * modules/gc-des-tests (License): Likewise.
73053
73054         * modules/gc-arcfour-tests (License): Likewise.
73055
73056         * modules/gc-arctwo-tests (License): Likewise.
73057
73058         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
73059
73060         * modules/gc-hmac-sha1-tests (Files): Likewise.
73061
73062         * modules/gc-hmac-md5-tests (License): Likewise.
73063
73064         * modules/gc-sha1-tests (License): Likewise.
73065
73066         * modules/gc-md5-tests (License): Likewise.
73067
73068         * modules/gc-md4-tests (License): Likewise.
73069
73070         * modules/gc-md2-tests (License): Likewise.
73071
73072         * modules/gc-tests (License): Likewise.
73073
73074         * modules/des-tests (License): Likewise.
73075
73076         * modules/md4-tests (License): Likewise.
73077
73078         * modules/md2-tests (License): Likewise.
73079
73080 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73081
73082         Sync from coreutils:
73083
73084         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
73085         * modules/lib-ignore: New file.
73086         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
73087         chdir-safer.m4, lchmod.m4.
73088         * modules/openat: Add mkdirat.c, openat-priv.h.
73089
73090 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73091
73092         Sync from coreutils.
73093         * m4/lib-ignore.m4: New file.
73094         * m4/lchmod.m4: New file.
73095
73096 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73097
73098         Sync from coreutils.
73099         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
73100         for write access: POSIX says that must fail.
73101         * lib/fts.c (diropen): Likewise.
73102         * lib/save-cwd.c (save_cwd): Likewise.
73103         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
73104         well, for minor improvements on hosts that lack O_DIRECTORY.
73105         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
73106         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
73107         Fall back on chown if open failed with EACCES.
73108
73109         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
73110         Report an error at compile-time if only a 1-second nominal clock
73111         resolution is found.
73112
73113         * lib/lchmod.h: New file.
73114         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
73115         (make_dir_parents): Use lchown rather than chown, and
73116         lchmod rather than chmod.
73117
73118         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
73119         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
73120         "proc" reported by n0dalus.
73121
73122         * lib/mountlist.c: Include <limits.h>.
73123         (dev_from_mount_options)
73124         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
73125         New function.  It no longer assumes "dev=" has the System V meaning
73126         on Linux (since it doesn't).  It also parses "dev=" more carefully.
73127         (read_file_system_list)
73128         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
73129         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
73130         dev= in that case.
73131
73132         * lib/posixtm.h (PDS_PRE_2000): New macro.
73133         * lib/posixtm.c (year): Arg is now syntax_bits rather than
73134         allow_century.  All usages changed.  Reject dates outside the range
73135         1969-1999 if PDS_PRE_2000 is used.
73136
73137 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73138
73139         Sync from coreutils.
73140         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
73141         (Time of day items): Mention the possibility of leap seconds.
73142         Problem reported by Dr. David Alan Gilbert.
73143
73144 2006-01-09  Jim Meyering  <jim@meyering.net>
73145
73146         Sync from coreutils.
73147
73148         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
73149
73150         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
73151
73152         * lib/modechange.c (mode_compile): Reject an invalid mode string
73153         that starts with an octal digit.  From Andreas Gruenbacher.
73154
73155         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
73156         and dup to open_safer and dup_safer, respectively.
73157         (openat_permissive): Fix typo in comment.
73158
73159         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
73160         "gettext.h"; either no longer needed or are guaranteed by openat.h.
73161         (_): Remove; no longer needed.
73162         (openat): Renamed from rpl_openat; no need for rpl_openat
73163         since openat.h renames openat for us.
73164         Replace most of the body with a call to openat_permissive,
73165         to avoid duplicate code.
73166         Port to (probably hypothetical) environments were mode_t is
73167         wider than int.
73168         (openat_permissive): Require mode arg, so that we can check
73169         types better.  Put it just after flags.  Change cwd failure
73170         indicator from pointer-to-bool to pointer-to-errno-value.
73171         All callers changed.
73172         Invoke openat_save_fail and/or openat_restore_fail if
73173         cwd_errno is null, so that openat can call us.
73174         (openat_permissive, fdopendir, fstatat, unlinkat):
73175         Simplify errno handling to avoid some duplicate code,
73176         as it's OK to set errno on success.
73177         * lib/openat.h: Revamp code so that function macros depend on
73178         __OPENAT_PREFIX only, not also on AT_FDCWD.
73179         (openat_ro): Remove.  Caller changed to use openat_permissive.
73180         (openat_permissive): Now a macro, if not a function.
73181         (openat_restore_fail, openat_save_fail): Now always functions,
73182         since mkdirat needs them even if __OPENAT_PREFIX is defined.
73183
73184         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
73185         and openat.c.
73186         * lib/mkdirat.c: Include openat-priv.h.
73187         Remove definitions of macros defined therein.
73188         * lib/openat.c: Likewise.
73189
73190         * lib/mkdirat.c (mkdirat): New file and function.
73191         * lib/openat.h (mkdirat): Declare.
73192
73193         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
73194
73195         * lib/openat.h (openat_permissive): Declare.
73196         (openat_ro): Define.
73197
73198         * lib/openat.c (EXPECTED_ERRNO): New macro.
73199         (openat_permissive): New function -- used in remove.c rewrite.
73200         (all functions): Set errno just before returning, only if there
73201         was an actual failure.
73202         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
73203
73204         Emulate openat-family functions using Linux's procfs, if possible.
73205         Idea and some code based on Ulrich Drepper's glibc changes.
73206
73207         * lib/openat.c: (BUILD_PROC_NAME): New macro.
73208         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
73209         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
73210         before falling back on save_cwd and restore_cwd.
73211         (fdopendir, fstatat, unlinkat): Likewise.
73212
73213         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
73214         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
73215
73216         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
73217         as second argument to va_arg.  Otherwise, some versions of gcc
73218         warn that `if this code is reached, the program will abort'.
73219
73220 2006-01-09  Jim Meyering  <jim@meyering.net>
73221
73222         Sync from coreutils.
73223         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
73224         Require openat-priv.h.
73225
73226 2006-01-09  Bruno Haible  <bruno@clisp.org>
73227
73228         * modules/strnlen (Include): Use strnlen.h.
73229
73230 2006-01-09  Bruno Haible  <bruno@clisp.org>
73231
73232         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
73233
73234 2006-01-09  Bruno Haible  <bruno@clisp.org>
73235
73236         * lib/sysexit_.h (EX_OK): New macro.
73237         Suggested by Martin Lambers <marlam@marlam.de>.
73238
73239 2006-01-09  Bruno Haible  <bruno@clisp.org>
73240
73241         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
73242         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
73243
73244 2006-01-09  Bruno Haible  <bruno@clisp.org>
73245
73246         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
73247         numbers.
73248
73249 2006-01-09  Bruno Haible  <bruno@clisp.org>
73250
73251         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
73252         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
73253         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
73254         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
73255
73256 2006-01-09  Bruno Haible  <bruno@clisp.org>
73257
73258         * build-aux/javacomp.sh.in: New file, moved from lib/.
73259         * modules/javacomp-script (Files): Update.
73260         (configure.ac): Add AC_CONFIG_FILES invocation.
73261         (EXTRA_DIST): Remove variable.
73262
73263         * build-aux/javaexec.sh.in: New file, moved from lib/.
73264         * modules/javaexec (Files): Update.
73265         (configure.ac): Add AC_CONFIG_FILES invocation.
73266         (EXTRA_DIST): Remove javaexec.sh.in.
73267
73268         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
73269         * modules/csharpcomp-script (Files): Update.
73270         (configure.ac): Add AC_CONFIG_FILES invocation.
73271         (EXTRA_DIST): Remove variable.
73272
73273         * build-aux/csharpexec.sh.in: New file, moved from lib/.
73274         * modules/csharpexec (Files): Update.
73275         (configure.ac): Add AC_CONFIG_FILES invocation.
73276         (EXTRA_DIST): Remove csharpexec.sh.in.
73277
73278 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73279
73280         Sync from coreutils.
73281
73282         Add POSIX ACL support
73283         * lib/acl.h (copy_acl, set_acl): Add declarations.
73284         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
73285         systems other than Linux.
73286         (chmod_or_fchmod): New function: use fchmod when possible,
73287         and chmod otherwise.
73288         (file_has_acl): Add a POSIX ACL implementation, with a
73289         Linux-specific subcase.
73290         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
73291         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
73292         acls are unsupported.
73293         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
73294         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
73295         are unsupported.
73296
73297 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73298
73299         Sync from coreutils.
73300         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
73301
73302 2006-01-07  Bruno Haible  <bruno@clisp.org>
73303
73304         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
73305         gl_EARLY.
73306
73307 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73308
73309         * lib/strftime.c (tzname): Don't declare if it is already #defined.
73310         Problem reported for Mingw by Mark Junker.
73311
73312 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73313
73314         * README: Gnulib normally doesn't generate a tarball.
73315
73316 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
73317
73318         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
73319         long int, not int, for nanosecond counts, so that people who are
73320         used to POSIX struct timespec won't be surprised.  Reported by Jim
73321         Meyering.
73322
73323 2005-12-28  Bruno Haible  <bruno@clisp.org>
73324
73325         * build-aux/config.rpath: Update from GNU gettext.
73326
73327 2005-12-16  Jim Meyering  <jim@meyering.net>
73328
73329         * modules/fprintftime: New module.
73330         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
73331
73332 2005-12-16  Jim Meyering  <jim@meyering.net>
73333
73334         * m4/fprintftime.m4: New file.
73335
73336 2005-12-16  Jim Meyering  <jim@meyering.net>
73337
73338         * lib/fprintftime.c, lib/fprintftime.h: New files.
73339
73340 2005-12-15  Simon Josefsson  <jas@extundo.com>
73341
73342         * modules/socklen (configure.ac): Fix M4 macro name, to align with
73343         new m4/socklen.m4.
73344
73345 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73346
73347         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
73348         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
73349
73350 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73351
73352         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
73353         * lib/argp-help.c (fill_in_uparams): Check if the constructed
73354         struct uparams is valid. Fall back to the default values if it is
73355         not.
73356
73357 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73358
73359         * modules/argp (Files): Add argp-pin.c
73360         (Depends-on): dirname
73361         (lib_SOURCES): Add argp-pin.c
73362
73363 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73364
73365         * m4/argp.m4:  Check if program_invocation_name and
73366         program_invocation_short_name are declared and define appropriate
73367         macros if they are not.
73368
73369 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73370
73371         * lib/argp-help.c (__argp_base_name): New function
73372         (__argp_short_program_name): Rewrite using __argp_base_name
73373         * lib/argp-namefrob.h: Define program_invocation_name and
73374         program_invocation_short_name if requested
73375         (__argp_base_name): Add prototype
73376         * lib/argp-parse.c (argp_def): Use gettext wrappers
73377         (argp_default_parser): Use __argp_base_name
73378         * lib/argp-pin.c: New file. Defines program_invocation_name and
73379         program_invocation_short_name on systems that lack them.
73380
73381 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73382
73383         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
73384         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73385         porting problem reported by Georg Schwarz in
73386         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73387
73388 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73389
73390         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
73391         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73392         porting problem reported by Georg Schwarz in
73393         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73394
73395 2005-12-05  Bruno Haible  <bruno@clisp.org>
73396
73397         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
73398         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
73399         Reported by Mark Junker <mjscod@gmx.de>.
73400
73401 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73402
73403         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
73404         Use implementation from Albert Chin, with some
73405         comments/corrections by Stepan Kasal and myself.
73406
73407 2005-12-02  Bruno Haible  <bruno@clisp.org>
73408
73409         * gnulib-tool (func_import): Accept GPLed build tool modules when
73410         --lgpl is given.
73411         * modules/csharpcomp-script: New file.
73412         * modules/csharpcomp: Depend on it.
73413         * modules/javacomp-script: New file.
73414         * modules/javacomp: Depend on it.
73415         Suggested by Simon Josefsson.
73416
73417 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73418
73419         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73420         statement, to work around an HP-UX 10.20 compiler bug reported by
73421         Peter O'Gorman.
73422
73423 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73424
73425         * modules/savedir (Depends-on): Add openat.
73426
73427 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73428
73429         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73430         (uintmax_t) [defined uintmax_t]: Do not declare.
73431         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73432         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73433         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73434         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73435         sake of portability to weird hosts that C allows (though we don't
73436         know of any practical examples).
73437
73438         * lib/savedir.h (fdsavedir): New decl.
73439         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73440         contains most of the former guts of savedir.
73441         (savedir): Use savedirstream.
73442         Include "openat.h".
73443
73444 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73445
73446         * modules/obstack (Files): Add m4/ulonglong.m4.
73447         Problem reported by Davide Angelocola.
73448
73449 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73450
73451         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73452         coreutils no longer futzes with rounding modes.
73453
73454 2005-11-14  Jim Meyering  <jim@meyering.net>
73455
73456         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73457         replacement of mkstemp.
73458
73459 2005-11-10  Simon Josefsson  <jas@extundo.com>
73460
73461         * lib/readline.c: Remove EOL.
73462
73463 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73464
73465         * modules/gethrxtime (Depends-on): Add gettime.
73466
73467 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73468
73469         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73470         or gettimeofday; no longer needed.
73471
73472 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73473
73474         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73475         time business.
73476         (gethrxtime) [! (HAVE_NANOUPTIME
73477         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73478         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73479         our own approximation.
73480
73481 2005-11-08  Eric Blake  <ebb9@byu.net>
73482
73483         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73484
73485 2005-11-08  Eric Blake  <ebb9@byu.net>
73486
73487         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73488
73489 2005-11-04  Bruno Haible  <bruno@clisp.org>
73490
73491         * gnulib-tool: Implement --update mode.
73492
73493 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73494
73495         Fix porting problem reported by Theodoros V. Kalamatianos.
73496         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73497         Don't assume that futimes failing means we must fail.
73498
73499 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73500
73501         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73502         variables to suggest the intended function of the PATH_MAX check.
73503
73504 2005-10-30  Kean Johnston  <jkj@sco.com>
73505
73506         Trivial changes to support SCO systems.
73507         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73508         as PATH_MAX.
73509         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73510         where __ptr is null when no I/O is pending.
73511
73512 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73513
73514         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73515         leave errno alone.  Problem reported by Dmitry V. Levin.
73516
73517 2005-10-28  Simon Josefsson  <jas@extundo.com>
73518
73519         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73520         Test more.
73521
73522         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73523
73524         * modules/md2, modules/md2-tests: New files.
73525
73526 2005-10-28  Simon Josefsson  <jas@extundo.com>
73527
73528         * m4/inet_ntop.m4: More tests.
73529
73530         * m4/gc-md2.m4, md2.m4: New file.
73531
73532 2005-10-28  Simon Josefsson  <jas@extundo.com>
73533
73534         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73535         "restrict" keywords, as per POSIX.  Protect the function
73536         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73537         Don't use K&R prototypes.  Check the sprintf return values.
73538         Re-define EAFNOSUPPORT if not present.  Indent.
73539
73540         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73541         suggested by Bruno Haible <bruno@clisp.org>.
73542
73543         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73544
73545         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73546
73547         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73548         libgcrypt).
73549
73550         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73551
73552         * lib/md2.h, lib/md2.c: New files.
73553
73554 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73555
73556         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73557         errno alone.  Problem reported by Frederic Jolliton.
73558
73559 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73560
73561         * modules/verify (License): Change from GPL to LGPL.  This is a
73562         tiny module and there are apparently near-equivalents that are
73563         under the BSD license.
73564
73565 2005-10-24  Simon Josefsson  <jas@extundo.com>
73566
73567         * modules/sha1: Relicense to LGPL.
73568
73569 2005-10-24  Simon Josefsson  <jas@extundo.com>
73570
73571         * lib/md4.h: Shrink buffer size, now that we changed the type.
73572
73573 2005-10-23  Simon Josefsson  <jas@extundo.com>
73574
73575         * gnulib-tool (func_import): Fix --tests-base.
73576
73577 2005-10-22  Simon Josefsson  <jas@extundo.com>
73578
73579         * modules/arcfour (Depends-on): Need stdint.
73580
73581 2005-10-22  Simon Josefsson  <jas@extundo.com>
73582
73583         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73584         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73585
73586 2005-10-22  Simon Josefsson  <jas@extundo.com>
73587
73588         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73589         suggested by Bruno Haible <bruno@clisp.org>.
73590
73591 2005-10-22  Simon Josefsson  <jas@extundo.com>
73592
73593         * lib/crc.h: Include stddef.h, for size_t.
73594
73595 2005-10-22  Simon Josefsson  <jas@extundo.com>
73596
73597         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73598         arcfour_context struct (simplify test vector testing in GNU
73599         Shishi).
73600
73601 2005-10-21  Simon Josefsson  <jas@extundo.com>
73602
73603         * modules/des, modules/des-tests: New files.
73604
73605         * modules/gc-des, modules/gc-des-tests: New files.
73606
73607         * tests/test-des.c, tests/test-gc-des.c: New file.
73608
73609 2005-10-21  Simon Josefsson  <jas@extundo.com>
73610
73611         * modules/arctwo, modules/arctwo-tests: New files.
73612
73613         * tests/test-arctwo.c: New file.
73614
73615         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73616
73617         * tests/test-gc-arctwo.c: New file.
73618
73619 2005-10-21  Simon Josefsson  <jas@extundo.com>
73620
73621         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73622         Bruno Haible <bruno@clisp.org>.
73623
73624         * m4/gc-des.m4: New file.
73625
73626 2005-10-21  Simon Josefsson  <jas@extundo.com>
73627
73628         * m4/arctwo.m4: New file.
73629
73630         * m4/gc-arctwo.m4: New file.
73631
73632 2005-10-21  Simon Josefsson  <jas@extundo.com>
73633
73634         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73635         block.
73636
73637 2005-10-21  Simon Josefsson  <jas@extundo.com>
73638
73639         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73640         <bruno@clisp.org>.
73641
73642         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73643
73644         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73645         Bruno Haible <bruno@clisp.org>.
73646
73647         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73648         <bruno@clisp.org>.
73649
73650 2005-10-21  Simon Josefsson  <jas@extundo.com>
73651
73652         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73653
73654 2005-10-21  Simon Josefsson  <jas@extundo.com>
73655
73656         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73657
73658 2005-10-21  Simon Josefsson  <jas@extundo.com>
73659
73660         * lib/des.h, lib/des.c: New files.
73661
73662         * lib/gc-gnulib.c: Support DES.c
73663
73664 2005-10-21  Simon Josefsson  <jas@extundo.com>
73665
73666         * lib/arctwo.h, lib/arctwo.c: New files.
73667
73668         * lib/gc-gnulib.c: Support ARCTWO.
73669
73670 2005-10-21  Simon Josefsson  <jas@extundo.com>
73671
73672         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73673         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73674
73675 2005-10-21  Simon Josefsson  <jas@extundo.com>
73676
73677         * gnulib-tool (func_import, func_create_testdir): Define automake
73678         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73679         Makefile.am snippet),
73680         suggested by Bruno Haible <bruno@clisp.org>.
73681
73682         * modules/gc (Makefile.am): Use it.
73683
73684 2005-10-21  Bruno Haible  <bruno@clisp.org>
73685
73686         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73687         patch.
73688
73689 2005-10-19  Simon Josefsson  <jas@extundo.com>
73690
73691         * tests/test-gc-rijndael.c: New file.
73692
73693         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73694
73695 2005-10-19  Simon Josefsson  <jas@extundo.com>
73696
73697         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73698         interface too.
73699
73700 2005-10-19  Simon Josefsson  <jas@extundo.com>
73701
73702         * tests/test-gc-arcfour.c: New file.
73703
73704         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73705
73706 2005-10-19  Simon Josefsson  <jas@extundo.com>
73707
73708         * modules/gc-md4, modules/gc-md4-tests: New file.
73709
73710         * tests/test-gc-md4.c: New file.
73711
73712 2005-10-19  Simon Josefsson  <jas@extundo.com>
73713
73714         * m4/gc-md4.m4: New file.
73715
73716 2005-10-19  Simon Josefsson  <jas@extundo.com>
73717
73718         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73719         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73720         <kasal@ucw.cz>.
73721
73722 2005-10-19  Simon Josefsson  <jas@extundo.com>
73723
73724         * m4/gc-arcfour.m4: New file.
73725
73726         * m4/gc-rijndael.m4: New file.
73727
73728 2005-10-19  Simon Josefsson  <jas@extundo.com>
73729
73730         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73731
73732 2005-10-19  Simon Josefsson  <jas@extundo.com>
73733
73734         * lib/gc-gnulib.c: Support ARCFOUR.
73735
73736 2005-10-19  Simon Josefsson  <jas@extundo.com>
73737
73738         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73739         support.
73740
73741         * lib/gc.h: Add ECB enum type.
73742
73743         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73744
73745 2005-10-18  Simon Josefsson  <jas@extundo.com>
73746
73747         * tests/test-md5.c: New file.
73748
73749         * modules/md5-tests: New file.
73750
73751 2005-10-18  Simon Josefsson  <jas@extundo.com>
73752
73753         * tests/test-md4.c: New file.
73754
73755         * modules/md4, modules/md4-tests: New files.
73756
73757 2005-10-18  Simon Josefsson  <jas@extundo.com>
73758
73759         * m4/md4.m4: New file.
73760
73761 2005-10-18  Simon Josefsson  <jas@extundo.com>
73762
73763         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73764
73765 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73766
73767         * gnulib-tool (func_create_testdir): Omit the second check whether
73768         BUILT_SOURCES in nonempty.
73769
73770 2005-10-17  Simon Josefsson  <jas@extundo.com>
73771
73772         * tests/test-rijndael.c: New file.
73773
73774 2005-10-17  Simon Josefsson  <jas@extundo.com>
73775
73776         * modules/sha1: Depend on stdint instead of md5.
73777
73778         * modules/md5: Depend on stdint, remove uint32_t.
73779
73780 2005-10-17  Simon Josefsson  <jas@extundo.com>
73781
73782         * modules/gc-sha1-tests: New file.
73783
73784         * tests/test-gc-sha1.c: New file.
73785
73786 2005-10-17  Simon Josefsson  <jas@extundo.com>
73787
73788         * m4/md5.m4: Remove call to uint32_t.m4.
73789
73790 2005-10-17  Simon Josefsson  <jas@extundo.com>
73791
73792         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73793
73794         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73795         md5.h.
73796
73797         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73798
73799         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73800
73801 2005-10-17  Simon Josefsson  <jas@extundo.com>
73802
73803         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73804
73805 2005-10-17  Simon Josefsson  <jas@extundo.com>
73806
73807         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73808
73809 2005-10-17  Simon Josefsson  <jas@extundo.com>
73810
73811         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73812
73813         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73814
73815 2005-10-17  Bruno Haible  <bruno@clisp.org>
73816
73817         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73818         that it can also be used in a test.
73819
73820 2005-10-16  Bruno Haible  <bruno@clisp.org>
73821
73822         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73823         TESTS_ENVIRONMENT, so that individual tests can augment it.
73824
73825         * gnulib-tool (func_create_testdir): Use an intermediate target for
73826         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73827         macros, like $(ALLOCA_H), which cannot be passed through the command
73828         line.
73829
73830 2005-10-15  Simon Josefsson  <jas@extundo.com>
73831
73832         * modules/rijndael-tests: New file.
73833
73834         * modules/rijndael: New file.
73835
73836 2005-10-15  Simon Josefsson  <jas@extundo.com>
73837
73838         * m4/rijndael.m4: New file.
73839
73840 2005-10-15  Simon Josefsson  <jas@extundo.com>
73841
73842         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73843
73844         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73845
73846 2005-10-14  Simon Josefsson  <jas@extundo.com>
73847
73848         * tests/test-arcfour.c: New file.
73849
73850         * modules/arcfour, modules/arcfour-tests: New files.
73851
73852 2005-10-14  Simon Josefsson  <jas@extundo.com>
73853
73854         * m4/arcfour.m4: New file.
73855
73856 2005-10-14  Simon Josefsson  <jas@extundo.com>
73857
73858         * lib/arcfour.h, lib/arcfour.c: New files.
73859
73860 2005-10-14  Roland McGrath  <roland@redhat.com>
73861
73862         Import from libc.  [BZ #1331]
73863         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73864         macro argument.
73865         Reported by Matej Vela <vela@debian.org>.
73866
73867 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73868
73869         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73870         include <wchar.h>; no longer needed.
73871
73872 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73873
73874         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73875
73876 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73877         and  Ulrich Drepper  <drepper@redhat.com>
73878
73879         Import from libc.
73880         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73881         instead of inline stream orientation test and two separate
73882         function calls.  Pay no attention to USE_IN_LIBIO.
73883
73884 2005-10-13  Simon Josefsson  <jas@extundo.com>
73885
73886         * modules/gc-hmac-md5-tests: New file.
73887
73888         * tests/test-gc-hmac-sha1.c: New file.
73889
73890         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73891
73892         * modules/gc-hmac-md5-tests: New file.
73893
73894         * tests/test-gc-md5.c: New file.
73895
73896         * modules/gc-md5-tests: New file.
73897
73898 2005-10-13  Simon Josefsson  <jas@extundo.com>
73899
73900         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73901         Move memory allocation outside of loop.
73902
73903 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73904
73905         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73906         intermediate directory is in a read-only file system.  Problem
73907         reported by Eric Blake.
73908
73909 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73910
73911         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73912
73913 2005-10-12  Simon Josefsson  <jas@extundo.com>
73914
73915         * tests/test-hmac-sha1.c: New file.
73916
73917         * modules/hmac-sha1-tests: New file.
73918
73919         * modules/hmac-sha1: New file.
73920
73921 2005-10-12  Simon Josefsson  <jas@extundo.com>
73922
73923         * modules/gc-sha1: New file.
73924
73925 2005-10-12  Simon Josefsson  <jas@extundo.com>
73926
73927         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73928
73929         * tests/test-gc-pbkdf2-sha1.c: New file.
73930
73931 2005-10-12  Simon Josefsson  <jas@extundo.com>
73932
73933         * modules/gc-md5, modules/gc-hmac-md5: New files.
73934
73935         * modules/gc (Files): Remove md5, memxor and hmac files.
73936
73937 2005-10-12  Simon Josefsson  <jas@extundo.com>
73938
73939         * m4/gc-pbkdf2-sha1.m4: New file.
73940
73941         * m4/gc-hmac-sha1.m4: New file.
73942
73943         * m4/gc-sha1: New file.
73944
73945         * m4/hmac-sha1.m4: New file.
73946
73947 2005-10-12  Simon Josefsson  <jas@extundo.com>
73948
73949         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73950
73951         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73952
73953 2005-10-12  Simon Josefsson  <jas@extundo.com>
73954
73955         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73956         suggested by Bruno Haible <bruno@clisp.org>.
73957
73958 2005-10-12  Simon Josefsson  <jas@extundo.com>
73959
73960         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73961
73962 2005-10-12  Simon Josefsson  <jas@extundo.com>
73963
73964         * lib/gc-pbkdf2-sha1.c: New file.
73965
73966         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73967
73968 2005-10-12  Simon Josefsson  <jas@extundo.com>
73969
73970         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73971
73972         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73973
73974 2005-10-12  Simon Josefsson  <jas@extundo.com>
73975
73976         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73977         GC_USE_HMAC_MD5, respectively.
73978
73979         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73980         (gc_md5): Fix typo.
73981
73982         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73983
73984         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73985
73986         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73987
73988 2005-10-12  Bruno Haible  <bruno@clisp.org>
73989
73990         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73991         Reported by Stepan Kasal <kasal@ucw.cz>.
73992
73993 2005-10-11  Simon Josefsson  <jas@extundo.com>
73994
73995         * tests/test-crc.c: New file.
73996
73997         * modules/crc, modules/crc-tests: New files.
73998
73999 2005-10-11  Simon Josefsson  <jas@extundo.com>
74000
74001         * m4/crc.m4: New file.
74002
74003 2005-10-11  Simon Josefsson  <jas@extundo.com>
74004
74005         * lib/gc.h: Add gc_hash and gc_hash_buffer.
74006
74007         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
74008
74009         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
74010
74011 2005-10-11  Simon Josefsson  <jas@extundo.com>
74012
74013         * lib/crc.h, lib/crc.c: New files.
74014
74015         * lib/gc.h (gc_hash_buffer): Add doc.
74016
74017 2005-10-11  Bruno Haible  <bruno@clisp.org>
74018
74019         * modules/c-strcasestr: New file.
74020         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
74021
74022 2005-10-11  Bruno Haible  <bruno@clisp.org>
74023
74024         * modules/c-strcase: New file.
74025         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
74026
74027 2005-10-11  Bruno Haible  <bruno@clisp.org>
74028
74029         * lib/strcasecmp.c: Include limits.h.
74030         (strcasecmp): Avoid integer overflow on exotic platforms.
74031         * lib/strncasecmp.c: Include limits.h.
74032         (strncasecmp): Avoid integer overflow on exotic platforms.
74033         Reported by Paul Eggert.
74034
74035 2005-10-11  Bruno Haible  <bruno@clisp.org>
74036
74037         * lib/c-strcasestr.h: New file, from GNU gettext.
74038         * lib/c-strcasestr.c: New file, from GNU gettext.
74039
74040 2005-10-11  Bruno Haible  <bruno@clisp.org>
74041
74042         * lib/c-strcase.h: New file, from GNU gettext.
74043         * lib/c-strcasecmp.c: New file, from GNU gettext.
74044         * lib/c-strncasecmp.c: New file, from GNU gettext.
74045
74046 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74047
74048         * modules/mempcpy (License): GPL -> LGPL.
74049         * modules/strchrnul (License): Likewise.
74050         * modules/sysexits (License): Likewise.
74051
74052 2005-10-08  Simon Josefsson  <jas@extundo.com>
74053
74054         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
74055
74056 2005-10-07  Simon Josefsson  <jas@extundo.com>
74057
74058         * m4/memxor.m4: Remove gl_C_RESTRICT call.
74059
74060 2005-10-06  Simon Josefsson  <jas@extundo.com>
74061
74062         * tests/test-hmac-md5.c: New file.
74063
74064         * modules/hmac-md5-tests: New file.
74065
74066         * modules/hmac-md5: New file.
74067
74068 2005-10-06  Simon Josefsson  <jas@extundo.com>
74069
74070         * m4/hmac-md5.m4: New file.
74071
74072         * m4/memxor.m4: Require gl_C_RESTRICT.
74073
74074 2005-10-06  Simon Josefsson  <jas@extundo.com>
74075
74076         * lib/memxor.c (memxor): Avoid casts and warnings.
74077
74078 2005-10-06  Simon Josefsson  <jas@extundo.com>
74079
74080         * lib/hmac-md5.c: New file.
74081
74082         * lib/hmac.h: New file.
74083
74084 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74085
74086         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
74087         promotes to int, not unsigned int, to catch the AIX 5.3
74088         compiler bug.
74089
74090 2005-10-05  Simon Josefsson  <jas@extundo.com>
74091
74092         * modules/memxor: New file.
74093
74094         * modules/iconv (Files): Move config.rpath to havelib, it is used
74095         there.
74096
74097         * modules/havelib (Files): Add config.rpath.
74098
74099 2005-10-05  Simon Josefsson  <jas@extundo.com>
74100
74101         * m4/memxor.m4: New file.
74102
74103 2005-10-05  Simon Josefsson  <jas@extundo.com>
74104
74105         * lib/memxor.c (memxor): Fix compiler error.
74106
74107         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
74108         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
74109
74110         * lib/memxor.h, lib/memxor.c: New files.
74111
74112         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
74113         we assume all systems have it, suggested by Jim Meyering
74114         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
74115         any systems lack sys/socket.h; mingw32 is known to lack it, but we
74116         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
74117         same reasons.
74118
74119 2005-10-05  Simon Josefsson  <jas@extundo.com>
74120
74121         * config/srclist.txt: Add glibc bug 1423 for md5.h.
74122
74123 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74124
74125         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
74126         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
74127         needed, since the source code now assumes these .h files.
74128
74129 2005-10-05  Derek Price  <derek@ximbiot.com>
74130
74131         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
74132
74133 2005-10-05  Bruno Haible  <bruno@clisp.org>
74134
74135         * modules/stdint (License): Change to LGPL.
74136
74137 2005-10-04  Simon Josefsson  <jas@extundo.com>
74138
74139         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
74140         D. Baushke" <mdb@gnu.org>.
74141
74142 2005-10-04  Bruno Haible  <bruno@clisp.org>
74143
74144         * lib/verify.h (verify_true): Provide alternative definition for C++.
74145
74146 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
74147
74148         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
74149         (SSIZE_MAX): New macro, if not already defined.
74150         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
74151         than 2 GiB.
74152
74153 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74154
74155         Sync from coreutils.
74156         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
74157         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
74158         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
74159         ULLONG_MAX doesn't work with 2.7.2.1.
74160
74161 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74162
74163         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
74164         From Ben Pfaff.
74165
74166         * modules/exclude (Depends-on): Depend on verify.
74167         * modules/strtoimax (Depends-on): Likewise.
74168         * modules/utimecmp (Depends-on): Likewise.
74169
74170 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
74171
74172         * lib/exclude.c: Include verify.h.
74173         (verify): Remove.  All callers changed to use verify.h's version.
74174         * lib/strtoimax.c: Likewise.
74175         * lib/utimecmp.c: Likewis.e
74176
74177         Sync from coreutils.
74178         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
74179         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
74180         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
74181         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
74182         bother returning ENOSYS if settimeofday or stime fails; just let
74183         them return whatever errno they want to return.
74184         * lib/utimens.c: Include unistd.h, for dup2.
74185         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
74186         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
74187
74188 2005-10-02  Jim Meyering  <jim@meyering.net>
74189
74190         Sync from coreutils.
74191         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
74192         from glibc-2.2.5 that fails for read-only files.
74193
74194 2005-10-02  Jim Meyering  <jim@meyering.net>
74195
74196         Sync from coreutils.
74197         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
74198         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
74199         `#if HAVE_CONFIG_H'.
74200         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
74201         Remove AT_FDCWD test.
74202         Do not consume the fd unless successful.
74203         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
74204         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
74205         block, so that we don't even try to compile it if settimeofday is
74206         available.  This works around a compilation failure on OSF1 V5.1,
74207         due to stime requiring a `long int*' while tv_sec is `int'.
74208
74209 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
74210
74211         Sync from coreutils.
74212         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
74213         against `yes', rather than just testing for nonempty.
74214
74215 2005-10-01  Simon Josefsson  <jas@extundo.com>
74216
74217         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
74218         and Darwin.
74219
74220         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
74221         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
74222         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
74223         freeaddrinfo and gai_strerror are declared by the POSIX headers.
74224         Check if struct addrinfo is declared.
74225
74226 2005-10-01  Simon Josefsson  <jas@extundo.com>
74227
74228         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
74229         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
74230         AI_* and EAI_* definitions.  Protect function declarations.
74231
74232 2005-10-01  Jim Meyering  <jim@meyering.net>
74233
74234         Sync from coreutils.
74235
74236         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
74237         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
74238         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
74239         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74240         in the inet and nsl libraries.  Required on Solaris 5.7.
74241
74242 2005-10-01  Jim Meyering  <jim@meyering.net>
74243
74244         Sync from coreutils.
74245         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
74246         in the inet and nsl libraries.  Required on Solaris 5.7.
74247
74248 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
74249
74250         * lib/getdelim.c (getdelim): Remove unused variables.
74251
74252 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74253
74254         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
74255         so that the code works even with ancient cpp.  Portability problem
74256         with GCC 2.7.2.1 reported by Thomas M.Ott.
74257
74258 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74259
74260         * modules/regex (Depends-on): Add strcase.
74261
74262         * modules/gethostname (Licence): Change from GPL to LGPL, since
74263         gethostname.c is a trivial implementation of a standard library
74264         function.
74265         * modules/poll (License): Change from GPL to LGPL, since it's
74266         derived from LGPL code.
74267
74268 2005-09-27  Jim Meyering  <jim@meyering.net>
74269
74270         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
74271         HAVE_CONFIG_H.
74272
74273         * lib/intprops.h (signed_type_or_expr__): Define.
74274         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
74275         for unsigned types.
74276
74277 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74278
74279         * lib/verify.h (verify_expr): Remove, replacing with:
74280         (verify_true): New macro that returns true instead of void.
74281         (verify_type__): Remove.
74282         (verify): Use verify_true rather than verify_type__.
74283
74284 2005-09-26  Bruno Haible  <bruno@clisp.org>
74285
74286         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
74287         is necessary.
74288         (lib_SOURCES): Remove mbchar.c.
74289         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
74290         (Files): Add m4/mbrtowc.m4.
74291         * modules/mbiter: Likewise.
74292         * modules/mbuiter: Likewise.
74293
74294 2005-09-26  Bruno Haible  <bruno@clisp.org>
74295
74296         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
74297         compile mbchar.c if they are not both present.
74298         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
74299         * m4/mbiter.m4 (gl_MBITER): Likewise.
74300         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
74301         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
74302         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
74303
74304 2005-09-25  Jim Meyering  <jim@meyering.net>
74305
74306         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
74307         also uses socklen_t.
74308
74309 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
74310
74311         * lib/utimens.c (ENOSYS): Define if not already defined.
74312         (futimens): Support having a null PATH if the file descriptor
74313         is nonnegative.
74314
74315         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
74316         Remove.
74317         (__attribute): Define to empty unless GCC 3.1 or later.
74318         This works around a core dump on OpenBSD 3.4, which has GCC
74319         2.95.3, which dumps core when given __attribute__(()).  It also
74320         simplifies other tests, since we really don't want to bother with
74321         worrying about which ancient version of GCC supported what.
74322         Original problem reported by Yoann Vandoorselaere, with part of
74323         the fix suggested by Derek Price.
74324
74325 2005-09-24  Jim Meyering  <jim@meyering.net>
74326
74327         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
74328         so we can once again use a positive bitfield width of 1 -- now we
74329         don't have to explain why we were using a bitfield width of 2.
74330
74331 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74332
74333         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
74334         and similarly for the other external symbols.  Problem reported
74335         by James Gallager.
74336
74337         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
74338         bug reported by Jim Meyering.
74339
74340         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
74341         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
74342         not needed, since socklen is a prerequisite module.
74343
74344 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74345
74346         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
74347         Problem reported by Eric Blake.
74348         (getaddrinfo): Initialize se so that it's not garbage.
74349         Redo internal storage allocation so that it doesn't make unportable
74350         assumptions about alignment.
74351         Fix a memory leak.
74352
74353         * lib/utimens.c (futimens): Use futimesat if available.
74354         Prefer it to futimes since it doesn't have the futimes bug.
74355
74356         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
74357         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
74358         Instead, declare a function that returns a pointer to an array,
74359         and use verify_type__ to declare the size of the array.
74360         Problem and germ of a solution reported by Bruno Haible.
74361         (verify_type__): Use 2, not 1, for bitfield size, to avoid
74362         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
74363
74364 2005-09-23  Jim Meyering  <jim@meyering.net>
74365
74366         Sync from coreutils.
74367         Correct build failure (socklen_t not defined) on at least
74368         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
74369         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
74370
74371 2005-09-23  Jim Meyering  <jim@meyering.net>
74372
74373         * modules/getaddrinfo (Depends-on): Add socklen.
74374
74375 2005-09-23  Bruno Haible  <bruno@clisp.org>
74376
74377         * tests/test-verify.c: New file.
74378
74379 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74380
74381         Sync from coreutils.
74382
74383         * modules/argmatch (Depends-on): Add verify.
74384         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
74385         unistd-safer.
74386         * modules/save-cwd (Depends-on): Likewise.
74387
74388         * modules/openat (Files): Add lib/openat-die.c.
74389         (Depends-on): Remove error, exitfail.
74390         Add dirname.
74391
74392         * modules/verify: New file.
74393         * MODULES.html.sh (Diagnostics <assert.h>): New section,
74394         with "verify" module.
74395
74396 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74397
74398         Sync from coreutils.
74399
74400         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
74401         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
74402         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
74403         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
74404         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
74405         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
74406         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74407         Don't bother checking for string.h, stdlib.h, unistd.h.
74408         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74409         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74410         module's job.
74411         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74412         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74413
74414         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74415         (gl_GETDATE): Use it.
74416
74417         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74418
74419 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74420
74421         Sync from coreutils.
74422
74423         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74424         stat-time.h.
74425         * lib/argmatch.h: Include verify.h
74426         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74427         (ARGMATCH_ASSERT): Remove; unused.
74428         * lib/canonicalize.c: Assume STDC_HEADERS.
74429         * lib/exclude.c: Include "strcase.h".
74430         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74431         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74432         and stdio-safer.h.
74433         (getusershell): Call fopen, not fopen_safer.
74434         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74435         Do not include unistd-safer.h.
74436         (save_cwd): Don't call fd_safer; no longer needed
74437         now that we include fcntl--.h.
74438
74439         * lib/getdate.y (relative_time): New type.
74440         (RELATIVE_TIME_0): New constant.
74441         (parser_control): Use relative_time instead of doing it ourselves.
74442         (%union): Add new relative_time rel member.
74443         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74444         Now typeless.
74445         (relunit, relunit_snumber): Now of type rel.
74446         (zone, rel, relunit, get_date): Adjust to above changes.
74447
74448         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74449         Do not include unistd-safer.h.
74450         (getloadavg): Don't call fd_safer; no longer needed
74451         now that we include fcntl--.h.
74452
74453         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74454         (make_dir_parents): Treat ENOSYS like EEXIST.
74455
74456         Improve quality of diagnostics on restore_cwd failure.
74457         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74458         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74459         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74460         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74461         each time through the loop.  Do not diagnose restore_cwd failure;
74462         that is the caller's job (and perhaps the caller does not care).
74463
74464         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74465         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74466         If the file already exists but is not a directory, don't bother
74467         to try to make its parents.
74468         Close potential file descriptor leak if we can't chdir("/") (!).
74469         Don't always return true if chdir($PWD) fails; return true only
74470         if the requested action was done successfully (except for the
74471         chdir($PWD)).
74472         Don't log final directory unless we actually made it.
74473         Refactor to avoid duplicate code to fix up permissions.
74474         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74475
74476         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74477         to make it a bit faster and (I hope) clearer.
74478         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74479         Fix bug in formats like %2N.
74480
74481         * lib/verify.h: New file.
74482
74483 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74484
74485         Sync from coreutils.
74486         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74487
74488 2005-09-22  Jim Meyering  <jim@meyering.net>
74489
74490         Sync from coreutils.
74491
74492         * m4/lstat.m4 (gl_FUNC_LSTAT):
74493         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74494         Remove obsolete comment.
74495         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74496         * m4/xstrtod.m4: Likewise.
74497
74498         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74499
74500 2005-09-22  Jim Meyering  <jim@meyering.net>
74501
74502         Sync from coreutils.
74503
74504         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74505
74506         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74507         the .tm_year member, since otherwise gcc-4.0 would now warn about
74508         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74509
74510         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74511         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74512
74513         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74514         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74515         when run in a time zone for which daylight savings time is in effect
74516         for the starting date.
74517
74518         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74519         stop us from restricting permissions of just-created absolute-named
74520         directories.
74521         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74522         to restore initial working directory.
74523         * lib/mkdir-p.c (make_dir_parents): New parameter:
74524         different_working_dir, to tell caller if/when we change the working
74525         directory and are unable to return to the initial one.
74526         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74527         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74528         `return false'.  This fixes a bug introduced on 2004-07-30.
74529
74530         * lib/openat.c (fdopendir): Be sure to close the supplied
74531         file descriptor before returning.  This makes our replacement
74532         implementation a little closer to Solaris's, where fdopendir
74533         ties the file descriptor to the returned DIR* pointer.
74534         * lib/openat.c (unlinkat): New function.
74535         * lib/openat.h (unlinkat): Add prototype.
74536         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74537         (openat_restore_fail): Rename from openat_restore_die.
74538         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74539
74540         Provide an alternative to exiting immediately upon save_cwd or
74541         restore_cwd failure.  Now, an application can arrange e.g.,
74542         to perform a longjump in that case.
74543         * lib/openat.c: Include dirname.h.
74544         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74545         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74546         and openat_restore_die rather than calling error directly.
74547         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74548
74549         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74550         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74551         define.
74552
74553         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74554         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74555                             int utc, int nanoseconds);
74556         Background:
74557         date should not have to allocate a megabyte of virtual memory to
74558         handle a format argument like +%1048575T.  When implemented with
74559         strftime, it must allocate such a buffer, use strftime to fill it
74560         in, print it, then free it.
74561         With fprintftime, it simply prints everything and exits.
74562         With no need for memory allocation, that's one fewer way to fail.
74563         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74564         optional field width, not before, so we accept %9:z, not %:9z.
74565         (my_strftime): Be sure to use L_('x') for literals.
74566
74567         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74568         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74569         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74570         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74571         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74572         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74573         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74574         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74575         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74576         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74577         * lib/xgethostname.c, lib/xreadlink.c:
74578         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74579
74580         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74581         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74582         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74583         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74584         and don't include <sys/file.h>).
74585
74586 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74587
74588         Sync from coreutils.
74589
74590         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74591         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74592         [!LDAV_DONE]: Avoid unused variable warning.
74593
74594 2005-09-21  Bruno Haible  <bruno@clisp.org>
74595
74596         * lib/unicodeio.h (unicode_to_mb): New declaration.
74597
74598 2005-09-20  Derek Price  <derek@ximbiot.com>
74599
74600         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74601         getaddrinfo.h.
74602
74603 2005-09-20  Bruno Haible  <bruno@clisp.org>
74604
74605         * gnulib-tool: Remove trailing slashes from the values specified for
74606         --source-base, --m4-base, --tests-base, --aux-dir.
74607         Suggested by Simon Josefsson <jas@extundo.com>.
74608
74609 2005-09-20  Bruno Haible  <bruno@clisp.org>
74610
74611         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74612         func_modules_to_filelist, func_import, func_create_testdir): Make all
74613         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74614         change when gnulib-tool is invoked in a different locale.
74615
74616 2005-09-19  Simon Josefsson  <jas@extundo.com>
74617
74618         * m4/socklen.m4: Fix typo.
74619
74620 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74621
74622         Use a consistent style for including <config.h>.
74623         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74624         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74625         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74626         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74627         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74628         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74629         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74630         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74631         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74632         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74633         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74634         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74635         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74636         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74637         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74638         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74639         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74640         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74641         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74642         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74643         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74644         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74645         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74646         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74647         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74648         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74649         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74650         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74651         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74652         lib/xstrtoumax.c, lib/yesno.c:
74653         Standardize inclusion of config.h.
74654         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74655         lib/inttostr.h:  Removed inclusion of config.h from header files.
74656         * lib/inttostr.c:  Adjusted in-tree users.
74657         * lib/timespec.h: Remove superfluous warning to include config.h.
74658         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74659         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74660         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74661         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74662         config.h with HAVE_CONFIG_H.
74663
74664 2005-09-19  Jim Meyering  <jim@meyering.net>
74665
74666         * modules/pathmax (License): Change to LGPL.
74667
74668 2005-09-19  Derek Price  <derek@ximbiot.com>
74669
74670         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74671
74672 2005-09-19  Bruno Haible  <bruno@clisp.org>
74673
74674         * gnulib-tool (import): Provide default for --tests-base.
74675
74676 2005-09-19  Bruno Haible  <bruno@clisp.org>
74677
74678         * doc/quote.texi: New file, extracted from gnulib.texi.
74679         * doc/ctime.texi: New file, extracted from gnulib.texi.
74680         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74681         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74682         * doc/gnulib.texi: Include them.
74683
74684 2005-09-18  Bruno Haible  <bruno@clisp.org>
74685
74686         Portability fix.
74687         * gnulib-tool (func_readlink): New function.
74688         (func_ln_if_changed): Use it.
74689
74690 2005-09-18  Bruno Haible  <bruno@clisp.org>
74691
74692         * gnulib-tool: Support --with-tests also with --import.
74693         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74694         (func_import): Use variables $testsbase and $inctests. Emit a
74695         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74696         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74697         SUBDIRS += $testsdir.
74698         (func_create_testdir): Update.
74699
74700 2005-09-18  Bruno Haible  <bruno@clisp.org>
74701
74702         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74703         instead of $dry_run.
74704         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74705         (func_ln_if_changed): Don't handle dry-run here.
74706         (func_import): In dry-run mode, detect more precisely which actions
74707         would be performed, and don't use "...ing" verbs.
74708
74709 2005-09-18  Bruno Haible  <bruno@clisp.org>
74710
74711         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74712         (func_import): Use join on two temporary files instead of three nested
74713         loops, in order to determine which files are new or old.
74714
74715 2005-09-18  Bruno Haible  <bruno@clisp.org>
74716
74717         * gnulib-tool (func_import): Comment out code that spits out the
74718         new files with --dry-run.
74719
74720 2005-09-18  Bruno Haible  <bruno@clisp.org>
74721
74722         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74723
74724 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74725
74726         * lib/stat-time.h: New file.
74727         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74728         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74729         in a different way.
74730         (timespec_cmp): New function.
74731         * lib/utimecmp.c: Include stat-time.h.
74732         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74733         members exist, not on the obsolescent ST_MTIM_NSEC.
74734         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74735
74736 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74737
74738         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74739
74740 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74741
74742         * MODULES.html.sh (File system functions): Add stat-time.
74743         * modules/stat-time: New file.
74744         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74745         is now done in a different way, by the stat-time module.
74746         * modules/utimecmp (Depends-on): Add stat-time.
74747
74748 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74749
74750         * m4/st_mtim.m4: Remove.  Superseded by...
74751         * m4/stat-time.m4: New file.
74752         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74753         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74754
74755 2005-09-15  Derek Price  <derek@ximbiot.com>
74756
74757         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74758
74759 2005-09-15  Derek Price  <derek@ximbiot.com>
74760
74761         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74762         * lib/regex_internal.c: Ditto, using this...
74763         (__GNUC_PREREQ): ...new macro.
74764         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74765         using...
74766         (__GNUC_PREREQ): ...this new macro.
74767
74768         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74769
74770 2005-09-15  Derek Price  <derek@ximbiot.com>
74771             Paul Eggert  <eggert@cs.ucla.edu>
74772
74773         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74774         changes, consolidating in...
74775         * lib/regex_internal.h: ...this file.
74776
74777 2005-09-13  Jim Meyering  <jim@meyering.net>
74778
74779         * lib/canon-host.c: Filter through gnu indent and reword comments
74780         slightly.
74781         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74782
74783 2005-09-13  Derek Price  <derek@ximbiot.com>
74784
74785         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74786         failure.
74787         Reported by Jim Meyering  <jim@meyering.net>.
74788
74789 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74790
74791         * lib/base64.c: Typo.
74792         (base64_encode): Put b64str in initialized data section.
74793
74794 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74795
74796         Merge glibc and coreutils changes into gnulib, plus a few
74797         extra fixes.
74798         * lib/md5.c: Use #error rather than a string.
74799         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74800         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74801         (__attribute__): Define to empty for non recent-GCC.
74802         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74803         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74804         Renamed from their non-__ counterparts, with new macros replacing
74805         them if not _LIBC.  Add __THROW attribute.
74806         (rol): Remove.
74807         (struct md5_ctx): Align buffer if using GCC.
74808         * lib/sha1.h (struct sha1_ctx): Likewise.
74809         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74810         The old name was backwards.
74811         (NOTSWAP): Remove; not used.
74812         (rol): New macro, moved here from md5.h.
74813         (sha1_process_block): Remove a FIXME that doesn't make sense.
74814
74815 2005-09-12  Derek Price  <derek@ximbiot.com>
74816
74817         Return usable errors from canon-host.
74818         * lib/canon-host.h: New file.
74819         * lib/canon-host.c (canon_host): Wrap...
74820         (canon_host_r): ...this new function, which now relies exclusively on
74821         getaddrinfo.
74822         (ch_strerror): New function.
74823         (last_cherror): New global.
74824         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74825         interface.
74826         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74827         void *.
74828         (freeaddrinfo): Free ai->ai_canonname when set.
74829
74830 2005-09-12  Derek Price  <derek@ximbiot.com>
74831
74832         Make canon-host require getaddrinfo.
74833         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74834         AC_LIBSOURCE canon-host.h.  Call...
74835         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74836         gl_GETADDRINFO.
74837         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74838
74839 2005-09-12  Derek Price  <derek@ximbiot.com>
74840
74841         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74842         LGPL.
74843         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74844
74845 2005-09-12  Derek Price  <derek@ximbiot.com>
74846
74847         * lib/gai_strerror.c: Include config.h when available.  Include
74848         getaddrinfo.h before other headers to test interface.
74849         Reported by Larry Jones <lawrence.jones@ugs.com>.
74850
74851 2005-09-12  Derek Price  <derek@ximbiot.com>
74852             Paul Eggert  <eggert@cs.ucla.edu>
74853
74854         * modules/glob (Files): Add glob-libc.h.
74855
74856 2005-09-12  Derek Price  <derek@ximbiot.com>
74857             Paul Eggert  <eggert@cs.ucla.edu>
74858
74859         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74860         glob_.h, glob-libc.h.
74861         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74862
74863 2005-09-12  Derek Price  <derek@ximbiot.com>
74864             Paul Eggert  <eggert@cs.ucla.edu>
74865
74866         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74867         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74868         protecting things that should be done only in gnulib contexts.
74869         * lib/glob_.h: New file, containing only the glob things needed for
74870         gnulib.
74871         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74872         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74873         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74874         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74875         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74876         and to respect the namespace rules better.
74877
74878 2005-09-08  Simon Josefsson  <jas@extundo.com>
74879
74880         * modules/socklen: New file.
74881
74882 2005-09-08  Simon Josefsson  <jas@extundo.com>
74883
74884         * m4/socklen.m4: New file.
74885
74886 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74887
74888         * modules/utimens (Files): Add m4/utimbuf.m4, since
74889         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74890         Reported by Sergey Poznyakoff.
74891
74892 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74893
74894         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74895         definitions, since that's the preferred style in glibc.
74896         Fix a minor spacing issue, and update copyright notice to match
74897         glibc's.
74898
74899 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74900
74901         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74902
74903 2005-09-06  Simon Josefsson  <jas@extundo.com>
74904
74905         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74906         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74907
74908 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74909
74910         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74911         warning.
74912
74913 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74914
74915         * config/srclist.txt: Add glibc bug 1302.
74916
74917 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74918
74919         Change bitset word type from unsigned int to unsigned long int,
74920         as this has better performance on typical 64-bit hosts.
74921         Port bitset code to hosts with unusual word sizes.
74922         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74923         (build_collating_symbol):
74924         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74925         argument is a bitset.  This is merely a style issue, but it makes
74926         it clearer that an entire array is expected.
74927         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74928         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74929         Port to the case where bitset_word is not the same as unsigned int.
74930         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74931         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74932         Likewise.
74933         * lib/regexec.c (check_dst_limits_calc_pos_1,
74934         check_subexp_matching_top):
74935         (build_trtable, group_nodes_into_DFAstates):
74936         Likewise.
74937         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74938         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74939         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74940         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74941         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74942         * lib/regcomp.c (optimize_subexps, lower_subexp):
74943         Work even if bitset_word has holes in its bitwise representation.
74944         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74945         * lib/regexec.c (check_dst_limits_calc_pos_1,
74946         check_subexp_matching_top):
74947         Likewise.
74948         * lib/regex_internal.c (re_string_reconstruct):
74949         Don't assume UCHAR_MAX == 255.
74950         * lib/regex_internal.h (bitset_set_all): Likewise.
74951         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74952         All uses changed.
74953         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74954         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74955         All uses changed.
74956         (BITSET_WORD_MAX): New macro.
74957         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74958         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74959         (bitset_empty, bitset_copy):
74960         Prefer sizeof (bitset) to multiplying it out ourselves.
74961         (bitset_not_merge): Remove; unused.
74962         (bitset_contain): Return bool, not unsigned int with one bit on.
74963         All callers changed.
74964         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74965         alignment than re_node_set; do this by defining a new internal
74966         type struct dests_alloc and using it to allocate memory.
74967
74968 2005-09-05  Bruno Haible  <bruno@clisp.org>
74969
74970         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74971         links.
74972
74973 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74974
74975         * modules/size_max (Makefile.am): Add size_max.h
74976
74977 2005-09-04  Derek Price  <derek@ximbiot.com>
74978
74979         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74980
74981 2005-09-03  Simon Josefsson  <jas@extundo.com>
74982
74983         * gnulib-tool: Fix typo.
74984
74985 2005-09-03  Simon Josefsson  <jas@extundo.com>
74986
74987         * config/srclist.txt: Add glibc bug 1293.
74988
74989 2005-09-03  Derek Price  <derek@ximbiot.com>
74990
74991         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74992         From Larry Jones <lawrence.jones@ugs.com>.
74993
74994 2005-09-02  Simon Josefsson  <jas@extundo.com>
74995
74996         * modules/socklen: New file.
74997
74998 2005-09-02  Simon Josefsson  <jas@extundo.com>
74999
75000         * modules/havelib: New module.
75001
75002         * modules/gettext, modules/iconv, modules/lock, modules/readline:
75003         Use havelib.
75004
75005 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
75006
75007         Check for arithmetic overflow when calculating sizes, to prevent
75008         some buffer-overflow issues.  These patches are conservative, in the
75009         sense that when I couldn't determine whether an overflow was possible,
75010         I inserted a run-time check.
75011         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
75012         macros.
75013         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
75014         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
75015         (re_xnrealloc, re_x2nrealloc): New inline functions.
75016         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
75017         parse_bracket_exp):
75018         (build_equiv_class, build_charclass): Check for arithmetic overflow
75019         in size expression calculations.
75020         * lib/regex_internal.c (re_string_realloc_buffers):
75021         (build_wcs_upper_buffer, re_node_set_add_intersect):
75022         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
75023         (re_dfa_add_node, register_state): Likewise.
75024         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
75025         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
75026         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
75027         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
75028
75029 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
75030
75031         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
75032         m4/ulonglong.m4.  Problem reported by Martin Lambers.
75033
75034 2005-09-02  Bruno Haible  <bruno@clisp.org>
75035
75036         Support for lib vs. lib64 distinction on biarch platforms.
75037         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
75038         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
75039         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
75040
75041 2005-09-02  Bruno Haible  <bruno@clisp.org>
75042
75043         * gnulib-tool (import): In the other first-use case, provide defaults
75044         as well.
75045
75046 2005-09-02  Bruno Haible  <bruno@clisp.org>
75047
75048         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
75049         patches not yet found in the latest gettext release.
75050
75051 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75052
75053         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
75054         to avoid a collision with bits/local_lim.h in glibc.
75055         All uses changed.  Problem reported by Dmitry V. Levin in
75056         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
75057
75058         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
75059         bugs in int versus size_t comparisons.
75060         (re_string_context_at): Fix bug where the code assumed that
75061         Idx is signed.
75062
75063         Use bool where appropriate.
75064         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
75065         All callers changed.
75066         (calc_eclosure_iter): Likewise, for ROOT arg.
75067         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
75068         (build_charclass_op): Likewise, for NON_MATCH arg.
75069         * lib/regex_internal.c (re_string_allocate, re_string_construct):
75070         (re_string_construct_common): Likewise, for ICASE arg.
75071         * lib/regexec.c (re_search_2_stub, re_search_stub):
75072         Likewise, for RET_LEN arg.
75073         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
75074         (set_regs): Likewise, for FL_BACKTRACK arg.
75075         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
75076         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
75077         (calc_eclosure_iter, parse_bracket_exp):
75078         Use bool for internal variables that are booleans.
75079         * lib/regexec.c (re_search_internal, check_matching,
75080         proceed_next_node):
75081         (set_regs, build_sifted_states, sift_states_bkref):
75082         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
75083         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75084         (find_collation_sequence_value):
75085         Likewise.
75086         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
75087         (re_node_set_compare):
75088         Return bool, not int. All callers changed.
75089         * lib/regexec.c (check_halt_node_context, check_dst_limits):
75090         (build_trtable, check_node_accept): Likewise.
75091         * lib/regex_internal.h: Include stdbool.h.
75092
75093         Fix bugs uncovered when converting to bool.
75094         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
75095         failure instead of charging ahead blindly.
75096         * lib/regex_internal.c (register_state): Likewise.
75097         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
75098         for freeing internal storage.
75099         (group_nodes_into_DFA_states): Use unsigned int, not int, for
75100         bitset pieces used as boolean, to avoid undefined behavior
75101         on hosts that do int overflow checking.
75102
75103 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75104
75105         * config/srclist.txt: Add glibc bugs 1285-1287.
75106
75107 2005-09-01  Jim Meyering  <jim@meyering.net>
75108
75109         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
75110         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
75111         Require gl_STAT_MACROS, too.
75112
75113 2005-09-01  Bruno Haible  <bruno@clisp.org>
75114
75115         * gnulib-tool (import): In the first-use case, provide defaults.
75116
75117 2005-09-01  Bruno Haible  <bruno@clisp.org>
75118
75119         * gnulib-tool (func_import): Remove the .tmp files.
75120
75121 2005-09-01  Bruno Haible  <bruno@clisp.org>
75122
75123         * gnulib-tool (func_import): Fix handling of symbolic links.
75124
75125 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75126
75127         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
75128         old glibc regex code mishandles strings longer than 2**31 bytes.
75129         This patch fixes this when the regex code is used in gnulib
75130         (i.e., outside glibc).
75131
75132         This patch should not affect the use of the regex code inside
75133         glibc.  No doubt this problem also needs to be handled for glibc
75134         as well, but the result will be an incompatible change to the
75135         glibc ABI, and the old ABI will have to be supported too.  That
75136         can be the the subject for another patch.
75137
75138         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
75139         governing whether the rest of this patch is active.  By default,
75140         the macro is disabled and the patch has no effect.
75141         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
75142         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
75143         (struct re_pattern_buffer, re_search, re_search_2, re_match):
75144         (re_match_2, re_set_registers): Use the new types.
75145         * lib/regex_internal.h (Idx, re_hashval_t): New types.
75146         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
75147         New macros.
75148         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
75149         (re_string_context_at, bin_tree_t, re_dfastate_t):
75150         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
75151         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
75152         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
75153         (re_string_char_size_at, re_string_wchar_at):
75154         (re_string_elem_size_at):
75155         Use the new types and macros to port to 64-bit hosts.
75156         Use unsigned types for internal values, so that the code
75157         mostly works even for arrays larger than SSIZE_MAX.
75158         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
75159         (search_duplicated_node, calc_eclosure_iter, fetch_number):
75160         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
75161         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
75162         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
75163         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
75164         (calc_inveclosure, parse_dup_op, build_range_exp):
75165         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
75166         (fetch_number, create_token_tree, mark_opt_subexp):
75167         Likewise.
75168         * lib/regex_internal.c (re_string_construct_common,
75169         create_ci_newstate):
75170         (create_cd_newstate, re_string_allocate, re_string_construct):
75171         (re_string_realloc_buffers, build_wcs_upper_buffer):
75172         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75173         (re_string_reconstruct, re_string_peek_byte_case):
75174         (re_string_fetch_byte_case, re_string_context_at):
75175         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75176         (re_node_set_init_copy, re_node_set_add_intersect):
75177         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75178         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75179         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75180         (re_acquire_state, re_acquire_state_context, register_state):
75181         Likewise.
75182         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
75183         search_cur_bkref_entry):
75184         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
75185         (re_search_internal, re_search_2_stub, re_search_stub)
75186         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
75187         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
75188         (update_cur_sifted_state, check_dst_limits):
75189         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75190         (check_subexp_limits, sift_states_bkref, merge_state_array):
75191         (check_subexp_matching_top, get_subexp, get_subexp_sub):
75192         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
75193         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75194         (expand_bkref_cache, check_node_accept_bytes):
75195         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
75196         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
75197         (acquire_init_state_context, check_halt_node_context):
75198         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
75199         (sift_states_backward, clean_state_log_if_needed):
75200         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
75201         (find_recover_state, transit_state_sb, transit_state_mb):
75202         (transit_state_bkref, build_trtable, match_ctx_clean):
75203         Likewise.
75204         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
75205         to work around an assumption that REG_MISSING is negative.
75206
75207         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
75208         (seek_collating_symbol_entry) [defined _LIBC]:
75209         (lookup_collation_sequence_value) [defined _LIBC]:
75210         (build_range_exp, build_collating_symbol) [defined _LIBC]:
75211         Use prototypes rather than old-style function definitions.
75212         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
75213         (transit_state_sb) [0]:
75214         (find_collation_sequence_value) [defined _LIBC]: Likewise.
75215
75216         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
75217         rm_eo.
75218
75219         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
75220         (optimize_subexps, lower_subexp):
75221         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
75222         since the signed shift might overflow.  Use 1u<<31 instead.
75223         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
75224         Likewise.
75225         * lib/regexec.c (check_dst_limits_calc_pos_1,
75226         check_subexp_matching_top): Likewise.
75227
75228         * lib/regcomp.c (optimize_subexps, lower_subexp):
75229         Use CHAR_BIT rather than 8, for clarity.
75230         * lib/regexec.c (check_dst_limits_calc_pos_1):
75231         (check_subexp_matching_top): Likewise.
75232         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
75233         have to worry about portability issues when shifting it left.
75234         Remove no-longer-needed test for table_size > 0.
75235         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
75236         in a word, as the resulting behavior is undefined.
75237         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
75238         in one case, a <= should have been an <, and in another case the
75239         whole test was missing.
75240         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
75241         the standard name CHAR_BIT.
75242         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
75243         this is not true on one's complement and signed-magnitude hosts.
75244
75245         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
75246         next_last_offset.
75247         (struct re_dfa_t): Remove unused member states_alloc.
75248         * lib/regcomp.c (init_dfa): Don't initialize unused members.
75249
75250 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75251
75252         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
75253         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
75254         and large-file glibc and in 32-bit large-file Solaris.
75255
75256 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
75259         lengths fit in regoff_t; this isn't true if regoff_t is the same
75260         width as size_t.
75261         * lib/regex.c (re_search_internal): 5th arg is LAST_START
75262         (= START + RANGE) instead of RANGE.  This avoids overflow
75263         problems when regoff_t is the same width as size_t.
75264         All callers changed.
75265         (re_search_2_stub): Check for overflow when adding the
75266         sizes of the two strings.
75267         (re_search_stub): Check for overflow when adding START
75268         to RANGE; if it occurs, substitute the extreme value.
75269
75270 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75271
75272         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
75273
75274 2005-08-31  Jim Meyering  <jim@meyering.net>
75275
75276         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
75277         a pointer-to-const.
75278         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
75279         (register_state): Likewise.
75280         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
75281         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75282         (group_nodes_into_DFAstates): Likewise.
75283
75284 2005-08-31  Jim Meyering  <jim@meyering.net>
75285
75286         * check-module: Add a FIXME comment.
75287
75288 2005-08-31  Eric Blake  <ebb9@byu.net>
75289
75290         * modules/unistd-safer (Files): Add unistd--.h.
75291         * modules/stdio-safer (Files): Add stdio--.h.
75292
75293 2005-08-31  Derek Price  <derek@ximbiot.com>
75294
75295         * lib/getdelim.c (getdelim): Return EOF on EOF.
75296         Reported by Larry Jones <lawrence.jones@ugs.com>.
75297
75298 2005-08-31  Bruno Haible  <bruno@clisp.org>
75299
75300         Avoid unnecessary diffs in the generated lib/Makefile.am.
75301         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
75302         the generated files.
75303         (func_import): Don't set cmd.
75304
75305 2005-08-31  Bruno Haible  <bruno@clisp.org>
75306
75307         * lib/strstr.c: Include <stddef.h>, for NULL.
75308         * lib/strcasestr.c: Likewise.
75309         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75310
75311 2005-08-31  Bruno Haible  <bruno@clisp.org>
75312
75313         * gnulib-tool: New option --macro-prefix.
75314         (func_import): Use macro_prefix.
75315         (import): Handle option --macro-prefix.
75316
75317 2005-08-31  Bruno Haible  <bruno@clisp.org>
75318
75319         * gnulib-tool (import): Rename most ac_* variables to cached_*.
75320         Also use new variables cached_lgpl, cached_libtool.
75321
75322 2005-08-31  Bruno Haible  <bruno@clisp.org>
75323
75324         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
75325         always instantiating them.
75326
75327 2005-08-31  Bruno Haible  <bruno@clisp.org>
75328
75329         * gnulib-tool (func_import): Read the previous cached settings
75330         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
75331         earlier added by gnulib but are now dropped. Warn when a gnulib file
75332         overwrites a non-gnulib file.
75333
75334 2005-08-31  Bruno Haible  <bruno@clisp.org>
75335
75336         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
75337         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
75338         projects that don't keep autogenerated files in CVS. Put into
75339         actioncmd only the specified modules, not the transitive closure.
75340
75341 2005-08-31  Bruno Haible  <bruno@clisp.org>
75342
75343         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
75344         Create directories that shall be filled.
75345         (import): Don't look for gl_* macros in configure.ac. Recurse across
75346         all directories containing a gnulib-cache.m4 files, if meaningful.
75347
75348 2005-08-31  Bruno Haible  <bruno@clisp.org>
75349
75350         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
75351         (import): Set seen_libtool when we see gl_LIBTOOL.
75352
75353 2005-08-31  Bruno Haible  <bruno@clisp.org>
75354
75355         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
75356         declaration macro definitions from generated gnulib.m4.
75357
75358 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
75359
75360         * lib/iconvme.h: Add prototype for iconv_alloc.
75361
75362 2005-08-29  Simon Josefsson  <jas@extundo.com>
75363
75364         * lib/iconvme.c: Fix errno.
75365
75366 2005-08-29  Bruno Haible  <bruno@clisp.org>
75367
75368         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
75369         that it works when the directory contains spaces.
75370
75371 2005-08-29  Bruno Haible  <bruno@clisp.org>
75372
75373         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
75374
75375 2005-08-29  Bruno Haible  <bruno@clisp.org>
75376
75377         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
75378         Emit more advice.
75379
75380 2005-08-29  Bruno Haible  <bruno@clisp.org>
75381         and Stepan Kasal  <kasal@ucw.cz>
75382
75383         * check-module: If more parameters are given, check each of them
75384         separately; add more exceptions, as noted by Jim Meyering.
75385         (check_module): New procedure.
75386         (%exempt_header): Now contains all exceptions.
75387
75388 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
75389
75390         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
75391
75392 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75393
75394         * lib/iconvme.c: Split iconv_string into iconv_alloc.
75395
75396 2005-08-28  Bruno Haible  <bruno@clisp.org>
75397
75398         * m4/gnulib-tool.m4: New file.
75399
75400 2005-08-27  Jim Meyering  <jim@meyering.net>
75401
75402         * modules/unistd-safer (Files): Add pipe-safer.c.
75403         * modules/fcntl-safer (Files): Add creat-safer.c.
75404
75405 2005-08-27  Jim Meyering  <jim@meyering.net>
75406
75407         * m4/stdlib-safer.m4: New file.  From coreutils.
75408         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75409         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75410         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75411         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75412         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75413
75414 2005-08-27  Jim Meyering  <jim@meyering.net>
75415
75416         * lib/fopen-safer.c: Merge minor changes from coreutils.
75417         * lib/dup-safer.c: Likewise.
75418         * lib/fd-safer.c: Likewise.
75419
75420         Merge from coreutils.
75421         * lib/stdio--.h: New file.
75422         * lib/stdlib--.h: New file.
75423         * lib/mkstemp-safer.c: New file.
75424
75425         GNU tar needs these.
75426         * lib/pipe-safer.c: New file.
75427         * lib/creat-safer.c: New file.
75428         * lib/fcntl--.h (creat): Define to creat_safer.
75429         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75430         * lib/unistd--.h (pipe): Define to pipe_safer.
75431         * lib/unistd-safer.h: Declare pipe_safer.
75432
75433 2005-08-26  Simon Josefsson  <jas@extundo.com>
75434
75435         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75436         Haible <bruno@clisp.org>.
75437
75438 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75439
75440         * lib/regex_internal.h: Remove all references to
75441         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75442         or better.
75443         (bitset_not, bitset_merge, bitset_not_merge):
75444         (bitset_mask, re_string_allocate, re_string_construct):
75445         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75446         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75447         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75448         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75449         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75450         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75451         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75452         (re_acquire_state_context):
75453         Remove unnecessary forward decls.
75454         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75455         Put __attribute at function definition,
75456         now that the function decl has been removed.
75457         * lib/regex_internal.c (re_string_peek_byte_case):
75458         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75459         Likewise.
75460
75461 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75462
75463         * m4/regex.m4: Add AC_PREREQ(2.50).
75464         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75465
75466 2005-08-25  Simon Josefsson  <jas@extundo.com>
75467
75468         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75469         __fsetlocking.
75470
75471 2005-08-25  Simon Josefsson  <jas@extundo.com>
75472
75473         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75474         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75475         GLIBC specific code.
75476
75477 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75478
75479         Make regex safe for g++.  This fixes one real bug (an "err"
75480         that should have been "*err").  g++ problem reported by
75481         Sam Steingold.
75482         * lib/regex_internal.h (re_calloc): New macro, consistent with
75483         re_malloc etc.  All callers of calloc changed to use re_calloc.
75484         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75485         not int.  All callers changed.
75486         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75487         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75488         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75489         (find_recover_state): Change "err" to "*err"; this fixes what
75490         appears to be a real bug.
75491         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75492         versus int.
75493
75494 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75495
75496         * modules/regex (Depends-on): Add malloc, since the code
75497         assumes that !malloc(0) means failure.
75498
75499 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75500
75501         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75502
75503         alloca modernization/simplification for regex.
75504         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75505         needs to be at the start of the file, and can be moved into
75506         regex_internal.h and simplified.
75507         * lib/regex_internal.h: Include <alloca.h>.
75508         (__libc_use_alloca) [!defined _LIBC]: New macro.
75509         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75510         now works outside glibc.
75511
75512 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75513
75514         * config/srclist.txt: Add glibc bugs 1241, 1245.
75515
75516 2005-08-25  Jim Meyering  <jim@meyering.net>
75517
75518         * lib/open-safer.c: Include <config.h>.
75519         Otherwise, we'd lose LARGEFILE support in any file using
75520         e.g. "fcntl--.h"
75521
75522 2005-08-25  Bruno Haible  <bruno@clisp.org>
75523
75524         * m4/minmax.m4: Require autoconf 2.52.
75525         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75526         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75527         alternatives of translit over the alphabet.
75528         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75529
75530 2005-08-24  Simon Josefsson  <jas@extundo.com>
75531
75532         * tests/test-getpass.c: New file.
75533
75534 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75535
75536         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75537         for GNU regex features.
75538
75539 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75540
75541         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75542         * lib/regex.h (regerror): Likewise.
75543
75544         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75545         requires this.  (The code never needed it.)
75546
75547         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75548         All uses of recently-renamed identifiers changed to use the new,
75549         POSIX-compliant names.  The code will build and run just fine
75550         without these changes, but it's better to eat our own dog food
75551         and use the standard-conforming names.
75552
75553         * lib/regex.h: Fix a multitude of POSIX name space violations.
75554         These changes have an effect only for programs that define
75555         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75556         do not change anything for programs compiled in the normal way.
75557         Also, there is no effect on the ABI.
75558
75559         (_REGEX_SOURCE): New macro.
75560         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75561         defined and _GNU_SOURCE is not; this fixes a name space violation.
75562
75563         Rename the following macros to obey POSIX requirements.
75564         The old names are still visible as macros if _REGEX_SOURCE is defined.
75565         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75566         RE_BACKSLASH_ESCAPE_IN_LISTS.
75567         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75568         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75569         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75570         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75571         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75572         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75573         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75574         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75575         (REG_INTERVALS): renamed from RE_INTERVALS.
75576         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75577         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75578         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75579         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75580         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75581         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75582         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75583         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75584         RE_UNMATCHED_RIGHT_PAREN_ORD.
75585         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75586         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75587         (REG_DEBUG): renamed from RE_DEBUG.
75588         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75589         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75590         unusual, since we can't clash with the POSIX REG_ICASE.
75591         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75592         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75593         (REG_NO_SUB): renamed from RE_NO_SUB.
75594         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75595         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75596         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75597         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75598         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75599         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75600         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75601         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75602         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75603         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75604         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75605         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75606         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75607         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75608         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75609         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75610         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75611         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75612         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75613         (REG_FIXED): Renamed from REGS_FIXED.
75614         (REG_NREGS): Renamed from RE_NREGS.
75615
75616         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75617         of other REG_* macros, since POSIX says the user is allowed to
75618         #undef these macros selectively.
75619
75620         (reg_errcode_t): Update comment stating what other tables need
75621         to be consistent.
75622
75623         Rename the following enum values to obey POSIX requirements.
75624         The old names are still visible as macros.
75625         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75626         is not defined, since GNU is supposed to be a superset of POSIX as
75627         much as possible, and since we want reg_errcode_t to be a signed
75628         type for implementation consistency.
75629         (_REG_NOERROR): Renamed from REG_NOERROR.
75630         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75631         (_REG_BADPAT): Renamed from REG_BADPAT.
75632         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75633         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75634         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75635         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75636         (_REG_EBRACK): Renamed from REG_EBRACK.
75637         (_REG_EPAREN): Renamed from REG_EPAREN.
75638         (_REG_EBRACE): Renamed from REG_EBRACE.
75639         (_REG_BADBR): Renamed from REG_BADBR.
75640         (_REG_ERANGE): Renamed from REG_ERANGE.
75641         (_REG_ESPACE): Renamed from REG_ESPACE.
75642         (_REG_BADRPT): Renamed from REG_BADRPT.
75643         (_REG_EEND): Renamed from REG_EEND.
75644         (_REG_ESIZE): Renamed from REG_ESIZE.
75645         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75646         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75647         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75648         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75649         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75650
75651         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75652         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75653         changed.  But support the old name if the new one is not defined
75654         and if _REGEX_SOURCE.
75655
75656         Change the following member names in struct re_pattern_buffer.
75657         The old names are still supported if !_REGEX_SOURCE.
75658         The new names are always supported, regardless of _REGEX_SOURCE.
75659         (re_buffer): Renamed from buffer.
75660         (re_allocated): Renamed from allocated.
75661         (re_used): Renamed from used.
75662         (re_syntax): Renamed from syntax.
75663         (re_fastmap): Renamed from fastmap.
75664         (re_translate): Renamed from translate.
75665         (re_can_be_null): Renamed from can_be_null.
75666         (re_regs_allocated): Renamed from regs_allocated.
75667         (re_fastmap_accurate): Renamed from fastmap_accurate.
75668         (re_no_sub): Renamed from no_sub.
75669         (re_not_bol): Renamed from not_bol.
75670         (re_not_eol): Renamed from not_eol.
75671         (re_newline_anchor): Renamed from newline_anchor.
75672
75673         Change the following member names in struct re_registers.
75674         The old names are still supported if !_REGEX_SOURCE.
75675         The new names are always supported, regardless of _REGEX_SOURCE.
75676         (rm_num_regs): Renamed from num_regs.
75677         (rm_start): Renamed from start.
75678         (rm_end): Renamed from end.
75679
75680         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75681         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75682         Prepend __ to parameter names.
75683
75684         Undo yesterday's changes.
75685
75686 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75687
75688         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75689         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75690         lib/regex.c.
75691
75692 2005-08-24  Jim Meyering  <jim@meyering.net>
75693
75694         Sync from coreutils.
75695         * m4/fcntl-safer.m4: New file.
75696
75697         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75698         and object files for this module.
75699
75700 2005-08-24  Jim Meyering  <jim@meyering.net>
75701
75702         Sync from coreutils.
75703         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75704
75705 2005-08-24  Jim Meyering  <jim@meyering.net>
75706
75707         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75708         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75709
75710 2005-08-24  Jim Meyering  <jim@meyering.net>
75711
75712         * modules/fcntl-safer: New module.
75713         * modules/fts (Depends-on): Add fcntl-safer.
75714         * MODULES.html.sh (File descriptor based Input/Output):
75715         Add fcntl-safer.
75716
75717 2005-08-24  Bruno Haible  <bruno@clisp.org>
75718
75719         Support for unit test modules.
75720         * modules/README: Mention tests modules.
75721         * modules/TEMPLATE-TESTS: New file.
75722         * gnulib-tool: New options --extract-tests-module, --with-tests and
75723         --tests-base (unused for the moment).
75724         (testsbase, inctests): New variables.
75725         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75726         (func_verify_module): Exclude TEMPLATE-TESTS.
75727         (func_verify_nontests_module, func_verify_tests_module): New functions.
75728         (func_get_dependencies): Add implicit dependency for tests modules.
75729         (func_get_tests_module): New function.
75730         (func_modules_transitive_closure): When --with-tests was specified,
75731         include the unit tests as well, unless explicitly avoided.
75732         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75733         (func_emit_tests_Makefile_am): New function.
75734         (func_create_testdir): When --with-tests was specified, emit a
75735         tests/ directory.
75736         * MODULES.html.sh (Future developments): Update.
75737
75738 2005-08-24  Bruno Haible  <bruno@clisp.org>
75739
75740         * modules/tls-tests: New file.
75741         * tests/test-tls.c: New file, from GNU gettext.
75742
75743 2005-08-24  Bruno Haible  <bruno@clisp.org>
75744
75745         * modules/lock-tests: New file.
75746         * tests/test-lock.c: New file, from GNU gettext.
75747
75748 2005-08-24  Bruno Haible  <bruno@clisp.org>
75749
75750         * lib/lock.h: Add multiple inclusion guard.
75751         * lib/tls.h: Add multiple inclusion guard.
75752
75753 2005-08-24  Bruno Haible  <bruno@clisp.org>
75754
75755         * gnulib-tool: Add support for the --aux-dir option to
75756         --create-testdir, --create-megatestdir, --test, --megatest.
75757         (func_create_testdir, func_create_megatestdir): Optionally emit a
75758         AC_CONFIG_AUX_DIR directive.
75759         (create-testdir, create-megatestdir, test, megatest): Provide a
75760         default value for $auxdir.
75761
75762 2005-08-24  Bruno Haible  <bruno@clisp.org>
75763
75764         * gnulib-tool (import): Use compound statement instead of subshell
75765         where possible.
75766
75767 2005-08-24  Bruno Haible  <bruno@clisp.org>
75768
75769         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75770
75771 2005-08-24  Bruno Haible  <bruno@clisp.org>
75772
75773         * gnulib-tool (func_version): Update.
75774
75775 2005-08-24  Bruno Haible  <bruno@clisp.org>
75776
75777         * gnulib-tool (func_import, func_create_testdir,
75778         func_create_megatestdir): Quote all autoconf macro arguments.
75779
75780 2005-08-24  Bruno Haible  <bruno@clisp.org>
75781
75782         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75783         option --force, because --force causes the aclocal.m4 of each
75784         subdirectory to be newer than the corresponding config.h.in.
75785
75786 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75787
75788         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75789         All contents moved to gl_REGEX.
75790         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75791         assume that it does.
75792
75793 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75794
75795         * lib/regex.h (REG_NOSYS)
75796         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75797         Define, since POSIX requires it as of 2001.
75798         (_REG_ENOSYS)
75799         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75800         New private symbol, used to keep the enum signed in all cases.
75801         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75802         Youngman in
75803         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75804
75805         * lib/regex_internal.c (re_string_skip_chars, register_state):
75806         (calc_state_hash):
75807         Remove forward decls; no longer needed now that we use prototypes.
75808         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75809         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75810         (clean_state_log_if_needed): Likewise.
75811
75812 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75813
75814         * config/srclist.txt: Add glibc bugs 1231-1233.
75815
75816 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75817
75818         Fix problems reported by Sam Steingold in
75819         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75820         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75821         assumed that reg_errcode_t is a signed type, which is not
75822         necessarily true if _XOPEN_SOURCE is not defined.
75823         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75824         since some compilers warn about it otherwise.
75825
75826 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75827
75828         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75829         (init_word_char, create_initial_state, duplicate_node_closure):
75830         (fetch_token, peek_token_bracket, build_range_exp):
75831         (build_collating_symbol): Remove forward decls; no longer needed
75832         now that we use prototypes.
75833
75834         * lib/regcomp.c:
75835         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75836         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75837         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75838         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75839         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75840         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75841         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75842         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75843         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75844         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75845         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75846         (build_charclass, build_charclass_op, fetch_number, create_tree):
75847         (create_token_tree, mark_opt_subexp, duplicate_tree):
75848         Use prototypes rather than old-style definitions.
75849
75850         * lib/regex_internal.c:
75851         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75852         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75853         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75854         (re_string_reconstruct, re_string_peek_byte_case):
75855         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75856         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75857         (re_node_set_init_copy, re_node_set_add_intersect):
75858         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75859         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75860         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75861         (re_acquire_state, re_acquire_state_context, register_state):
75862         (create_ci_newstate, create_cd_newstate, free_state):
75863         Likewise.
75864         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75865         re_search_2):
75866         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75867         (re_search_internal, prune_impossible_nodes):
75868         (acquire_init_state_context, check_matching, static):
75869         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75870         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75871         (update_regs, sift_states_backward, build_sifted_states):
75872         (clean_state_log_if_needed, merge_state_array):
75873         (update_cur_sifted_state, add_epsilon_src_nodes):
75874         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75875         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75876         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75877         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75878         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75879         (check_arrival, check_arrival_add_next_nodes):
75880         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75881         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75882         (check_node_accept_bytes, check_node_accept, extend_buffers):
75883         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75884         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75885         (sift_ctx_init):
75886         Likewise.
75887
75888         * lib/regex_internal.h:
75889         (re_string_allocate, re_string_construct, re_string_reconstruct):
75890         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75891         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75892         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75893         (re_string_context_at, re_string_peek_byte_case):
75894         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75895         is defined, since we now use prototypes always.
75896
75897         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75898         C89 or better.  All uses removed.
75899
75900 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75901
75902         * config/srclist.txt: Add glibc bugs 1220-1227.
75903
75904 2005-08-20  Jim Meyering  <jim@meyering.net>
75905
75906         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75907         of unused local, dfa.
75908
75909 2005-08-20  Bruno Haible  <bruno@clisp.org>
75910
75911         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75912
75913 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75914
75915         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75916         (re_node_set_insert_last, re_dfa_add_node):
75917         Rename local variables to avoid GCC shadowing warnings.
75918
75919 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75920
75921         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75922         [defined lint]: Suppress bogus uninitialized-variable warnings.
75923
75924         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75925         and let the caller return REG_ESPACE if out of space.  This
75926         removes an uninitialied-variable warning with GCC 4.0.1, and also
75927         avoids taking the address of a local variable.  All callers
75928         changed.
75929
75930 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75933         $LIBCSRC/posix/regexec.c.
75934         Add glibc bug 1217 for regcomp.c.
75935
75936 2005-08-19  Jim Meyering  <jim@meyering.net>
75937
75938         * lib/regexec.c (proceed_next_node): Redo local variables to
75939         avoid GCC shadowing warnings.
75940
75941 2005-08-18  Bruno Haible  <bruno@clisp.org>
75942
75943         * lib/strstr.c (strstr): Fix return value in multibyte case.
75944         * lib/strcasestr.c (strcasestr): Likewise.
75945
75946 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75947
75948         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75949
75950 2005-08-17  Jim Meyering  <jim@meyering.net>
75951
75952         Make the %s format (seconds since the epoch) work for a negative
75953         number and when used with a zero-padded field width, e.g. %015s.
75954
75955         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75956         label so that it precedes the code to set `digits'.  Otherwise,
75957         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75958         print `00-22'.  Now, it prints `-0022', as it should.
75959
75960 2005-08-17  Bruno Haible  <bruno@clisp.org>
75961
75962         * modules/strstr (Files): Add m4/mbrtowc.m4.
75963         (Depends-on): Add mbuiter.
75964
75965 2005-08-17  Bruno Haible  <bruno@clisp.org>
75966
75967         * modules/strcasestr: New file.
75968         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75969         strcasestr.
75970
75971 2005-08-17  Bruno Haible  <bruno@clisp.org>
75972
75973         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75974
75975 2005-08-17  Bruno Haible  <bruno@clisp.org>
75976
75977         * modules/mbuiter: New file.
75978         * MODULES.html.sh (Extended multibyte and wide character utilities):
75979         Add mbuiter.
75980
75981 2005-08-17  Bruno Haible  <bruno@clisp.org>
75982
75983         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75984         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75985
75986 2005-08-17  Bruno Haible  <bruno@clisp.org>
75987
75988         * m4/strcasestr.m4: New file.
75989
75990 2005-08-17  Bruno Haible  <bruno@clisp.org>
75991
75992         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75993         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75994
75995 2005-08-17  Bruno Haible  <bruno@clisp.org>
75996
75997         * lib/strcasestr.h: New file.
75998         * lib/strcasestr.c: New file.
75999
76000 2005-08-17  Bruno Haible  <bruno@clisp.org>
76001
76002         * lib/strcasecmp.c: Use mbuiter.h.
76003
76004 2005-08-17  Bruno Haible  <bruno@clisp.org>
76005
76006         * lib/mbuiter.h: New file.
76007
76008 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76009
76010         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
76011         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
76012         and gl_GETOPT are both invoked via different paths (as happens
76013         with GNU tar CVS because it uses both argp and getopt), the former
76014         wins.
76015
76016 2005-08-16  Bruno Haible  <bruno@clisp.org>
76017
76018         * modules/tls: New file.
76019         * MODULES.html.sh (Multithreading): Add tls.
76020
76021 2005-08-16  Bruno Haible  <bruno@clisp.org>
76022
76023         * modules/strnlen1: New file.
76024         * MODULES.html.sh (String handling): Add strnlen1.
76025
76026 2005-08-16  Bruno Haible  <bruno@clisp.org>
76027
76028         * modules/strcase (Files): Add m4/mbrtowc.m4.
76029         (Depends-on): Add strnlen1, mbchar.
76030
76031 2005-08-16  Bruno Haible  <bruno@clisp.org>
76032
76033         * modules/mbiter: New file.
76034         * MODULES.html.sh (Extended multibyte and wide character utilities):
76035         Add mbiter.
76036
76037 2005-08-16  Bruno Haible  <bruno@clisp.org>
76038
76039         * modules/mbfile: New file.
76040         * MODULES.html.sh (Extended multibyte and wide character utilities):
76041         Add mbfile.
76042
76043 2005-08-16  Bruno Haible  <bruno@clisp.org>
76044
76045         * modules/mbchar: New file.
76046         * MODULES.html.sh (Extended multibyte and wide character utilities):
76047         New section.
76048
76049 2005-08-16  Bruno Haible  <bruno@clisp.org>
76050
76051         * m4/tls.m4: New file, from GNU gettext.
76052
76053 2005-08-16  Bruno Haible  <bruno@clisp.org>
76054
76055         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
76056         always.
76057         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
76058
76059 2005-08-16  Bruno Haible  <bruno@clisp.org>
76060
76061         * m4/mbiter.m4: New file.
76062
76063 2005-08-16  Bruno Haible  <bruno@clisp.org>
76064
76065         * m4/mbfile.m4: New file.
76066
76067 2005-08-16  Bruno Haible  <bruno@clisp.org>
76068
76069         * m4/mbchar.m4: New file.
76070
76071 2005-08-16  Bruno Haible  <bruno@clisp.org>
76072
76073         * lib/tls.h: New file, from GNU gettext.
76074         * lib/tls.c: New file, from GNU gettext.
76075
76076 2005-08-16  Bruno Haible  <bruno@clisp.org>
76077
76078         * lib/strnlen1.h: New file.
76079         * lib/strnlen1.c: New file.
76080
76081 2005-08-16  Bruno Haible  <bruno@clisp.org>
76082
76083         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
76084         (mbi_init): Update.
76085         (mbi_avail, mbi_advance): Let the iteration end before the terminating
76086         NUL byte, not after it.
76087
76088 2005-08-16  Bruno Haible  <bruno@clisp.org>
76089
76090         * lib/strcase.h (strcasecmp): Add note in comments.
76091         * lib/strncasecmp.c: Use code from strcasecmp.c.
76092         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
76093         (strcasecmp): Work correctly in multibyte locales.
76094
76095 2005-08-16  Bruno Haible  <bruno@clisp.org>
76096
76097         * lib/mbiter.h: New file.
76098
76099 2005-08-16  Bruno Haible  <bruno@clisp.org>
76100
76101         * lib/mbfile.h: New file.
76102
76103 2005-08-16  Bruno Haible  <bruno@clisp.org>
76104
76105         * lib/mbchar.h: New file.
76106         * lib/mbchar.c: New file.
76107
76108 2005-08-16  Bruno Haible  <bruno@clisp.org>
76109
76110         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
76111         the valid ones. Makes the comparison operations transitive:
76112         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
76113         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
76114
76115 2005-08-15  Simon Josefsson  <jas@extundo.com>
76116
76117         * modules/ssize_t (License): Change to 'unlimited'.
76118
76119         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
76120
76121 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76122
76123         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
76124         Add comments for each pending glibc patch.
76125
76126 2005-08-15  Bruno Haible  <bruno@clisp.org>
76127
76128         * lib/regex.h (__restrict_arr): Don't define to __restrict if
76129         __cplusplus is defined.
76130
76131 2005-08-14  Jim Meyering  <jim@meyering.net>
76132
76133         Sync from coreutils.
76134
76135         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
76136         Use the hash-table-based cycle-detection code not just when
76137         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
76138         Reported by James Youngman in
76139         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
76140         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
76141         FTS_TIGHT_CYCLE_CHECK.
76142         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
76143         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
76144         once again.
76145         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
76146         * lib/fts.c (fd_safer): Remove decl.
76147         Include fcntl--.h rather than unistd-safer.h
76148         (fts_safe_changedir): Don't call fd_safer; no longer needed
76149         now that we include fcntl--.h.
76150
76151 2005-08-12  Simon Josefsson  <jas@extundo.com>
76152
76153         * modules/getndelim2: Use ssize_t module.
76154         * modules/getnline: Likewise.
76155         * modules/safe-read: Likewise.
76156         * modules/xreadlink: Likewise.
76157
76158         * modules/ssize_t: New file.
76159
76160 2005-08-12  Simon Josefsson  <jas@extundo.com>
76161
76162         * m4/readline.m4: Look for termcap, curses or ncurses if required.
76163
76164 2005-08-12  Simon Josefsson  <jas@extundo.com>
76165
76166         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76167         ssize_t.
76168
76169 2005-08-12  Simon Josefsson  <jas@extundo.com>
76170
76171         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
76172         readline, getdelim and check_version.
76173         (Support for systems lacking ISO C 99: Sizes of integer types):
76174         Add size_max.
76175
76176 2005-08-12  Bruno Haible  <bruno@clisp.org>
76177
76178         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
76179
76180 2005-08-11  Simon Josefsson  <jas@extundo.com>
76181
76182         * modules/readline: New file.
76183
76184         * modules/strnlen (Files): Add strnlen.h.
76185
76186 2005-08-11  Simon Josefsson  <jas@extundo.com>
76187
76188         * m4/readline.m4: New file.
76189
76190 2005-08-11  Simon Josefsson  <jas@extundo.com>
76191
76192         * lib/readline.h, readline.c: New file.
76193
76194 2005-08-11  Simon Josefsson  <jas@extundo.com>
76195
76196         * doc/gnulib.texi (Initial import, Finishing touches): Mention
76197         gl_AVOID.
76198
76199 2005-08-11  Bruno Haible  <bruno@clisp.org>
76200
76201         * lib/strnlen.h (strnlen): Change parameter name to match comment.
76202
76203 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
76204
76205         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
76206
76207 2005-08-10  Simon Josefsson  <jas@extundo.com>
76208
76209         * tests/test-iconvme.c: New file.
76210
76211 2005-08-10  Simon Josefsson  <jas@extundo.com>
76212
76213         * m4/strnlen.m4: New file.
76214
76215         * m4/strndup.m4: Don't check for strnlen declaration, done in
76216         strnlen.m4.
76217
76218 2005-08-10  Simon Josefsson  <jas@extundo.com>
76219
76220         * lib/strndup.c: Use strnlen.h.
76221
76222         * lib/strnlen.h: New file.
76223
76224 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76225
76226         * README: Typos.
76227
76228 2005-08-02  Simon Josefsson  <jas@extundo.com>
76229
76230         * modules/readline: New file.
76231
76232 2005-08-02  Simon Josefsson  <jas@extundo.com>
76233
76234         * modules/getdelim: New file.
76235
76236         * modules/getline: Rewrite, don't use getndelim2.
76237
76238 2005-08-02  Simon Josefsson  <jas@extundo.com>
76239
76240         * m4/getline.m4: Separate out getdelim stuff into separate module.
76241
76242         * m4/getdelim.m4: New file.
76243
76244 2005-08-02  Simon Josefsson  <jas@extundo.com>
76245
76246         * lib/getline.h, getline.c: Rewrite.
76247
76248         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
76249
76250 2005-07-31  Bruno Haible  <bruno@clisp.org>
76251
76252         * lib/lock.h (gl_lock_initializer): New macro.
76253         (gl_lock_define_initialized): Use it.
76254         (gl_rwlock_initializer): New macro.
76255         (gl_rwlock_define_initialized): Use it.
76256         (gl_recursive_lock_initializer): New macro.
76257         (gl_recursive_lock_define_initialized): Use it.
76258
76259 2005-07-30  Karl Berry  <karl@gnu.org>
76260
76261         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
76262         Report from Ben Pfaff, regarding getopt.
76263
76264 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
76265
76266         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
76267         normal way.
76268         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
76269         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
76270         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
76271         (gl_GETOPT): Use the new macros.  Most of the implementation
76272         is moved to the new macros.  This is for programs like Emacs
76273         that don't want all the functionality of gl_GETOPT.
76274
76275 2005-07-26  Bruno Haible  <bruno@clisp.org>
76276
76277         * m4/lock.m4: Update from GNU gettext.
76278
76279 2005-07-26  Bruno Haible  <bruno@clisp.org>
76280
76281         * lib/lock.h: Update from GNU gettext.
76282         * lib/lock.c: Update from GNU gettext.
76283
76284 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
76285
76286         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
76287         obsolescent AC_TRY_RUN.  Include the default includes files, for
76288         'exit'.
76289
76290 2005-07-24  Bruno Haible  <bruno@clisp.org>
76291
76292         * modules/visibility: New file.
76293         * MODULES.html.sh (Misc): Add visibility.
76294
76295 2005-07-24  Bruno Haible  <bruno@clisp.org>
76296
76297         * m4/visibility.m4: New file.
76298
76299 2005-07-24  Bruno Haible  <bruno@clisp.org>
76300
76301         * doc/visibility.texi: New file.
76302
76303 2005-07-22  Bruno Haible  <bruno@clisp.org>
76304
76305         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
76306         $(ALLOCA_H), redundant through BUILT_SOURCES.
76307         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
76308         redundant through BUILT_SOURCES.
76309         * modules/byteswap (Makefile.am): Remove explicit dependency on
76310         $(BYTESWAP_H), redundant through BUILT_SOURCES.
76311         * modules/fnmatch (Makefile.am): Remove explicit dependency on
76312         $(FNMATCH_H), redundant through BUILT_SOURCES.
76313         * modules/getopt (Makefile.am): Remove explicit dependency on
76314         $(GETOPT_H), redundant through BUILT_SOURCES.
76315         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
76316         redundant through BUILT_SOURCES.
76317         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
76318         redundant through BUILT_SOURCES.
76319         * modules/stdbool (Makefile.am): Remove explicit dependency on
76320         $(STDBOOL_H), redundant through BUILT_SOURCES.
76321         * modules/stdint (Makefile.am): Remove explicit dependency on
76322         $(STDINT_H), redundant through BUILT_SOURCES.
76323         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
76324         Remove explicit dependency on $(SYSEXITS_H).
76325         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
76326
76327 2005-07-18  Simon Josefsson  <jas@extundo.com>
76328
76329         * lib/check-version.c (check_version): Accept identical versions too.
76330
76331 2005-07-18  Bruno Haible  <bruno@clisp.org>
76332
76333         * modules/lock: New file.
76334         * MODULES.html.sh (Multithreading): New section.
76335
76336 2005-07-18  Bruno Haible  <bruno@clisp.org>
76337
76338         * m4/lock.m4: New file, from GNU gettext.
76339
76340 2005-07-18  Bruno Haible  <bruno@clisp.org>
76341
76342         * lib/lock.h: New file, from GNU gettext.
76343         * lib/lock.c: New file, from GNU gettext.
76344
76345 2005-07-18  Bruno Haible  <bruno@clisp.org>
76346
76347         * lib/lock.h (gl_once_t): New type.
76348         (gl_once_define, gl_once): New macros.
76349         * lib/lock.c (fresh_once): New variable.
76350         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
76351         functions.
76352
76353 2005-07-16  Simon Josefsson  <jas@extundo.com>
76354
76355         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
76356         workaround, suggested by Bruno.
76357
76358 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * modules/xalloc (Depends-on): Add xalloc-die.
76361         * modules/xvasprintf (Depends-on): Add xalloc-die.
76362
76363 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76364
76365         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
76366         with a minor change.
76367
76368 2005-07-15  Bruno Haible  <bruno@clisp.org>
76369
76370         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
76371         When using lib/poll.c, define poll as rpl_poll.
76372
76373 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
76374
76375         * modules/argp (Depends-on): Remove unlocked-io.
76376
76377 2005-07-14  Derek Price  <derek@ximbiot.com>
76378
76379         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
76380         for glob symlink bug.
76381
76382 2005-07-14  Bruno Haible  <bruno@clisp.org>
76383
76384         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
76385         Instead, test for *_unlocked function declarations directly.
76386
76387 2005-07-11  Simon Josefsson  <jas@extundo.com>
76388
76389         * modules/size_max: New file.
76390
76391         * modules/xsize: Depend on size_max module for size_max.m4.
76392
76393 2005-07-11  Simon Josefsson  <jas@extundo.com>
76394
76395         * lib/size_max.h: New file.
76396
76397 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
76398
76399         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
76400         copyright symbol and the year.
76401         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
76402         (version_etc_va): Use parameterized copyright notice.
76403         Reword to conform to the current GNU coding standards.
76404
76405 2005-07-11  Karl Berry  <karl@gnu.org>
76406
76407         * doc/gnulib.texi (Quoting): new node.
76408         (Initial import): more info, from Patrice.
76409
76410 2005-07-11  Bruno Haible  <bruno@clisp.org>
76411
76412         * gnulib-tool (func_usage): Document option --avoid.
76413         (Command line options): Handle --avoid.
76414         (func_acceptable): New function.
76415         (func_modules_transitive_closure): Use it.
76416
76417 2005-07-11  Bruno Haible  <bruno@clisp.org>
76418
76419         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76420         Reported by Jim Meyering.
76421
76422 2005-07-10  Bruno Haible  <bruno@clisp.org>
76423
76424         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76425         Needed when size_t is smaller than 'unsigned int'.
76426         Reported by Paul Eggert.
76427
76428 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76429
76430         * modules/argp (Depends-on): Add unlocked-io
76431
76432 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76433
76434         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76435         block of defines.
76436
76437 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76438
76439         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76440         fix now.
76441
76442 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76443         and Paul Eggert  <eggert@cs.ucla.edu>
76444
76445         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76446         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76447
76448 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76449
76450         * modules/regex (Files): Add lib/regex_internal.c,
76451         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76452         (Depends-on): Add extensions.
76453         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76454
76455 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76456
76457         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76458         pathconf.
76459         * m4/same.m4 (gl_SAME): Likewise.
76460         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76461
76462         * m4/regex.m4: Adjust to new libc regex implementation.
76463         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76464         all the .c and .h parts of (the new) regex.
76465         Quote the m4 stuff better.
76466         Check for RE_ICASE bug of old gnulib.
76467         Check for REG_STARTEND of recent libc.
76468         Rename local variables from jm_* to gl_*.
76469         Quote operand of "test -f".
76470         Say "recent enough" version of libc, not "version 2".
76471         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76472         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76473         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76474         Remove check for btowc, isascii.
76475         Require AM_LANGINFO_CODESET.
76476
76477 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76478
76479         * lib/regex.c, regex.h: Sync from libc.
76480         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76481         * lib/regexec.c:
76482         New files, synced from libc, except that regex_internal.h
76483         currently has a small porting fix.
76484
76485 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76486
76487         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76488         regex_internal.c, regexec.c.
76489         Add regex_internal.h too, but as a comment, since the libc version
76490         is currently broken in gnulib mode.
76491
76492 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76493
76494         Support programs like Emacs that use gnulib but not gettext.
76495         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76496         * modules/gettext-h: New file.
76497         * modules/gettext (Files): Remove lib/gettext.h.
76498         (Depends-on): Add gettext-h.
76499         (Makefile.am): Remove lib_SOURCES.
76500         * modules/argmatch, modules/c-stack, modules/closeout:
76501         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76502         * modules/execute, modules/file-type, modules/getaddrinfo:
76503         * modules/getopt, modules/human, modules/javacomp:
76504         * modules/javaexec, modules/mkdir-p, modules/obstack:
76505         * modules/openat, modules/pagealign_alloc, modules/pipe:
76506         * modules/quotearg, modules/regex, modules/rpmatch:
76507         * modules/unicodeio, modules/userspec, modules/version-etc:
76508         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76509         * modules/xsetenv:
76510         Depend on gettext-h, not gettext.
76511
76512 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76513
76514         * gnulib-tool (func_import): Add support for 'public domain' license.
76515         * modules/alloca, modules/atexit, modules/memmove:
76516         Now public domain, not GPL.
76517         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76518         * modules/realloc, modules/strerror, modules/strtod:
76519         Now LGPL, not GPL.
76520
76521 2005-07-05  Bruno Haible  <bruno@clisp.org>
76522
76523         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76524         autoconf CVS. Needed for mingw.
76525
76526 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76527
76528         Remove the dependency of the strftime module on the tzset module.
76529         * modules/strftime (Depends-on): Remove dependency on tzset.
76530
76531 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76532
76533         Remove the dependency of the strftime module on the tzset module.
76534         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76535         gl_FUNC_TZSET_CLOBBER.
76536
76537 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76538
76539         Remove the dependency of the strftime module on the tzset module.
76540         * lib/strftime.c (my_strftime)
76541         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76542         Copy the input structure, to work around some of the bug with
76543         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76544         Solaris releases, you should also use the tzset module, but we won't
76545         require it as a dependency any more since we don't want LGPLed code
76546         to depend on GPLed code.
76547
76548 2005-07-02  Jim Meyering  <jim@meyering.net>
76549
76550         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76551         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76552         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76553         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76554
76555 2005-07-02  Jim Meyering  <jim@meyering.net>
76556
76557         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76558
76559 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76560
76561         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76562         declares only 'struct timespec;' (!).
76563
76564 2005-07-01  Jim Meyering  <jim@meyering.net>
76565
76566         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76567         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76568         * lib/save-cwd.c, tempname.c:
76569         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76570         and don't include <sys/file.h>).
76571
76572 2005-06-29  Jim Meyering  <jim@meyering.net>
76573
76574         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76575         type name.  Use the variable name instead.
76576         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76577         Likewise.
76578
76579 2005-06-28  Simon Josefsson  <jas@extundo.com>
76580
76581         * modules/check-version (Files): Add check-version.m4.
76582
76583 2005-06-28  Simon Josefsson  <jas@extundo.com>
76584
76585         * m4/check-version.m4: New file, suggested by Jim Meyering
76586         <jim@meyering.net>.
76587
76588 2005-06-28  Simon Josefsson  <jas@extundo.com>
76589
76590         * lib/check-version.h, lib/check-version.c: New files.
76591
76592 2005-06-28  Simon Josefsson  <jas@extundo.com>
76593
76594         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76595         collision with global variable.  Better indentation.  Don't
76596         increment buffer pointer beyond buffer end.  Based on comments
76597         from Paul Eggert <eggert@cs.ucla.edu>.
76598
76599         * lib/base64.h: Indent.
76600
76601 2005-06-28  Simon Josefsson  <jas@extundo.com>
76602
76603         * doc/gnulib.texi (Library version handling): New section.
76604
76605 2005-06-28  Jim Meyering  <jim@meyering.net>
76606
76607         * check-module (find_included_lib_files): Hard-code another
76608         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76609         but modules/fts-lgpl (correctly) does not list those files.
76610
76611         * modules/canonicalize (Files): Add lib/pathmax.h.
76612
76613 2005-06-25  Simon Josefsson  <jas@extundo.com>
76614
76615         * modules/check-version: New file.
76616
76617 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76618
76619         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76620         initializer of struct addrinfo, as an indication that we don't
76621         care how many members the structure has.
76622
76623 2005-06-24  Derek Price  <derek@ximbiot.com>
76624         and Bruno Haible  <bruno@clisp.org>
76625
76626         Remove stat module & update lstat.
76627         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76628         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76629         * m4/stat.m4: Remove this file.
76630
76631 2005-06-24  Derek Price  <derek@ximbiot.com>
76632         and Bruno Haible  <bruno@clisp.org>
76633
76634         Remove stat module & update lstat.
76635         * lib/stat.c: Remove this file...
76636         (slash_aware_lstat): ...moving this content and its support...
76637         * lib/lstat.c (rpl_lstat): ...into here.
76638         * lib/lstat.h: New file.
76639
76640 2005-06-24  Derek Price  <derek@ximbiot.com>
76641         and Bruno Haible  <bruno@clisp.org>
76642
76643         Remove stat module & update lstat.
76644         * config/srclist.txt (libc sources): Remove stat.
76645
76646 2005-06-24  Derek Price  <derek@ximbiot.com>
76647         and Bruno Haible  <bruno@clisp.org>
76648
76649         Remove stat module & update lstat.
76650         * MODULES.html.sh (stat): Remove.
76651         * MODULES.html: Regenerated.
76652         * modules/lstat (Description): Correct function name.
76653         (Files): Add "lstat.h".
76654         (Depends-on): Remove stat, add xalloc, stat-macros.
76655         * modules/stat: Remove this file.
76656         (Include): Add "lstat.h", remove <sys/stat.h>.
76657
76658 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76659
76660         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76661         (ranged_convert): Don't save conversion in a temporary struct.
76662         This causes a warning with GCC 4.0.0, and anyway in the typical
76663         case it's not worth the extra 100 bytes or so of code.
76664         (ranged_convert, __mktime_internal): When calling a function via a
76665         pointer P, use P () rather than (*P) (), as we now assume C89 or
76666         better.
76667
76668 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76669
76670         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76671         "who -r" failed to give output.  Problem reported by Tim Waugh.
76672
76673         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76674         (xcalloc): Use it to avoid needless tests.
76675         Problem reported by Jim Meyering.
76676
76677 2005-06-20  Derek Price  <derek@ximbiot.com>
76678
76679         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76680         unnecessary for Autoconfs > 2.59c.
76681
76682 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76683
76684         * lib/argp.h (__option_is_short): Check upper limit of
76685         __key. Isprint() requires its argument to have the value
76686         of an unsigned char or EOF.
76687
76688 2005-06-16  Jim Meyering  <jim@meyering.net>
76689
76690         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76691         when either N or S is zero.
76692
76693 2005-06-16  Derek Price  <derek@ximbiot.com>
76694
76695         * m4/bison.m4: Declare YACC & YFLAGS precious.
76696
76697 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76698
76699         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76700         multibyte string or pattern, fall back on unibyte matching.
76701         Problem reported by James Youngman.
76702
76703 2005-06-08  Bruno Haible  <bruno@clisp.org>
76704
76705         * modules/csharpcomp: New file.
76706         * MODULES.html.sh (C#): Add csharpcomp.
76707
76708 2005-06-08  Bruno Haible  <bruno@clisp.org>
76709
76710         * m4/csharpcomp.m4: New file, from GNU gettext.
76711
76712 2005-06-08  Bruno Haible  <bruno@clisp.org>
76713
76714         * lib/csharpcomp.h: New file, from GNU gettext.
76715         * lib/csharpcomp.c: New file, from GNU gettext.
76716         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76717
76718 2005-06-08  Bruno Haible  <bruno@clisp.org>
76719
76720         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76721         warning on mingw.
76722
76723 2005-06-07  Derek Price  <derek@ximbiot.com>
76724
76725         Sync from CVS.
76726         * lib/glob_.h: Indent nested #ifdef.
76727
76728 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76729
76730         Sync from coreutils.
76731         Use "file name" when talking about file names, instead of "filename"
76732         or "path", as per the GNU coding standards.
76733         * lib/mkdir-p.c: Renamed from makepath.c.
76734         (make_dir_parents): Renamed from make_path.  All callers changed.
76735         * lib/mkdir-p.h: Likewise.  All includers changed.
76736         * lib/filenamecat.c: Renamed from path-concat.c.
76737         (file_name_concat): Renamed from path_concat.  All callers changed.
76738         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76739         * lib/filenamecat.h: Likewise.  All includers changed.
76740         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76741         in comments or local variable names.
76742         * lib/basename.c: Likewise.
76743         * lib/canonicalize.c, canonicalize.h: Likewise.
76744         * lib/dirname.c, dirname.h: Likewise.
76745         * lib/euidaccess.c: Likewise.
76746         * lib/exclude.c: Likewise
76747         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76748         * lib/fsusage.c, fsuage.h: Likewise.
76749         * lib/fts.c, fts_.h: Likewise.
76750         * lib/getcwd.c: Likewise.
76751         * lib/getloadavg.c: Likewise.
76752         * lib/mkstemp.c: Likewise.
76753         * lib/mountlist.c, mountlist.h: Likewise.
76754         * lib/openat.c, openat.h: Likewise.
76755         * lib/readlink-stub.c: Likewise.
76756         * lib/readutmp.c, readutmp.h: Likewise.
76757         * lib/rename.c: Likewise.
76758         * lib/rmdir.c: Likewise.
76759         * lib/same.c: Likewise.
76760         * lib/savedir.c: Likewise.
76761         * lib/stripslash.c: Likewise.
76762         * lib/tempname.c: Likewise.
76763         * lib/xreadlink.c: Likewise.
76764         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76765         All uses changed.
76766         * lib/exclude.h: Likewise.
76767
76768         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76769         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76770         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76771         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76772         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76773         files have been getting away with it for years (MORE/BSD 4.3
76774         is extinct now).
76775         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76776         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76777
76778         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76779         Define to 256, not 255, as per modern POSIX.
76780
76781 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76782
76783         Sync from coreutils.
76784         Use "file name" when talking about file names, instead of "filename"
76785         or "path", as per the GNU coding standards.
76786         * MODULES.html.sh: mkdir-p renamed from makepath.
76787         filenamecat renamed from path-concat.
76788         * modules/filenamecat: Renamed from modules/path-concat.
76789         (Files): filenamecat.h and filenamecat.c renamed from
76790         path-concat.h and path-concat.c.
76791         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76792         (Include): filenamecat.h, not path-concat.h.
76793         * modules/mkdir-p: Renamed from modules/makepath.
76794         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76795         makepath.c.
76796         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76797         (Include): mkdir-p.h, not makepath.h.
76798
76799 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76800
76801         Sync from coreutils.
76802         * m4/mkdir-p.m4: Renamed from makepath.m4.
76803         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76804         Rename files from makepath.c to mkdir-p.c, and from
76805         makepath.h to mkdir-p.h.
76806         * m4/filenamecat.m4: Renamed from path-concat.m4.
76807         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76808         Rename files from path-concat.c to filenamecat.c,
76809         and from path-concat.h to filenamecat.h.
76810         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76811         "file name" in local variables or comments.
76812         * m4/rename.m4: Likewise.
76813
76814 2005-06-01  Bruno Haible  <bruno@clisp.org>
76815
76816         * modules/csharpexec: New file.
76817         * MODULES.html.sh (C#): New section.
76818
76819 2005-06-01  Bruno Haible  <bruno@clisp.org>
76820
76821         * m4/csharp.m4: New file, from GNU gettext.
76822         * m4/csharpexec.m4: New file, from GNU gettext.
76823
76824 2005-06-01  Bruno Haible  <bruno@clisp.org>
76825
76826         * lib/csharpexec.h: New file, from GNU gettext.
76827         * lib/csharpexec.c: New file, from GNU gettext.
76828         * lib/csharpexec.sh.in: New file, from GNU gettext.
76829
76830 2005-05-31  Derek Price  <derek@ximbiot.com>
76831             Paul Eggert  <eggert@cs.ucla.edu>
76832
76833         Sync from cvs.
76834         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76835
76836 2005-05-31  Derek Price  <derek@ximbiot.com>
76837             Paul Eggert  <eggert@cs.ucla.edu>
76838
76839         Sync from cvs.
76840         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76841
76842 2005-05-29  Derek Price  <derek@ximbiot.com>
76843
76844         * config/srclist.txt (glob_.h, glob.c): Add these files.
76845
76846 2005-05-29  Derek Price  <derek@ximbiot.com>
76847
76848         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76849         * modules/glob: New file.
76850         * modules/getlogin_r: Add link to POSIX spec in description.
76851
76852 2005-05-29  Derek Price  <derek@ximbiot.com>
76853             Paul Eggert  <eggert@cs.ucla.edu>
76854
76855         * m4/glob.m4: New file.
76856
76857 2005-05-29  Derek Price  <derek@ximbiot.com>
76858             Paul Eggert  <eggert@cs.ucla.edu>
76859
76860         * lib/glob_.h, lib/glob.c: New files.
76861
76862 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76863
76864         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76865         * modules/fts-lgpl (Depends-on): Remove gettext.
76866
76867 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76868
76869         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76870         and don't require gt_INTTYPES_PRI.
76871
76872 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76873
76874         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76875
76876         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76877         the configuration hassle isn't worth it.
76878         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76879         (LONGEST_MODIFIER, PRIuMAX): Remove.
76880
76881 2005-05-27  Bruno Haible  <bruno@clisp.org>
76882
76883         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76884
76885 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76888         _POSIX_PTHREAD_SEMANTICS for Solaris.
76889
76890 2005-05-25  Derek Price  <derek@ximbiot.com>
76891
76892         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76893
76894 2005-05-25  Derek Price  <derek@ximbiot.com>
76895             Paul Eggert  <eggert@cs.ucla.edu>
76896
76897         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76898         * lib/getlogin_r.c, getlogin_r.h: New files.
76899
76900 2005-05-25  Bruno Haible  <bruno@clisp.org>
76901             Derek Price  <derek@ximbiot.com>
76902
76903         * lib/getlogin_r.h: Simplify API documentation.
76904
76905 2005-05-23  Derek Price  <derek@ximbiot.com>
76906
76907         * modules/minmax (Files): Add m4/minmax.m4.
76908         (configure.ac): Add gl_MINMAX.
76909
76910 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76911
76912         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76913         so that unistd-safer.h (GPL'ed code) need not be included.
76914
76915 2005-05-22  Bruno Haible  <bruno@clisp.org>
76916
76917         * m4/minmax.m4: New file.
76918         Based on a patch by Derek Price <derek@ximbiot.com>.
76919
76920 2005-05-22  Bruno Haible  <bruno@clisp.org>
76921
76922         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76923         (INT64_MIN): Fix definition.
76924         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76925
76926         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76927         NEED_SIGNED_INT_TYPES.
76928
76929         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76930         HAVE_SYSTEM_INTTYPES.
76931
76932 2005-05-22  Bruno Haible  <bruno@clisp.org>
76933
76934         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76935         Also include <sys/param.h> if it defines MIN, MAX.
76936         Based on a patch by Derek Price <derek@ximbiot.com>.
76937
76938 2005-05-21  Jim Meyering  <jim@meyering.net>
76939
76940         * modules/fts (Files): Add m4/inttypes-pri.m4.
76941         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76942
76943 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76944
76945         New fts module.
76946         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76947         (setup_dir, free_dir): New functions.
76948         (enter_dir, leave_dir): Define trivial
76949         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76950         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76951         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76952         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76953         Move to fts-cycle.c.
76954         (fts_open): Use setup_dir.
76955         (fts_close): Use free_dir.
76956         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76957         This adds a label and some gotos, but the alternatives were messier.
76958         Check for memory allocation failure when entering a dir.
76959         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76960         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76961         (FTS): New member fts_cycle, that is a union that contains the
76962         old active_dir_ht and cycle_state.  All uses changed to mention
76963         fts_cycle.ht and fts_cycle.state.
76964         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76965         fts.c, with the following changes:
76966         (setup_dir, free_dir): New functions.
76967         (enter_dir): Now returns bool.  Return true if successful, false
76968         if memory exhausted.  All callers changed.
76969         Do not bother partly cleaning up on
76970         memory allocation failure; that is free_dir's job.
76971         However, free ad if hash_insert fails, to avoid memory leak.
76972         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76973         fts->fts_options to see which union member to use.
76974
76975 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76976
76977         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76978         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76979
76980 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76981
76982         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76983
76984 2005-05-20  Jim Meyering  <jim@meyering.net>
76985
76986         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76987         Now a macro, to pacify GCC.
76988
76989 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76990
76991         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76992         of -1.
76993
76994 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76995
76996         * lib/chown.c (rpl_chown): Return -1 on failure.
76997
76998 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76999
77000         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
77001         Don't check for stddef.h.
77002         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
77003         don't use its results.
77004         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
77005         since we include them unconditionally.  Don't require
77006         AM_STDBOOL_H, since stdbool is a prerequisite.
77007         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
77008         since we assume C89 or better.
77009         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
77010         as we don't use their results.
77011         Don't check for fchdir, memmove, memset, strrchr, as we use
77012         them unconditionally.
77013         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
77014         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
77015
77016 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
77017
77018         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
77019         Include <stddef.h> unconditionally, since we assume C89 now.
77020         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
77021         * lib/fts.c: Include fts_.h first, to check interface.
77022         Do not include intprops.h; no longer needed.
77023         Include cycle-check.h and hash.h, since fts_.h no longer does.
77024         Remove unnecessary casts of closedir to void.
77025         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
77026         decide whether to decrement nlinks.
77027         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
77028         (FTS): Use struct hash_table * instead of Hash_table, so that
77029         we no longer need to include hash.h here.
77030
77031 2005-05-18  Jim Meyering  <jim@meyering.net>
77032
77033         * modules/dirfd (License): Change to LGPL.  Most of the code
77034         is already in the public domain.
77035
77036 2005-05-18  Jim Meyering  <jim@meyering.net>
77037
77038         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
77039         Reported by Yoann Vandoorselaere.
77040
77041 2005-05-17  Jim Meyering  <jim@meyering.net>
77042
77043         * m4/fts.m4: New file, from coreutils.
77044
77045 2005-05-17  Jim Meyering  <jim@meyering.net>
77046
77047         * lib/fts.c, lib/fts_.h: New files, from coreutils.
77048
77049 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77050
77051         Sync from coreutils.
77052         * m4/unlinkdir.m4: New file.
77053
77054 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77055
77056         Sync from coreutils.
77057         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
77058         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
77059         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
77060         White space changes only.
77061         * lib/makepath.c (make_path): Port to hosts where leading "//" is
77062         special.
77063         * lib/yesno.c: Include getline.h, not ctype.h.
77064         (yesno): Don't remove leading white space; POSIX doesn't allow it.
77065         Use getline to remove arbitrary restriction on response length.
77066
77067 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77068
77069         * config/srclist-update: Spell out "Street" in FSF postal
77070         mail address; this is the style the FSF seems to prefer.
77071
77072         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
77073         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
77074         this updates FSF postal mail address.
77075
77076         Sync from coreutils.
77077         * modules/unlinkdir: New file.
77078         * modules/yesno (Depends-on): Add getline.
77079         * MODULES.html.sh (File system functions): Add unlinkdir.
77080
77081 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77082
77083         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
77084         lib/strsep.h:
77085         Change the initial comment to refer to GPL, not LGPL.
77086         gnulib-tool will change it to LGPL as needed.
77087
77088         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
77089         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
77090         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
77091         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
77092         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
77093         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
77094         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
77095         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
77096         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
77097         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
77098         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
77099         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
77100         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
77101         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
77102         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
77103         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
77104         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
77105         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
77106         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
77107         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
77108         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
77109         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
77110         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
77111         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
77112         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
77113         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
77114         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
77115         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
77116         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
77117         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
77118         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
77119         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
77120         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
77121         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
77122         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
77123         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
77124         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
77125         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
77126         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
77127         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
77128         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
77129         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
77130         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
77131         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
77132         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
77133         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
77134         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
77135         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
77136         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
77137         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
77138         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
77139         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
77140         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
77141         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
77142         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
77143         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
77144         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
77145         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
77146         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
77147         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
77148         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
77149         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
77150         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
77151         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
77152         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
77153         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
77154         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
77155         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
77156         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
77157         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
77158         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
77159         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
77160         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
77161         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
77162         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
77163         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
77164         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
77165         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
77166         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
77167         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
77168         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
77169         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
77170         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
77171         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
77172         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
77173         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
77174         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
77175         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
77176         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
77177         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
77178         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
77179         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
77180         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
77181         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
77182         lib/yesno.c, lib/yesno.h:
77183         Update FSF postal mail address.
77184
77185 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
77186
77187         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
77188         tests/test-memmem.c, tests/test-stpncpy.c:
77189         Update FSF postal mail address.
77190
77191 2005-05-13  Bruno Haible  <bruno@clisp.org>
77192
77193         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
77194         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
77195         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
77196         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
77197         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
77198         Add support for 64-bit integers in the MSVC compiler.
77199
77200 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77201
77202         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
77203
77204 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
77205
77206         * gnulib-tool (func_import): Sort and uniquify recommended includes.
77207
77208 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
77209
77210         * doc/getdate.texi (General date syntax): Don't say that date
77211         date --iso-8601=ns generates acceptable dates; it doesn't yet.
77212         Problem reported by Nic Ferrier.
77213
77214 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77215
77216         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
77217         specified in ai_socktype. Fix invalid ai_protocol
77218         check. ai_protocol is usually set to 0 or depending on
77219         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
77220         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
77221         ai_socktype / ai_protocol in the returned addrinfo structure.
77222
77223 2005-05-10  Simon Josefsson  <jas@extundo.com>
77224
77225         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
77226         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77227
77228 2005-05-10  Karl Berry  <karl@gnu.org>
77229
77230         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
77231         (from http://www.gnu.org/licenses).
77232         * doc/COPYING.LIB: also rename to COPYING.LESSER.
77233         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
77234         fdl.texi suffices.
77235
77236 2005-05-10  Karl Berry  <karl@gnu.org>
77237
77238         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
77239         (COPYING.DOC): remove.
77240
77241         * config/srclist-update: new FSF address.
77242
77243 2005-05-10  Derek Price  <derek@ximbiot.com>
77244
77245         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
77246         possible.
77247
77248 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77249             Bruno Haible  <bruno@clisp.org>
77250
77251         * modules/inet_ntop: New file.
77252         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77253         inet_ntop.
77254
77255 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77256             Bruno Haible  <bruno@clisp.org>
77257
77258         * m4/inet_ntop.m4: New file.
77259
77260 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77261             Bruno Haible  <bruno@clisp.org>
77262
77263         * lib/inet_ntop.h: New file.
77264         * lib/inet_ntop.c: New file, from glibc with modifications.
77265
77266 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
77267
77268         * modules/time_r (License): Change to LGPL.
77269         * modules/extensions (License): Change to LGPL.  Actually,
77270         the license is more permissive than that, but currently gnulib-tool
77271         doesn't know how to handle more-permissive licenses.
77272
77273         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
77274         Problem reported by Dave Love.
77275
77276 2005-05-08  Jim Meyering  <jim@meyering.net>
77277
77278         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
77279         blank.
77280
77281 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77282
77283         * modules/argmatch (Depends-on): Add stdbool.
77284         * modules/backupfile (Depends-on): Likewise.
77285         * modules/chdir-long (Depends-on): Likewise.
77286         * modules/closeout (Depends-on): Likewise.
77287         * modules/cycle-check (Depends-on): Likewise.
77288         * modules/dirname (Depends-on): Likewise.
77289         * modules/fnmatch (Depends-on): Likewise.
77290         * modules/fsusage (Depends-on): Likewise.
77291         * modules/fwriteerror (Depends-on): Likewise.
77292         * modules/getcwd (Depends-on): Likewise.
77293         * modules/getloadavg (Depends-on): Likewise.
77294         * modules/hard-locale (Depends-on): Likewise.
77295         * modules/makepath (Depends-on): Likewise.
77296         * modules/mountlist (Depends-on): Likewise.
77297         * modules/nanosleep (Depends-on): Likewise.
77298         * modules/posixtm (Depends-on): Likewise.
77299         * modules/quotearg (Depends-on): Likewise.
77300         * modules/readtokens (Depends-on): Likewise.
77301         * modules/readtokens0 (Depends-on): Likewise.
77302         * modules/readutmp (Depends-on): Likewise.
77303         * modules/save-cwd (Depends-on): Likewise.
77304         * modules/strftime (Depends-on): Likewise.
77305         * modules/userspec (Depends-on): Likewise.
77306         * modules/utimecmp (Depends-on): Likewise.
77307         * modules/xgetcwd (Depends-on): Likewise.
77308         * modules/xnanosleep (Depends-on): Likewise.
77309         * modules/xstrtod (Depends-on): Likewise.
77310         * modules/yesno (Depends-on): Likewise.
77311
77312 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
77313
77314         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
77315         needless checks.
77316
77317 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77318
77319         Merge from coreutils.  Among other things,
77320         add bulletproofing for cases where stdin, stdout, or stderr are closed.
77321         * lib/fd-safer.c: New file.
77322         * lib/fcntl-safer.h, open-safer.c: Remove.
77323         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
77324         * lib/dup-safer.c: Include unistd-safer.h first.
77325         Don't include errno.h.
77326         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
77327         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
77328         * lib/file-type.c: Rely on file-type.h change.
77329         * lib/getloadavg.c: Include unistd-safer.h.
77330         (getloadavg): Use safer open.
77331         * lib/getusershell.c: Include "stdio-safer.h".
77332         (getusershell): Use safer fopen.
77333         * lib/long-options.c (long_options): Use NULL rather than 0.
77334         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
77335         'free'.
77336         * lib/modechange.c: Likewise.
77337         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
77338         (MODE_DONE): New constant.
77339         (struct mode_change): Remove 'next' member.
77340         (make_node_op_equals): New function; like the old one of the
77341         same name, except it allocates an array.
77342         (mode_compile, mode_create_from_ref): Use it.
77343         (mode_compile): Allocate result as an array, not a linked list.
77344         Parse octal string ourself, so that we catch mistakes like "+0".
77345         (mode_adjust): Arg is an array, not a linked list.
77346         * lib/modechange.c: Include stat-macros.h, xalloc.h.
77347         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
77348         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
77349         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
77350         Remove.  This is now stat-macros.h's job.
77351         (talloc): Remove.  All callers replaced by xalloc, so that
77352         our invokers don't have to worry about reporting memory failures.
77353         (make_node_op_equals): Remove.
77354         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77355         New constants.
77356         (struct mode_change): Moved here from modechange.h.
77357         (mode_append_entry): Remove.
77358         (mode_compile): Remove MASKED_OPS arg, since it encouraged
77359         apps to have incorrect behavior.  Use simpler algorithm for head
77360         and tail.  Don't futz with umask; that's now the job of mode_adjust.
77361         Detect more invalid usages rather than having somewhat-random behavior.
77362         Don't insert an "a=" action, as that leads to incorrect behavior.
77363         (mode_compile, mode_create_from_ref): Return NULL on error instead
77364         of an enum, since now there's only one way to have an error.  All
77365         callers changed.
77366         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
77367         at the correct time.  Simplify calculation of "+u" and its ilk.
77368         Don't mishandle "+X".
77369         (mode_free): Remove "register" and localize decls.
77370         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77371         (struct mode_change): Move to modechange.c; callers don't
77372         need to see this stuff.
77373         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
77374         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
77375         (mode_change, mode_adjust): Reflect the new signatures noted above.
77376         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
77377         that might redefine system include files.
77378         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
77379         (my_usleep): Use NULL rather than (void *) 0.
77380         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
77381         Use siginterrupt to specify that system calls should be interrupted.
77382         (rpl_nanosleep): Move initialization of suspended closer to call of
77383         my_usleep.
77384         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
77385         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
77386         (desirable_utmp_entry): New function.
77387         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
77388         using x2nrealloc, to simplify logic.
77389         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
77390         size calculation.  Do not assume utmp file is a regular file.
77391         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
77392         (READ_UTMP_CHECK_PIDS): New constant.
77393         * lib/save-cwd.c: Include unistd-safer.h.
77394         (save_cwd): Use fd_safer.
77395         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
77396         [!_LIBC] Include "stat-macros.h" instead.
77397         * lib/unistd-safer.h (fd_safer): New decl.
77398
77399 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77400
77401         * modules/getloadavg (Depends-on): Add unistd-safer.
77402         * modules/getusershell (Depends-on): Add stdio-safer.
77403         * modules/lstat (Depends-on): Remove xalloc.
77404         * modules/mkstemp (Depends-on): Add stat-macros.
77405         * modules/modechange (Depends-on): Remove xstrtol.
77406         Add stat-macros, xalloc.
77407         * modules/save-cwd (Depends-on): Add unistd-safer.
77408         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77409         * modules/unistd-safer (Files): Add lib/fd-safer.c
77410         (Makefile.am): Remove lib_SOURCES.
77411
77412         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77413         Remove fcntl-safer; unistd-safer supersedes it.
77414
77415 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77416
77417         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77418         AC_HEADER_STAT.
77419         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77420         (gl_PREREQ_CHOWN): Remove.
77421         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77422         it.  Don't require AC_HEADER_STAT.
77423         (gl_PREREQ_LSTAT): Remove.
77424         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77425         Don't require AC_HEADER_STAT.
77426         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77427         (gl_PREREQ_RMDIR): Remove.
77428         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77429         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77430         the stat-macros module a prerequisite.
77431         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77432         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77433         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77434         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77435         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77436         variable names.
77437         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77438         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77439         variable prefixes.
77440         * m4/fcntl-safer.m4: Remove.
77441         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77442         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77443         Invoke gl_PREREQ_FD_SAFER.
77444         (gl_PREREQ_FD_SAFER): New macro.
77445         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77446         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77447         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77448         Remove duplicate call to AC_LIBOBJ(readutmp).
77449         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77450
77451         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77452         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77453
77454 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77455
77456         * MODULES.html.sh (Misc): Add byteswap.
77457
77458 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77459
77460         * modules/getcwd (Depends-on): Add extensions.
77461         * modules/openat (Depends-on): Likewise.
77462
77463 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77464
77465         * modules/byteswap: New file.
77466
77467 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77468
77469         * m4/byteswap.m4: New file.
77470
77471 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77472
77473         * lib/byteswap_.h: New file.
77474
77475 2005-04-25  Karl Berry  <karl@gnu.org>
77476
77477         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77478
77479 2005-04-25  Albert Chin  <china@thewrittenword.com>
77480
77481         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77482         Toolkit C bug.
77483
77484 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77485
77486         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77487         (func_ln_if_changed): Remove forcibly for no error message
77488         in case file does not exist.
77489
77490 2005-04-19  Simon Josefsson  <jas@extundo.com>
77491
77492         * gnulib-tool (Options): Make --symlink mean --symbolic.
77493
77494 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77495
77496         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77497
77498 2005-04-16  Simon Josefsson  <jas@extundo.com>
77499
77500         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77501
77502 2005-04-15  Simon Josefsson  <jas@extundo.com>
77503
77504         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77505
77506 2005-04-15  Simon Josefsson  <jas@extundo.com>
77507
77508         * gnulib-tool: Rename --symlink to --symbolic.
77509
77510 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77511
77512         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77513         symbolic links to files instead of copying/moving.  Add --aux-dir,
77514         specifying directory relative --dir where auxiliary build tools
77515         are placed.
77516
77517 2005-04-14  Bruno Haible  <bruno@clisp.org>
77518
77519         * modules/allocsa (License): Change to LGPL.
77520         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77521
77522 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77523
77524         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77525         that "UTC +1 second" continues to work.  Problem reported
77526         by Dmitry V. Levin.
77527         (relunit_snumber): New rule.
77528         (relunit): Use it.
77529
77530 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77531
77532         * lib/getdate.y (universal_time_zone_table): New constant.
77533         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77534         universal_time_zone_table.
77535         (lookup_zone): Prefer universal_time_zone_table to
77536         local_time_zone_table, so that "GMT" time stamps are allowed in
77537         London during the summer.  Problem reported by Ian Abbott.
77538
77539 2005-04-12  Jim Meyering  <jim@meyering.net>
77540
77541         * lib/human.c (humblock): Set *options even when returning due to
77542         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77543         warning from gcc-4.
77544
77545 2005-04-09  Jim Meyering  <jim@meyering.net>
77546
77547         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77548         -Wuninitialized: initialize tm0.tm_year.
77549
77550 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77551
77552         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77553         count, since there's no maximum.  All uses changed.
77554         Add member dsts_seen.
77555         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77556         not being INT_MAX.
77557         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77558         Use pc_rels_seen to decide whther a date is absolute.
77559
77560         * lib/getdate.y (number): Don't overwrite year.
77561         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77562         check.
77563
77564 2005-04-02  Simon Josefsson  <jas@extundo.com>
77565
77566         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77567         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77568
77569 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77570
77571         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77572         where no absolute path name can be longer than PATH_MAX.
77573
77574 2005-03-27  Jim Meyering  <jim@meyering.net>
77575
77576         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77577
77578 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77579
77580         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77581         "one's complement" -> "ones' complement" in comment, as per Knuth.
77582         "value of type" -> "type or expression" in comment.
77583         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77584
77585 2005-03-26  Jim Meyering  <jim@meyering.net>
77586
77587         Comment nits.
77588         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77589         Correct typos: s/or/of/.
77590
77591 2005-03-26  Jim Meyering  <jim@meyering.net>
77592
77593         * modules/check-include-files: Move to ../ and rename to...
77594         * check-module: ...this.
77595
77596 2005-03-25  Jim Meyering  <jim@meyering.net>
77597
77598         * modules/xvasprintf (Files): Add xalloc.h.
77599
77600 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         * modules/gettext (Files): config/config.rpath ->
77603         build-aux/config.rpath
77604         * modules/iconv (Files): Likewise.
77605         Problem reported by Oskar Liljeblad.
77606
77607 2005-03-23  Jim Meyering  <jim@meyering.net>
77608
77609         * modules/check-include-files: New script to check for
77610         missing dependencies, multiple includes, etc.
77611
77612         * modules/c-strtold (Depends-on): Add xalloc.
77613         * modules/c-strtod (Depends-on): Add xalloc.
77614         * modules/hash (Depends-on): Add xalloc.
77615         (Files): Remove lib/xalloc.h.
77616
77617         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77618         * modules/userspec (Files): Add lib/inttostr.h.
77619
77620 2005-03-23  Jim Meyering  <jim@meyering.net>
77621
77622         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77623
77624 2005-03-22  Jim Meyering  <jim@meyering.net>
77625
77626         * modules/stat-macros: New module.
77627         * modules/canonicalize, modules/euidaccess, modules/file-type,
77628         * modules/filemode, modules/lchown, modules/makepath,
77629         * modules/rmdir, modules/stat: Depend on new stat-macros module
77630         rather than listing lib/stat-macros.h manually.
77631         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77632
77633 2005-03-22  Jim Meyering  <jim@meyering.net>
77634
77635         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77636
77637 2005-03-22  Bruno Haible  <bruno@clisp.org>
77638
77639         * config/srclist.txt: Replace target directory 'config' with
77640         'build-aux'.
77641         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77642         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77643         ../build-aux/.
77644
77645 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77646
77647         * modules/chdir-long (Depends-on): Add mempcpy.
77648
77649         * modules/acl, modules/backupfile, modules/c-strtod,
77650         modules/c-strtold, modules/canon-host, modules/canonicalize,
77651         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77652         modules/exclude, modules/exitfail, modules/file-type,
77653         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77654         modules/getdate, modules/getline, modules/getpagesize,
77655         modules/getpass, modules/getugroups, modules/group-member,
77656         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77657         modules/inttostr, modules/long-options, modules/makepath,
77658         modules/md5, modules/memcasecmp, modules/memcoll,
77659         modules/modechange, modules/mountlist, modules/path-concat,
77660         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77661         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77662         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77663         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77664         modules/strftime, modules/strndup, modules/strverscmp,
77665         modules/timespec, modules/unlocked-io, modules/userspec,
77666         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77667         modules/yesno:
77668         Remove lib_SOURCES line from Makefile.am section, as this is now
77669         done automatically by the corresponding Autoconf macro.
77670
77671 2005-03-21  Jim Meyering  <jim@meyering.net>
77672
77673         Changes imported from coreutils.
77674
77675         * lib/cycle-check.c: Don't include xalloc.h.
77676
77677         * lib/path-concat.c: Don't include assert.h.
77678         (path_concat): Remove assertion that would have triggered
77679         for ABASE starting with more than one slash.
77680         Reported by Andreas Schwab.
77681
77682         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77683         properly when ABASE is an absolute file name.
77684         Correct the description of this function.
77685         Include <assert.h>.
77686         Add an assertion and a test driver.
77687         This fixes a bug introduced on 2004-07-02.
77688         Andreas Schwab reported the resulting failure of cp --parents:
77689         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77690
77691 2005-03-21  Jim Meyering  <jim@meyering.net>
77692
77693         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77694         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77695
77696 2005-03-21  Jim Meyering  <jim@meyering.net>
77697         and  Paul Eggert  <eggert@cs.ucla.edu>
77698
77699         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77700         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77701         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77702         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77703         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77704         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77705         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77706         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77707         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77708         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77709         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77710         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77711         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77712         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77713         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77714         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77715         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77716         for these modules.
77717
77718 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77721         (which shouldn't happen), generate nothing instead of returning 0
77722         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77723
77724 2005-03-16  Bruno Haible  <bruno@clisp.org>
77725
77726         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77727         HAVE_LONGLONG_64BIT.
77728
77729 2005-03-16  Bruno Haible  <bruno@clisp.org>
77730
77731         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77732         HAVE_LONGLONG_64BIT.
77733
77734 2005-03-16  Bruno Haible  <bruno@clisp.org>
77735
77736         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77737         HAVE_LONGLONG_64BIT.
77738
77739 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77740
77741         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77742         reliably distinguish strftime failure from empty output on POSIX
77743         hosts.
77744
77745 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77746
77747         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77748         (iconv_string): Don't guess a size-zero buffer, as that might cause
77749         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77750         result would be 'too large', where 'too large' is (heuristically)
77751         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77752         overflow concerns.  This will prevent some unwanted malloc failures
77753         when the inputs are very large.
77754
77755 2005-03-15  Karl Berry  <karl@gnu.org>
77756
77757         * config/srclist.txt (config.rpath): from gettext.
77758         * config/config.rpath: update.
77759
77760 2005-03-15  Bruno Haible  <bruno@clisp.org>
77761
77762         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77763         to 'negate'.
77764
77765         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77766         variable.
77767
77768         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77769         results.
77770
77771 2005-03-14  Simon Josefsson  <jas@extundo.com>
77772
77773         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77774         <fx@gnu.org>.
77775
77776 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77777
77778         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77779         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77780         intprops.h.
77781         * lib/strtol.c: Likewise.
77782
77783 2005-03-14  Jim Meyering  <jim@meyering.net>
77784
77785         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77786         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77787         to be nonzero so that we (and caller) can detect the difference
77788         between a valid zero-length expansion and an error return, even
77789         when the underlying strftime fails before writing anything into
77790         that location.
77791
77792 2005-03-14  Bruno Haible  <bruno@clisp.org>
77793
77794         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77795         Update from GNU gettext 0.14.3.
77796
77797 2005-03-10  Jim Meyering  <jim@meyering.net>
77798
77799         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77800
77801 2005-03-10  Jim Meyering  <jim@meyering.net>
77802
77803         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77804         so that this module works on systems without fchdir.
77805
77806 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77807
77808         Factor int-properties macros into a single file, except for
77809         glibc-related files.
77810         * lib/intprops.h: New file.
77811         * lib/getloadavg.c: Include it instead of limits.h.
77812         (INT_STRLEN_BOUND): Remove.
77813         * lib/human.c: Include intprops.h.
77814         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77815         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77816         302/1000.
77817         * lib/inttostr.h: Include intprops.h instead of limits.h.
77818         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77819         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77820         for consistency with intprops.h.
77821         (time_t_is_integer, twos_complement_arithmetic): Use them.
77822         * lib/sig2str.h: Include <signal.h>, intprops.h.
77823         (INT_STRLEN_BOUND): Remove.
77824         * lib/strftime.c (TYPE_SIGNED): Remove.
77825         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77826         * lib/strtol.c: Adjust comments to match intprops.h.
77827         * lib/userspec.c: Include intprops.h.
77828         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77829         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77830         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77831         instead of rolling our own expressions.
77832         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77833
77834         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77835         instead of int.
77836         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77837         the right thing even if adding 1900 would overflow.  Similarly
77838         for tm_mon + 1 and tm_yday + 1.
77839         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77840         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77841         (DO_SIGNED_NUMBER): New macro.
77842         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77843
77844 2005-03-07  Bruno Haible  <bruno@clisp.org>
77845
77846         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77847
77848 2005-03-07  Bruno Haible  <bruno@clisp.org>
77849
77850         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77851
77852 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77853
77854         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77855         (func_import): Only replace files via --import when they have actually
77856         changed.
77857
77858 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77859
77860         * m4/mmap-anon.m4: New file.
77861         * m4/pagealign_alloc.m4: New file.
77862
77863 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77864             Bruno Haible  <bruno@clisp.org>
77865
77866         * modules/pagealign_alloc: New file.
77867         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77868
77869 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77870             Bruno Haible  <bruno@clisp.org>
77871
77872         * lib/pagealign_alloc.h: New file.
77873         * lib/pagealign_alloc.c: New file.
77874
77875 2005-03-03  Bruno Haible  <bruno@clisp.org>
77876
77877         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77878         Use an all-permissive copyright notice, recommended by RMS.
77879
77880 2005-03-02  Bruno Haible  <bruno@clisp.org>
77881
77882         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77883         of AIX, the replacement has to be done only after <string.h> is
77884         included, therefore not in config.h. stpncpy.h does the replacement,
77885         and stpncpy.c uses it.
77886
77887 2005-03-02  Bruno Haible  <bruno@clisp.org>
77888
77889         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77890         stpncpy.c uses it.
77891
77892 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77893
77894         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77895         The workaround isn't strictly needed for POSIX conformance, and
77896         it's too much of a pain to configure and maintain.  We'll ask
77897         people to fix their kernels instead.
77898         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77899         (NANOSLEEP_BUG_WORKAROUND): Remove.
77900         (xnanosleep): Remove the workaround.
77901
77902 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77903
77904         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77905         Reported by Derek Price.
77906         (Include): Add "timespec.h".
77907
77908         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77909
77910 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77911
77912         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77913         to detect nanosleep bug.
77914
77915 2005-03-01  Bruno Haible  <bruno@clisp.org>
77916
77917         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77918
77919 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77920
77921         * modules/gethrxtime: New file.
77922         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77923         (Depends-on): Add gethrxtime.
77924         (configure.ac): Add gl_XNANOSLEEP.
77925         (Makefile.am): Remove lib_SOURCES line.
77926
77927 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77928
77929         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77930         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77931
77932 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77933
77934         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77935         * lib/timespec.h (gettime): Return void, since it always
77936         succeeds now.  All uses changed.
77937         * lib/gettime.c (gettime): Likewise.
77938         [HAVE_NANOTIME]: Prefer nanotime.
77939         Assume gettimeofday succeeds, as POSIX requires.
77940         Assime time () succeeds, since other code already does.
77941         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77942         (timespec_subtract): Remove.
77943         (NANOSLEEP_BUG_WORKAROUND): New constant.
77944         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77945         things considerably.  Use it only on GNU/Linux hosts, since the
77946         workaround shouldn't be needed elsewhere.
77947
77948 2005-02-24  Bruno Haible  <bruno@clisp.org>
77949
77950         * modules/gettext (Files): Add m4/glibc2.m4.
77951
77952 2005-02-24  Bruno Haible  <bruno@clisp.org>
77953
77954         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77955         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77956         * m4/progtest.m4:
77957         Update from GNU gettext 0.14.2.
77958         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77959
77960 2005-02-24  Bruno Haible  <bruno@clisp.org>
77961
77962         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77963         * lib/config.charset: Update from GNU gettext 0.14.2.
77964
77965 2005-02-24  Bruno Haible  <bruno@clisp.org>
77966
77967         * lib/gettext.h: Update from GNU gettext 0.14.2.
77968
77969 2005-02-23  Simon Josefsson  <jas@extundo.com>
77970
77971         * m4/iconvme.m4: New file.
77972
77973 2005-02-23  Jim Meyering  <jim@meyering.net>
77974
77975         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77976         change.
77977         Thanks to Bruno Haible for catching it.
77978
77979 2005-02-22  Simon Josefsson  <jas@extundo.com>
77980
77981         * modules/iconvme: New file.
77982
77983         * MODULES.html.sh: Add iconvme.
77984
77985 2005-02-22  Simon Josefsson  <jas@extundo.com>
77986
77987         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77988
77989 2005-02-22  Simon Josefsson  <jas@extundo.com>
77990
77991         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77992
77993 2005-02-22  Jim Meyering  <jim@meyering.net>
77994
77995         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77996         s/ifndef/ifdef/.
77997
77998 2005-02-20  Neil Conway  <neilc@samurai.com>
77999
78000         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
78001         returned by OSX/Darwin if the specified buffer is not large
78002         enough for the hostname.
78003
78004 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78005
78006         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
78007         pass it to _help, otherwise the latter coredumps trying to
78008         dereference state.root_argp.
78009
78010 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78011
78012         * modules/chdir-long (Depends-on): Add memrchr.
78013         * modules/memrchr (Files): Add lib/memrchr.h.
78014         (Include): "memrchr.h".
78015
78016 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78017
78018         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
78019
78020 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
78021
78022         * lib/memrchr.h: New file.
78023         * lib/chdir-long.c: Include it.
78024         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
78025         Don't bother including stddef.h.
78026
78027 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
78028
78029         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
78030         inclusion.
78031         Include <sys/types.h>, for dev_t.
78032         (ME_DUMMY, ME_REMOTE): Move from here....
78033         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
78034         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
78035         Dmitry V. Levin.
78036         Include mountlist.h first, to test the interface.
78037
78038 2005-01-29  Bruno Haible  <bruno@clisp.org>
78039
78040         * lib/progname.c (program_name): Initialize.
78041         Needed when linking statically on MacOS X.
78042
78043 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
78044
78045         Sync from coreutils.
78046         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
78047         (Depends-on): Add c-strtod.
78048         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
78049
78050 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
78051
78052         Sync from coreutils.
78053         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
78054
78055         Remove files that are specific to coreutils.
78056         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
78057
78058 2005-01-28  Bruno Haible  <bruno@clisp.org>
78059
78060         * modules/javacomp: New file.
78061         * MODULES.html.sh (Java): Add javacomp.
78062
78063 2005-01-28  Bruno Haible  <bruno@clisp.org>
78064
78065         * m4/javacomp.m4: New file, from GNU gettext.
78066
78067 2005-01-28  Bruno Haible  <bruno@clisp.org>
78068
78069         * lib/javacomp.sh.in: New file, from GNU gettext.
78070         * lib/javacomp.h: New file, from GNU gettext.
78071         * lib/javacomp.c: New file, from GNU gettext.
78072
78073 2005-01-26  Simon Josefsson  <jas@extundo.com>
78074
78075         * lib/gai_strerror.c: Use GPL in header.
78076
78077 2005-01-26  Bruno Haible  <bruno@clisp.org>
78078
78079         * modules/javaexec: New file.
78080         * MODULES.html.sh (Java): Add javaexec.
78081
78082 2005-01-26  Bruno Haible  <bruno@clisp.org>
78083
78084         * m4/javaexec.m4: New file, from GNU gettext.
78085
78086 2005-01-26  Bruno Haible  <bruno@clisp.org>
78087
78088         * lib/javaexec.sh.in: New file, from GNU gettext.
78089         * lib/javaexec.h: New file, from GNU gettext.
78090         * lib/javaexec.c: New file, from GNU gettext.
78091
78092 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78093
78094         * modules/lchown (Depends-on): Remove lchown.h
78095
78096 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78097
78098         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
78099         must be defined if the header file was not found, in order
78100         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
78101
78102 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78103
78104         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
78105         initializers for struct pentry_state.
78106         (__argp_error): Check return value of __asprintf
78107         (__argp_failure): Translate error message
78108
78109         * lib/argp-parse.c: Removed braces around the expansion of N_()
78110
78111 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78112
78113         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
78114         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
78115         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
78116         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
78117         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
78118         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
78119         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
78120         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
78121         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
78122         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
78123         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
78124         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
78125         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
78126         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
78127         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
78128         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
78129         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
78130         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
78131         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
78132         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
78133         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
78134         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
78135         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
78136         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
78137         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
78138         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
78139         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
78140         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
78141         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
78142         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
78143         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
78144         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
78145         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
78146         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
78147         xstrtol.m4, xstrtoumax.m4, yesno.m4:
78148         Use an all-permissive copyright notice, recommended by RMS.
78149
78150 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
78151
78152         * modules/chdir-long (Depends-on): Remove mempcpy.
78153
78154 2005-01-21  Jim Meyering  <jim@meyering.net>
78155
78156         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
78157         same value as for Solaris 9.
78158
78159         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
78160         component length.  This included changing the parameter to be
78161         of type `char *' rather than `char const *'.
78162         * lib/chdir-long.h (chdir_long): Update prototype.
78163
78164         * lib/openat.c (fdopendir, fstatat): New functions.
78165         * lib/openat.h: Include headers required for use of DIR and struct
78166         stat.
78167         [AT_SYMLINK_NOFOLLOW]: Define.
78168         (fdopendir, fstatat): Add prototypes.
78169
78170 2005-01-21  Bruno Haible  <bruno@clisp.org>
78171
78172         * modules/classpath: New file.
78173         * MODULES.html.sh (Java): Add classpath.
78174
78175 2005-01-21  Bruno Haible  <bruno@clisp.org>
78176
78177         * lib/classpath.h: New file, from GNU gettext.
78178         * lib/classpath.c: New file, from GNU gettext.
78179
78180 2005-01-20  Simon Josefsson  <jas@extundo.com>
78181
78182         * modules/version-etc-fsf: New file.
78183
78184 2005-01-20  Simon Josefsson  <jas@extundo.com>
78185
78186         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
78187         * lib/version-etc.c: Remove version_etc_copyright.
78188         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
78189         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
78190
78191 2005-01-20  Simon Josefsson  <jas@extundo.com>
78192
78193         * lib/base64.h (isbase64): Add.
78194
78195         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
78196         using a unsigned prototype, don't inline.
78197         (base64_decode): Use it.
78198
78199 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78200
78201         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
78202         it.
78203
78204 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78205
78206         * lib/save-cwd.c (save_cwd): Remove code to support the case
78207         where fchdir is missing or flaky.
78208
78209 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78210
78211         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
78212
78213 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
78214
78215         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
78216         AC_LIBSOURCES now does this.
78217         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
78218         with new ullong_max module.
78219
78220 2005-01-19  Bruno Haible  <bruno@clisp.org>
78221
78222         * modules/sh-quote: New file.
78223         * MODULES.html.sh (Executing programs): Add sh-quote.
78224
78225 2005-01-19  Bruno Haible  <bruno@clisp.org>
78226
78227         * lib/sh-quote.h: New file, from GNU gettext.
78228         * lib/sh-quote.c: New file, from GNU gettext.
78229
78230 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78231
78232         Merge from coreutils.
78233         * m4/ullong_max.m4: New file.
78234         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
78235         (gl_MACROS): Assume localeconv exists.
78236
78237 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78238
78239         Merge changes from coreutils, as described below in several
78240         changelogs dated today.
78241
78242         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
78243         (O_DIRECTORY): Remove; not needed here, since "." must be
78244         a directory.  All uses removed.
78245         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
78246         universal on Suns, and we also need to test for IRIX.
78247         Revamp code to use 'if' rather than '#if'.
78248         Avoid unnecessary comparison of cwd->desc to 0.
78249
78250         * lib/utimens.c (futimens): Robustify the previous patch, by checking
78251         for known valid error numbers rather than observed invalid ones.
78252
78253 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
78254
78255         * modules/ullong_max: New file.
78256
78257         * modules/chdir-long, modules/openat: New files.
78258         * modules/save-cwd (Depends-on): Depend on chdir-long.
78259         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
78260
78261 2005-01-18  Jim Meyering  <jim@meyering.net>
78262
78263         Merge from coreutils.
78264         * m4/chdir-long.m4, m4/openat.m4: New files.
78265         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
78266         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
78267         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
78268         is sane and DOES follow symlinks.  Besides, testing 20 different
78269         systems found no broken chown implementations.
78270         Prompted by a change in rsync's copy of this macro.
78271         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
78272
78273         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
78274
78275         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
78276         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
78277         NULL-means-set-to-current-time semantics.
78278         Remove temporary file immediately, rather than waiting
78279         for configure's at-exit trap code to do it.
78280
78281 2005-01-18  Jim Meyering  <jim@meyering.net>
78282
78283         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78284
78285         * lib/utimens.c (futimens): Account for the fact that futimes
78286         can also fail with errno == ENOSYS or errno == ENOENT.
78287         Patch from Dmitry V. Levin.
78288
78289         Change the name of the robust chdir function from chdir to chdir_long.
78290         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
78291         (restore_cwd): Use chdir_long, not chdir.
78292         * lib/chdir-long.c: Renamed from chdir.c.
78293         * lib/chdir-long.h: Renamed from chdir.h.
78294         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
78295         Hurd.
78296
78297 2005-01-18  Bruno Haible  <bruno@clisp.org>
78298
78299         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
78300         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
78301         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
78302         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
78303         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
78304         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
78305         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
78306         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
78307         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
78308         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
78309         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
78310         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
78311         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
78312         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
78313         Use an all-permissive copyright notice, recommended by RMS.
78314
78315 2005-01-18  Bob Proulx  <bob@proulx.com>
78316
78317         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
78318         simplify offsetof() macro construct to avoid compile failure with
78319         native HP-UX 11.0 ANSI C compiler.
78320
78321 2005-01-17  Bruno Haible  <bruno@clisp.org>
78322
78323         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
78324         redundant because stpncpy.m4 takes care of it.
78325
78326 2005-01-17  Bruno Haible  <bruno@clisp.org>
78327
78328         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
78329
78330 2005-01-17  Bruno Haible  <bruno@clisp.org>
78331
78332         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
78333         used.
78334
78335 2005-01-17  Bruno Haible  <bruno@clisp.org>
78336
78337         * lib/fwriteerror.h (fwriteerror): Change specification to include
78338         fclose.
78339         * lib/fwriteerror.c: Include <stdbool.h>.
78340         (fwriteerror): At the end, close the file stream. Record whether
78341         stdout was already closed.
78342
78343 2005-01-17  Bruno Haible  <bruno@clisp.org>
78344
78345         * lib/execute.c (environ): Declare if needed.
78346         * lib/pipe.c (environ): Likewise.
78347         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
78348
78349 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78350
78351         * modules/argp: Depend on vsnprintf
78352
78353 2005-01-10  Jim Meyering  <jim@meyering.net>
78354
78355         * modules/closeout (Depends-on): Add atexit.
78356
78357 2005-01-06  Bruno Haible  <bruno@clisp.org>
78358
78359         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
78360
78361 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78362
78363         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
78364         definitions to be after all include files, to avoid collisions.
78365         Problem reported by Bob Proulx.
78366
78367 2005-01-04  Jim Meyering  <jim@meyering.net>
78368
78369         Changes imported from coreutils.
78370         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
78371         as the mkstemp template, use a temporary directory and an
78372         8.3-friendly template to avoid trouble on systems like DJGPP.
78373         Reported by Juan M. Guerrero via Stepan Kasal.
78374         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
78375         close. Remove the temporary directory right away, rather than waiting
78376         for configure's at-exit trap code to do it.
78377         Suggestion from Stepan Kasal.
78378
78379 2005-01-01  Simon Josefsson  <jas@extundo.com>
78380
78381         * gnulib-tool: Print #include directives when --import'ing.
78382
78383 2004-12-28  Simon Josefsson  <jas@extundo.com>
78384
78385         * tests/test-base64.c: Include required header files.  Remove
78386         unused variables.
78387
78388 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78389
78390         * modules/error (Depends-on): Remove gettext.
78391
78392 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78393
78394         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
78395         not needed.  This removes a dependency on the gettext module.
78396         [defined _LIBC]: Do not include <libintl.h>; not needed.
78397
78398 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78399
78400         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
78401         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
78402
78403 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78404
78405         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
78406         HAVE_DECL_STRTOLD.
78407
78408 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78409
78410         * modules/getdate (Depends-on): Remove alloca-opt.
78411
78412 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78413
78414         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78415
78416 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78417
78418         * lib/argp-parse.c: Include <stddef.h>.
78419         (alignof, alignto): New macros.
78420         (parser_init): Don't assume that void * is aligned sufficiently
78421         for struct option.
78422
78423         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78424         need to extend the stack.
78425         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78426         large.
78427
78428 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78429
78430         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78431
78432 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78433
78434         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78435         (2004-10-24) change.  Apparently this was a false alarm.
78436
78437         * modules/getdate: Depend on alloca-opt, not alloca.
78438
78439 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78440
78441         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78442         Remove now-obsolete comment about AIX.
78443         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78444         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78445         (YYMAXDEPTH): New macro.
78446
78447 2004-12-18  Simon Josefsson  <jas@extundo.com>
78448
78449         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78450
78451 2004-12-18  Bruno Haible  <bruno@clisp.org>
78452
78453         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78454
78455 2004-12-18  Bruno Haible  <bruno@clisp.org>
78456
78457         * lib/fatal-signal.c (fatal_signals): Make non-const.
78458         (init_fatal_signals): New function.
78459         (uninstall_handlers, install_handlers): Ignore signals that were set to
78460         SIG_IGN.
78461         (at_fatal_signal): Call init_fatal_signals.
78462         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78463         SIG_IGN.
78464         Reported by Paul Eggert.
78465
78466 2004-12-18  Bruno Haible  <bruno@clisp.org>
78467
78468         * doc/alloca.texi: New file.
78469         * doc/alloca-opt.texi: New file.
78470
78471 2004-12-17  Jim Meyering  <jim@meyering.net>
78472
78473         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78474         Otherwise, install-sh could exit with improper exit status when
78475         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78476
78477 2004-12-16  Simon Josefsson  <jas@extundo.com>
78478
78479         * tests/test-base64.c: Add license.
78480
78481 2004-12-15  Stepan Kasal  <address@hidden>
78482
78483         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78484
78485 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78486
78487         * modules/getcwd (Files): Add m4/d-ino.m4.
78488         Suggested by Mark D. Baushke.
78489
78490 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78491
78492         * lib/getdate.y (textint): New member "negative".
78493         (time_zone_hhmm): New function.
78494         Expect 14 shift-reduce conflicts, not 13.
78495         (o_colon_minutes): New rule.
78496         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78497         (yylex): Set the "negative" member of signed numbers.
78498
78499 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78500
78501         * doc/getdate.texi (Time of day items, Time zone items):
78502         Describe new formats +00:00, UTC+00:00.
78503
78504 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78505
78506         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78507         spurious "-l"s.  Problem reported by Stepan Kasal.
78508
78509 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78510
78511         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78512         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78513
78514 2004-12-04  Simon Josefsson  <jas@extundo.com>
78515
78516         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78517         Vandoorselaere <yoann@prelude-ids.org>.
78518
78519 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78520
78521         Changes imported from coreutils.
78522         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78523         exist.
78524         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78525
78526 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78527
78528         Changes imported from coreutils.
78529         * lib/hard-locale.c: Assume <locale.h> exists.
78530         Include "strdup.h".
78531         (GLIBC_VERSION): New macro.
78532         (hard_locale): Assume setlocale exists.
78533         Rewrite to avoid #ifdef.
78534         Use strdup rather than malloc + strcpy.
78535         * lib/human.c: Assume <locale.h> exists.
78536         (human_readable): Assume localeconv exists.
78537
78538 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78539
78540         * modules/hard-locale (Depends-on): Add strdup.
78541
78542 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78543
78544         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78545         convert T2, not T.  (Imported from libc.)
78546
78547 2004-11-30  Simon Josefsson  <jas@extundo.com>
78548
78549         * modules/restrict (License): Change to LGPL.
78550
78551 2004-11-30  Simon Josefsson  <jas@extundo.com>
78552
78553         * m4/restrict.m4: Add copyright and copying conditions.
78554
78555 2004-11-30  Simon Josefsson  <jas@extundo.com>
78556
78557         * m4/base64.m4: New file.
78558
78559 2004-11-30  Simon Josefsson  <jas@extundo.com>
78560
78561         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78562         base64.
78563
78564         * tests/test-base64.c: New file.
78565
78566         * modules/base64: New file.
78567
78568 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78569
78570         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78571         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78572
78573         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78574
78575 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78576
78577         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78578         (__getcwd.c): Don't restore errno; glibc doesn't.
78579         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78580         first, falling back to our code only if its results look suspicious.
78581         Ensure that the resulting buffer is only as large as necessary.
78582
78583         * lib/readutmp.c: Include readutmp.h first.
78584         Include <errno.h>, since readutmp.h no longer does that.
78585         * lib/readutmp.h: Don't include <errno.h>,
78586         <sys/param.h>, <time.h>; not needed to establish interface.
78587         (errno): Remove decl.
78588         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78589         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78590         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78591
78592 2004-11-28  Simon Josefsson  <jas@extundo.com>
78593
78594         * lib/base64.h, base64.c: New file.
78595
78596 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78597
78598         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78599
78600 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78601
78602         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78603         (Depends-on): Remove pathmax, same.  Add mempcpy.
78604         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78605         (Makefile.am): Append getcwd.h to lib_SOURCES.
78606         (Include): Add getcwd.h.
78607         (Maintainer): Change from Jim Meyering to "all, glibc",
78608         since getdate now uses intended-for-glibc code.
78609         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78610         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78611
78612 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78613
78614         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78615         HP's ANSI C compiler.
78616         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78617         Declaring int functions causes warnings on some modern systems and
78618         shouldn't be needed to compile on ancient ones.
78619         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78620         defined.
78621
78622         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78623         with the following changes.
78624         (__set_errno): Parenthesize properly.
78625         Include <stdbool.h>.
78626         (MIN, MAX, MATCHING_INO): New macros.
78627         (__getcwd): Define with prototype, not K&R form.
78628         Use heuristics to allocate default buffer on stack if possible.
78629         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78630         behavior, and to avoid the PATH_MAX limit when computing
78631         ../../../../...
78632         Use MATCHING_INO to compare inode number to file.
78633         Check for arithmetic overflow in size calculations.
78634         Fix bug in reallocation of dot array that caused getcwd to fail
78635         on directories nested deeper than 75.
78636         Be more careful about saving errno on error.
78637         Do not use realloc; use only free+malloc, as this is a bit
78638         more flexible and avoids a needless copy operation.
78639         Do not inspect st_dev and st_ino for symbolic links; POSIX
78640         doesn't specify the latter.
78641         Check for closedir errors.
78642         Avoid needless casts.
78643         Use "#ifdef weak_alias" around weak_alias, to be like other
78644         glibc code.
78645         The following changes to getcwd.c have effect only when used in
78646         gnulib; they have no effect inside glibc proper.
78647         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78648         as alloca isn't used.
78649         (alloca, __alloca): Likewise.
78650         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78651         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78652         unconditionally, as gnulib assumes C89 or better.
78653         Do not include <sys/param.h>.
78654         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78655         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78656         better.
78657         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78658         Include <dirent.h> in a way that is compatible with modern Autoconf.
78659         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78660         New macros, if not already defined.
78661         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78662         Use "_LIBC", not "defined _LIBC", for consistency.
78663         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78664         a mempcpy module.
78665         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78666         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78667         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78668         credit only to Jim Meyering and adjust the copyright dates.
78669         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78670         <stdlib.h>, <unistd.h>, "pathmax.h".
78671         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78672         (INITIAL_BUFFER_SIZE): Remove.
78673         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78674
78675 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78676
78677         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78678         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78679         Use the _ONCE methods, for efficiency.
78680         Check for fcntl.h.  In test program, include <errno.h>
78681         and <fcntl.h> if available.  Remove old K&R cruft from
78682         test program.  Check for common errors in GNU/Linux,
78683         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78684         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78685         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78686         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78687         name accordingly.
78688         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78689         accommodate new getcwd.c.
78690         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78691         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78692         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78693         that's all we need now.
78694
78695 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78696
78697         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78698         argp-parse.c depends on getopt internals, that means we should
78699         always use our getopt, to be on the safe side.
78700         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78701         order not to spoil the result of an eventual previous invocation
78702         of gl_GETOPT_SUBSTITUTE.
78703
78704 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78705
78706         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78707         redefinition warnings. To avoid them, include the defines
78708         in `#if !defined __need_getopt ... #endif'. The only place
78709         where __getopt_argv_const is used is in definitions
78710         of getopt_long and getopt_long_only below, which are as well
78711         protected by `#ifndef __need_getopt'.
78712         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78713         __need_getopt after including <stdio.h> and <unistd.h> These
78714         headers might have defined it.
78715
78716 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78717
78718         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78719
78720 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78721
78722         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78723         (futimens): New function, which uses futimes if available.
78724         (futimens, utimens): Support timespec==NULL, with same semantics
78725         as utime and utimens.
78726         * lib/utimens.h (futimens): New decl.
78727
78728 2004-11-23  Jim Meyering  <jim@meyering.net>
78729
78730         * lib/getopt_.h: Remove trailing blanks.
78731
78732 2004-11-23  Jim Meyering  <jim@meyering.net>
78733
78734         * lib/__fpending.c: Add comment.
78735
78736 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78737
78738         * modules/canonicalize (Depends-on): Add xreadlink.
78739         Problem reported by James Youngman.
78740
78741 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78742
78743         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78744         New macros.
78745         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78746         optopt): Use them instead of invoking ## directly; otherwise, the
78747         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78748
78749 2004-11-19  Bruno Haible  <bruno@clisp.org>
78750
78751         * lib/strtok_r.c: Move comments from here...
78752         * lib/strtok_r.h: ... to here.
78753
78754 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78755
78756         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78757         implementations that mishandle size_t overflow.
78758
78759 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78760
78761         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78762         might fail.  Problem reported by Yoann Vandoorselaere.
78763         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78764         implementations that mishandle size_t overflow.
78765
78766 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78767
78768         * modules/canon-host (Depends-on): Add strdup.
78769
78770 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78771
78772         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78773
78774 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78775
78776         * lib/canon-host.c: Include "strdup.h".
78777         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78778         Use strdup instead of malloc/strcpy to duplicate strings.
78779
78780         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78781         (human_space_before_unit): New constant.
78782         * lib/human.c (human_readable): Support it.
78783
78784         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78785         (xgetcwd): Set errno correctly when failing.
78786         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78787         the failure is actually due to a PATH_MAX problem.
78788
78789         Further getopt changes to make it more likely that glibc will
78790         buy the changes back.
78791         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78792         (getopt): Use it, so to preserve glibc semantic
78793         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78794         when compiling for libc.
78795         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78796         (getopt_long, getopt_long_only): Use it.
78797
78798         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78799         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78800         (getopt): Argv is now char * const *, as per standard.
78801         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78802         not char *__getopt_argv_const *.
78803         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78804         _getopt_long_only_r): Likewise.
78805         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78806         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78807         _getopt_long_r, _getopt_long_only_r): Likewise.
78808         * lib/getopt_.h (__getopt_argv_const): Remove.
78809         (getopt): Argv is now char * const *, as per standard.
78810
78811         * lib/getdate.y (tORDINAL): New token.
78812         (day, relunit): Allow it for relative times.
78813         (relative_time_table): Use tORDINAL for ordinals.
78814
78815 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78816
78817         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78818         Document that "second" isn't allowed as an ordinal number.
78819
78820 2004-11-16  Jim Meyering  <jim@meyering.net>
78821
78822         * modules/closeout (Depends-on): Add fpending.
78823
78824 2004-11-15  Jim Meyering  <jim@meyering.net>
78825
78826         * lib/closeout.c: Include "__fpending.h" once again.
78827         Include <stdbool.h>.
78828         (close_stdout): Don't fail just because stdout was closed initially,
78829         since some programs don't write to stdout in the normal course of
78830         operation (other than --version and --help), and we don't want this
78831         function to make e.g. `touch file >&-' fail.
78832         But do fail if it was closed and someone has tried to write to it.
78833         E.g., `printf foo >&-' must fail.
78834
78835 2004-11-13  Jim Meyering  <jim@meyering.net>
78836
78837         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78838
78839 2004-11-12  Simon Josefsson  <jas@extundo.com>
78840
78841         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78842         small doc fix is still pending.
78843
78844 2004-11-11  Simon Josefsson  <jas@extundo.com>
78845
78846         * modules/strtok_r: New file.
78847
78848         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78849         strtok_r.
78850
78851 2004-11-11  Simon Josefsson  <jas@extundo.com>
78852
78853         * m4/strtok_r.m4: New file.
78854
78855         * m4/getopt.m4: Replace opterr.
78856
78857 2004-11-11  Simon Josefsson  <jas@extundo.com>
78858
78859         * lib/strtok_r.h, strtok_r.c: New file.
78860
78861 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78862
78863         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78864         of replacing opterr, getopt, etc.  This should handle the
78865         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78866
78867 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78868
78869         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78870         we can stop lying to compilers about the constness of argv when we
78871         are compiled outside glibc.
78872         (getopt, getopt_long, getopt_long_only): Use it.
78873         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78874         _getopt_internal, getopt): Likewise.
78875         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78876         _getopt_long_only_r): Likewise.
78877         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78878         _getopt_long_r, _getopt_long_only_r): Likewise.
78879
78880         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78881         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78882         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78883         the other external symbols.
78884         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78885         declaration, since the above renaming now works around collisions.
78886
78887 2004-11-11  Jim Meyering  <jim@meyering.net>
78888
78889         * lib/linebreak.c: Remove trailing blanks.
78890         * lib/alloca_.h: Likewise.
78891         * lib/acosl.c: Likewise.
78892         * lib/euidaccess.c: Likewise.
78893         * lib/allocsa.h: Likewise.
78894
78895 2004-11-10  Simon Josefsson  <jas@extundo.com>
78896
78897         * m4/getaddrinfo.m4: New file.
78898
78899 2004-11-10  Simon Josefsson  <jas@extundo.com>
78900
78901         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78902
78903 2004-11-10  Simon Josefsson  <jas@extundo.com>
78904
78905         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78906         getaddrinfo.
78907
78908         * modules/getaddrinfo: New file.
78909
78910 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78911
78912         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78913
78914 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78915
78916         * lib/mktime.c (SHR): New macro, which is a portable
78917         substitute for >> that should work even on Crays.
78918         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78919         Problem reported by Mark D. Baushke in
78920         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78921         * lib/getdate.y (SHR): Likewise.
78922         (tm_diff): Use it.
78923         * lib/strftime.c (SHR): Likewise.
78924         (tm_diff): Use it.
78925         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78926         quote_these_too, so that right shifts are well defined.  All uses
78927         changed.
78928
78929 2004-11-10  Jim Meyering  <jim@meyering.net>
78930
78931         Ensure that no close failure goes unreported.
78932         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78933         return early when it seems there's nothing to flush.
78934         Don't include __fpending.h.
78935
78936 2004-11-10  Jim Meyering  <jim@meyering.net>
78937
78938         * modules/closeout (Depends-on): Remove fpending.
78939
78940 2004-11-10  Jim Meyering  <jim@meyering.net>
78941
78942         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78943
78944 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78945
78946         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78947         gl_FUNC_STRFTIME.
78948         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78949         and AC_REQUIRE when possible, to avoid duplicate checks.
78950         Check for <wchar.h>.
78951
78952 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78953
78954         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78955
78956 2004-11-09  Bruno Haible  <bruno@clisp.org>
78957
78958         * m4/sockpfaf.m4: New file.
78959
78960 2004-11-05  Bruno Haible  <bruno@clisp.org>
78961
78962         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78963         Reported by Mark D. Baushke <mdb@cvshome.org>.
78964
78965 2004-11-04  Bruno Haible  <bruno@clisp.org>
78966
78967         2004-09-11  Bruno Haible  <bruno@clisp.org>
78968                 * allocsa.valgrind: New file.
78969         2004-02-06  Bruno Haible  <bruno@clisp.org>
78970                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78971                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78972                 Reported by Christopher Seip <chris.seip@hp.com>.
78973
78974 2004-11-04  Bruno Haible  <bruno@clisp.org>
78975
78976         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78977         (Makefile.am): Distribute it.
78978
78979 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78980
78981         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78982         with errno == ERANGE if the buffer is too small.
78983         Problem reported by Mark D. Baushke.
78984
78985 2004-11-03  Albert Chin  <china@thewrittenword.com>
78986             Paul Eggert  <eggert@cs.ucla.edu>
78987
78988         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78989         equivalent, substitute $ac_type for equivalent type rather than
78990         blindly using uint32_t *always* which won't work if uint32_t is not
78991         available.  Define _UINT32_T to work around typedef of uint32_t if
78992         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78993         2.5.1.
78994
78995 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78996
78997         * m4/jm-macros.m4: Sync from coreutils.
78998         (gl_MACROS): Check for mbrlen, for pathchk.
78999         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
79000
79001 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79002
79003         * lib/xreadlink.c (MAXSIZE): New macro.
79004         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
79005         size does not exceed MAXSIZE.  Avoid cast.
79006         As suggested by Mark D. Baushke in
79007         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
79008         if readlink fails with buffer size just under MAXSIZE, try again
79009         with MAXSIZE.
79010
79011 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79012
79013         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
79014
79015 2004-11-02  Derek R. Price  <derek@ximbiot.com>
79016         and  Paul Eggert  <eggert@cs.ucla.edu>
79017
79018         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
79019         (get_date): Overparenthesize to avoid GCC warning.
79020
79021 2004-11-02  Bruno Haible  <bruno@clisp.org>
79022
79023         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
79024         returns void.
79025
79026 2004-11-02  Bruno Haible  <bruno@clisp.org>
79027
79028         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
79029         function returns void.
79030
79031 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
79032
79033         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
79034         fflush_unlocked, flockfile, funlockfile, funlockfile,
79035         fputs_unlocked, putc_unlocked.
79036
79037 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
79038
79039         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
79040         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
79041         already declared.
79042
79043 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79044
79045         * modules/getdate (Files): Add doc/getdate.texi.
79046         (Depends-on): Add setenv, xalloc.
79047
79048 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79049
79050         * lib/getdate.y: Add support for TZ="foo" within a date string.
79051         Fix some bugs near time_t boundaries.  Reject dates with
79052         out-of-range components, e.g., "Sept 31".
79053         Include <stdlib.h>, "setenv.h", "xalloc.h".
79054         (ISDIGIT_LOCALE): Remove; unused.
79055         Note that the TZ and time functions used here are not reentrant.
79056         (mktime_ok, get_tz): New functions.
79057         (TZBUFSIZE): New constant.
79058         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
79059         This requires that we sometimes generate our own TZ="XXX..." setting.
79060
79061 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79062
79063         * doc/getdate.texi: New file, from coreutils with modifications for
79064         the new TZ parsing.
79065
79066 2004-10-27  Derek R. Price  <derek@ximbiot.com>
79067
79068         * lib/mktime.c (not_equal_tm): Remove redundant check.
79069
79070 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
79071
79072         * modules/regex (lib_SOURCES): Add regex.c.
79073         Reported by James Youngman in
79074         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
79075
79076 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * lib/getdate.y: Use Bison 1.875 features, and some minor
79079         code cleanups.  This change does not affect semantics.
79080         Don't include <stdlib.h>; no longer needed.
79081         Don't include unlocked-io.h; only the "#if TEST" code uses
79082         stdio, and performance isn't crucial there.
79083         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
79084         Bison 1.875 features as described below.
79085         All uses of "PC." replaced by "pc->".
79086         (YYSTYPE): Add a forward declaration.
79087         (yylex, yyerror): Use full prototypes in forward decls.
79088         Use "%pure-parser" rather than obsolescent "%pure_parser".
79089         Use %parse-param and %lex-param instead of obsolescent
79090         YYPARSE_PARAM and YYLEX_PARAM.
79091         (meridian_table, month_and_day_table, time_units_table,
79092         relative_time_table, time_zone_table, military_table,
79093         lookup_zone, lookup_word, get_date):
79094         Use NULL instead of 0 where appropriate.
79095         (to_hour): Avoid abort (), to avoid a dependency on
79096         stdlib.h.
79097         (yyerror, yylex): Now accepts parser_control * arg.
79098         (main) [TEST]: Use '\0' rather than 0 for char.
79099
79100 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
79101
79102         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
79103
79104 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
79107         It's now the caller's responsibility to handle the case where
79108         !HAVE_GETPAGESIZE && !defined getpagesize.
79109
79110         * lib/mktime.c (leapyear): Arg is long int, not int.
79111
79112 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
79115
79116 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
79117
79118         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
79119         missing.  Problem reported by James Youngman.
79120
79121 2004-10-16  Simon Josefsson  <jas@extundo.com>
79122
79123         * gnulib-tool: Fix comments.  Fix parse problem.
79124         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
79125
79126 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
79127
79128         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
79129         implementation of getopt_long.  Problem reported by Alexander Taler in:
79130         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
79131
79132 2004-10-15  Bruno Haible  <bruno@clisp.org>
79133
79134         * gnulib-tool: Untabify. Initialize supplied_libname.
79135         (func_usage): More homogenous output.
79136         (func_modules_transitive_closure, func_modules_to_filelist,
79137         func_emit_lib_Makefile_am): New functions.
79138         (func_import): New function, extracted from big case statement. Use
79139         func_get_license, func_modules_transitive_closure,
79140         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
79141         opt_lgpl. Don't use test -a, as it's not portable.
79142         (func_create_testdir): Use func_modules_transitive_closure,
79143         func_modules_to_filelist, func_emit_lib_Makefile_am.
79144
79145 2004-10-15  Bruno Haible  <bruno@clisp.org>
79146
79147         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
79148
79149 2004-10-15  Bruno Haible  <bruno@clisp.org>
79150
79151         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
79152         the portions belonging to each module.
79153         Suggested by Derek Robert Price <derek@ximbiot.com>.
79154
79155 2004-10-12  Simon Josefsson  <jas@extundo.com>
79156
79157         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
79158         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
79159         to real functions.
79160
79161 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79162
79163         * modules/vsnprintf: New file.
79164
79165 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79166
79167         * m4/vsnprintf.m4: New file.
79168
79169 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79170
79171         * lib/vsnprintf.h: New file.
79172         * lib/vsnprintf.c: New file.
79173
79174 2004-10-11  Bruno Haible  <bruno@clisp.org>
79175
79176         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
79177         vsnprintf.
79178
79179 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79180
79181         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
79182
79183 2004-10-07  Bruno Haible  <bruno@clisp.org>
79184
79185         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
79186         fits into the provided buffer.
79187
79188 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79189
79190         * lib/diacrit.c, diacrit.h: Add GPL notice.
79191
79192         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
79193         notice.
79194         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
79195         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
79196         This avoids a potential constant-folding bug.
79197
79198 2004-10-05  Bruno Haible  <bruno@clisp.org>
79199
79200         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
79201         for the declaration of strsep.
79202
79203 2004-10-05  Bruno Haible  <bruno@clisp.org>
79204
79205         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
79206
79207 2004-10-04  Simon Josefsson  <jas@extundo.com>
79208
79209         * modules/memmem: New file.
79210         * tests/test-memmem.c: New file.
79211         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
79212
79213 2004-10-04  Simon Josefsson  <jas@extundo.com>
79214
79215         * m4/memmem.m4: New file.
79216
79217 2004-10-04  Simon Josefsson  <jas@extundo.com>
79218
79219         * lib/memmem.h: New file.
79220         * lib/memmem.c: New file, taken from glibc.
79221
79222 2004-10-04  Simon Josefsson  <jas@extundo.com>
79223
79224         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
79225         '#ifdef USE_UNLOCKED_IO'.
79226
79227 2004-10-04  Simon Josefsson  <jas@extundo.com>
79228
79229         * config/srclist.txt: Add memmem from glibc.
79230
79231 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79232
79233         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
79234
79235         * modules/argmatch, modules/argp, modules/closeout, modules/error,
79236         modules/exclude, modules/getdate, modules/getline,
79237         modules/getndelim2, modules/getpass, modules/getpass-gnu,
79238         modules/getusershell, modules/linebuffer, modules/md5,
79239         modules/mountlist, modules/posixtm, modules/readtokens,
79240         modules/readutmp, modules/regex, modules/sha1,
79241         modules/version-etc, modules/yesno:
79242         Remove dependency on unlocked-io.
79243
79244 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79245
79246         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
79247
79248         * m4/unlocked-io.m4: Add copyright notice.
79249         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
79250
79251 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79252
79253         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
79254         * lib/xmalloc.c (xmemdup): Likewise.
79255         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
79256         XFREE): Remove these long-obsolescent macros.
79257         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
79258         * lib/xstrdup.c: Remove.
79259
79260         * lib/regex.c (re_comp): Cast gettext return value to char *,
79261         Problem reported by Martin Neitzel via Mark D. Baushke.
79262
79263 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79264
79265         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
79266         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
79267         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
79268         regex.c, sha1.c, version-etc.c, yesno.c:
79269         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
79270         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
79271         the includer's responsibility.
79272
79273         Sync from coreutils.
79274
79275         * lib/modechange.c (mode_compile): Don't decrement a pointer that
79276         points to the start of a string, as the C Standard says the
79277         resulting behavior is undefined.
79278
79279         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
79280         simple -> simple_backups, numbered_existing ->
79281         numbered_existing_backups, numbered -> numbered_backups
79282         to avoid shadowing problems.  All uses changed.
79283         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
79284         * lib/backupfile.c (check_extension, numbered_backup):
79285         Rename locals to avoid shadowing 'basename'.
79286         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
79287         once.
79288
79289         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
79290         * lib/.cvsignore: Add getopt.h.
79291
79292 2004-10-04  Bruno Haible  <bruno@clisp.org>
79293
79294         * modules/README: New file.
79295         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
79296         not a module.
79297
79298 2004-10-02  Jim Meyering  <jim@meyering.net>
79299
79300         * lib/dirfd.h, getpagesize.h: Add copyright notice.
79301
79302 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79303
79304         * modules/strsep: New file.
79305
79306 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79307
79308         * m4/strsep.m4: New file.
79309
79310 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79311
79312         * lib/strsep.h: New file.
79313         * lib/strsep.c: New file.
79314
79315 2004-10-01  Simon Josefsson  <jas@extundo.com>
79316
79317         * lib/snprintf.c (snprintf): Handle size==0.
79318
79319 2004-10-01  Simon Josefsson  <jas@extundo.com>
79320             Bruno Haible  <bruno@clisp.org>
79321
79322         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
79323         (snprintf): Declare 'args'.
79324
79325 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
79326
79327         * lib/snprintf.c: Remove comments as to why each header is needed.
79328
79329 2004-10-01  Bruno Haible  <bruno@clisp.org>
79330
79331         * MODULES.html.sh: Add strsep.
79332
79333 2004-09-30  Simon Josefsson  <jas@extundo.com>
79334
79335         * modules/snprintf: New file.
79336
79337 2004-09-30  Simon Josefsson  <jas@extundo.com>
79338
79339         * m4/snprintf.m4: New file.
79340
79341 2004-09-30  Simon Josefsson  <jas@extundo.com>
79342
79343         * lib/snprintf.h, lib/snprintf.c: New files.
79344
79345 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79346
79347         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
79348         (hol_entry_help): Never translate an empty string.
79349         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
79350         * lib/argp.h (OPTION_NO_TRANS): New option.
79351
79352 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79353
79354         * modules/argp (Maintainer): Replace Simon Josefsson
79355         by Sergey Poznyakoff.
79356
79357 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79358
79359         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
79360         changes merged back into glibc.
79361
79362 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79363
79364         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
79365
79366 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79367
79368         * lib/xvasprintf.c: Include xalloc.h.
79369         (xvasprintf): Use xalloc_die, not xmalloc_die.
79370
79371 2004-09-29  Bruno Haible  <bruno@clisp.org>
79372
79373         * modules/alloca-opt: New file, derived from modules/alloca.
79374         * modules/allocsa: Depend on alloca-opt instead of alloca.
79375         * modules/setenv: Likewise.
79376         * modules/vasnprintf: Likewise.
79377         * MODULES.html.sh: Add alloca-opt.
79378
79379 2004-09-28  Simon Josefsson  <jas@extundo.com>
79380
79381         * gnulib-tool: New parameter --lgpl, to asseert that modules are
79382         LGPL, and to replace license template from GPL to LGPL.
79383
79384 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79385
79386         * modules/dummy: Change license to LGPL.
79387
79388 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79389
79390         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
79391
79392 2004-09-24  Simon Josefsson  <jas@extundo.com>
79393
79394         * modules/minmax (License): Change from GPL to LGPL.
79395
79396 2004-09-23  Simon Josefsson  <jas@extundo.com>
79397
79398         * gnulib-tool (--import): Typo.
79399
79400 2004-09-23  Simon Josefsson  <jas@extundo.com>
79401
79402         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
79403
79404 2004-09-22  Bruno Haible  <bruno@clisp.org>
79405
79406         * modules/*: Add 'License' field.
79407         * gnulib-tool: Accept --extract-license option.
79408         (func_get_license): New function.
79409
79410 2004-09-21  Bruno Haible  <bruno@clisp.org>
79411
79412         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79413         Reported by Simon Josefsson.
79414
79415 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79416
79417         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79418         gl_AC_TYPE_LONG_LONG.
79419
79420 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79421
79422         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79423
79424 2004-09-18  Simon Josefsson  <jas@extundo.com>
79425         and  Paul Eggert  <eggert@cs.ucla.edu>
79426
79427         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79428         calls with autoreconf.  Define GL_LIB.
79429
79430 2004-09-14  Karl Berry  <karl@gnu.org>
79431
79432         * config/srclist.txt: unsync setenv.c, sigh.
79433
79434 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79435
79436         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79437         Problem reported by Bruno Haible in:
79438         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79439
79440 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79441
79442         * config/srclist.txt: Comment out argp-pvh.c.
79443
79444 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79445
79446         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79447         in case some system header has #define'd it.  Problem reported by
79448         Soeren D. Schulze in
79449         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79450
79451 2004-09-09  Karl Berry  <karl@gnu.org>
79452
79453         * regex.[ch]: delete from the root.  These were supposed to be
79454                 synced with emacs cvs, but this has not happened for about
79455                 a year, and anyway nothing else uses emacs regex.[ch].
79456                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79457                 lib/regex[.ch] is untouched.
79458
79459 2004-09-09  Bruno Haible  <bruno@clisp.org>
79460
79461         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79462
79463 2004-09-09  Bruno Haible  <bruno@clisp.org>
79464
79465         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79466         modifications.
79467         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79468
79469 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79470
79471         * modules/xvasprintf: New file.
79472         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79473
79474 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79475
79476         * lib/xvasprintf.h: New file.
79477         * lib/xvasprintf.c: New file.
79478         * lib/xasprintf.c: New file.
79479
79480 2004-09-08  Bruno Haible  <bruno@clisp.org>
79481
79482         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79483
79484 2004-09-08  Bruno Haible  <bruno@clisp.org>
79485
79486         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79487         length is > INT_MAX.
79488         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79489         more.
79490
79491 2004-09-08  Bruno Haible  <bruno@clisp.org>
79492
79493         * lib/stdint_.h: New file, taken from GNU clisp.
79494
79495 2004-09-08  Bruno Haible  <bruno@clisp.org>
79496             Oskar Liljeblad  <oskar@osk.mine.nu>
79497
79498         * modules/stdint: New file.
79499         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79500
79501 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79502
79503         Import from coreutils.
79504         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79505         strings on unbounded length.  alloca's performance benefits aren't
79506         that important here.
79507         (V_STRDUP): Remove.
79508         (parse_with_separator): New function, with most of the internals
79509         of the old parse_user_spec.  Allow user to omit both user and group,
79510         for compatibility with FreeBSD.
79511         Clone only the user name, not the entire spec.
79512         Do not set *uid, *gid unless entirely successful.
79513         Avoid memory leak in some failing cases.
79514         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79515         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79516         (parse_user_spec): Rewrite to use parse_with_separator.
79517
79518 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79519
79520         * modules/userspec: Don't depend on alloca.
79521
79522 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79523
79524         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79525
79526 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79527
79528         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79529         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79530         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79531
79532 2004-08-16  Simon Josefsson  <jas@extundo.com>
79533
79534         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79535         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79536         Add --dry-run for --import.
79537         Let user provided command line parameters override configure.ac
79538         settings.
79539
79540 2004-08-12  Simon Josefsson  <jas@extundo.com>
79541
79542         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79543         as discussed with Paul Eggert in threads rooted at
79544         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79545         and
79546         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79547         Before, the test was empty, and relied on ELIDE_CODE in source
79548         code.)
79549         (gl_PREREQ_GETOPT): New macro.
79550         (gl_GETOPT): Use them.
79551
79552 2004-08-12  Simon Josefsson  <jas@extundo.com>
79553
79554         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79555         * lib/getopt_.h: Renamed from getopt.h.
79556
79557 2004-08-12  Simon Josefsson  <jas@extundo.com>
79558
79559         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79560         Change default library name from libfoo to libgnu.
79561         Now, if you have a configure.ac that says:
79562                 gl_SOURCE_BASE(gl)
79563                 gl_M4_BASE(gl/m4)
79564                 gl_MODULES(error getopt etcetera)
79565                 gl_INIT
79566         you can import all you need by running:
79567                 ../gnulib/gnulib-tool --import
79568
79569         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79570         (Makefile.am): Rewrite, use logic from argz.
79571         (Include): Use <getopt.h> instead of "getopt.h".
79572
79573 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79574
79575         * modules/argp (Files): Add m4/unlocked-io.m4.
79576         (Depends-on): Add extensions.
79577
79578 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79579
79580         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79581         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79582         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79583         Check for program_invocation_name, program_invocation_short_name,
79584         flockfile, funlockfile, features.h, _getopt_long_only_r.
79585
79586 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79589         its complicated substitute.
79590         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79591         and program_invocation_name.
79592         (__argp_basename) [!_LIBC]: Remove; the only use was
79593         replaced by its body.
79594         (__argp_short_program_name): Change condition from
79595         !defined __argp_short_program_name to
79596         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79597         to match argp-namefrob.h.
79598         (__argp_failure): Don't assume strerror_r returns char *.
79599         * lib/argp-parse.c (N_): Define unconditionally.
79600         (argp_default_options): Fill out initializers with 0 to avoid
79601         gcc warnings.
79602
79603 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79604
79605         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79606         getopt1.c.
79607
79608 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79609
79610         Merge from coreutils.
79611
79612         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79613
79614         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79615         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79616
79617 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79618
79619         Merge from coreutils.
79620
79621         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79622         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79623         for Reliant Unix 5.43.
79624
79625         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79626         (union fooround): Use uintmax_t, not long int.
79627         The rest is a merge from libc:
79628         [defined _LIBC]: Include <shlib-compat.h>.
79629         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79630
79631         * lib/settime.c (settime): Recode to avoid warning with
79632         Sun Forte C 6U2.
79633
79634         * lib/strverscmp.c: Convert to UTF-8.
79635
79636 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79637
79638         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79639         m4/uintmax_t.m4.
79640
79641 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79642
79643         * modules/xalloc-die: New file.
79644         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79645
79646         * modules/md5 (Files): Add m4/uint32_t.m4.
79647         * modules/sha1: Renamed from modules/sha.
79648         (Files):
79649         Rename lib/sha.h to lib/sha1.h.
79650         Rename lib/sha.c to lib/sha1.c.
79651         Rename m4/sha.m4 to m4/sha1.m4.
79652         (lib_SOURCES): Likewise.
79653         (configure.ac): Rename gl_SHA to gl_SHA1.
79654         (Include): sha.h -> sha1.h.
79655
79656 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79657
79658         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79659         * m4/sha1.m4: Renamed from sha.m4.
79660         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79661
79662 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79663
79664         * lib/obstack.h (obstack_empty_p):
79665         Don't assume that chunk->contents is suitably aligned.
79666         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79667         Likewise. Problem reported by Benno in
79668         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79669
79670         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79671         readable.  This could be improved further but it'd take some work.
79672
79673 2004-08-08  Simon Josefsson  <jas@extundo.com>
79674
79675         * modules/xgethostname (Depends-on): Remove exit and error (not
79676         used).
79677
79678         * modules/getpass-gnu: Add getpass.h.
79679         (Depends-on): Add stdbool.
79680         * modules/getpass: Add getpass.h.
79681
79682 2004-08-08  Simon Josefsson  <jas@extundo.com>
79683
79684         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79685         Check getpass declaration.
79686
79687 2004-08-08  Simon Josefsson  <jas@extundo.com>
79688
79689         * lib/xgethostname.c: Don't include error.h (not used).
79690
79691         * lib/getpass.h: Add.
79692         * lib/getpass.c: Include getpass.h first.
79693
79694 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79695
79696         * lib/xalloc-die.c: New file.
79697         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79698         All uses removed.
79699         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79700         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79701         xalloc-die.c.
79702         (_, N_, xalloc_die): Move to xalloc-die.c.
79703         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79704         so that we needn't mess with xalloc_msg_memory_exhausted.
79705
79706         * lib/sha1.h: Renamed from sha.h.
79707         (SHA1_H): Renamed from _SHA_H.
79708         (sha1_ctx): Renamed from sha_ctx.
79709         (sha1_init_ctx): Renamed from sha_init_ctx.
79710         (sha1_process_block): Renamed from sha_process_block.
79711         (sha1_process_bytes): Renamed from sha_process_bytes.
79712         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79713         (sha1_read_ctx): Renamed from sha_read_ctx.
79714         (sha1_stream): Renamed from sha_stream.
79715         (sha1_buffer): Renamed from sha_buffer.
79716         * lib/sha1.c: Likewise; renamed from sha.c.
79717         Do not include <sys/types.h>.
79718         Include <stddef.h> rather than <stdlib.h>.
79719
79720 2004-08-08  Bruno Haible  <bruno@clisp.org>
79721
79722         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79723         FILESYSTEM_PREFIX_LEN.
79724         * lib/progreloc.c: Likewise.
79725         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79726
79727 2004-08-06  Simon Josefsson  <jas@extundo.com>
79728
79729         * modules/progname (Depends-on): Don't depend on stdbool.
79730
79731 2004-08-06  Simon Josefsson  <jas@extundo.com>
79732
79733         * modules/getsubopt: New file.
79734         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79735         getsubopt.
79736
79737 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79738
79739         More merge from coreutils.
79740
79741         * m4/utimens.m4, m4/utimecmp.m4: New files.
79742         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79743         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79744         prereq.m4, sha.m4: Import changes from coreutils.
79745
79746 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79747
79748         More merge from coreutils.
79749         * modules/raise, modules/readtokens0, modules/utimens:
79750         * modules/utimecmp, module/xnanosleep: New files.
79751         * modules/strftime: Add lib/strftime.h.
79752         Change include from <time.h> to "strftime.h".
79753         * modules/yesno: Add lib/yesno.h.
79754         * modules/backupfile: Remove lib/addext.c.
79755         * modules/euidaccess: Add stat-macros.h.
79756         * modules/canonicalize, modules/euidaccess,
79757         modules/filemode, modules/lchown, modules/makepath,
79758         modules/rmdir, modules/stat: Likewise.
79759
79760 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79761
79762         Merge from tar.
79763         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79764         SIZE_MAX is a valid preprocessor constant.
79765         (__argp_basename): Change from "#ifndef _LIBC"
79766         to "#ifndef __argp_short_program_name", so that
79767         we don't compile these functions for tar.
79768
79769         More merges from coreutils.
79770         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79771         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79772         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79773         * lib/addext.c: Remove; no longer needed.
79774         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79775         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79776         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79777         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79778         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79779         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79780         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79781         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79782         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79783         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79784         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79785         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79786         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79787         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79788         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79789         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79790         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79791         Import changes from coreutils.
79792
79793 2004-08-05  Simon Josefsson  <jas@extundo.com>
79794
79795         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79796
79797 2004-08-05  Simon Josefsson  <jas@extundo.com>
79798
79799         * m4/getsubopt.m4: New file.
79800
79801 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79802
79803         Merge from coreutils.
79804
79805         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79806         * m4/getcwd-path-max.m4: New files.
79807
79808         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79809         FILESYSTEM_PREFIX_LEN ->
79810         FILE_SYSTEM_PREFIX_LEN.
79811         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79812         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79813         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79814         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79815
79816         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79817         prerequisite modules now handle the DOS stuff.
79818         Don't check for unistd.h.
79819
79820 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79821
79822         Merge from coreutils.
79823
79824         * lib/.gdb-history: Remove; this doesn't belong here.
79825
79826         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79827         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79828         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79829         * lib/getcwd.c: New files.
79830
79831         * lib/dirname.h: Include <stdbool.h>.
79832         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79833         for consistency with POSIX terminology.  All uses changed.
79834         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79835         (strip_trailing_slashes): Use bool for booleans.
79836         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79837
79838         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79839         sometimes returns a positive errno value even when it succeeds.
79840         (print_errno_message) [!LIBC]: Fall back on strerror if
79841         __strerror_r fails.
79842
79843         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79844         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79845         (longest_relative_suffix): New function.
79846         (path_concat): Use it.  Assume first argument is not NULL.
79847         Port to DOS.  Omit redundant separators.
79848         Report an error instead of returning NULL.
79849         Use mempcpy instead of memcpy.
79850         (xpath_concat): Remove: not declared or used.
79851
79852         * lib/same.h: Include <stdbool.h>
79853         (same_name): Return bool, not int.
79854         * lib/same.c (same_name): Likewise.
79855         (errno): Don't declare; we assume C89 or better now.
79856
79857         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79858         if not already defined.
79859
79860         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79861         * lib/dup-safer.c (errno): Likewise.
79862
79863 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79864
79865         Merge from coreutils.
79866         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79867         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79868         * modules/path-concat: Don't depend on strdup.
79869
79870 2004-08-03  Simon Josefsson  <jas@extundo.com>
79871
79872         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79873         * lib/progname.h: Don't include stdbool.h.
79874
79875 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79876
79877         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79878         * MODULES.html.sh (func_all_modules): Remove fatal.
79879
79880 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79881
79882         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79883
79884 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79885
79886         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79887         working.
79888
79889 2004-08-02  Simon Josefsson  <jas@extundo.com>
79890
79891         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79892         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79893         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79894
79895 2004-08-01  Simon Josefsson  <jas@extundo.com>
79896
79897         * lib/xgetdomainname.c: Include stdlib.h, for free().
79898
79899 2004-07-19  Bruno Haible  <bruno@clisp.org>
79900
79901         * MODULES.html.sh (func_all_modules): Add dummy.
79902
79903 2004-07-16  Simon Josefsson  <jas@extundo.com>
79904
79905         * modules/dummy: New file.
79906
79907 2004-07-16  Simon Josefsson  <jas@extundo.com>
79908
79909         * lib/dummy.c: New file.
79910
79911 2004-07-16  Bruno Haible  <bruno@clisp.org>
79912
79913         * lib/backupfile.h: Add extern "C" for C++.
79914         * lib/closeout.h: Likewise.
79915         * lib/copy-file.h: Likewise.
79916         * lib/findprog.h: Likewise.
79917         * lib/full-write.h: Likewise.
79918         * lib/pathname.h: Likewise.
79919         * lib/progname.h: Likewise.
79920         * lib/stpcpy.h: Likewise.
79921         * lib/stpncpy.h: Likewise.
79922         * lib/strcase.h: Likewise.
79923         * lib/strstr.h: Likewise.
79924         * lib/xalloc.h: Likewise.
79925
79926         * lib/mbswidth.h: Add extern "C" for C++.
79927         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79928
79929 2004-07-13  Robert Millan  <robertmh@gnu.org>
79930
79931         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79932
79933 2004-07-09  Simon Josefsson  <jas@extundo.com>
79934
79935         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79936         failed without this.)
79937
79938 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79939
79940         * modules/chown (Files): Add lib/fchown-stub.c, since
79941         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79942
79943 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79944
79945         * lib/fchown-stub.c: New file.
79946
79947 2004-06-24  Jim Meyering  <jim@meyering.net>
79948
79949         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79950
79951 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * modules/argz: Omit "#include".
79954
79955         * MODULES.html.sh (func_all_modules): Add calloc, to match
79956         2004-06-01 addition of calloc module.
79957
79958 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79959
79960         * m4/argz.m4: New file, which is autoupdated from libtool.
79961
79962 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79963
79964         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79965         libtool.
79966
79967 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79968
79969         * config/srclist-update: Don't insist on "USA." before the
79970         close-comment, as libtool omits the period and puts the */ on a
79971         separate line.
79972         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79973         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79974
79975 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79976
79977         * modules/argz: New file.
79978         * MODULES.html.sh (func_all_modules): Add argz.
79979
79980 2004-06-12  Jim Meyering  <jim@meyering.net>
79981         and  Paul Eggert  <eggert@cs.ucla.edu>
79982
79983         * modules/hash (Files): Add lib/xalloc.h.
79984         * modules/pipe (Depends-on): Add wait-process.
79985         * modules/stat (Depends-on): Add xalloc.
79986         * modules/userspec (Files): Add lib/userspec.h.
79987         * modules/xstrto
79988
79989         Upgrade from gettext-0.13.
79990         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79991         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79992         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79993
79994 2004-06-10  Jim Meyering  <jim@meyering.net>
79995
79996         * lib/calloc.c: New file.
79997
79998 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79999
80000         * lib/getdate.y (yylex): Allow space between sign and number.
80001         Problem reported by Dan Jacobson.
80002
80003 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
80004
80005         Merge from coreutils CVS.
80006
80007         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
80008         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
80009         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
80010         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
80011         xstrtol.m4: Fix copyright date and/or serial number.
80012
80013         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
80014         See if we need an fchown replacement.
80015         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
80016         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
80017         and use the replacement function if we detect either defect.
80018
80019         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
80020         gl_UTIMECMP.
80021
80022 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
80023         and  Jim Meyering  <jim@meyering.net>
80024
80025         Merge from coreutils CVS.
80026
80027         * lib/stat-macros.h: New file, with contents from file-type.h
80028         and coreutils' system.h.
80029         * lib/file-type.c: Include "stat-macros.h".
80030         * lib/file-type.h (file_type): Move all macro definitions to new file,
80031         stat-macros.h.
80032
80033         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
80034         Wrap old code with this conditional.
80035         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
80036         function that does not dereference symlinks.
80037         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
80038
80039         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
80040         dependency problems.
80041         (xreadlink): Accept new arg SIZE, for efficiency.
80042         All decls and uses changed.
80043         * lib/xreadlink.h: Include <stddef.h>, for size_t.
80044
80045         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
80046         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
80047
80048         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
80049         sysexits.h.
80050
80051 2004-06-01  Jim Meyering  <jim@meyering.net>
80052
80053         * m4/calloc.m4: New file.
80054
80055 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
80056
80057         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
80058         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
80059         Also, fix a typo in a diagnostic.
80060
80061 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
80062
80063         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
80064         or AC_FUNC_REALLOC.
80065
80066 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
80067
80068         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
80069         macros to be defined.
80070         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
80071         the allocator returns NULL because the requested size is zero.
80072
80073 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80074
80075         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
80076         var.  Add comment explaining why libc still defines it.  This
80077         merges the following patch from glibc:
80078         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
80079
80080 2004-05-20  Andreas Schwab  <schwab@suse.de>
80081
80082         * m4/free.m4: Replace free if it not known to work, not the other
80083         way round.
80084
80085 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80086
80087         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
80088         present in glibc since revision 1.1 of this file.
80089         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
80090         obstack_alignment_mask, obstack_alloc, obstack_base,
80091         obstack_blank, obstack_blank_fast, obstack_chunk_size,
80092         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
80093         obstack_grow0, obstack_init, obstack_int_grow,
80094         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
80095         obstack_next_free, obstack_object_size, obstack_ptr_grow,
80096         obstack_ptr_grow_fast, obstack_room): Remove declarations of
80097         nonexistent functions.
80098
80099 2004-05-18  Karl Berry  <karl@gnu.org>
80100
80101         * config/srclist.txt: break link for vasnprintf.c.
80102
80103 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
80104
80105         Port obstack to the AS/400, where pointers are 16 bytes wide and
80106         you cannot cast an integer to a valid pointer.  This patch is
80107         currently waiting to be integrated into glibc; see
80108         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
80109
80110         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
80111         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
80112         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
80113         (struct obstack): temp member is now a union of a pointer and
80114         an integer, instead of an integer.  All integer uses changed.
80115         This does not affect the physical layout of struct obstack,
80116         except on hosts (like the AS/400) where the size or alignment of
80117         void * is greater than that of ptrdiff_t.
80118         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
80119         __STDC__)]: Store temporary in pointer member of union, not
80120         integer member.
80121         * lib/obstack.c: Include <stddef.h>, for offsetof.
80122         (struct fooalign): Remove; it doesn't need a name.
80123         (union fooround): Change double to long double, and add void *.
80124         (DEFAULT_ALIGNMENT): Use offsetof to compute.
80125         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
80126         not a macro.  Hence the values are always int; so remove all
80127         casts-to-int in uses.
80128
80129 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
80130
80131         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
80132         we can get this patch merged into glibc.
80133
80134 2004-05-17  Derek R. Price  <derek@ximbiot.com>
80135             Paul Eggert  <eggert@cs.ucla.edu>
80136
80137         * m4/argp: Depend on alloca.
80138
80139 2004-05-17  Derek R. Price  <derek@ximbiot.com>
80140             Paul Eggert  <eggert@cs.ucla.edu>
80141
80142         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
80143         freecoding.
80144
80145 2004-05-17  Bruno Haible  <bruno@clisp.org>
80146
80147         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
80148         precision that consists of a '.' followed by an empty digit string.
80149         Patch by Tor Lillqvist <tml@iki.fi>.
80150
80151 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
80152
80153         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
80154         for backward compatibility with older code.  We need our own
80155         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
80156         it under some other name, and our alloca.h will define it.
80157
80158 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
80159             Derek Price  <derek@ximbiot.com>
80160
80161         * lib/alloca.c: Include <alloca.h>, to get our interface.
80162         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
80163         include <alloca.h> first.  Use C89 prototype for alloca; this
80164         requires including <stddef.h> for size_t.  Use extern "C" if C++.
80165         Use #elif for simplicity, since we can assume C89 now.
80166         Don't try to source the system alloca.h since it will not be found
80167         and to prevent recursively including its replacement.
80168         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
80169         * lib/regex.c: Likewise.
80170
80171 2004-05-16  Derek Price  <derek@ximbiot.com>
80172             Paul Eggert  <eggert@cs.ucla.edu>
80173
80174         getline cleanup.  This changes the getndelim2 API: both order of
80175         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
80176         no delimiter).
80177
80178         * lib/getline.c: Don't include stddef.h or stdio.h, since our
80179         interface does that.
80180         (getline): Always use getdelim, so that we don't have two
80181         copies of this code.
80182         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
80183         if available.
80184         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
80185         (GETNDELIM2_MAXIMUM): New macro.
80186         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
80187         instead of the old practice of delim2==0.  All callers changed.
80188         Return -1 on overflow, instead of returning junk.
80189         Do not set *linesize unless allocation succeeds.
80190         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
80191         that we include sys/types.h.
80192         * lib/getnline.h: Likewise.
80193         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
80194         (getndelim2): Reorder arguments.
80195         * lib/getnline.c (getnline, getndelim):
80196         Don't discard the NMAX argument.
80197         (getnline): Invoke getndelim, to avoid code duplication.
80198         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
80199         of (size_t) -1 by callers of the getnline family.
80200
80201 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80202
80203         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
80204         Check for gettimeofday.
80205         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
80206         Check for settimeofday, stime.
80207
80208 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80209
80210         * lib/nanosleep.c (suspended): Change its type from int to
80211         sig_atomic_t volatile.
80212         (first_call): Make it private to rpl_nanosleep, and have it
80213         be zero initially as that's a bit faster.
80214         (my_usleep): Round up fractional times instead of truncating them,
80215         as this is the usual meaning for 'sleep'.
80216
80217         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
80218         doesn't work.
80219         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
80220         (ENOSYS): Define if not defined.
80221         (settime): Fall back on stime if it exists and settimeofday fails.
80222         But don't bother with fallbacks if a method fails with errno == EPERM.
80223
80224 2004-05-11  Jim Meyering  <jim@meyering.net>
80225
80226         Prior to this change, the save_cwd caller required read access to the
80227         current directory on most systems (ones with the fchdir function).
80228
80229         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
80230         fails, try write-only, and finally, resort to using xgetcwd.
80231
80232 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80233
80234         * lib/obstack.c, obstack.h: Import changes from libc.
80235
80236 2004-04-28  Bruno Haible  <bruno@clisp.org>
80237
80238         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
80239         also implicitly appends .exe to executables.
80240         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
80241         accepts Windows pathnames.
80242         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80243         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80244         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
80245         Treat Cygwin like Windows, since it now accepts Windows pathnames.
80246         Reported by Derek Robert Price <derek@ximbiot.com>.
80247
80248 2004-04-21  Karl Berry  <karl@gnu.org>
80249
80250         * config/srclist.txt (localcharset.c): break sync.
80251
80252 2004-04-20  Paul Eggert  <eggert@twinsun.com>
80253
80254         * m4/host-os.m4: Add a copyright notice.
80255
80256 2004-04-20  Jim Meyering  <jim@meyering.net>
80257
80258         Change UTILS_ to gl_ in AC_DEFINE'd names.
80259         Change utils_- and jm_-prefixed variables, too.
80260         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
80261         UTILS_FUNC_MKDIR_TRAILING_SLASH.
80262         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
80263
80264         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
80265         Don't emit trailing blanks.
80266         Also rename jm_-prefixed variables to have gl_ prefix.
80267
80268         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
80269         Also rename jm_-prefixed variables to have gl_ prefix.
80270
80271         * m4/jm-macros.m4: Reflect the renamings.
80272         * m4/prereq.m4: Likewise.
80273
80274 2004-04-20  Jim Meyering  <jim@meyering.net>
80275
80276         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
80277         memory.
80278
80279 2004-04-20  Jim Meyering  <jim@meyering.net>
80280             Bruno Haible  <bruno@clisp.org>
80281
80282         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
80283         memory when realloc fails.
80284
80285 2004-04-19  Jim Meyering  <jim@meyering.net>
80286
80287         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
80288         now that readutmp.c may call `free (0)'.
80289
80290 2004-04-19  Bruno Haible  <bruno@clisp.org>
80291
80292         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
80293         * m4/inttypes_h.m4: Likewise.
80294         * m4/stdint_h.m4: Likewise.
80295         * m4/intmax_t.m4: Likewise.
80296         * m4/uintmax_t.m4: Likewise.
80297
80298 2004-04-18  Jim Meyering  <jim@meyering.net>
80299
80300         * m4/prereq.m4: Don't forbid jm_ prefix.
80301
80302         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
80303         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
80304         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
80305         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
80306         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
80307         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
80308         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
80309         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
80310         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
80311         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
80312         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
80313         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
80314         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
80315         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
80316         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
80317         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
80318         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
80319         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
80320         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
80321
80322 2004-04-18  Jim Meyering  <jim@meyering.net>
80323
80324         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
80325         failure, don't leak memory and do call END_UTMP_ENT.
80326
80327 2004-04-16  Jim Meyering  <jim@meyering.net>
80328
80329         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
80330         coreutils' stat program.
80331         (gl_PREREQ): Don't require jm_PREREQ_STAT.
80332
80333 2004-04-11  Paul Eggert  <eggert@twinsun.com>
80334
80335         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
80336         C89.
80337         (CHAR_BIT): Remove, since we assume C89.
80338         Include <stdint.h> if available, as per current Autoconf CVS advice.
80339
80340 2004-03-31  Jim Meyering  <jim@meyering.net>
80341
80342         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
80343         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
80344         * m4/xalloc.m4: Likewise.
80345
80346 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80347
80348         Merge from coreutils.
80349
80350         * m4/inttostr.m4: New file.
80351         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
80352         Require AM_STDBOOL_H and gl_TIMESPEC instead.
80353         Require gl_CLOCK_TIME.
80354         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
80355
80356 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80357
80358         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
80359         not bool, to be more consistent with Unix conventions.
80360         Suggested by Bruno Haible.
80361
80362         Merge from coreutils.
80363
80364         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
80365         * lib/umaxtostr.c: New files.
80366
80367         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
80368         the usual <time.h> dance.
80369         (get_date): Change signature to support fractional time stamps.
80370         All callers changed.
80371         * lib/getdate.y: Include "getdate.h" first, as we can now
80372         assume C89 and don't need to worry about 'const'.
80373         Similarly, include "unlocked-io.h" near start, not in middle.
80374         Include <limits.h>.
80375         (textint.value): Use long int rather than int.
80376         (textint.digits): Use size_t rather than int.
80377         (BILLION, LOG10_BILLION): New constants.
80378         (parser_control): New member rel_ns.  Members day_ordinal,
80379         time_zone, month, day, hour, minutes, rel_year, rel_month,
80380         rel_day, rel_hour, rel_minutes, rel_seconds
80381         are now long int, not int.  Member seconds is now struct timespec,
80382         not int.  New member timespec_seen.  Members dates_seen, days_seen,
80383         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
80384         not int.
80385         (%union.intval): Now long int, not int.
80386         New member timespec.
80387         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
80388         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
80389         (spec): Now is a timespec or an item list.
80390         (timespec, items): New nonterminals.
80391         (time, rel, relunit, number, get_date):
80392         Add support for fractional seconds.
80393         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
80394         (gmtime, localtime, mktime): Remove decls; not needed with C89.
80395         (to_hour): First arg is now long int, not int.
80396         (to_year): Returns long int, not int.
80397         Don't treat year -70 like 70.
80398         (tm_diff): Returns long int, not int.
80399         (lookup_word): Use bool instead of int when appropriate.
80400         (yylex): Use size_t for count, not int.
80401         Detect overflow when parsing large integer constants.
80402         Add support for fractions.
80403         (get_date): Make pointers 'const' if possible.
80404         Use more-portable code to detect integer overflow.
80405         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
80406         Don't use ctime; it's not reliable if the year has >4 digits.
80407
80408         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80409         This is for compatibility with BSD.
80410
80411         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80412         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80413         From coreutils' system.h.
80414
80415         * lib/userspec.c: Don't include "posixver.h".
80416         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80417         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80418         compatible extension.  Simplify code by removing a boolean int
80419         that was always nonzero if a string was nonnull.
80420
80421 2004-03-30  Jim Meyering  <jim@meyering.net>
80422
80423         Merge from coreutils.
80424
80425         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80426         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80427         on some systems one must include <grp.h> before it.
80428         Reported by Christian Krackowizer.
80429
80430 2004-03-30  Jim Meyering  <jim@meyering.net>
80431
80432         Merge from coreutils.
80433
80434         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80435
80436         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80437         an empty input stream.
80438
80439         * lib/readtokens.c: Include <stdbool.h>.
80440         (readtoken): Use `size_t' rather than int/long.
80441         All callers adjusted.
80442         Use `bool' rather than `int' where appropriate.
80443         Use memset rather than an explicit loop.
80444         Use x2nrealloc rather than xrealloc.
80445         Allow the use of `\0' as a delimiter.
80446         (readtokens): Likewise.
80447         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80448
80449 2004-03-30  Jim Meyering  <jim@meyering.net>
80450
80451         * m4/realloc.m4: Remove file, since now it does no more than
80452         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80453         the `configure.ac' section of module/realloc.
80454         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80455
80456 2004-03-30  Bruno Haible  <bruno@clisp.org>
80457
80458         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80459         nonnull.
80460
80461 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80462
80463         Merge changes to getloadavg.c from coreutils and Emacs.
80464
80465         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80466         Define to an expression, not to the empty string.
80467         Include cloexec.h and xalloc.h.
80468         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80469         Use set_cloexec_flag rather than rolling our own.
80470         * lib/cloexec.c, lib/cloexec.h: New files.
80471
80472 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80473
80474         * m4/cloexec.m4: New file.
80475
80476 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80477
80478         * lib/getopt.h: Sync with libc CVS.
80479
80480 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80481             Bruno Haible  <bruno@clisp.org>
80482
80483         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80484         mbswidth.
80485
80486 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80487             Bruno Haible  <bruno@clisp.org>
80488
80489         * lib/mbswidth.h: Include <wchar.h> only if
80490         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80491         <wchar.h>.
80492         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80493
80494 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80495
80496         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80497         Sync with libc CVS.
80498         * lib/getopt_int.h: New file, also synced from libc.
80499
80500 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80501
80502         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80503         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80504         Bring back getopt.c, getopt.h, getopt1.c.
80505
80506 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80507
80508         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80509         All uses changed.  Check for sa_sigaction member; this fixes
80510         a bug first reported by Jason Andrade in
80511         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80512
80513 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80514
80515         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80516         '#if' expressions.  Unlike the code it replaces, it does not
80517         depend on (defined _SC_PAGESIZE).  However, it does depend on
80518         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80519         first reported by Jason Andrade in
80520         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80521
80522 2004-02-25  Simon Josefsson  <jas@extundo.com>
80523
80524         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80525
80526 2004-02-25  Simon Josefsson  <jas@extundo.com>
80527
80528         * lib/strdup.h: New file.
80529         * lib/strdup.c: Include it.
80530         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80531         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80532
80533 2004-02-23  Karl Berry  <karl@gnu.org>
80534
80535         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80536         (from fencepost.gnu.org:/gd/gnuorg).
80537
80538 2004-02-23  Karl Berry  <karl@gnu.org>
80539
80540         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80541         * config/srclist.txt: add maintain/standards documents.
80542
80543 2004-02-18  Bruno Haible  <bruno@clisp.org>
80544
80545         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80546         Reported by Derek Robert Price <derek@ximbiot.com>.
80547
80548 2004-02-16  Karl Berry  <karl@gnu.org>
80549
80550         * config/mkinstalldirs, install-sh: update from automake.
80551
80552 2004-02-06  Karl Berry  <karl@gnu.org>
80553
80554         * m4/po.m4: update from gettext 0.14.1.
80555
80556 2004-02-06  Karl Berry  <karl@gnu.org>
80557
80558         * lib/config.charset: update from gettext 0.14.1.
80559
80560 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80561
80562         Add comments and code, prompted by suggestions from Bruno Haible
80563         for sh-quote.
80564         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80565         describing the enum quoting_style values.
80566         * lib/quotearg.c (quotearg_alloc): New function.
80567         (quotearg_buffer_restyled): Treat lone { and } as special.
80568         Treat = as special.  Work around bug with older shells
80569         that "see" a '\' that is really the 2nd byte of a multibyte char.
80570         Quote empty string with shell_quoting_style.
80571
80572 2004-02-03  Bruno Haible  <bruno@clisp.org>
80573
80574         * m4/pipe.m4: New file, from GNU gettext.
80575
80576 2004-02-03  Bruno Haible  <bruno@clisp.org>
80577
80578         * lib/pipe.h: New file, from GNU gettext.
80579         * lib/pipe.c: New file, from GNU gettext.
80580
80581 2004-01-27  Bruno Haible  <bruno@clisp.org>
80582
80583         * m4/execute.m4: New file, from GNU gettext.
80584
80585 2004-01-27  Bruno Haible  <bruno@clisp.org>
80586
80587         * lib/execute.h: New file, from GNU gettext.
80588         * lib/execute.c: New file, from GNU gettext.
80589         * lib/w32spawn.h: New file, from GNU gettext.
80590
80591 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80592
80593         Merge from diffutils.
80594
80595         * lib/file-type.c (file_type): Add typed memory objects.
80596         * lib/file-type.h (S_TYPEISTMO): New macro.
80597
80598         * lib/c-stack.h (c_stack_action): Remove argv argument.
80599         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80600         (die): Don't calculate message unless segv_action returns.
80601         (get_stack_location, min_address_from_argv, max_address_from_argv,
80602         volatile stack_base, volatile_stack_size): Remove.
80603         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80604         that every segmentation violation is a stack overflow.  (Ouch!)
80605         See Debian bug 136249 (still outstanding) for more info about why
80606         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80607
80608 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80609
80610         Exit-status fix from coreutils.
80611
80612         Use exit_failure consistently in place of EXIT_FAILURE,
80613         so that program exit statuses are consistent on failure.
80614
80615         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80616         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80617         * lib/argmatch.h: Comment fix to match the above.
80618         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80619         Now a macro referring to exit_failure, instead of a separate
80620         variable.  Include "exitfail.h" to get it.
80621         * lib/xstrtol.h: Include "exitfail.h".
80622         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80623
80624         * lib/long-options.c (parse_long_options): Use prototype
80625         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80626         for clarity.
80627
80628 2004-01-21  Jim Meyering  <jim@meyering.net>
80629
80630         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80631         so as not to conflict with a different-sized __mktime_internal
80632         function in GNU libc.
80633         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80634         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80635
80636 2004-01-20  Karl Berry  <karl@gnu.org>
80637
80638         * config/config.guess: update from config.
80639
80640         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80641
80642 2004-01-20  Bruno Haible  <bruno@clisp.org>
80643
80644         Safer stack allocation.
80645         * lib/setenv.c: Include allocsa.h.
80646         (alloca): Remove fallback definition.
80647         (freea): Remove macro.
80648         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80649         instead of freea.
80650
80651 2004-01-20  Bruno Haible  <bruno@clisp.org>
80652
80653         * m4/eealloc.m4: New file, from GNU gettext.
80654
80655 2004-01-20  Bruno Haible  <bruno@clisp.org>
80656
80657         * m4/allocsa.m4: New file, from GNU gettext.
80658
80659 2004-01-20  Bruno Haible  <bruno@clisp.org>
80660
80661         * lib/xallocsa.h: New file, from GNU gettext.
80662         * lib/xallocsa.c: New file, from GNU gettext.
80663
80664 2004-01-20  Bruno Haible  <bruno@clisp.org>
80665
80666         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80667
80668 2004-01-20  Bruno Haible  <bruno@clisp.org>
80669
80670         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80671         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80672         specially.
80673
80674 2004-01-20  Bruno Haible  <bruno@clisp.org>
80675
80676         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80677         patch.
80678
80679 2004-01-20  Bruno Haible  <bruno@clisp.org>
80680
80681         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80682
80683 2004-01-20  Bruno Haible  <bruno@clisp.org>
80684
80685         * lib/eealloc.h: New file.
80686
80687 2004-01-20  Bruno Haible  <bruno@clisp.org>
80688
80689         * lib/binary-io.h: Avoid warnings on Cygwin.
80690
80691 2004-01-20  Bruno Haible  <bruno@clisp.org>
80692
80693         * lib/allocsa.h: New file, from GNU gettext.
80694         * lib/allocsa.c: New file, from GNU gettext.
80695
80696 2004-01-18  Karl Berry  <karl@gnu.org>
80697
80698         * doc/gpl.texi, doc/lgpl.texi: new files.
80699
80700 2004-01-18  Karl Berry  <karl@gnu.org>
80701
80702         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80703         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80704
80705 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80706
80707         Merge from coreutils.
80708
80709         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80710         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80711         (gl_DEFAULT_POSIX2_VERSION): Move
80712         the documentation from 'configure' into 'config.hin',
80713         so that 'configure --help' isn't burdened by it and
80714         we don't have to worry about its formatting there.
80715         Reword the documentation so that it's more succinct
80716         and can be run together into a single paragraph.
80717         * m4/same.m4 (gl_SAME): Check for pathconf.
80718
80719 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80720
80721         Merge from coreutils.
80722
80723         * lib/posixver.c: Include posixver.h.
80724
80725         * lib/same.c: Include <stdbool.h>, <limits.h>.
80726         (_POSIX_NAME_MAX): Define if not defined.
80727         (MIN): New macro.
80728         (same_name): If file names are silently truncated, report
80729         that the file names are the same if they are the same after
80730         the silent truncation.
80731
80732         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80733         conversion function.
80734         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80735         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80736         longer needed.
80737
80738 2004-01-15  Jim Meyering  <jim@meyering.net>
80739
80740         Merge from coreutils.
80741
80742         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80743         if no library is required.
80744         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80745         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80746         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80747         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80748         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80749         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80750         value, $ac_cv_search_crypt, if it's "none required".
80751         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80752         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80753         not gl_FUNC_GETLOADAVG.
80754         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80755         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80756
80757 2004-01-15  Jim Meyering  <jim@meyering.net>
80758
80759         Merge from coreutils.
80760
80761         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80762         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80763         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80764
80765         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80766         optional configure-time default.
80767
80768         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80769
80770         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80771
80772 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80773
80774         Merge from coreutils.
80775
80776         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80777         value, $ac_cv_search_nanosleep, if it's "none required".
80778
80779 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80780
80781         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80782         with like-named macro in fnmatch.c.
80783         (EXT): Use an internal constant instead.
80784
80785         Merge fnmatch patches from glibc.
80786         * lib/fnmatch.c (mbsinit): Remove define.
80787         Add libc_hidden_ver (__fnmatch, fnmatch).
80788         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80789         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80790
80791 2004-01-14  Karl Berry  <karl@gnu.org>
80792
80793         * config/install-sh: update from automake.
80794
80795 2004-01-13  Karl Berry  <karl@gnu.org>
80796
80797         * config/install-sh: update from automake.
80798
80799 2004-01-09  Karl Berry  <karl@gnu.org>
80800
80801         * config/install-sh: update from automake.
80802
80803 2004-01-05  Karl Berry  <karl@gnu.org>
80804
80805         * config/config.{sub,guess}: update from config.
80806
80807 2003-12-31  Karl Berry  <karl@gnu.org>
80808
80809         * config/depcomp: update from automake.
80810
80811 2003-12-14  Karl Berry  <karl@gnu.org>
80812
80813         * lib/config.charset: update from gettext-runtime.
80814
80815 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80816
80817         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80818         Bug reported by Alfred M. Szmidt.
80819
80820 2003-12-03  Bruno Haible  <bruno@clisp.org>
80821
80822         * m4/gettext.m4: Upgrade from gettext-0.13.
80823         * m4/po.m4: Upgrade from gettext-0.13.
80824         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80825         * m4/intmax.m4: New file, from gettext-0.13.
80826         * m4/printf-posix.m4: New file, from gettext-0.13.
80827
80828 2003-11-29  Karl Berry  <karl@gnu.org>
80829
80830         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80831
80832 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80833             Bruno Haible  <bruno@clisp.org>
80834
80835         * lib/printf-parse.h: Don't include sys/types.h.
80836         (ARG_NONE): New macro.
80837         (char_directive): Change type of *arg_index fields to size_t.
80838         * lib/printf-parse.c: Don't include sys/types.h.
80839         (SSIZE_MAX): Remove macro.
80840         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80841         Remove unnecessary overflow check.
80842         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80843         fields.
80844
80845 2003-11-25  Bruno Haible  <bruno@clisp.org>
80846
80847         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80848
80849 2003-11-25  Bruno Haible  <bruno@clisp.org>
80850
80851         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80852         gt_TYPE_SSIZE_T.
80853
80854 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80855
80856         * modules/alloca: Remove dependency on xalloc.
80857
80858 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80859
80860         * lib/alloca.c: Remove dependency on xalloc module.
80861         (xalloc_die): Remove.
80862         (memory_full) [!defined emacs]: New macro.
80863         [!defined emacs]: Don't include xalloc.h.
80864         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80865         address arithmetic overflows.  Change datatypes a bit to avoid
80866         unnecessary casts.
80867
80868 2003-11-22  Jim Meyering  <jim@meyering.net>
80869
80870         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80871         s/size/size_t/.
80872
80873 2003-11-21  Karl Berry  <karl@gnu.org>
80874
80875         * config/config.{sub,guess}: update from config.
80876
80877 2003-11-18  Karl Berry  <karl@gnu.org>
80878
80879         * config/config.{sub,guess}: update from config.
80880
80881         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80882
80883 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80884
80885         * README: Mention that S+T cannot overflow if S is the size of
80886         an existing object and T is sufficiently small.
80887
80888 2003-11-17  Jim Meyering  <jim@meyering.net>
80889
80890         On systems without utime and without a utimes function capable of
80891         dealing with a NULL struct utimbuf* argument, this utime replacement
80892         could -- in unusual circumstances -- leak a file descriptor.
80893         * lib/utime.c: Include <unistd.h> and <errno.h>.
80894         (utime_null): Be sure to close `fd' and to preserve errno.
80895         Reported by Geoff Collyer via Arnold Robbins.
80896
80897 2003-11-17  Bruno Haible  <bruno@clisp.org>
80898
80899         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80900         (Depends-on): Add xsize.
80901
80902 2003-11-17  Bruno Haible  <bruno@clisp.org>
80903
80904         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80905
80906 2003-11-17  Bruno Haible  <bruno@clisp.org>
80907
80908         * lib/vasnprintf.c (alloca): Remove fallback definition.
80909         (freea): Remove definition.
80910         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80911         Reported by Paul Eggert.
80912
80913 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80914             Bruno Haible  <bruno@clisp.org>
80915
80916         Protect against address arithmetic overflow.
80917         * lib/printf-args.h: Include stddef.h.
80918         (arguments): Change type of field 'count' to size_t.
80919         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80920         'unsigned int' where appropriate.
80921         * lib/printf-parse.h: Include sys/types.h.
80922         (char_directive): Change type of *arg_index fields to ssize_t.
80923         (char_directives): Change type of fields 'count', max_*_length to
80924         size_t.
80925         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80926         (SSIZE_MAX): Define fallback value.
80927         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80928         instead of 'int' where appropriate. Check a_allocated, d_allocated
80929         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80930         * lib/vasnprintf.c: Include xsize.h.
80931         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80932         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80933         overflow. Avoid wraparound when converting a width or precision from
80934         decimal to binary.
80935
80936 2003-11-16  Bruno Haible  <bruno@clisp.org>
80937
80938         Update from GNU gettext.
80939         * lib/printf-parse.c: Generalize to it can be compiled for wide
80940         strings.
80941         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80942         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80943         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80944         SNPRINTF): New macros.
80945         Don't include <alloca.h> if the file is used inside libintl.
80946         (local_wcslen): New function, for Solaris 2.5.1.
80947         (VASNPRINTF): Use it instead of wcslen.
80948
80949 2003-11-16  Bruno Haible  <bruno@clisp.org>
80950
80951         * lib/xsize.h (xmax): New function.
80952         (xsum, xsum3, xsum4): Declare as "pure" functions.
80953
80954 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80955
80956         * modules/xalloc (Files): Undo latest change, since xalloc.h
80957         no longer needs SIZE_MAX or PTRDIFF_MAX.
80958
80959 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80960
80961         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80962         gl_PTRDIFF_MAX.
80963
80964 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80965
80966         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80967         "return", to pacify some unknown compiler.  Problem reported
80968         by Joerg Schilling.
80969
80970 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80971
80972         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80973         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80974         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80975         heuristic is just as accurate as far as we know, and it removes a
80976         dependency on size_max.m4 and ptrdiff_max.m4.
80977
80978 2003-11-11  Bruno Haible  <bruno@clisp.org>
80979
80980         * modules/xsize (Files): Add m4/size_max.m4.
80981         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80982
80983 2003-11-11  Bruno Haible  <bruno@clisp.org>
80984
80985         * m4/size_max.m4: New file.
80986         * m4/ptrdiff_max.m4: New file.
80987         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80988         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80989         (gl_XALLOC): Invoke it.
80990
80991 2003-11-11  Bruno Haible  <bruno@clisp.org>
80992
80993         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80994         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80995         defined.
80996
80997 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80998
80999         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
81000         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
81001         rejected some allocations of exactly SIZE_MAX - 2 bytes.
81002         From Bruno Haible.
81003         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
81004         not (size_t) -1, since it's defined here.
81005
81006 2003-11-09  Karl Berry  <karl@gnu.org>
81007
81008         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
81009
81010 2003-11-06  Paul Eggert  <eggert@twinsun.com>
81011
81012         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
81013         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
81014         Reject sizes of exactly SIZE_MAX bytes.
81015         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
81016         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
81017
81018 2003-11-05  Bruno Haible  <bruno@clisp.org>
81019
81020         * lib/xsize.h: Include limits.h, to avoid a possible collision with
81021         SIZE_MAX defined in <limits.h> on Solaris.
81022
81023 2003-11-04  Jim Meyering  <jim@meyering.net>
81024
81025         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
81026         variable names, rather than @VAR@.
81027         * modules/poll: Likewise.
81028
81029 2003-11-04  Bruno Haible  <bruno@clisp.org>
81030
81031         * modules/xsize: New file.
81032         * modules/linebreak: Depend on xsize.
81033         * MODULES.html.sh (func_all_modules): Add xsize.
81034
81035 2003-11-04  Bruno Haible  <bruno@clisp.org>
81036
81037         * m4/xsize.m4: New file.
81038
81039 2003-11-04  Bruno Haible  <bruno@clisp.org>
81040
81041         * lib/xsize.h: New file.
81042         * lib/linebreak.c: Include xsize.h.
81043         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
81044         argument for overflow.
81045         Suggested by Paul Eggert.
81046
81047 2003-11-03  Karl Berry  <karl@gnu.org>
81048
81049         * config/config.{guess,sub}: update from config.
81050
81051 2003-11-03  Jim Meyering  <jim@meyering.net>
81052
81053         * modules/userspec (lib_SOURCES): Add userspec.h.
81054         (Include): Add "userspec.h".
81055         Improve description.
81056
81057 2003-11-03  Jim Meyering  <jim@meyering.net>
81058
81059         * lib/userspec.c: Include "userspec.h".
81060         * lib/userspec.h: New file.
81061
81062 2003-11-03  Bruno Haible  <bruno@clisp.org>
81063
81064         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
81065
81066 2003-11-03  Bruno Haible  <bruno@clisp.org>
81067
81068         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
81069         available, to avoid (extremely rare) race condition.
81070         Suggested by Paul Eggert.
81071
81072 2003-11-02  Karl Berry  <karl@gnu.org>
81073
81074         * config/srclist.txt (vasprintf.c): sync broken, sigh.
81075
81076 2003-10-31  Paul Eggert  <eggert@twinsun.com>
81077
81078         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
81079         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
81080         (read_filesystem_list): Set and use me_type_malloced.
81081         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
81082         whatever the type happens to be), for brevity and consistency.
81083         Check for size calculation overflow on Alphas running OSF/1.
81084
81085 2003-10-31  Jim Meyering  <jim@meyering.net>
81086
81087         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
81088
81089         * lib/linebuffer.c: Include <string.h> for declaration of memset.
81090
81091 2003-10-30  Paul Eggert  <eggert@twinsun.com>
81092             Bruno Haible  <bruno@clisp.org>
81093
81094         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
81095         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
81096
81097 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81098
81099         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
81100         netbsd*-gnu*.  Suggested by Robert Millan.
81101
81102 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81103
81104         * modules/group-member: Depend on stdbool.
81105
81106 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81107
81108         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
81109
81110 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81111
81112         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
81113         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
81114         after the 'gnu' in these cases.  This fixes some bugs in the
81115         previous change, and is based on suggestions by Robert Millan.
81116
81117 2003-10-29  Paul Eggert  <eggert@twinsun.com>
81118
81119         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
81120         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
81121         no longer needed.
81122         * lib/quotearg.c (quotearg_n_options): Use it.
81123         * lib/group-member.c: Include <stdbool.h>.
81124         (free_group_info): Arg is now const *; don't free arg.
81125         (get_group_info): Now returns bool and accepts struct group_info *,
81126         rather than returning a malloc'ed struct group_info *.
81127         All uses changed.  Check for overflow in internal size calculation.
81128
81129         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
81130         rather than xmalloc/xrealloc.
81131         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
81132         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
81133         conformance bug: the old code used a pointer after freeing the
81134         storage that it addressed.
81135         * lib/hash.c (hash_initialize): Simplify the code by using
81136         xalloc_oversized rather than doing it by hand.
81137         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
81138         the buffer preserved.  Use free and xmalloc instead.
81139         * lib/quotearg.c (quotearg_n_options): Likewise.
81140         Use a simpler test for size overflow.  Don't use xalloc_oversized
81141         because unsigned int might be wider than size_t (!); this suggests
81142         that we should switch from unsigned int to size_t for slot numbers.
81143
81144 2003-10-28  Paul Eggert  <eggert@twinsun.com>
81145
81146         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
81147         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
81148         NetBSD kernels.  Requested by Richard Stallman.
81149
81150 2003-10-27  Paul Eggert  <eggert@twinsun.com>
81151
81152         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
81153         to allocate the returned structure.  Do not allocate a subarray,
81154         as x2nrealloc will do that.
81155         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
81156         instead of xnrealloc.
81157         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
81158
81159 2003-10-27  Bruno Haible  <bruno@clisp.org>
81160
81161         * lib/stdbool_.h: Better support for BeOS.
81162
81163 2003-10-26  Paul Eggert  <eggert@twinsun.com>
81164
81165         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
81166         now uses inline.
81167
81168 2003-10-26  Paul Eggert  <eggert@twinsun.com>
81169
81170         * lib/xalloc.h (xalloc_oversized): New static inline function, for
81171         callers that want to do their own size-overflow checking.  Include
81172         <stdbool.h>, since xalloc_oversized returns bool.
81173         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
81174         to use xalloc_oversized.
81175
81176         Add two functions x2realloc, x2nrealloc, for programs that grow
81177         arrays dynamically by doubling their sizes.
81178         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
81179         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
81180         New functions.
81181
81182         Port to C99 semantics for 'inline' of external functions.
81183         Bug reported by Bruno Haible.
81184         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
81185         with the old contents of xnmalloc.
81186         (xnmalloc, xmalloc): Use it.
81187         (xnrealloc_inline): New static inline function,
81188         with the old contents of xnrealloc.
81189         (xnrealloc, xrealloc): Use it.
81190
81191         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
81192         that.
81193
81194 2003-10-26  Karl Berry  <karl@gnu.org>
81195
81196         * config/srclist.txt (COPYING.DOC): no longer available from
81197         /gd/gnuorg; don't know where the ultimate source is.
81198
81199 2003-10-25  Paul Eggert  <eggert@twinsun.com>
81200
81201         Fix several address-calculation bugs in the hash modules,
81202         plus some minor code cleanup.
81203
81204         * lib/hash.h: Include <stdbool.h>, for bool.
81205         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
81206         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
81207         hash_get_n_entries, hash_get_max_bucket_length,
81208         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
81209         hash_rehash): Use size_t rather than unsigned.
81210         * lib/hash.c (struct hash_table, hash_get_n_buckets,
81211         hash_get_n_buckets_used, hash_get_n_entries,
81212         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
81213         hash_get_entries, hash_do_for_each, hash_string, is_prime,
81214         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
81215         Likewise.
81216         (SIZE_MAX): Define if not defined.
81217         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
81218         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
81219         hash_print):
81220         Use const * when possible.
81221         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
81222         (check_tuning): Fix bug: if tuning parameters were very close to
81223         0 or 1, rounding errors could have caused subscript violations.
81224         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
81225         (hash_initialize): Add 'fail:' label
81226         to free table and return NULL, and use it to simplify code.
81227         Use calloc rather than clearing the storage ourself.
81228         (hash_initialize, hash_rehash): Check for arithmetic overflow in
81229         buffer size calculations.
81230         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
81231         Include <stddef.h>, for size_t.
81232         * lib/hash-pjw.c (hash_pjw): Likewise.
81233         Switch to method described by Bruno Haible.
81234         Include <limits.h>, for CHAR_BIT.
81235         (SIZE_BITS): New macro.
81236
81237 2003-10-23  Paul Eggert  <eggert@twinsun.com>
81238
81239         * m4/getline.m4 (AM_FUNC_GETLINE):
81240         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
81241         hosts.  Problem reported by Derek Robert Price in
81242         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
81243         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
81244         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
81245
81246 2003-10-21  Paul Eggert  <eggert@twinsun.com>
81247
81248         * lib/getndelim2.c (getndelim2): When size calculation overflows,
81249         ceiling the allocation at NMAX bytes rather than silently
81250         discarding input bytes before NMAX is reached.  This makes
81251         a difference only if NMAX exceeds SIZE_MAX / 2.
81252
81253         * lib/obstack.c: Merge from glibc.
81254         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
81255         Add libc_hidden_def (_obstack_newchunk).
81256         (_obstack_free) [! defined _LIBC]: Remove.
81257         [defined _LIBC]: Make a strong alias from obstack_free, rather than
81258         a clone of the function body.
81259         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
81260         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
81261
81262         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
81263         glibc.
81264         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
81265         arg to memcpy.
81266
81267         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
81268         (obstack_ptr_grow_fast, obstack_int_grow_fast):
81269         Don't use lvalue casts, as GCC plans to remove support for them
81270         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
81271         was also present in the non-GCC version, indicating that this
81272         code had always been buggy and had never been widely used.
81273         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
81274         Use the fast variant of each macro, rather than copying the
81275         definiens of the fast variant; that way, we'll be more likely to
81276         catch future bugs in the fast variants.
81277
81278 2003-10-20  Bruno Haible  <bruno@clisp.org>
81279
81280         * modules/wait-process: New file.
81281         * MODULES.html.sh (func_all_modules): Add wait-process.
81282
81283 2003-10-20  Bruno Haible  <bruno@clisp.org>
81284
81285         * m4/wait-process.m4: New file.
81286
81287 2003-10-20  Bruno Haible  <bruno@clisp.org>
81288
81289         * lib/wait-process.h: New file, from GNU gettext.
81290         * lib/wait-process.c: New file, from GNU gettext.
81291
81292 2003-10-19  Jim Meyering  <jim@meyering.net>
81293
81294         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
81295         HPUX 10.20.
81296
81297 2003-10-18  Karl Berry  <karl@gnu.org>
81298
81299         * config/config.guess: update from config.
81300
81301 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81302
81303         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
81304         (getgroups): First arg is int, not size_t.
81305         Don't let 'free' mangle errno.
81306
81307 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81308
81309         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
81310
81311 2003-10-16  Karl Berry  <karl@gnu.org>
81312
81313         * config/config.{guess,sub}: update from config.
81314
81315 2003-10-16  Jim Meyering  <jim@meyering.net>
81316
81317         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
81318         memcpy.
81319
81320 2003-10-15  Paul Eggert  <eggert@twinsun.com>
81321
81322         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
81323         (SIZE_MAX): Remove.
81324         (new_exclude, add_exclude_file): Initial size no longer needs to
81325         be a power of 2.
81326         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
81327         our own address arithmetic overflow checking.
81328
81329         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
81330         (fnmatch): Do not alloca more than 2000 wide characters;
81331         instead, use malloc for large buffers.
81332         Check for address arithmetic overflow, and return -1
81333         with errno set to ENOMEM in that case.
81334         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
81335         (NEW_PATTERN): Do not alloca more than 8000 bytes;
81336         instead, return -1.  Check for address arithmetic overflow.
81337
81338 2003-10-14  Paul Eggert  <eggert@twinsun.com>
81339
81340         Handle invalid suffixes and overflow independently, so that
81341         callers can treat them independently as needed.  Fix some bugs in
81342         suffix handling, e.g., "100k@" was not diagnosed as an invalid
81343         suffix for a human-readable blocksize.  The major caller-visible
81344         change is the addition of a new
81345         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
81346         that both overflow and suffix chars were found.
81347
81348         * lib/human.c (humblock): Don't check separately for invalid suffix
81349         char; that is xstrtoumax's job (now that its bug is fixed).
81350         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
81351         INTMAX_MAX]: New macros.
81352         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
81353         TYPE_MAXIMUM): New macros.
81354         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
81355         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
81356         if overflow occurs, as it's what __strtol does and it's more useful
81357         in practice.
81358         (__xstrtol): If __strtol reports some error other than ERANGE,
81359         reflect it to the caller as LONGINT_INVALID.  If it reports
81360         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
81361         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
81362         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
81363         value.
81364         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
81365         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
81366         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
81367         [defined UINTMAX_MAX]: New macros.
81368
81369 2003-10-14  Bruno Haible  <bruno@clisp.org>
81370
81371         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
81372
81373 2003-10-14  Bruno Haible  <bruno@clisp.org>
81374
81375         * m4/sig_atomic_t: New file, from GNU gettext.
81376         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
81377
81378 2003-10-14  Bruno Haible  <bruno@clisp.org>
81379
81380         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
81381         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
81382         Also use volatile where needed.
81383
81384 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81385
81386         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
81387         Change maintainer from Bruno Haible to 'all'.
81388
81389 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81390
81391         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
81392
81393 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81394
81395         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
81396         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
81397         and define in terms of the other primitives.
81398         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
81399         (SIZE_MAX): Define if not already defined.
81400         (array_size_overflow): New function.
81401         (xalloc_die): Abort instead of exiting if 'error' returns.
81402         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
81403         (xmalloc, xrealloc): Use them.
81404         (xcalloc): Check for address arithmetic overflow.
81405         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
81406         a bit faster than strcpy.
81407
81408 2003-10-10  Simon Josefsson  <jas@extundo.com>
81409
81410         * modules/argp (Depends-on): Add restrict and strcase.
81411
81412 2003-10-10  Simon Josefsson  <jas@extundo.com>
81413
81414         * m4/argp.m4: Add AC_C_INLINE.
81415
81416 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81417
81418         Merge getpass from libc, plus a few fixes.
81419
81420         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81421         Include <stdbool.h>.
81422         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81423         __fsetlocking to empty.
81424         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81425         do include <bits/libc-lock.h>.
81426         Do not include <fcntl.h>; not needed.
81427         [_LIBC]: Include <wchar.h>.
81428         (NOTCANCEL_MODE): New macro.
81429         (flockfile, funlockfile) [_LIBC]: New macros.
81430         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81431         [!_LIBC]: New macros.
81432         (call_fclose): New function.
81433         (getpass): Use it.  Save tty stream separately; this simplifies the
81434         code and makes it more reliable if stdin happens to equal stdout.
81435         Invoke __fsetlocking on tty.
81436         Handle thread cancellation if needed.
81437         Namespace cleanup (use __tcgetattr, __getline).
81438         Use bool for Booleans.
81439         [USE_IN_LIBIO]: Handle wide streams.
81440         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81441         stream might go where.
81442
81443         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81444         doesn't have to include <stdio.h> before us.
81445         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81446         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81447         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81448         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81449         if not declared, so that we can use getpass.c code from libc without
81450         rewriting it.
81451         (flockfile, ftrylockfile, funlockfile): New macros.
81452
81453 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81454
81455         * modules/getpass: Depend on stdbool.
81456
81457 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81458
81459         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81460
81461 2003-10-07  Karl Berry  <karl@gnu.org>
81462
81463         * config/config.{guess,sub}: update from config.
81464
81465 2003-10-06  Jim Meyering  <jim@meyering.net>
81466             Bruno Haible  <bruno@clisp.org>
81467
81468         This lets translators provide better translations for the
81469         "Written by ..." part of --version output.
81470         * lib/version-etc.h: Include stdarg.h.
81471         (version_etc_copyright): Declare as readonly.
81472         (version_etc): Make this function variadic with a NULL-terminated list
81473         of author name strings.
81474         (version_etc_va): New declaration.
81475         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81476         (version_etc_copyright): Declare as readonly.
81477         (version_etc_va): New function. Provide a different translatable string
81478         for each possible number of authors < 10. Abbreviate when there are 10
81479         authors or more.
81480         (version_etc): Make this function variadic. Call version_etc_va.
81481         Suggestion from Gary V. Vaughan.
81482
81483         * lib/long-options.h (parse_long_options): Change prototype: the
81484         authors string is moved to the end and becomes variadic.
81485         * lib/long-options.c: Include stdarg.h.
81486         (parse_long_options): Make this function variadic, too.
81487         Call version_etc_va, not version_etc.
81488
81489 2003-10-06  Bruno Haible  <bruno@clisp.org>
81490
81491         * modules/version-etc-2: Remove file.
81492         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81493
81494 2003-10-06  Bruno Haible  <bruno@clisp.org>
81495
81496         * modules/fatal-signal: New file.
81497         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81498
81499 2003-10-06  Bruno Haible  <bruno@clisp.org>
81500
81501         * m4/fatal-signal.m4: New file.
81502         * m4/signalblocking.m4: New file, from GNU gettext.
81503
81504 2003-10-06  Bruno Haible  <bruno@clisp.org>
81505
81506         * lib/version-etc-2.h: Remove file.
81507         * lib/version-etc-2.c: Remove file.
81508
81509 2003-10-06  Bruno Haible  <bruno@clisp.org>
81510
81511         * lib/fatal-signal.h: New file, from GNU gettext.
81512         * lib/fatal-signal.c: New file, from GNU gettext.
81513
81514 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81515
81516         * README: Rework advice for preventing empty .o files.
81517         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81518         not <sys/types.h>.
81519
81520 2003-10-04  Karl Berry  <karl@gnu.org>
81521
81522         * lib/argp*: update from libc.
81523
81524 2003-10-04  Karl Berry  <karl@gnu.org>
81525
81526         * config/config.{guess,sub}: update from config.
81527
81528 2003-10-02  Bruno Haible  <bruno@clisp.org>
81529
81530         * modules/lchown (Include): Add lchown.h.
81531         * modules/time_r (Include): Use "..." syntax.
81532         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81533
81534 2003-10-01  Simon Josefsson  <jas@extundo.com>
81535
81536         * MODULES.html.sh (func_all_modules): Move gethostname from section
81537         'based on' to section 'lacking' POSIX:2001.
81538
81539 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81540
81541         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81542         to output mode on the same stream.
81543
81544 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81545
81546         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81547         Fix arg typo in previous patch.
81548
81549 2003-09-28  Jim Meyering  <jim@meyering.net>
81550
81551         * lib/error.c: Correct cpp indentation.
81552
81553 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81554
81555         * modules/free: New file.
81556
81557 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81558
81559         * m4/free.m4: New file.
81560
81561 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81562
81563         * lib/minmax.h (MIN, MAX)
81564         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81565         Omit the special code that used __typeof__, since we worry that
81566         it could be more trouble than it's worth.  See:
81567         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81568         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81569
81570         * lib/free.c: New file.
81571
81572 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81573
81574         Trivial fixes to Makefile.am parts of module listings.
81575         * modules/strstr: Append strstr.h to lib_SOURCES.
81576         * modules/strcase: Likewise, for strcase.h.
81577
81578 2003-09-27  Karl Berry  <karl@gnu.org>
81579
81580         * config/mkinstalldirs: update from automake.
81581
81582 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81583
81584         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81585         (error_tail): Do not loop, reallocating temporary buffer, since
81586         the output cannot contain more wide characters than the input
81587         contains bytes, the size must be big enough already.  This avoids
81588         one potential size overflow calculation.  Check for size overflow
81589         when calculating temporary buffer size.  Free temporary buffer
81590         when done, if it was allocated with malloc; this plugs a memory
81591         leak.  Remove casts from void * to pointers, that are no longer
81592         needed now that we're assuming C89 or better.
81593
81594         Merge error changes from glibc.
81595
81596         * lib/error.c, error.h: Update copyright notice header to match glibc.
81597         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81598         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81599         Disable cancellation while printing error.
81600         * lib/error.h: Prepend __ to parameter names.
81601
81602 2003-09-26  Jim Meyering  <jim@meyering.net>
81603
81604         * lib/error.c (error_tail): Move some declarations
81605         into inner scope where the local variables are used.
81606
81607 2003-09-26  Bruno Haible  <bruno@clisp.org>
81608
81609         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81610         stpncpy().
81611         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81612
81613 2003-09-26  Bruno Haible  <bruno@clisp.org>
81614
81615         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81616         (stpncpy): Define as alias for gnu_stpncpy.
81617         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81618
81619 2003-09-25  Simon Josefsson  <jas@extundo.com>
81620
81621         * lib/xgetdomainname.h: New file.
81622         * lib/xgetdomainname.c: New file.
81623
81624 2003-09-25  Simon Josefsson  <jas@extundo.com>
81625             Bruno Haible  <bruno@clisp.org>
81626
81627         * modules/getdomainname: New file.
81628         * modules/xgetdomainname: New file.
81629         * MODULES.html.sh (func_all_modules): Add getdomainname,
81630         xgetdomainname.
81631
81632 2003-09-25  Simon Josefsson  <jas@extundo.com>
81633             Bruno Haible  <bruno@clisp.org>
81634
81635         * m4/getdomainname.m4: New file.
81636
81637 2003-09-25  Simon Josefsson  <jas@extundo.com>
81638             Bruno Haible  <bruno@clisp.org>
81639
81640         * lib/getdomainname.h: New file.
81641         * lib/getdomainname.c: New file.
81642
81643 2003-09-25  Karl Berry  <karl@gnu.org>
81644
81645         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81646
81647 2003-09-25  Karl Berry  <karl@gnu.org>
81648
81649         * config/install-sh: update from automake.
81650
81651 2003-09-25  Bruno Haible  <bruno@clisp.org>
81652
81653         * modules/version-etc-2: New file, from modules/version-etc with
81654         modifications.
81655         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81656
81657 2003-09-25  Bruno Haible  <bruno@clisp.org>
81658
81659         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81660         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81661
81662 2003-09-24  Simon Josefsson  <jas@extundo.com>
81663
81664         * modules/xgethostname: Add xgethostname.h.
81665
81666 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81667
81668         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81669         the buffer associated with the argument.  Bug reported by
81670         Simon Josefsson.
81671
81672 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81673
81674         * README: Document assumptions that 'int' is at least 32 bits
81675         wide, that integer arithmetic is 2's complement without overflow,
81676         that there are no holes in integer values, that adding sizes of
81677         two nonoverlapping objects can't overflow, and that all-bits-zero
81678         yields scalar zero.  Fix spelling and capitalization typos.
81679
81680 2003-09-19  Karl Berry  <karl@gnu.org>
81681
81682         * lib/argp.h: update from libc.
81683
81684 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81685
81686         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81687         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81688         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81689
81690 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81691
81692         * gnulib-tool: Use "test -h", not "test -L", for portability
81693         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81694         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81695         (sed_extract_prog): Issue s commands one-by-one, rather than
81696         using \| in one s command.
81697
81698 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81699
81700         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81701         input error, instead of returning NULL the next time we are called
81702         (and therefore losing track of errno).
81703
81704 2003-09-16  Bruno Haible  <bruno@clisp.org>
81705
81706         * gnulib-tool (func_create_testdir): Warn about duplicated
81707         dependencies.
81708
81709 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81710
81711         * modules/argmatch, modules/fatal, modules/obstack,
81712         modules/xalloc, modules/xgethostname: Sort dependencies by
81713         importance, not alphabetically.
81714
81715 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81716
81717         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81718         fails, so that the caller gets the proper errno.
81719
81720         * lib/readutmp.c (read_utmp): Likewise.
81721         Check for fstat error.  Close stream and free storage
81722         when failing.
81723
81724 2003-09-14  Karl Berry  <karl@gnu.org>
81725
81726         * config/srclist.txt (strdup.c): disable for c89 changes.
81727
81728 2003-09-14  Jim Meyering  <jim@meyering.net>
81729
81730         * lib/getloadavg.c: Correct cpp indentation.
81731         * lib/strdup.c: Likewise.
81732         * lib/vasnprintf.c: Likewise.
81733
81734 2003-09-14  Bruno Haible  <bruno@clisp.org>
81735
81736         * modules/fwriteerror: New file.
81737         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81738
81739 2003-09-14  Bruno Haible  <bruno@clisp.org>
81740
81741         * lib/fwriteerror.h: New file.
81742         * lib/fwriteerror.c: New file.
81743
81744 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81745
81746         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81747         modules/xgethostname, modules/xalloc: Depend on exit.
81748
81749 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81750
81751         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81752
81753         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81754         and AC_MINIX, too, so that their extensions are available.
81755
81756         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81757         This macro has been superseded by gl_BACKUPFILE.
81758
81759         More patches to assume C89 or better.
81760
81761         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81762
81763         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81764         unconditionally.
81765         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81766         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81767         Include <string.h>, <stdlib.h> unconditionally.
81768         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81769         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81770         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81771         headers or for string.h.
81772         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81773         or strtoul.
81774
81775         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81776         headers.
81777         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81778         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81779         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81780         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81781         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81782         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81783         memcpy, memset.
81784         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81785         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81786         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81787         strtol.
81788         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81789         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81790         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81791         strtoul.
81792
81793 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81794
81795         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81796         * lib/obstack.c [!defined _LIBC]: Likewise.
81797         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81798         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81799         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81800
81801         More changes to assume C89 or better.
81802
81803         * lib/error.c (error_tail): Assume vprintf.
81804
81805         * lib/argmatch.c (getenv): Remove decl.
81806         * lib/progreloc.c (get_full_program_name): Define via prototype.
81807         * lib/setenv.c (clearenv): Likewise.
81808         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81809         needed.
81810         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81811         (malloc, memcpy): Remove decls.
81812         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81813         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81814         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81815         (memcpy): Remove macro.
81816         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81817         (__P): Remove.  All uses removed.
81818         (PTR): Remove.  All uses changed to void *.
81819         (CHAR_BIT, NULL): Remove.
81820         (spaces, zeros, memset_space, memset_zero)
81821         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81822         Remove.
81823         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81824         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81825         Define with prototype.
81826         Remove now-unnecessary prototype decl.
81827         (extra_args_spec): Assume ANSI C.  All uses changed.
81828         (extra_args_spec_iso): Remove.
81829         (my_strftime, emacs_strftimeu): Define via prototype.
81830         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81831         unconditionally.
81832         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81833         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81834         (strtoul, strtol): Remove decls.
81835         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81836         LONG_MAX): Remove.
81837         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81838         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81839         (LOCALE_PARAM_PROTO): New macro.
81840         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81841         (INTERNAL (strtol), strtol): Define with a prototype.
81842         (PARAMS): Remove.  All uses removed.
81843         * lib/tempname.c: Include <string.h> unconditionally.
81844         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81845         * lib/xgethostname.c (main): Define with a prototype.
81846         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81847         Include <stdlib.h> unconditionally.
81848         (calloc, malloc, realloc, free): Remove decls.
81849         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81850         Include <stdlib.h> unconditionally.  Sort include file names.
81851         (strtod): Remove.
81852         (xstrtod): Define with a prototype.
81853         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81854         (strtol, strtoul): Remove decls.
81855
81856 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81857
81858         More patches to assume C89 or better.
81859         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81860         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81861         string.h, memchr, STDC_HEADERS.
81862
81863 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81864
81865         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81866         Include <stdlib.h>, <string.h> unconditionally.
81867         Remove now-unnecessary cast to char *.
81868         * lib/strnlen.c: Include <string.h> unconditionally.
81869         * lib/yesno.c (yesno): Define with a prototype.
81870
81871 2003-09-11  Bruno Haible  <bruno@clisp.org>
81872
81873         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81874
81875 2003-09-10  Jim Meyering  <jim@meyering.net>
81876
81877         * lib/error.c: Correct indentation of cpp directives.
81878
81879 2003-09-10  Bruno Haible  <bruno@clisp.org>
81880
81881         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81882         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81883         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81884         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81885         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81886         <stdlib.h> and <string.h> checks.
81887         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81888         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81889
81890 2003-09-10  Bruno Haible  <bruno@clisp.org>
81891
81892         * lib/strcspn.c: Include <string.h> unconditionally.
81893         * lib/strpbrk.c: Include <string.h> unconditionally.
81894         * lib/strstr.c: Include <string.h> unconditionally.
81895         * lib/unicodeio.c: Include <string.h> unconditionally.
81896         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81897         * lib/unsetenv.c: Likewise.
81898         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81899         * lib/yesno.c: Include <stdlib.h> unconditionally.
81900         (rpmatch): Add prototype.
81901
81902 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81903
81904         More patches to assume C89 or better.
81905         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81906         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81907         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81908         or for string.h.
81909         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81910         stdlib.h.
81911         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81912         C headers.
81913         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81914         string.h.
81915         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81916         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81917         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81918         or for string.h.
81919         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81920         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81921         C headers.
81922         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81923         memcpy.
81924         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81925         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81926         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81927         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81928         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81929         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81930         string.h, free.
81931         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81932         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81933         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81934         C headers, or for string.h.
81935         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81936         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81937         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81938         headers, memory.h, stdlib.h, string.h, strings.h.
81939         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81940         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81941         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81942         strchr.
81943         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81944         headers, memory.h, string.h.
81945         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81946         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81947         free.
81948         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81949         headers.
81950         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81951         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81952         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81953         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81954         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81955
81956 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81957
81958         More K&R removal.
81959
81960         * lib/acosl.c (main): Use a prototype.
81961         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81962         tanl.c: Likewise.
81963
81964         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81965
81966         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81967         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81968         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81969         with a prototype.
81970         * lib/getopt.c (const): Remove macro.
81971         Include <string.h> unconditionally.
81972         (my_index): Remove; all uses changed to strchr.
81973         (strlen): Remove decl.
81974         (exchange): Remove forward decl; no longer needed.
81975         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81976         Define with prototype.
81977         * lib/getopt1.c (const): Remove macro.
81978         (getopt_long, getopt_long_only, main): Define with prototype.
81979
81980         * lib/getugroups.c: Include <string.h> unconditionally.
81981
81982         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81983         (getusershell, setusershell, endusershell, readname, main):
81984         Define with prototypes.
81985
81986         * lib/group-member.c: Include group-member.h first.
81987         Include <stdlib.h> unconditionally.
81988
81989         * lib/hard-locale.c: Include hard-locale.h first.
81990         Include <stdlib.h>, <string.h> unconditionally.
81991
81992         * lib/hash.c (free, malloc): Remove decls.
81993         Include <stdlib.h> unconditionally.
81994
81995         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81996         (getenv): Do not declare.
81997
81998         * lib/idcache.c: Include <string.h> unconditionally.
81999
82000         * lib/long-options.c: Include long-options.h first, to test interface.
82001         Include <stdlib.h> unconditionally.
82002
82003         * lib/makepath.c: Include makepath.h first, to test interface.
82004         Include <stdlib.h> and <string.h> unconditionally.
82005
82006         * lib/linebuffer.c: Include <stdlib.h>.
82007         (free): Remove decl.
82008
82009         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
82010         stddef.h. rpl_malloc returns void *, not char *.
82011         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
82012         prototype.
82013
82014         * lib/md5.h: Include <limits.h> unconditionally.
82015         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
82016         (__P): Remove; all uses removed.
82017         * lib/md5.c: Include "md5.h" first.
82018         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
82019         md5_buffer, md5_process_bytes, md5_process_block):
82020         Define with prototypes.
82021         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
82022         * lib/sha.c: Include "sha.h" first.
82023         Include <stdlib.h>, <string.h> unconditionally.
82024
82025         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
82026         * lib/memcmp.c (__ptr_t): Likewise.
82027         * lib/memrchr.c (__ptr_t): Likewise.
82028         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
82029         Include <string.h> unconditionally.
82030         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
82031         * lib/memchr.c: Include <stdlib.h> unconditionally.
82032         * lib/memchr.c (LONG_MAX): Remove.
82033         * lib/memrchr.c (LONG_MAX): Likewise.
82034         * lib/memchr.c (__memchr): Define via a prototype.
82035         * lib/memrchr.c (__memrchr): Likewise.
82036         * lib/memcmp.c (__P): Remove, and remove all uses.
82037         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
82038         Remove forward decls; no longer needed.
82039         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
82040         Use types required by C89 in prototype.
82041
82042         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
82043         * lib/savedir.c: Likewise.
82044         * lib/mkdir.c (free): Remove decl.
82045         * lib/rmdir.c (rmdir): Define with a prototype.
82046         * lib/savedir.c: Include savedir.h first, to test interface.
82047
82048         * lib/mktime.c (STDC_HEADERS): Remove.
82049         Include <stdlib.h>, <string.h> unconditionally.
82050
82051         * lib/modechange.c: Include <stdlib.h> unconditionally.
82052         (malloc): Remove decl.
82053
82054         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
82055         (free): Remove decl.
82056
82057         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
82058         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
82059         (This type really should be intptr_t, but that's a C99ism.)
82060         (_obstack_memcpy): Remove: all uses changed to memcpy.
82061         Include <string.h> unconditionally.
82062         (struct obstack): Assume __STDC__ for types of members
82063         chunkfun, freefun, extra_arg.
82064         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
82065         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
82066         obstack_begin, obstack_specify_allocation,
82067         obstack_specify_allocation_with_arg, obstack_chunkfun,
82068         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
82069         Remove unprototyped decls and the macros that use them.
82070         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
82071         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
82072         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
82073         (defined __STDC__ && __STDC__)]:
82074         Remove nonprototyped code.
82075         Include <stdlib.h> unconditionally.
82076         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
82077         _obstack_allocated_p, _obstack_free, obstack_free,
82078         _obstack_memory_used, print_and_abort):
82079         Define using prototypes.
82080         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
82081         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
82082         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
82083         obstack_next_free, obstack_object_size, obstack_room) [0]:
82084         Remove unused, unprototyped code.
82085
82086         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
82087
82088         * lib/physmem.c (physmem_total, physmem_available, main): Define
82089         with prototypes.
82090
82091         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
82092         (main): Define with a prototype.
82093
82094         * lib/posixver.c (getenv): Remove decl.
82095
82096         * lib/putenv.c (malloc): Returns void *, not char *.
82097         Include <string.h> unconditionally.
82098         (strchr, memcpy, NULL): Do not define.
82099
82100         * lib/readtokens.c: Include readtokens.h first, to test interface.
82101         Include <stdlib.h>, <string.h> unconditionally.
82102         (init_tokenbuffer): Define with a prototype.
82103
82104         * lib/regex.c (PARAMS): Remove.  All uses removed.
82105         All uses of _RE_ARGS removed, too.
82106         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82107         unconditionally.
82108         (bzero): Assume memset exists.
82109         (memcmp, memcpy, NULL): Remove.
82110         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
82111         char, or assignments to local vars of type signed char.
82112         (init_syntax_once, PREFIX(extract_number_and_incr),
82113         PREFIX(print_partial_compiled_pattern),
82114         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
82115         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
82116         PREFIX(regex_grow_registers), PREFIX(regex_compile),
82117         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
82118         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
82119         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
82120         wcs_compile_range, byte_compile_range, truncate_wchar,
82121         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
82122         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
82123         count_mbs_length, wcs_re_match_2_internal,
82124         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
82125         PREFIX(alt_match_null_string_p),
82126         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
82127         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
82128         regfree, PREFIX(extract_number)): Define with prototype.  Remove
82129         now-unnecessary declaration, if any.
82130         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
82131         regcomp, regexec):
82132         Remove now-unnecessary casts among pointer types.
82133         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
82134
82135         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
82136         (free): Remove decl.
82137
82138         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
82139
82140         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
82141         (free): Remove decl.
82142
82143         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
82144         * lib/xgetcwd.c: Likewise.
82145
82146         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
82147         (free): Remove decl.
82148
82149         * lib/strchrnul.c (strchrnul): Define with a prototype.
82150         Fix bug: c_in was not converted to char before searching.
82151
82152         The following changes are not K&R related:
82153
82154         * lib/group-member.h: Include <sys/types.h>, so that this file is
82155         self-contained.
82156         * lib/makepath.h: Likewise.
82157
82158         * lib/getusershell.c (readname, default_index, line_size, readname):
82159         Use size_t, not int, for sizes.
82160         (readname): If the size overflows, report an error instead of
82161         looping forever.
82162
82163 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82164
82165         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
82166         libc.
82167
82168 2003-09-09  Paul Eggert  <eggert@twinsun.com>
82169
82170         * README: New section: portability guidelines.
82171
82172 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
82173
82174         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
82175         C89 spec.
82176
82177 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
82178
82179         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
82180
82181 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82182
82183         Assume C89 or better; remove K&R cruft.
82184         A few of these changes were first proposed by Derek Robert Price
82185         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
82186
82187         * lib/addext.c: Include <string.h> unconditionally.
82188         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
82189         Don't declare getenv or malloc.
82190
82191         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
82192         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
82193         (NULL): Remove.
82194         (find_stack_direction, alloca): Use prototypes.
82195
82196         * lib/atexit.c (atexit): Define using a prototype.
82197
82198         * lib/basename.c, dirname.c, stripslash.c:
82199         Include <string.h> unconditionally.
82200
82201         * lib/bcopy.c: Include <stddef.h>.
82202         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
82203
82204         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
82205
82206         * lib/error.h (error, error_at_line, error_print_progname)
82207         [! (defined (__STDC__) && __STDC__)]: Remove decls.
82208         * lib/error.c: Include error.h first, to check interface.
82209         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82210         (VA_START): Remove; all uses changeed to va_start.
82211         (exit, strerror): Remove decls.
82212         (error_print_progname): Prototype uncondionally.
82213         Don't include <errno.h>; no longer needed.
82214         (private_strerror): Remove.
82215         (error_tail): Always define.
82216         (error, error_at_line): Assume C89 or better; always use prototypes.
82217         * lib/fatal.c: Include "fatal.h" first, to test interface.
82218         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
82219         (VA_START): Remove; all uses changed to va_start.
82220         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
82221         this case.
82222         (exit): Remove decl.
82223         (fatal): Prototype unconditionally.  Assume va_start works.
82224         Abort at end, to pacify gcc.
82225
82226         * lib/euidaccess.c (main): Define with a prototype.
82227
82228         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
82229
82230         * lib/exitfail.c: Include <stdlib.h> unconditionally.
82231
82232         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
82233         prototypes.
82234         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
82235         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
82236         (getenv): Remove decl.
82237         (fnmatch): Define using a prototype.
82238         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
82239         (FCT): Define using a prototype.
82240
82241         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
82242
82243         * lib/gethostname.c: Include <stddef.h>.
82244         (gethostname): Define with prototype.  Length is size_t, not int.
82245
82246 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82247
82248         Assume C89 or better; remove K&R cruft.
82249         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
82250         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
82251         string.h, getenv, malloc.
82252         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
82253         headers.
82254         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
82255         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
82256         do not check for strerror.
82257         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
82258         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
82259         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
82260         do not check for doprnt or vprintf.
82261         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
82262         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
82263
82264 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82265
82266         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
82267         getversion.c should have been removed then, but was accidentally
82268         preserved.
82269
82270         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
82271         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
82272
82273 2003-09-08  Karl Berry  <karl@gnu.org>
82274
82275         * config/config.sub, config.guess, srclistvars.sh: update from savannah
82276                 config, forget about prep.
82277
82278         * config/depcomp, missing: update from automake.
82279
82280 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82281
82282         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
82283         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82284
82285 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82286
82287         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
82288         copy_tm_result.  Bug reported by Simon Josefsson in
82289         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82290
82291 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82292
82293         * m4/time_r.m4: New file.
82294         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
82295         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
82296         is. Check for timegm declaration.
82297         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
82298         Do not check for gmtime_r.
82299         Replace mktime if __mktime_internal does not exist and if mktime
82300         hasn't been replaced already.
82301
82302 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82303
82304         * lib/time_r.c, lib/time_r.h: New files.
82305
82306         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
82307         __localtime_r.
82308         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
82309         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
82310
82311         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
82312         __gmtime_r.
82313         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
82314         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
82315         Include <time_r.h>.
82316
82317         * lib/timegm.c: Switch to glibc implementation, with the following
82318         changes:
82319         [defined HAVE_CONFIG_H]: Include <config.h>.
82320         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
82321         (__mktime_internal) [!defined _LIBC]: New decl.
82322         (__gmtime_r) [!defined _LIBC]: New macro and function.
82323         (timegm): Use a prototype, since gnulib assumes C89.
82324         Do not bother declaring tmp to be const, as it's not really usefu.
82325         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
82326         (timegm): Declare only if HAVE_DECL_TIMEGM.
82327
82328 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82329
82330         * MODULES.html.sh (func_all_modules): Add time_r.
82331         * modules/time_r: New file.
82332         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
82333         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
82334
82335 2003-09-03  Paul Eggert  <eggert@twinsun.com>
82336
82337         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
82338         Bug reported by Lute Kamstra in
82339         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
82340
82341         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
82342         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
82343         course with correspondingly smaller numbers for tomorrow and
82344         yesterday.  From Tadayoshi Funaba.  Originally installed into
82345         sh-utils on 1999-08-07, but the patch got lost (I guess during the
82346         coreutils merge?).
82347
82348 2003-08-31  Simon Josefsson  <jas@extundo.com>
82349
82350         * modules/timegm: New file.
82351         * MODULES.html.sh (func_all_modules): Add timegm.
82352
82353 2003-08-31  Simon Josefsson  <jas@extundo.com>
82354
82355         * m4/timegm.m4: New file.
82356
82357 2003-08-31  Simon Josefsson  <jas@extundo.com>
82358
82359         * lib/timegm.h: New file.
82360         * lib/timegm.c: New file.  Based on
82361         wget-1.8.2/src/http.c:mktime_from_utc.
82362
82363 2003-08-31  Karl Berry  <karl@gnu.org>
82364
82365         * lib/argp.h: update from libc.
82366
82367 2003-08-28  Bruno Haible  <bruno@clisp.org>
82368
82369         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
82370         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
82371         followed by '#define fnmatch fnmatch_posix' gives an error.
82372
82373 2003-08-28  Bruno Haible  <bruno@clisp.org>
82374
82375         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
82376         warning on QNX, which defines O_BINARY to 000000.
82377
82378 2003-08-27  Jim Meyering  <jim@meyering.net>
82379
82380         * m4/mkstemp.m4: Require that the system mkstemp be able to create
82381         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
82382         would fail after 32.  Reported by Danny Levinson.  Details here:
82383         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
82384
82385 2003-08-24  Bruno Haible  <bruno@clisp.org>
82386
82387         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
82388         MSVC7 <stdio.h> is included later.
82389
82390 2003-08-22  Simon Josefsson  <jas@extundo.com>
82391
82392         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
82393
82394 2003-08-20  Karl Berry  <karl@gnu.org>
82395
82396         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
82397
82398 2003-08-20  Bruno Haible  <bruno@clisp.org>
82399
82400         * modules/progname: New file.
82401         * MODULES.html.sh (func_all_modules): Add progname.
82402
82403 2003-08-20  Bruno Haible  <bruno@clisp.org>
82404
82405         * lib/progname.h: New file, from GNU gettext.
82406         * lib/progname.c: New file, from GNU gettext.
82407         * lib/progreloc.c: New file, from GNU gettext.
82408
82409 2003-08-19  Jim Meyering  <jim@meyering.net>
82410
82411         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82412         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82413
82414 2003-08-19  Bruno Haible  <bruno@clisp.org>
82415
82416         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82417         more.
82418
82419 2003-08-19  Bruno Haible  <bruno@clisp.org>
82420
82421         * lib/xstrdup.c: Assume <string.h> exists.
82422
82423 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82424
82425         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82426         in makefile rules.
82427
82428 2003-08-18  Jim Meyering  <jim@meyering.net>
82429
82430         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82431         * m4/lib-ld.m4: Likewise.
82432
82433 2003-08-18  Jim Meyering  <jim@meyering.net>
82434
82435         * lib/setenv.h: Indent nested cpp directive.
82436         * lib/vasnprintf.c: Remove trailing blanks.
82437
82438 2003-08-17  Simon Josefsson  <jas@extundo.com>
82439
82440         * modules/xstrndup: New file.
82441         * MODULES.html.sh (func_all_modules): Add xstrndup.
82442
82443 2003-08-17  Simon Josefsson  <jas@extundo.com>
82444
82445         * modules/argp: Fix autoconf macro name. Add more dependencies.
82446
82447 2003-08-17  Simon Josefsson  <jas@extundo.com>
82448
82449         * m4/xstrndup.m4: New file.
82450
82451 2003-08-17  Simon Josefsson  <jas@extundo.com>
82452
82453         * m4/argp.m4: New file.
82454
82455 2003-08-17  Simon Josefsson  <jas@extundo.com>
82456             Bruno Haible  <bruno@clisp.org>
82457
82458         * lib/xstrndup.h: New file.
82459         * lib/xstrndup.c: New file.
82460
82461 2003-08-17  Bruno Haible  <bruno@clisp.org>
82462
82463         * modules/strndup (Files, Include): Add lib/strndup.h.
82464
82465 2003-08-17  Bruno Haible  <bruno@clisp.org>
82466
82467         * modules/euidaccess (Files): Add lib/euidaccess.h.
82468
82469 2003-08-17  Bruno Haible  <bruno@clisp.org>
82470
82471         * lib/strndup.h: New file.
82472
82473 2003-08-17  Bruno Haible  <bruno@clisp.org>
82474
82475         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82476         like AC_GNU_SOURCE.
82477         * modules/extensions (configure.ac): Comment out the invocation of
82478         gl_USE_SYSTEM_EXTENSIONS.
82479
82480 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82481
82482         Merges from coreutils, etc.
82483         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82484         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82485         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82486         fixing a typo.
82487         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82488         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82489
82490 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82491
82492         Document merge from coreutils.
82493         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82494         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82495         * modules/utime: Add m4/utimes-null.m4.
82496
82497 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82498
82499         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82500         space, undoing this 2003-08-12 change:
82501         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82502
82503 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82504
82505         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82506         strtoul.c from libc, undoing this 2003-08-12 change:
82507         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82508
82509 2003-08-16  Jim Meyering  <jim@meyering.net>
82510
82511         Merges from coreutils.
82512         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82513         prefix.  Adjust cache variables similarly.  Create 500 rather than
82514         just 300 files, to exercise bug on Darwin6.5, too.
82515         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82516         $missing_dir.
82517         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82518         AM_SYS_POSIX_TERMIOS.
82519         Reported by mkc@mathdogs.com.
82520         Also change use of $am_cv_sys_posix_termios
82521         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82522         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82523         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82524         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82525         in /proc/mounts until it finds one with matching device number.  This
82526         is unnecessary when the FILE argument *is* a mount point.  No stat call
82527         is necessary in that case.  So, disable the statvfs-testing code on
82528         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82529         as RedHat bug# 84846.
82530         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82531         to 1MB, so as not to render systems with no stack size limit (e.g.,
82532         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82533         Include <unistd.h>.  On some systems,
82534         it is required for the definition of _SC_PAGESIZE.
82535
82536 2003-08-16  Jim Meyering  <jim@meyering.net>
82537
82538         Merge from coreutils.
82539         * lib/xstrtoimax.c: #else #if -> #elif.
82540         * lib/xstrtoumax.c: Likewise.
82541
82542 2003-08-16  Jim Meyering  <jim@meyering.net>
82543
82544         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82545         * m4/utimes.m4: Removed.
82546         * m4/utimes-null.m4: Renamed from utimes.m4.
82547
82548         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82549         to 1MB, so as not to render systems with no stack size limit (e.g.,
82550         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82551         Include <unistd.h>.  On some systems,
82552         it is required for the definition of _SC_PAGESIZE.
82553
82554 2003-08-16  Jim Meyering  <jim@meyering.net>
82555         and Paul Eggert  <eggert@cs.ucla.edu>
82556
82557         Merges from coreutils, etc.
82558
82559         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82560         using the latest version from cvs.  This avoids problems with #line
82561         directives using a vendor (Sun) compiler.
82562         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82563         Don't set GETGROUPS_LIB here; now it's
82564         done via getgroups.m4's wrapper function.
82565         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82566         rather than just in sh-util/configure.in, so that the
82567         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82568         same.
82569         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82570         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82571         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82572         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82573         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82574         Remove code that is now done by the newly-required macros.
82575         Append $(EXEEXT) to DF_PROG.
82576         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82577         Do not invoke or require the following here,
82578         since prereq.m4 or some gnulib .m4 now does this for us:
82579         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82580         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82581         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82582         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82583         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82584         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82585         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82586         AC_FUNC_OBSTACK.
82587         Do not replace the following functions, as this is now the job
82588         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82589         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82590         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82591         atexit getpass, strdup, getpagesize.
82592         Replace 'raise'.
82593         Do not check for the following functions, as this is now the job
82594         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82595         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82596         setregid.
82597         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82598         Check for sys/sysctl.h.
82599         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82600         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82601         of checking for ssize_t ourselves.
82602
82603         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82604         Require every macro that gnulib/modules/* suggests for us.
82605         (jm_PREREQ_ADDEXT): New macro.
82606         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82607         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82608
82609         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82610         (gl_PHYSMEM): Use it.
82611         Also check for `table' function.
82612         Check for new headers and functions.
82613         Add check for sys/sysmp.h.
82614         With suggestions from Kaveh Ghazi.
82615         Ignore headers that are present but cannot be compiled.  This
82616         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82617         C 5.4.
82618
82619 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82620
82621         Document merge from coreutils.
82622         * modules/userspec: Depend on posixver.
82623         * modules/strftime: Depend on tzset.
82624
82625 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82626
82627         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82628         rather than tab, after '#' in shell-script copyright notices.
82629         Suggested by Bruno Haible.
82630
82631 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82632
82633         * config/srclist-update: Use three spaces, rather than tab, after '#'
82634         in shell-script copyright notices.  Suggested by Bruno Haible.
82635         Remove unnecessary parenthesization in regular expression.
82636
82637 2003-08-15  Jim Meyering  <jim@meyering.net>
82638
82639         Merge from coreutils.
82640         * lib/xgethostname.c: Include <stdlib.h>.
82641         (xghostname): Don't exit for anything other than memory-related
82642         failure; just return NULL.
82643         * lib/userspec.c: Include "posixver.h".
82644         (parse_user_spec): Accept `.' as a separator only
82645         in pre-POSIX-200112 mode.
82646         * lib/strtoimax.c: Use #elif rather than #else #if.
82647         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82648         Remove function, now that we can rely on a working tzset function.
82649         [!_LIBC]: Ensure that the required autoconf test has been run.
82650         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82651         Use underlying_strftime for %r.
82652         * lib/sha.c: Merge in some clean-up and optimization changes from
82653         glibc.
82654         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82655         Ensure that it is a multiple of 64.
82656         Rearrange loop exit tests so as to avoid performing an
82657         additional fread after encountering an error or EOF.
82658         * lib/realloc.c: Update copyright date.
82659
82660 2003-08-15  Jim Meyering  <jim@meyering.net>
82661         and Paul Eggert  <eggert@twinsun.com>
82662
82663         Merge from coreutils.
82664         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82665         member but strut utmpx does not.  Needed for AIX 4.3.3.
82666         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82667
82668 2003-08-15  Jim Meyering  <jim@meyering.net>
82669         and Paul Eggert  <eggert@cs.ucla.edu>
82670
82671         Merges from coreutils, etc.
82672         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82673         Require gl_FUNC_TZSET_CLOBBER.
82674         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82675         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82676         members.
82677
82678 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82679
82680         Help the merge from coreutils.
82681         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82682         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82683         * m4/tzset.m4: Use it too.
82684
82685 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82686
82687         * modules/tzset: New file.
82688
82689 2003-08-14  Jim Meyering  <jim@meyering.net>
82690
82691         Merges from coreutils.
82692         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82693         variable names, rather than @FNMATCH_H@.
82694         * modules/alloca: Likewise for $(ALLOCA_H).
82695
82696         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82697         the three copies of the literal target, `fnmatch.h'.
82698         * modules/alloca (alloca.h): Likewise.
82699
82700 2003-08-14  Jim Meyering  <jim@meyering.net>
82701
82702         Merge from coreutils.
82703         * m4/tzset.m4: New file.
82704         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82705         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82706         otherwise, AIX 5.1 systems would end up using the latter.
82707         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82708         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82709         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82710         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82711
82712 2003-08-14  Jim Meyering  <jim@meyering.net>
82713
82714         Merge from coreutils.
82715         * lib/obstack.h: Whitespace changes.
82716         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82717         and xcalloc return values.
82718         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82719         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82720         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82721         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82722         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82723         error from mntctl.
82724         Use mntctl's return value to drive the entry-processing loop, since
82725         we can't rely on the value of the vmt_length member in the last
82726         entry.  On some systems doing so could result in exhausting
82727         virtual memory.  Based in part on a patch from Mike Jetzer.
82728
82729 2003-08-14  Jim Meyering  <jim@meyering.net>
82730         and Paul Eggert  <eggert@twinsun.com>
82731
82732         Merges from coreutils, plus other fixes.
82733         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82734         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82735         for credits and details.  Thanks to Kaveh Ghazi for helping
82736         to keep these files in sync.
82737         (ARRAY_SIZE): Define it.
82738         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82739         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82740         (memcasecmp): Don't assume size_t fits in unsigned int.
82741         Remove casts and duplicate code.
82742         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82743         (memcpy): Remove definition.
82744         Merge in some clean-up and optimization changes from glibc.
82745         [BLOCKSIZE]: Move definition to top of file.
82746         Ensure that it is a multiple of 64.
82747         Rearrange loop exit tests so as to avoid performing an
82748         additional fread after encountering an error or EOF.
82749         * lib/md5.h (md5_uintptr): Define.
82750         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82751         return to the initial working directory.  Preserve errno
82752         for caller.
82753         * lib/idcache.c: Include "xalloc.h".
82754         (xmalloc, xrealloc): Remove decls.
82755         (getuser): Remove casts no longer required in C89.
82756         * lib/human.c: Include stdio.h, for sprintf.
82757         * lib/group-member.c: Include "xalloc.h".
82758         (xmalloc, xrealloc): Remove decls.
82759         (get_group_info): Remove casts no longer required in C89.
82760         * lib/getusershell.c (readname): Remove casts no longer required in
82761         C89.
82762         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82763         * lib/getline.c: Whitespace fix, from coreutils.
82764
82765 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82766
82767         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82768         Check for isascii.
82769
82770         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82771         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82772         Undo previous (whitespace-only) change.
82773
82774 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82775
82776         * lib/exclude.c: Include <ctype.h>
82777         (IN_CTYPE_DOMAIN): New macro.
82778         (is_space): New fn.
82779         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82780         and empty lines.
82781
82782         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82783         Undo previous (whitespace-only) change.
82784
82785 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82786
82787         * config/srclist-update: Change update back to the old behavior,
82788         leaving whitespace alone.  Use one 'sed' command rather than a
82789         pipeline.
82790         (fixlicense): Now a variable, not a function.
82791         (remove_trailing_blanks): Remove.
82792         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82793         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82794         Undo previous (whitespace-only) change.
82795
82796 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82797
82798         Merge from coreutils.
82799         * modules/euidaccess: Add lib_SOURCES, include for new
82800         file euidaccess.h
82801
82802 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82803
82804         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82805         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82806         Normalize leading white space and remove trailing white space.
82807
82808         Merge from coreutils
82809         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82810
82811         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82812         0.12.1.  These files are now being upgraded automatically by
82813         ../config/srclist-update.
82814
82815 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82816
82817         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82818         Normalize leading white space and remove trailing white space.
82819         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82820         notice, as per ../config/srclist-update.
82821
82822         Merge from coreutils.
82823         * lib/euidaccess.h: New file.
82824         * lib/euidaccess.c: Include it.
82825         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82826         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82827         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82828
82829 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82830
82831         * config/srclist-update: Add copyright notice.
82832         (remove_id_lines, remove_trailing_blanks): New constants.
82833         (fixfile): Use them to normalize spacing a bit in copied files.
82834         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82835         Normalize leading white space and remove trailing white space.
82836
82837         * config/texinfo.tex: Sync with texinfo.
82838
82839         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82840         strtoul.c from libc, to merge coreutils whitespace changes.
82841
82842         * config/srclist.txt: Get the following m4 files from gettext:
82843         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82844         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82845         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82846         wint_t.m4.
82847
82848 2003-08-12  Karl Berry  <karl@gnu.org>
82849
82850         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82851         been made.
82852
82853 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82854
82855         * modules/gnu-source, m4/gnu-source.m4:
82856         Remove; we're assuming Autoconf 2.54 or later now.
82857         Suggested by Bruno Haible.
82858         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82859
82860 2003-08-11  Bruno Haible  <bruno@clisp.org>
82861
82862         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82863
82864 2003-08-11  Bruno Haible  <bruno@clisp.org>
82865
82866         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82867         (vasnprintf): Use it instead of wcslen.
82868
82869 2003-08-11  Bruno Haible  <bruno@clisp.org>
82870
82871         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82872         value to ensure that _Bool promotes to int. Use #define for _Bool when
82873         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82874
82875 2003-08-10  Karl Berry  <karl@gnu.org>
82876
82877         * lib/regex.h: update from libc (whitespace fix).
82878
82879 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82880
82881         Merge some files from coreutils.  These changes were
82882         originally made by Jim Meyering.
82883         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82884         many older Unixes require this.
82885         * lib/alloca.c (alloca): Remove cast to argument of free;
82886         no longer needed in C89.
82887         * lib/alloca_.h, regex.h: Fix white space to match
82888         what GNU indent does.
82889
82890 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82891
82892         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82893         apparently Emacs's Unicode mode got confused before my 2003-08-05
82894         checkin.
82895
82896 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82897
82898         * m4/extensions.m4: New file.
82899         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82900         Require gl_USE_SYSTEM_EXTENSIONS.
82901         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82902         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82903
82904 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82905
82906         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82907         * modules/extensions, modules/gnu-source: New files.
82908         * modules/timespec, modules/unlocked-io: Depend on extensions.
82909
82910 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82911
82912         * modules/restrict: New file.
82913         * MODULES.html.sh (func_all_modules): Add restrict.
82914         * modules/regex: Depend on restrict.
82915
82916 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82917
82918         * m4/restrict.m4: New file.
82919         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82920
82921 2003-08-07  Bruno Haible  <bruno@clisp.org>
82922
82923         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82924         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82925
82926 2003-08-07  Bruno Haible  <bruno@clisp.org>
82927
82928         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82929         makes the module 'getndelim2' compatible with the module 'getline'.
82930
82931 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82932
82933         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82934         byte with "\201" to avoid glitches when editing that source file
82935         with multi-gnome-terminal.
82936
82937 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82938
82939         * lib/bumpalloc.h: Remove.
82940
82941 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82942
82943         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82944         * modules/bumpalloc: Remove.
82945
82946 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82947
82948         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82949         GNU coding style.
82950
82951         Merge from coreutils.
82952         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82953         1. From glibc.
82954         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82955         from Karl Berry, implemented by Jim Meyering.
82956         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82957         from Dmitry V. Levin.
82958         Remove anachronistic cast of xrealloc.
82959         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82960         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82961         type. Otherwise, it wouldn't compile with at least /bin/cc on
82962         ymp-cray-unicos9.0.2.X.
82963         Combine two mostly-identical uses of alloca into one.
82964         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82965
82966 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82967
82968         [From Emacs.]
82969
82970         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82971         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82972         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82973         obsolete NLIST_NAME_UNION.
82974         [__GNU__]: Undef BSD and FSCALE.
82975         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82976
82977 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82978
82979         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82980         an enum type, so that it's guaranteed to promote to int.  See:
82981         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82982
82983 2003-08-03  Karl Berry  <karl@gnu.org>
82984
82985         * config/depcomp: update from automake.
82986
82987 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82988
82989         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82990         (strerror): Don't assume that a printable int fits in 14 bytes.
82991
82992 2003-07-31  Bruno Haible  <bruno@clisp.org>
82993
82994         * modules/getpass-gnu: New file.
82995         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82996
82997 2003-07-31  Bruno Haible  <bruno@clisp.org>
82998
82999         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
83000
83001 2003-07-24  Karl Berry  <karl@gnu.org>
83002
83003         * config/missing: update from automake.
83004
83005 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
83006             Bruno Haible  <bruno@clisp.org>
83007
83008         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
83009         * lib/getline.c (getline, getdelim): Likewise.
83010         Remove _GNU_SOURCE define; now it's defined in config.h through
83011         m4/getline.m4.
83012
83013 2003-07-23  Karl Berry  <karl@gnu.org>
83014
83015         * config/config.sub: update from prep.
83016
83017 2003-07-22  Paul Eggert  <eggert@twinsun.com>
83018
83019         * modules/xalloc (Depends-on): Add exitfail.
83020         * modules/xmemcoll: Likewise.
83021
83022 2003-07-22  Paul Eggert  <eggert@twinsun.com>
83023
83024         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
83025         over-parenthesization in macros.
83026
83027         Sync with coreutils.
83028
83029         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
83030         required by C99.
83031
83032         Use `exit_failure' for xalloc and xmemcoll instead of their own
83033         private exit-failure variables.
83034         * lib/xalloc.h (xalloc_exit_failure): Remove.
83035         * lib/xmalloc.c: Likewise.  Include exitfail.h.
83036         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
83037         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
83038         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
83039         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
83040
83041 2003-07-20  Jim Meyering  <jim@meyering.net>
83042
83043         * modules/closeout (Depends-on): Add exitfail.
83044         Suggestion from Bruno Haible.
83045
83046 2003-07-19  Karl Berry  <karl@gnu.org>
83047
83048         * config/config.sub: update from prep.
83049
83050 2003-07-18  Paul Eggert  <eggert@twinsun.com>
83051
83052         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
83053         Remove.
83054         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
83055         to test that it can stand by itself.  Include "exitfail.h".
83056         Clients should set exit_failure instead.
83057         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
83058
83059 2003-07-18  Bruno Haible  <bruno@clisp.org>
83060
83061         * modules/getndelim2: New file.
83062         * modules/getline: Share files with module getndelim2.
83063         * modules/getnline: Depend on getndelim2 instead of sharing files with
83064         it. Add getnline.c to lib_SOURCES.
83065         * MODULES.html.sh (func_all_modules): Add getndelim2.
83066
83067 2003-07-18  Bruno Haible  <bruno@clisp.org>
83068
83069         * m4/getndelim2.m4: New file.
83070         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
83071         invoke gl_PREREQ_GETNDELIM2.
83072         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
83073         gl_PREREQ_GETNDELIM2.
83074         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
83075         gl_GETNDELIM2.
83076
83077 2003-07-18  Bruno Haible  <bruno@clisp.org>
83078
83079         * lib/getndelim2.h: New file.
83080         * lib/getndelim2.c: Make into a module of its own. Include config.h,
83081         getndelim2.h.
83082         (getndelim2): Make non-static. Change return type to ssize_t.
83083         * lib/getline.h: Change argument names.
83084         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
83085         * lib/getnline.c: Include getndelim2.h.
83086
83087 2003-07-18  Andreas Schwab  <schwab@suse.de>
83088
83089         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
83090
83091 2003-07-17  Karl Berry  <karl@gnu.org>
83092
83093         * config/config.sub: update from prep.
83094
83095 2003-07-17  Bruno Haible  <bruno@clisp.org>
83096
83097         * modules/getnline: New file.
83098         * modules/getline: Add lib/getndelim2.c to source file list.
83099         * MODULES.html.sh (func_all_modules): Add getnline.
83100
83101 2003-07-17  Bruno Haible  <bruno@clisp.org>
83102
83103         * m4/getnline.m4: New file.
83104
83105 2003-07-17  Bruno Haible  <bruno@clisp.org>
83106
83107         * m4/Makefile.am.in: Remove file.
83108         * m4/Makefile.am: Remove file.
83109         * m4/Makefile.in: Remove file.
83110
83111 2003-07-17  Bruno Haible  <bruno@clisp.org>
83112
83113         * lib/getnline.h: New file.
83114         * lib/getnline.c: New file.
83115         * lib/getndelim2.c: New file, extracted from getline.c.
83116         (getndelim2): Renamed from getdelim2, with added nmax argument.
83117         * lib/getline.c: Include getndelim2.c.
83118         (getdelim2): Moved out to getndelim2.c.
83119         (getline, getdelim): Update.
83120
83121 2003-07-17  Bruno Haible  <bruno@clisp.org>
83122
83123         * lib/Makefile.am: Remove file.
83124         * lib/Makefile.in: Remove file.
83125
83126 2003-07-17  Bruno Haible  <bruno@clisp.org>
83127
83128         * configure.in: Remove file.
83129         * Makefile.in: Remove file.
83130
83131 2003-07-17  Bruno Haible  <bruno@clisp.org>
83132
83133         * MODULES.html.sh: Put the </BODY> right before </HTML>.
83134
83135 2003-07-16  Karl Berry  <karl@gnu.org>
83136
83137         * config/srclist-update: was running fixlicense twice, which caused
83138                 texinfo.tex to be nullified for some reason.  Simplify,
83139                 $gplsrc is no longer needed as far as I can see?
83140
83141 2003-07-16  Jim Meyering  <jim@meyering.net>
83142
83143         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
83144
83145 2003-07-15  Paul Eggert  <eggert@twinsun.com>
83146
83147         * config/srclist.txt: Get the following files from gettext-runtime/intl
83148         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
83149         ref-del.sin.  From Bruno Haible.
83150         * config/srclist-update (fixfile): Change grep pattern again, since the
83151         previous fix didn't work (there was another trailing $).  Use
83152         '[$]' to escape the $s.
83153
83154 2003-07-15  Karl Berry  <karl@gnu.org>
83155
83156         * lib/vasnprintf.c: update from gettext.
83157
83158 2003-07-15  Karl Berry  <karl@gnu.org>
83159
83160         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
83161         gets expanded when surrounded by '$'.
83162
83163 2003-07-15  Jim Meyering  <jim@meyering.net>
83164
83165         * modules/save-cwd: Don't depend on error.  From Derek Price.
83166
83167 2003-07-15  Jim Meyering  <jim@meyering.net>
83168
83169         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
83170
83171 2003-07-14  Simon Josefsson  <jas@extundo.com>
83172
83173         * modules/mempcpy: New file.
83174         * MODULES.html.sh (func_all_modules): Add mempcpy.
83175
83176 2003-07-14  Simon Josefsson  <jas@extundo.com>
83177
83178         * m4/mempcpy.m4: New file.
83179
83180 2003-07-14  Simon Josefsson  <jas@extundo.com>
83181
83182         * lib/mempcpy.h: New file.
83183         * lib/mempcpy.c: New file.
83184
83185 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83186
83187         * modules/getdate, modules/posixtm: Depend on mktime.
83188
83189 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83190
83191         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
83192         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
83193         unicodeio.c, unicodeio.h, unlocked-io.h:
83194         Switch from LGPL to GPL.
83195
83196 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83197
83198         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
83199         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
83200         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
83201         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
83202         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
83203         updated automatically by ../config/srclist-update.  This changes
83204         their license from LPGL to GPL.
83205
83206 2003-07-14  Paul Eggert  <eggert@twinsun.com>
83207
83208         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
83209         assumed to refer to the root of the most recent stable gettext version.
83210         * config/srclistvars.sh: Add defaults for eggert.
83211         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
83212         Match "This program" as well as "The program".  This is needed
83213         for gettext.
83214
83215 2003-07-14  Jim Meyering  <jim@meyering.net>
83216
83217         Don't emit diagnostics.  Let callers do that.
83218         * lib/save-cwd.c: Don't include "error.h".
83219         (save_cwd): Don't call error.  Ensure that errno is valid
83220         when returning nonzero.
83221
83222         * lib/save-cwd.h (restore_cwd): Update prototype.
83223         * lib/save-cwd.c (restore_cwd): Remove two parameters.
83224         Simplify.  Don't call error upon failure.  Let callers do that.
83225         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
83226         when auditing is enabled.  But don't bother updating the #if.
83227
83228 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
83229
83230         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
83231         it breaks C++ compilation.
83232         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
83233
83234 2003-07-10  Simon Josefsson  <jas@extundo.com>
83235
83236         * modules/strchrnul (Makefile.am): Add strchrnul.h.
83237
83238 2003-07-10  Jim Meyering  <jim@meyering.net>
83239
83240         * m4/clock_time.m4: Remove trailing blank.
83241         * m4/intmax_t.m4: Likewise.
83242
83243 2003-07-10  Jim Meyering  <jim@meyering.net>
83244
83245         * lib/vasnprintf.c: Remove trailing blanks.
83246         Make cpp indentation consistent.
83247
83248 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83249
83250         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
83251         posixver.c, strftime.c, strnlen.c, strverscmp.c:
83252         Switch from LGPL to GPL.
83253
83254 2003-07-09  Paul Eggert  <eggert@twinsun.com>
83255
83256         * config/srclist.txt: Sort sublists.  Add
83257         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
83258         that differ from gnulib for one reason or another; we'd like this list
83259         to be smaller but for now let's document what we have.
83260
83261 2003-07-08  Paul Eggert  <eggert@twinsun.com>
83262
83263         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
83264         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
83265         and sweeter "eval x=$x".
83266         * config/srclist.txt: Get lib/argp* from glibc.
83267
83268 2003-07-07  Paul Eggert  <eggert@twinsun.com>
83269
83270         * lib/mktime.c: Fix some boundary cases and remove need for floating
83271         point.
83272
83273         Issue a compile-time diagnostic if time_t is floating point, or if
83274         two's complement arithmetic is not in effect, or if arithmetic
83275         right shift does not propagate the sign.  These assumptions were
83276         all in the original code but they weren't checked.
83277
83278         (TIME_T_MIDPOINT, verify): New macros.
83279         (__isleap): Remove; it has integer overflow problems.
83280         (leapyear): New function, without those problems.
83281         (ydhms_tm_diff): Remove; splitting into two parts.
83282         (ydhms_diff): New function, containing the arithmetic part of
83283         the old ydhms_tm_diff function.  Issue a compile-time
83284         diagnostic if we are not using C99 integer division.
83285         Avoid casts when possible.
83286         (guess_time_tm): New function, containing the checking part of
83287         the old ydhms_tm_diff function.  Return the new value, rather than
83288         the difference between it and the old.  Accept a new argument T
83289         so that *T specifies the old value.  Check for overflow in the result.
83290
83291         (__mktime_internal): Use a time_t offset, not a long int offset.
83292         This undoes the 2003-06-04 change, which is no longer needed now
83293         that we have better overflow checking.
83294         (localtime_offset): Likewise.
83295
83296         (__mktime_internal): Avoid harmful overflow on hosts where time_t
83297         and long are 64-bit but int is only 32-bit.
83298         (ydhms_diff): Use long int to store year1 and yday1.
83299         Issue a compile-time diagnostic if long int is not wide enough.
83300
83301         (__mktime_internal): Use long int to store adjusted year and yday.
83302         Use plain C rather than preprocessor commands, if that doesn't
83303         affect efficiency.
83304         Check for overflow (and try to repair) after each probe
83305         rather than checking only at the very end.  This avoids some bugs
83306         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
83307         does not equal GMT offset at maximum time).
83308         Use integer to check for overflow rather than floating point; this
83309         is more portable to non-IEEE hosts, and is a tad faster.
83310         When we detect that we are oscillating between two values,
83311         don't check whether tm_isdst has the requested value, since
83312         we already know the answer.  When tm_isdst has the wrong value,
83313         use a different heuristic to find the right one, based on the
83314         extreme values actually observed in practice in tz2003a,
83315         rather than the (overly optimistic) "previous 3 calendar quarters".
83316
83317         (not_equal_tm, print_tm, check_result): Use "const T" rather than
83318         "T const" to accommodate glibc style.
83319         (check_result): Use less-confusing report format.  "long" -> "long int.
83320         (main): Likewise.
83321         Don't loop if the iteration overflows time_t.
83322         Allow a negative step in the iteration.
83323
83324 2003-07-06  Karl Berry  <karl@gnu.org>
83325
83326         * config/depcomp: update from automake.
83327         * config/config.sub: update from prep.
83328
83329 2003-07-03  Karl Berry  <karl@gnu.org>
83330
83331         * config/config.guess: update from prep.
83332
83333 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83334
83335         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
83336         xreadlink.c now includes it unconditionally.
83337
83338 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83339
83340         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
83341         having it depend on HAVE_SYS_TYPES_H.
83342
83343 2003-07-01  Bruno Haible  <bruno@clisp.org>
83344
83345         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
83346         <sys/types.h> should be sufficient.
83347         Reported by Paul Eggert.
83348
83349 2003-06-26  Karl Berry  <karl@gnu.org>
83350
83351         * config/depcomp: update from automake.
83352
83353 2003-06-26  Bruno Haible  <bruno@clisp.org>
83354
83355         * modules/human: Depend on module stdbool.
83356
83357 2003-06-25  Bruno Haible  <bruno@clisp.org>
83358
83359         * modules/readlink: New file.
83360         * modules/xreadlink: Depend on it.
83361         * MODULES.html.sh (func_all_modules): Add readlink.
83362
83363 2003-06-25  Bruno Haible  <bruno@clisp.org>
83364
83365         * m4/readlink.m4: New file.
83366
83367 2003-06-25  Bruno Haible  <bruno@clisp.org>
83368
83369         * lib/readlink.c: New file.
83370
83371 2003-06-22  Karl Berry  <karl@gnu.org>
83372
83373         * config/srclist.txt: update mkinstalldirs from automake.
83374         * config/mkinstalldirs: update.
83375
83376 2003-06-22  Bruno Haible  <bruno@clisp.org>
83377
83378         Portability to mingw32.
83379         * m4/ssize_t.m4: New file, from GNU gettext.
83380         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
83381         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
83382
83383 2003-06-22  Bruno Haible  <bruno@clisp.org>
83384
83385         * modules/safe-read: Add m4/ssize_t.m4.
83386         * modules/xreadlink: Add m4/ssize_t.m4.
83387
83388 2003-06-20  Bruno Haible  <bruno@clisp.org>
83389
83390         Assume C89, so PARAMS isn't needed.
83391         * lib/unicodeio.h (PARAMS): Remove.
83392         * lib/unicodeio.c: Don't use PARAMS.
83393
83394 2003-06-18  Karl Berry  <karl@gnu.org>
83395
83396         * config/config.{guess,sub}: update from prep.
83397
83398 2003-06-18  Jim Meyering  <jim@meyering.net>
83399
83400         Merge changes from coreutils.
83401         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
83402         Remove explicit declarations of xmalloc and realloc.
83403         Include xalloc.h.
83404         (read_utmp): Remove anachronistic cast of xmalloc.
83405
83406 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83407
83408         Assume C89, so PARAMS isn't needed.
83409         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83410         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83411         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83412         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83413         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83414         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83415         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83416         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83417         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83418         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83419         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83420         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83421         no longer needed. Anyway, config.h should always be included before any
83422         other file.
83423
83424 2003-06-11  Simon Josefsson  <jas@extundo.com>
83425
83426         * modules/sysexits: New file.
83427         * MODULES.html.sh (func_all_modules): Add sysexits.
83428
83429 2003-06-11  Simon Josefsson  <jas@extundo.com>
83430
83431         * lib/sysexit_.h: New file.
83432
83433 2003-06-11  Derek Price  <derek@ximbiot.com>
83434
83435         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83436         necessary.
83437
83438 2003-06-11  Bruno Haible  <bruno@clisp.org>
83439
83440         * m4/sysexits.m4: New file.
83441
83442 2003-06-10  Simon Josefsson  <jas@extundo.com>
83443
83444         * lib/argp.h: New file, from glibc.
83445         * lib/argp-ba.c: New file, from glibc.
83446         * lib/argp-eexst.c: New file, from glibc.
83447         * lib/argp-fmtstream.c: New file, from glibc.
83448         * lib/argp-fmtstream.h: New file, from glibc.
83449         * lib/argp-fs-xinl.c: New file, from glibc.
83450         * lib/argp-help.c: New file, from glibc.
83451         * lib/argp-namefrob.h: New file, from glibc.
83452         * lib/argp-parse.c: New file, from glibc.
83453         * lib/argp-pv.c: New file, from glibc.
83454         * lib/argp-pvh.c: New file, from glibc.
83455         * lib/argp-xinl.c: New file, from glibc.
83456
83457 2003-06-10  Simon Josefsson  <jas@extundo.com>
83458
83459         * modules/strchrnul: New file.
83460
83461 2003-06-10  Simon Josefsson  <jas@extundo.com>
83462
83463         * modules/argp: New file.
83464
83465 2003-06-10  Simon Josefsson  <jas@extundo.com>
83466
83467         * m4/strchrnul.m4: New file.
83468
83469 2003-06-10  Simon Josefsson  <jas@extundo.com>
83470
83471         * lib/strchrnul.h: New file.
83472         * lib/strchrnul.c: New file.
83473
83474 2003-06-10  Bruno Haible  <bruno@clisp.org>
83475
83476         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83477
83478 2003-06-07  Karl Berry  <karl@gnu.org>
83479
83480         * config/config.{guess,sub}: update from prep.
83481
83482 2003-06-07  Jim Meyering  <jim@meyering.net>
83483
83484         * modules/strtod: Use $(...) notation, not @...@ for
83485         AC_REPLACE'd variables.
83486         * modules/localcharset: Likewise.
83487
83488 2003-06-07  Jim Meyering  <jim@meyering.net>
83489
83490         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83491         in place of my name in the copyright comment.
83492         Remove definition and uses of __P.
83493
83494         From coreutils.
83495         * lib/stat.c: Don't declare xmalloc explicitly.
83496         Instead, include "xalloc.h".
83497         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83498         xrealloc, and xcalloc return values.
83499         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83500         Improve comment.
83501         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83502
83503 2003-06-07  Bruno Haible  <bruno@clisp.org>
83504
83505         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83506         avoid AC_CONFIG_LINKS.
83507         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83508         fnmatch.h, to avoid AC_CONFIG_LINKS.
83509         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83510
83511 2003-06-07  Bruno Haible  <bruno@clisp.org>
83512
83513         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83514         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83515         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83516         directory.
83517         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83518         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83519         directory.
83520
83521 2003-06-06  Jim Meyering  <jim@meyering.net>
83522
83523         Merge from coreutils.
83524         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83525         Consolidate declarations and initializations of *_base* locals.
83526
83527         Merge from coreutils.
83528         This avoids a core dump on systems without GNU putenv,
83529         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83530         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83531         (unsetenv): New static function, from GNU libc.
83532         (rpl_putenv): Use it.
83533
83534         * lib/modechange.c: Remove trailing blanks.
83535
83536         Merge from coreutils.
83537         * lib/fsusage.c: Remove declaration of statfs.
83538         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83539
83540         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83541
83542 2003-06-06  Jim Meyering  <jim@meyering.net>
83543
83544         * lib/stdbool_.h: Renamed from stdbool.h.in.
83545
83546 2003-06-06  Jim Meyering  <jim@meyering.net>
83547             Bruno Haible  <bruno@clisp.org>
83548
83549         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83550         Adjust Makefile.am snippet not to redirect directly to target.
83551         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83552
83553 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83554
83555         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83556         mismatch, look in future quarters as well as past.  This fixes a
83557         bug when processing fall-backwards gaps immediately after a long
83558         period of daylight-saving time.
83559
83560         * lib/mktime.c: Assume freestanding C89 or better.
83561         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83562         (__P): Remove; not used.
83563         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83564         (mktime, not_equal_tm, print_tm, check_result,
83565         main): Use prototypes.  Use const * where appropriate.
83566         (main): Fix typo in testing code that uncovered by above changes.
83567         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83568
83569 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83570
83571         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83572         locale.h, localeconv.  This merges changes from coreutils.
83573
83574         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83575         It can be removed after the next Autoconf is released.
83576         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83577         needed.
83578
83579 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83580
83581         * lib/mktime.c: Fix Debian bug 177940
83582         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83583         (localtime_offset): Now long int, not time_t, because we want it
83584         to be guaranteed to be signed.  All uses changed.
83585         (__mktime_internal): If overflow would occur when adding offset,
83586         don't add it.
83587
83588         Merge 'human' changes from coreutils.  Rewrite to support
83589         locale-specific notations like thousands separators.
83590         * lib/human.c: Simplify authorship notice.
83591         Include human.h immediately after config.h.
83592         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83593         <limits.h>: Do not include, since human.h does.
83594         (SIZE_MAX, UINTMAX_MAX): New macros.
83595         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83596         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83597         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83598         (power_letter): Renamed from suffixes.
83599         (generate_suffix_backwards): Remove.
83600         (adjust_value): Now takes int style (because of human.h changes)
83601         and long double value (for greater precision on some platforms).
83602         (group_number): New function.
83603         (human_readable): Use it.  Use integer options, not enum.
83604         Put the options before the sizes in the arg list.
83605         Support all the new options.
83606         The old human_readable function has been removed;
83607         use inttostr.h instead.
83608         (human_readable, default_block_size, humblock):
83609         Use uintmax_t, not int, for block sizes.
83610         (human_readable_inexact, block_size_types): Remove.
83611         (block_size_opts): New constant.
83612         (human_options): Renamed from human_block_size, with new signature
83613         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83614         * lib/human.h: Add copyright and authorship notice.
83615         Include <limits.h> and <stdbool.h> unconditionally.
83616         (PARAMS): Remove.  All uses removed.
83617         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83618         (enum human_inexact_style): Remove tag; now a nameless enum.
83619         (human_floor, human_ceiling, human_round_to_even): Now have
83620         values 2, 0, 1 rather than -1, 1, 0.
83621         (human_group_digits, human_suppress_point_zero, human_autoscale,
83622         human_base_1024, human_SI, human_B): New constants.
83623         (human_readable_inexact, human_block_size): Remove.
83624         (human_readable): Size args are now uintmax_t, not int.
83625         (human_options): New decl.
83626
83627         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83628         unnecessary now that we assume C89 or better.  This change
83629         imported from coreutils.
83630
83631         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83632         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83633         in the 2003-05-30 sync from glibc.
83634
83635         .h files should stand alone, but we shouldn't include <sys/types.h>
83636         if we can get away with just <stddef.h>.
83637
83638         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83639         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83640         rather than <sys/types.h>, as we merely need size_t.
83641         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83642         to get size_t.
83643         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83644         Include <stdio.h>, to get FILE.
83645         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83646         memcasecmp.h has included <stddef.h> and all we need is size_t.
83647         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83648         our interface, instead of including <sys/types.h>
83649
83650 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83651
83652         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83653         now, as glibc mktime is buggy on non-glibc systems.
83654
83655 2003-06-03  Karl Berry  <karl@gnu.org>
83656
83657         * config/config.sub: update from prep.
83658
83659 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83660
83661         [from coreutils]
83662         Fix some minor time-related bugs with POSIX time arguments.
83663         Some valid time stamps were being rejected (notably -1, and
83664         time stamps before 1900 on 64-bit hosts).  And some invalid
83665         time stamps were being accepted, e.g. September 31.
83666
83667         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83668         that we can return (time_t) -1 successfully.
83669         * lib/posixtm.c: Likewise.
83670         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83671         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83672         (t): Remove static var.
83673         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83674         of static var.  All uses changed.
83675         (year): Do not reject years before 1900; they can occur with
83676         64-bit time_t.
83677         (posix_time_parse): Do not check for out-of-range components;
83678         that is now the caller's responsibility, since our checks were
83679         only approximations.
83680         (posixtime): Use mktime to check for out-of-range components,
83681         since it knows them exactly.
83682         If mktime returns (time_t) -1, check whether an error actually occurred
83683         by invoking localtime on -1.
83684         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83685         posixtime failures better.
83686         Improve the test data (in comments only).
83687
83688 2003-06-02  Karl Berry  <karl@gnu.org>
83689
83690         * config/mkinstalldirs (version): new variable.
83691         (--version): new option.
83692         (usage): improve message.
83693
83694 2003-05-30  Karl Berry  <karl@gnu.org>
83695
83696         * lib/mktime.c: update from libc.
83697
83698 2003-05-30  Bruno Haible  <bruno@clisp.org>
83699
83700         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83701         * config/config.rpath: Upgrade to gettext-0.12.1.
83702
83703 2003-05-30  Bruno Haible  <bruno@clisp.org>
83704
83705         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83706         * m4/nls.m4: New file, from gettext-0.12.1.
83707         * m4/po.m4: New file, from gettext-0.12.1.
83708         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83709
83710 2003-05-30  Bruno Haible  <bruno@clisp.org>
83711
83712         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83713         * lib/localcharset.h: Likewise.
83714         * lib/localcharset.c: Likewise.
83715
83716 2003-05-29  Karl Berry  <karl@gnu.org>
83717
83718         * config/config.rpath: update from gettext.
83719
83720 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83721
83722         Assume the headers required for C89 freestanding compilers.
83723         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83724         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83725         * m4/human.m4 (gl_HUMAN): Likewise.
83726         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83727         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83728         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83729         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83730         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83731         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83732
83733 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83734
83735         Assume the headers required for C89 freestanding compilers.
83736         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83737         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83738         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83739         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83740         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83741         define, since <limits.h> is guaranteed to do that.
83742         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83743         * lib/exclude.c: Include <stdbool.h> unconditionally.
83744         * lib/tempname.c: Include <stddef.h> unconditionally.
83745         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83746         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83747         <stddef.h> does that.
83748         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83749         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83750         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83751         needed.
83752         * lib/xstrtol.c: Likewise.
83753         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83754         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83755
83756         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83757         warnings on some platforms.
83758
83759         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83760         arbitrarily.
83761
83762 2003-05-26  Jim Meyering  <jim@meyering.net>
83763
83764         Merge in a change from coreutils:
83765         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83766         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83767         that condition, rather than `-1' which is slightly misleading.
83768         Change the name of the cache variable to have the gl_ prefix.
83769         Prompted by a patch from Richard Dawe for DJGPP.
83770
83771 2003-05-24  Karl Berry  <karl@gnu.org>
83772
83773         * config/config.guess: update from prep.
83774
83775 2003-05-22  Karl Berry  <karl@gnu.org>
83776
83777         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83778
83779 2003-05-20  Karl Berry  <karl@gnu.org>
83780
83781         * config/config.guess: update from prep.
83782
83783 2003-05-18  Karl Berry  <karl@gnu.org>
83784
83785         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83786         might actually be set by the user.
83787
83788         * config/depcomp, install-sh, mdate-sh: update from automake.
83789
83790 2003-05-17  Bruno Haible  <bruno@clisp.org>
83791
83792         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83793         invalid expansion for AC_EGREP_CPP.
83794         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83795         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83796         Suggested by Akim Demaille <akim@epita.fr> in
83797         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83798
83799 2003-05-12  Jim Meyering  <jim@meyering.net>
83800
83801         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83802         the space-padded-by-default conversion specifiers, %e, %k, %l.
83803
83804 2003-05-12  Bruno Haible  <bruno@clisp.org>
83805
83806         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83807         the string is longer than 4 KB.
83808
83809 2003-05-11  Karl Berry  <karl@gnu.org>
83810
83811         * config/config.{guess,sub}: update from prep.
83812
83813 2003-05-09  Bruno Haible  <bruno@clisp.org>
83814
83815         * modules/error: Add m4/strerror_r.m4 to file list.
83816
83817 2003-05-03  Bruno Haible  <bruno@clisp.org>
83818
83819         Upgrade to Unicode-4.0.
83820         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83821         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83822         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83823         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83824         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83825         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83826         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83827         Change width of U+E0100..U+E01EF from 1 to 0.
83828
83829 2003-04-25  Jim Meyering  <jim@meyering.net>
83830
83831         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83832         of type size_t, not int.
83833
83834 2003-04-25  Bruno Haible  <bruno@clisp.org>
83835
83836         * lib/copy-file.c: Include <stddef.h>, for size_t.
83837
83838 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83839
83840         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83841         code which expansion is under static control.  Patch imported from
83842         Akim Demaille's patch to Bison; see
83843         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83844
83845 2003-04-14  Bruno Haible  <bruno@clisp.org>
83846
83847         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83848
83849 2003-04-11  Jim Meyering  <jim@meyering.net>
83850
83851         Merge changes from Coreutils.
83852
83853         2003-03-22  Jim Meyering  <jim@meyering.net>
83854
83855         * lib/strftime.c (widen): Cast alloca return value to proper type.
83856
83857         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83858
83859         From GNU libc.
83860         * lib/strftime.c (my_strftime): Handle very large width
83861         specifications for numeric values correctly.  Improve checks for
83862         overflow.
83863
83864         2003-01-19  Jim Meyering  <jim@meyering.net>
83865
83866         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83867         definitions.
83868         (nl_get_alt_digit) [! defined my_strftime]: Define.
83869         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83870         _nl_get_alt_digit and _nl_get_walt_digit.
83871
83872         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83873         libc. These changes have no effect outside of _LIBC.
83874
83875 2003-04-10  Bruno Haible  <bruno@clisp.org>
83876
83877         * modules/findprog: New file.
83878         * MODULES.html.sh (func_all_modules): Add it.
83879
83880 2003-04-10  Bruno Haible  <bruno@clisp.org>
83881
83882         * m4/findprog.m4: New file.
83883         * m4/eaccess.m4: New file.
83884
83885 2003-04-10  Bruno Haible  <bruno@clisp.org>
83886
83887         * lib/findprog.h: New file, from GNU gettext.
83888         * lib/findprog.c: New file, from GNU gettext.
83889
83890 2003-04-05  Jim Meyering  <jim@meyering.net>
83891
83892         Merge changes from Coreutils.
83893
83894         * lib/exclude.h (PARAMS): Remove definition and uses.
83895         * lib/exclude.c: Remove uses of `PARAMS'.
83896
83897         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83898         Add test-cases for DOS filenames. Declare program_name.
83899         (main): Set up program_name.  Patch by Rich Dawe.
83900
83901         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83902         error from mntctl.
83903         Use mntctl's return value to drive the entry-processing loop, since
83904         we can't rely on the value of the vmt_length member in the last
83905         entry.  On some systems doing so could result in exhausting
83906         virtual memory.  Based in part on a patch from Mike Jetzer.
83907
83908 2003-04-04  Bruno Haible  <bruno@clisp.org>
83909
83910         * modules/linebreak: New file.
83911         * MODULES.html.sh (func_all_modules): Add it.
83912
83913 2003-04-04  Bruno Haible  <bruno@clisp.org>
83914
83915         * m4/linebreak.m4: New file.
83916
83917 2003-04-04  Bruno Haible  <bruno@clisp.org>
83918
83919         * lib/linebreak.h: New file, from GNU gettext.
83920         * lib/linebreak.c: New file, from GNU gettext with slight
83921         modifications.
83922         * lib/lbrkprop.h: New file, from GNU gettext.
83923
83924 2003-04-03  Bruno Haible  <bruno@clisp.org>
83925
83926         * modules/utf8-ucs4: New file.
83927         * modules/utf16-ucs4: New file.
83928         * modules/ucs4-utf8: New file.
83929         * modules/ucs4-utf16: New file.
83930         * MODULES.html.sh (func_all_modules): Add them.
83931
83932 2003-04-03  Bruno Haible  <bruno@clisp.org>
83933
83934         * m4/utf-ucs4.m4: New file.
83935         * m4/ucs4-utf.m4: New file.
83936
83937 2003-04-03  Bruno Haible  <bruno@clisp.org>
83938
83939         * lib/utf8-ucs4.h: New file, from GNU gettext.
83940         * lib/utf16-ucs4.h: New file, from GNU gettext.
83941         * lib/ucs4-utf8.h: New file, from GNU gettext.
83942         * lib/ucs4-utf16.h: New file, from GNU gettext.
83943
83944 2003-04-02  Bruno Haible  <bruno@clisp.org>
83945
83946         * modules/binary-io: New file.
83947         * MODULES.html.sh (func_all_modules): Add it.
83948
83949 2003-04-02  Bruno Haible  <bruno@clisp.org>
83950
83951         * lib/binary-io.h: New file, from GNU gettext.
83952
83953 2003-04-01  Bruno Haible  <bruno@clisp.org>
83954
83955         * modules/pathname: New file.
83956         * MODULES.html.sh (func_all_modules): Add it.
83957
83958 2003-04-01  Bruno Haible  <bruno@clisp.org>
83959
83960         * lib/pathname.h: New file, from GNU gettext.
83961         * lib/concatpath.c: New file, from GNU gettext.
83962
83963 2003-03-30  Bruno Haible  <bruno@clisp.org>
83964
83965         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83966
83967 2003-03-30  Bruno Haible  <bruno@clisp.org>
83968
83969         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83970         function chown() doesn't exist.
83971
83972 2003-03-28  Bruno Haible  <bruno@clisp.org>
83973
83974         * modules/copy-file: New file.
83975         * MODULES.html.sh (func_all_modules): Add it.
83976
83977 2003-03-28  Bruno Haible  <bruno@clisp.org>
83978
83979         * m4/copy-file.m4: New file.
83980
83981 2003-03-28  Bruno Haible  <bruno@clisp.org>
83982
83983         * lib/copy-file.h: New file, from GNU gettext.
83984         * lib/copy-file.c: New file, from GNU gettext.
83985
83986 2003-03-18  Jim Meyering  <jim@meyering.net>
83987
83988         * lib/quote.c (quote_n): Fix typo in comment.
83989
83990 2003-03-18  Bruno Haible  <bruno@clisp.org>
83991
83992         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83993         checking.
83994         * m4/onceonly_2_57.m4: Likewise.
83995
83996 2003-03-17  Bruno Haible  <bruno@clisp.org>
83997
83998         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83999         (m4_quote): Remove macro.
84000         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
84001
84002 2003-03-14  Jim Meyering  <jim@meyering.net>
84003
84004         Merge changes from Coreutils.
84005         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
84006         to be const, in order to avoid warnings.
84007         (obstack_room): Likewise.
84008         (obstack_empty_p): Likewise.
84009
84010 2003-03-14  Bruno Haible  <bruno@clisp.org>
84011
84012         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
84013         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
84014
84015 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84016
84017         Merge changes from Bison.
84018         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
84019         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
84020         when compiling Bison 1.875's `bitset bset = obstack_alloc
84021         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
84022         * lib/hash.c: Include <stdbool.h> unconditionally.
84023
84024 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84025
84026         * m4/onceonly.m4 (m4_quote): New macro.
84027         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
84028         Quote AC_FOREACH variable-expansions properly.
84029
84030 2003-03-13  Paul Eggert  <eggert@twinsun.com>
84031
84032         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
84033
84034 2003-03-09  Paul Eggert  <eggert@twinsun.com>
84035
84036         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
84037         Reported by Bruce Becker; see:
84038         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
84039
84040 2003-03-03  Paul Eggert  <eggert@twinsun.com>
84041             Bruno Haible  <bruno@clisp.org>
84042
84043         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
84044         Reported by John Hughes, see
84045         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
84046
84047 2003-02-20  Bruno Haible  <bruno@clisp.org>
84048
84049         * MODULES.html.sh (func_all_modules): Add poll.
84050
84051 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84052
84053         * modules/poll: New file.
84054
84055 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84056
84057         * lib/poll_.h: New file.
84058         * lib/poll.c: New file.
84059
84060 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
84061
84062         * m4/poll.m4: New file.
84063
84064 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84065
84066         * modules/mathl: New file.
84067
84068 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84069
84070         * lib/mathl.h: New file.
84071         * lib/acosl.c: New file.
84072         * lib/asinl.c: New file.
84073         * lib/atanl.c: New file.
84074         * lib/ceill.c: New file.
84075         * lib/cosl.c: New file.
84076         * lib/expl.c: New file.
84077         * lib/floorl.c: New file.
84078         * lib/frexpl.c: New file.
84079         * lib/ldexpl.c: New file.
84080         * lib/logl.c: New file.
84081         * lib/sincosl.c: New file.
84082         * lib/sinl.c: New file.
84083         * lib/sqrtl.c: New file.
84084         * lib/tanl.c: New file.
84085         * lib/trigl.c: New file.
84086         * lib/trigl.h: New file.
84087
84088 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
84089
84090         * m4/mathl.m4: New file.
84091
84092 2003-02-18  Bruno Haible  <bruno@clisp.org>
84093
84094         * MODULES.html.sh (func_all_modules): Add mathl.
84095
84096 2003-02-17  Bruno Haible  <bruno@clisp.org>
84097
84098         * modules/mkdtemp: New module.
84099         * MODULES.html.sh (func_all_modules): Add it.
84100
84101 2003-02-17  Bruno Haible  <bruno@clisp.org>
84102
84103         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
84104
84105 2003-02-17  Bruno Haible  <bruno@clisp.org>
84106
84107         * lib/mkdtemp.h: New file, from GNU gettext.
84108         * lib/mkdtemp.c: New file, from GNU gettext.
84109
84110 2003-02-02  Jim Meyering  <jim@meyering.net>
84111
84112         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
84113         e.g. glibc-2.2.93.
84114
84115 2003-01-31  Bruno Haible  <bruno@clisp.org>
84116
84117         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
84118         'rpl_rename'.
84119         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
84120         'rpl_strnlen'.
84121         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
84122         'rpl_strtod'.
84123         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
84124         'rpl_utime'.
84125
84126 2003-01-31  Bruno Haible  <bruno@clisp.org>
84127
84128         * lib/rename.c: #undef rename before defining rpl_rename.
84129         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
84130
84131 2003-01-30  Bruno Haible  <bruno@clisp.org>
84132
84133         * modules/vasnprintf, modules/vasprintf: New modules.
84134         * MODULES.html.sh (func_all_modules): Add them.
84135
84136 2003-01-30  Bruno Haible  <bruno@clisp.org>
84137
84138         * m4/signed.m4: New file, from GNU gettext.
84139         * m4/longdouble.m4: New file, from GNU gettext.
84140         * m4/wchar_t.m4: New file, from GNU gettext.
84141         * m4/wint_t.m4: New file, from GNU gettext.
84142         * m4/vasnprintf.m4: New file.
84143         * m4/vasprintf.m4: New file.
84144
84145 2003-01-30  Bruno Haible  <bruno@clisp.org>
84146
84147         * lib/printf-args.h: New file, from GNU gettext.
84148         * lib/printf-args.c: New file, from GNU gettext.
84149         * lib/printf-parse.h: New file, from GNU gettext.
84150         * lib/printf-parse.c: New file, from GNU gettext.
84151         * lib/vasnprintf.h: New file, from GNU gettext.
84152         * lib/vasnprintf.c: New file, from GNU gettext.
84153         * lib/asnprintf.c: New file, from GNU gettext.
84154         * lib/vasprintf.h: New file, from GNU gettext with modifications.
84155         * lib/vasprintf.c: New file, from GNU gettext.
84156         * lib/asprintf.c: New file, from GNU gettext.
84157
84158 2003-01-29  Bruno Haible  <bruno@clisp.org>
84159
84160         * modules/stpncpy: New module.
84161         * MODULES.html.sh (func_all_modules): Add it.
84162
84163 2003-01-29  Bruno Haible  <bruno@clisp.org>
84164
84165         * m4/stpncpy.m4: New file.
84166
84167 2003-01-29  Bruno Haible  <bruno@clisp.org>
84168
84169         * lib/stpncpy.h: New file, from GNU gettext with modifications.
84170         * lib/stpncpy.c: New file, from GNU gettext with modifications.
84171
84172 2003-01-28  Bruno Haible  <bruno@clisp.org>
84173
84174         * modules/c-ctype: New module.
84175         * MODULES.html.sh (func_all_modules): Add it.
84176
84177 2003-01-28  Bruno Haible  <bruno@clisp.org>
84178
84179         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
84180         Paul Eggert.
84181         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
84182         Paul Eggert.
84183
84184 2003-01-27  Bruno Haible  <bruno@clisp.org>
84185
84186         * modules/xsetenv: New module.
84187         * MODULES.html.sh (func_all_modules): Add it.
84188
84189 2003-01-27  Bruno Haible  <bruno@clisp.org>
84190
84191         * lib/xsetenv.h: New file, from GNU gettext.
84192         * lib/xsetenv.c: New file, from GNU gettext.
84193
84194 2003-01-23  Jim Meyering  <jim@meyering.net>
84195
84196         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
84197         from working on systems without dirfd (at least Irix and OSF1/Tru64).
84198
84199 2003-01-23  Bruno Haible  <bruno@clisp.org>
84200
84201         * modules/minmax: New module.
84202         * MODULES.html.sh (func_all_modules): Add it.
84203
84204 2003-01-23  Bruno Haible  <bruno@clisp.org>
84205
84206         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
84207         Eggert.
84208
84209 2003-01-22  Bruno Haible  <bruno@clisp.org>
84210
84211         * modules/exit: New module.
84212         * MODULES.html.sh (func_all_modules): Add it.
84213
84214 2003-01-22  Bruno Haible  <bruno@clisp.org>
84215
84216         * lib/exit.h: New file, from GNU gettext.
84217
84218 2003-01-19  Bruno Haible  <bruno@clisp.org>
84219
84220         * gnulib-tool: Recognize option --extract-maintainer.
84221         (func_get_maintainer): New function.
84222         * modules/*: Add Maintainer entry.
84223
84224 2003-01-16  Jim Meyering  <jim@meyering.net>
84225
84226         * m4/regex.m4: The `regex' struct is both input and output.
84227         Initialize it before each use.  Patch by Tim Waugh.
84228
84229 2003-01-16  Bruno Haible  <bruno@clisp.org>
84230
84231         * MODULES.html.sh: Add a table of contents. Add the module name as
84232         leftmost column. Add hyperlinks.
84233
84234 2003-01-15  Bruno Haible  <bruno@clisp.org>
84235
84236         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
84237
84238 2003-01-15  Bruno Haible  <bruno@clisp.org>
84239
84240         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
84241         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
84242         suffix.
84243
84244 2003-01-15  Bruno Haible  <bruno@clisp.org>
84245
84246         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
84247
84248 2003-01-15  Bruno Haible  <bruno@clisp.org>
84249
84250         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
84251         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
84252
84253 2003-01-14  Jim Meyering  <jim@meyering.net>
84254
84255         * lib/same.c (same_name): Tweak a comment.
84256
84257 2003-01-14  Bruno Haible  <bruno@clisp.org>
84258
84259         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
84260         when a string comparison is sufficient.
84261
84262 2003-01-14  Bruno Haible  <bruno@clisp.org>
84263
84264         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
84265         'unsigned int'.
84266
84267 2003-01-14  Bruno Haible  <bruno@clisp.org>
84268
84269         * lib/hash-pjw.c: Add comment about low quality of this function.
84270
84271 2003-01-13  Bruno Haible  <bruno@clisp.org>
84272
84273         * modules/stpcpy: Distribute lib/stpcpy.h.
84274         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
84275
84276 2003-01-13  Bruno Haible  <bruno@clisp.org>
84277
84278         * modules/*: Add a description.
84279         * modules/strpbrk: Fix Makefile.am snippet.
84280         * modules/strtoimax: Fix dependencies.
84281         * modules/strtoumax: Likewise.
84282
84283 2003-01-13  Bruno Haible  <bruno@clisp.org>
84284
84285         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
84286         * modules/alloca (Makefile.am): All object files depend on alloca.h.
84287         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
84288
84289 2003-01-13  Bruno Haible  <bruno@clisp.org>
84290
84291         * gnulib-tool (func_create_testdir): Store config/* files in the main
84292         directory.
84293         * config.rpath: Move to ...
84294         * config/config.rpath: ... here.
84295         * modules/gettext: Contains config/config.rpath, not config.rpath.
84296         * modules/iconv: Likewise.
84297
84298 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84299
84300         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84301         to avoid collisions with libcurses and libreadline.
84302
84303         * m4/getstr.m4: Remove.
84304         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
84305
84306 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84307
84308         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84309         to avoid collisions with libcurses and libreadline.
84310
84311         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
84312         * lib/getstr.h, getstr.c: Remove.
84313         * lib/getline.c: Include "getline.h", to check interface.
84314         Move body of old getstr.c here: this defines MIN_CHUNK and
84315         declares getdelim2, which is renamed from getstr.
84316         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
84317
84318         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
84319         All uses changed.
84320         * lib/linebuffer.h: Likewise.
84321         (readline): Remove backward-compatibility macro.
84322
84323 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84324
84325         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84326         to avoid collisions with libcurses and libreadline.
84327         * getstr: Remove.
84328         * MODULES.html.sh: Remove getstr.
84329         * modules/getline: Depend on unlocked-io, not getstr.
84330
84331 2003-01-12  Jim Meyering  <jim@meyering.net>
84332
84333         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
84334
84335 2003-01-10  Bruno Haible  <bruno@clisp.org>
84336
84337         * modules/alloca: Change Makefile.am requirements. Simplify Include
84338         requirements. Add lib/alloca_.h to file list.
84339
84340 2003-01-10  Bruno Haible  <bruno@clisp.org>
84341
84342         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
84343
84344 2003-01-10  Bruno Haible  <bruno@clisp.org>
84345
84346         * lib/alloca_.h: New file.
84347         * lib/getdate.y: Unconditionally include alloca.h.
84348         * lib/makepath.c: Likewise.
84349         * lib/setenv.c: Likewise.
84350         * lib/userspec.c: Likewise.
84351
84352 2003-01-09  Karl Berry  <karl@gnu.org>
84353
84354         * MODULES.html.sh: include `dirname $0` in PATH, to find
84355         gnulib-tool.
84356
84357 2003-01-09  Bruno Haible  <bruno@clisp.org>
84358
84359         * modules/stdbool: Change configure.ac, Makefile.am requirements.
84360         Simplify Include requirements. Add lib/stdbool.h.in to file list.
84361
84362 2003-01-09  Bruno Haible  <bruno@clisp.org>
84363
84364         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
84365
84366 2003-01-09  Bruno Haible  <bruno@clisp.org>
84367
84368         * lib/stdbool.h.in: New file.
84369
84370 2003-01-09  Bruno Haible  <bruno@clisp.org>
84371
84372         * gnulib-tool (func_all_modules): Ignore files ending in ~.
84373         * MODULES.html.sh: Likewise.
84374
84375 2003-01-08  Jim Meyering  <jim@meyering.net>
84376
84377         * lib/full-write.c: Undefine and define-away `const' after inclusion
84378         of errno.h, not before.  Suggestion from Bruno Haible.
84379
84380 2003-01-08  Bruno Haible  <bruno@clisp.org>
84381
84382         * modules/full-read: Depend on full-write.
84383
84384 2003-01-08  Bruno Haible  <bruno@clisp.org>
84385
84386         * lib/safe-read.c: Include specification header first, to ensure its
84387         selfcontainedness.
84388         * lib/full-write.c: Likewise.
84389
84390 2003-01-07  Jim Meyering  <jim@meyering.net>
84391
84392         * lib/full-write.c: Rework so that it may serve to define full_read,
84393         too.
84394         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
84395
84396 2003-01-07  Bruno Haible  <bruno@clisp.org>
84397
84398         * lib/strtoimax.c: Include <stdint.h> as an alternative to
84399         <inttypes.h>.
84400         * lib/xstrtol.h: Likewise.
84401         * lib/xstrtoimax.c: Likewise.
84402         * lib/xstrtoumax.c: Likewise.
84403         * lib/human.h: Likewise.
84404
84405         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
84406         on systems that have <inttypes.h> but not <stdint.h>.
84407
84408 2003-01-07  Bruno Haible  <bruno@clisp.org>
84409
84410         * MODULES.html.sh: Add copyright notice.
84411         (missed_files): Omit CVS directory entries.
84412         (func_module): Make it work with sed-3.02.
84413         * MODULES.txt: Remove file.
84414
84415 2003-01-06  Jim Meyering  <jim@meyering.net>
84416
84417         * lib/version-etc.c: Update year in translatable copyright string.
84418
84419 2003-01-03  Karl Berry  <karl@gnu.org>
84420
84421         * config/config.{guess,sub}: update from prep.
84422
84423 2003-01-02  Karl Berry  <karl@gnu.org>
84424
84425         * doc/COPYING.DOC: belatedly updated to 1.2.
84426
84427 2003-01-01  Karl Berry  <karl@gnu.org>
84428
84429         * gnulib-tool (func_verify_module): report module name $module in
84430         error message, not $1.
84431         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84432         be created, only if it doesn't exist.
84433         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84434
84435 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84436
84437         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84438
84439 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84440
84441         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84442         memcmp if strcoll doesn't work.
84443
84444 2002-12-31  Bruno Haible  <bruno@clisp.org>
84445
84446         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84447         nonempty.
84448
84449 2002-12-31  Bruno Haible  <bruno@clisp.org>
84450
84451         * lib/memcoll.c (STRCOLL): New macro.
84452         (memcoll): Use it.
84453
84454 2002-12-31  Bruno Haible  <bruno@clisp.org>
84455
84456         * lib/localcharset.h: New file.
84457         * lib/localcharset.c: Include it.
84458         * lib/unicodeio.c: Likewise.
84459
84460 2002-12-31  Bruno Haible  <bruno@clisp.org>
84461
84462         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84463         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84464
84465 2002-12-31  Bruno Haible  <bruno@clisp.org>
84466
84467         * lib/getline.h: Include <stddef.h>, for size_t.
84468
84469         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84470         * lib/unicodeio.c: Don't include <stddef.h>.
84471
84472 2002-12-31  Bruno Haible  <bruno@clisp.org>
84473
84474         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84475         HAVE_TM_ZONE.
84476
84477 2002-12-24  Karl Berry  <karl@gnu.org>
84478
84479         * config/config.guess: update from prep.
84480
84481 2002-12-24  Bruno Haible  <bruno@clisp.org>
84482
84483         General infrasructure.
84484         * m4/README: Rewritten.
84485         * m4/onceonly.m4: New file.
84486         * m4/onceonly_2_57.m4: New file.
84487
84488         Module atexit.
84489         * m4/atexit.m4: New file.
84490
84491         Module strtod.
84492         * m4/strtod.m4: New file.
84493
84494         Module strtol.
84495         * m4/strtol.m4: New file.
84496
84497         Module strtoul.
84498         * m4/strtoul.m4: New file.
84499
84500         Module memchr.
84501         * m4/memchr.m4: New file.
84502
84503         Module memcmp.
84504         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84505         (jm_FUNC_MEMCMP): Invoke it.
84506
84507         Module memcpy.
84508         * m4/memcpy.m4: New file.
84509
84510         Module memmove.
84511         * m4/memmove.m4: New file.
84512
84513         Module memset.
84514         * m4/memset.m4: New file.
84515
84516         Module strcspn.
84517         * m4/strcspn.m4: New file.
84518
84519         Module strpbrk.
84520         * m4/strpbrk.m4: New file.
84521
84522         Module strstr.
84523         * m4/strstr.m4: New file.
84524
84525         Module strerror.
84526         * m4/strerror.m4: New file.
84527
84528         Module mktime.
84529         * m4/mktime.m4: Renamed from jm-mktime.m4.
84530         (gl_PREREQ_MKTIME): New macro.
84531         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84532
84533         Module malloc.
84534         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84535         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84536         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84537
84538         Module realloc.
84539         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84540         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84541         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84542
84543         Module strftime.
84544         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84545         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84546         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84547         gl_TM_GMTOFF.
84548         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84549
84550         Module xalloc.
84551         * m4/xalloc.m4: New file.
84552
84553         Module alloca.
84554         * m4/alloca.m4: New file.
84555
84556         Module putenv.
84557         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84558         (jm_FUNC_PUTENV): Invoke it.
84559
84560         Module setenv.
84561         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84562         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84563         when invoked twice.
84564         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84565         gt_FUNC_SETENV.
84566
84567         Module memrchr.
84568         * m4/memrchr.m4: New file.
84569
84570         Module stpcpy.
84571         * m4/stpcpy.m4: New file.
84572
84573         Module strcase.
84574         * m4/strcase.m4: New file.
84575
84576         Module strdup.
84577         * m4/strdup.m4: New file.
84578
84579         Module strnlen.
84580         * m4/strnlen.m4: New file.
84581
84582         Module strndup.
84583         * m4/strndup.m4: New file.
84584
84585         Module xstrtod.
84586         * m4/xstrtod.m4: New file.
84587
84588         Module xstrtol.
84589         * m4/xstrtol.m4: New file.
84590
84591         Module getdate.
84592         * m4/getdate.m4: New file.
84593
84594         Module unlocked-io.
84595         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84596         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84597         * m4/jm-glibc-io.m4n: Remove file.
84598
84599         Module long-options.
84600         * m4/long-options.m4: New file.
84601
84602         Module md5.
84603         * m4/md5.m4: New file.
84604
84605         Module sha.
84606         * m4/sha.m4: New file.
84607
84608         Module getstr.
84609         * m4/getstr.m4: New file.
84610
84611         Module getline.
84612         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84613         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84614         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84615         simply getline. Infoke gl_PREREQ_GETLINE.
84616
84617         Module obstack.
84618         * m4/obstack.m4: New file.
84619
84620         Module hash.
84621         * m4/hash.m4: New file.
84622
84623         Module readtokens.
84624         * m4/readtokens.m4: New file.
84625
84626         Module strverscmp.
84627         * m4/strverscmp.m4: New file.
84628
84629         Module stdbool.
84630         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84631         OSF/1.
84632
84633         Module strtoll.
84634         * m4/strtoll.m4: New file.
84635
84636         Module strtoull.
84637         * m4/strtoull.m4: New file.
84638
84639         Module strtoimax.
84640         * m4/strtoimax.m4: New file.
84641
84642         Module strtoumax.
84643         * m4/strtoumax.m4: New file.
84644
84645         Module xstrtoimax.
84646         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84647         jm_AC_PREREQ_XSTRTOIMAX.
84648         Moved the strtol prerequisites to strtol.m4.
84649         Moved the strtoll prerequisites to strtoll.m4.
84650         Moved the strtoimax prerequisites to strtoimax.m4.
84651
84652         Module xstrtoumax.
84653         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84654         jm_AC_PREREQ_XSTRTOUMAX.
84655         Moved the strtoul prerequisites to strtoul.m4.
84656         Moved the strtoull prerequisites to strtoull.m4.
84657         Moved the strtoumax prerequisites to strtoumax.m4.
84658
84659         Module chown.
84660         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84661         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84662
84663         Module dup2.
84664         * m4/dup2.m4: New file.
84665
84666         Module ftruncate.
84667         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84668         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84669
84670         Module getgroups.
84671         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84672         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84673
84674         Module gettimeofday.
84675         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84676         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84677         gl_PREREQ_GETTIMEOFDAY.
84678
84679         Module mkdir.
84680         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84681         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84682
84683         Module mkstemp.
84684         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84685         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84686         jm_AC_TYPE_UINTMAX_T.
84687         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84688
84689         Module stat.
84690         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84691         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84692
84693         Module lstat.
84694         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84695         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84696
84697         Module timespec.
84698         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84699         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84700         * m4/st_mtim.m4: Indentation.
84701
84702         Module nanosleep.
84703         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84704         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84705         gl_PREREQ_NANOSLEEP.
84706
84707         Module regex.
84708         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84709         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84710         (gl_REGEX): New macro.
84711
84712         Module rename.
84713         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84714         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84715
84716         Module rmdir.
84717         * m4/rmdir.m4: New file.
84718
84719         Module utime.
84720         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84721         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84722         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84723
84724         Module dirname.
84725         * m4/dirname.m4: New file.
84726
84727         Module getopt.
84728         * m4/getopt.m4: New file.
84729
84730         Module unistd-safer.
84731         * m4/unistd-safer.m4: New file.
84732
84733         Module fnmatch.
84734         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84735         declaration.
84736         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84737         (gl_FUNC_FNMATCH_POSIX): New macro.
84738         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84739         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84740         simply fnmatch.
84741
84742         Module exclude.
84743         * m4/exclude.m4: New file.
84744
84745         Module human.
84746         * m4/human.m4: New file.
84747
84748         Module acl.
84749         * m4/acl.m4: Nop.
84750
84751         Module backupfile.
84752         * m4/backupfile.m4: New file.
84753         * m4/d-ino.m4: Indentation.
84754
84755         Module fsusage.
84756         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84757         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84758         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84759
84760         Module dirfd.
84761         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84762         requirements.
84763
84764         Module euidaccess.
84765         * m4/euidaccess.m4: New file.
84766
84767         Module file-type.
84768         * m4/file-type.m4: New file.
84769
84770         Module fileblocks.
84771         * m4/fileblocks.m4: New file.
84772
84773         Module filemode.
84774         * m4/filemode.m4: New file.
84775
84776         Module isdir.
84777         * m4/isdir.m4: New file.
84778
84779         Module lchown.
84780         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84781         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84782
84783         Module makepath.
84784         * m4/makepath.m4: New file.
84785
84786         Module modechange.
84787         * m4/modechange.m4: New file.
84788
84789         Module mountlist.
84790         * m4/mountlist.m4: New file.
84791         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84792         Indentation.
84793
84794         Module path-concat.
84795         * m4/path-concat.m4: New file.
84796
84797         Module pathmax.
84798         * m4/pathmax.m4: New file.
84799
84800         Module same.
84801         * m4/same.m4: New file.
84802
84803         Module save-cwd.
84804         * m4/save-cwd.m4: New file.
84805
84806         Module savedir.
84807         * m4/savedir.m4: New file.
84808
84809         Module xgetcwd.
84810         * m4/xgetcwd.m4: New file.
84811         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84812
84813         Module xreadlink.
84814         * m4/xreadlink.m4: New file.
84815
84816         Module safe-read.
84817         * m4/safe-read.m4: New file.
84818
84819         Module safe-write.
84820         * m4/safe-write.m4: New file.
84821
84822         Module closeout.
84823         * m4/closeout.m4: New file.
84824
84825         Module stdio-safer.
84826         * m4/stdio-safer.m4: New file.
84827
84828         Module getpass.
84829         * m4/getpass.m4: New file.
84830
84831         Module getugroups.
84832         * m4/getugroups.m4: New file.
84833
84834         Module group-member.
84835         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84836         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84837
84838         Module idcache.
84839         * m4/idcache.m4: New file.
84840
84841         Module userspec.
84842         * m4/userspec.m4: New file.
84843
84844         Module gettime.
84845         * m4/clock_time.m4: New file.
84846         * m4/gettime.m4: New file.
84847
84848         Module settime.
84849         * m4/settime.m4: New file.
84850
84851         Module posixtm.
84852         * m4/posixtm.m4: New file.
84853
84854         Module gethostname.
84855         * m4/gethostname.m4: New file.
84856
84857         Module canon-host.
84858         * m4/canon-host.m4: New file.
84859
84860         Module gettext.
84861         * m4/codeset.m4: New file, from gettext-0.11.5.
84862         * m4/gettext.m4: New file, from gettext-0.11.5.
84863         * m4/glibc21.m4: New file, from gettext-0.11.5.
84864         * m4/iconv.m4: New file, from gettext-0.11.5.
84865         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84866         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84867         * m4/inttypes.m4: New file, from gettext-0.11.5.
84868         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84869         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84870         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84871         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84872         * m4/lib-link.m4: New file, from gettext-0.11.5.
84873         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84874         * m4/progtest.m4: New file, from gettext-0.11.5.
84875         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84876         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84877         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84878
84879         Module localcharset.
84880         * m4/localcharset.m4: New file.
84881
84882         Module hard-locale.
84883         * m4/hard-locale.m4: New file.
84884
84885         Module mbswidth.
84886         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84887         onceonly macros.
84888         * m4/mbrtowc.m4: Add comment.
84889
84890         Module memcasecmp.
84891         * m4/memcasecmp.m4: New file.
84892
84893         Module memcoll.
84894         * m4/memcoll.m4: New file.
84895
84896         Module unicodeio.
84897         * m4/unicodeio.m4: New file.
84898
84899         Module rpmatch.
84900         * m4/rpmatch.m4: New file.
84901
84902         Module yesno.
84903         * m4/yesno.m4: New file.
84904
84905         Module exitfail.
84906         * m4/exitfail.m4: New file.
84907
84908         Module c-stack.
84909         * m4/c-stack.m4 (gl_C_STACK): New macro.
84910         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84911
84912         Module error.
84913         * m4/error.m4 (gl_ERROR): New macro.
84914         (jm_PREREQ_ERROR): Use onceonly macros.
84915
84916         Module fatal.
84917         * m4/fatal.m4: New file.
84918
84919         Module getloadavg.
84920         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84921         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84922
84923         Module getpagesize.
84924         * m4/getpagesize.m4: New file.
84925
84926         Module getusershell.
84927         * m4/getusershell.m4: New file.
84928
84929         Module physmem.
84930         * m4/physmem.m4: New file.
84931
84932         Module posixver.
84933         * m4/posixver.m4: New file.
84934
84935         Module quotearg.
84936         * m4/quotearg.m4: New file.
84937
84938         Module quote.
84939         * m4/quote.m4: New file.
84940
84941         Module readutmp.
84942         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84943
84944         Module sig2str.
84945         * m4/sig2str.m4: New file.
84946
84947         Other.
84948         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84949         ulonglong.m4.
84950         * m4/intmax_t.m4: New file.
84951         * m4/d-type.m4: Indentation.
84952         * m4/jm-macros.m4: Update.
84953         * m4/prereq.m4 (jm_PREREQ): Update.
84954         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84955         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84956         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84957         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84958         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84959         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84960         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84961         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84962         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84963         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84964         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84965         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84966         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84967         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84968         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84969         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84970         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84971         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84972         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84973
84974 2002-12-24  Bruno Haible  <bruno@clisp.org>
84975
84976         * MODULES.txt: Update according to m4/ changes.
84977
84978         Module gettext.
84979         * config.rpath: New file, from gettext-0.11.5.
84980
84981         * modules/*: New module descriptions.
84982         * gnulib-tool: New file.
84983         * MODULES.html.sh: New file.
84984
84985 2002-12-21  Karl Berry  <karl@gnu.org>
84986
84987         * doc/fdl.texi: update to version 1.2.
84988
84989 2002-12-19  Karl Berry  <karl@gnu.org>
84990
84991         * config/config.guess: update from prep.
84992
84993 2002-12-18  Bruno Haible  <bruno@clisp.org>
84994
84995         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84996         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84997
84998 2002-12-17  Bruno Haible  <bruno@clisp.org>
84999
85000         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
85001         stdlib.h, string.h.
85002
85003 2002-12-17  Bruno Haible  <bruno@clisp.org>
85004
85005         * lib/canon-host.c (strdup): Remove unused declaration.
85006
85007         * lib/fsusage.c: Include full_read.h.
85008         (get_fs_usage): Use full_read instead of safe_read.
85009
85010         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
85011
85012 2002-12-12  Karl Berry  <karl@gnu.org>
85013
85014         * config/config.guess: update from prep.
85015
85016 2002-12-11  Bruno Haible  <bruno@clisp.org>
85017
85018         * m4/setenv.m4: New file, from gettext-0.11.5.
85019
85020 2002-12-11  Bruno Haible  <bruno@clisp.org>
85021
85022         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
85023         not unsetenv().
85024         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
85025         modifications:
85026
85027         2002-12-11  Bruno Haible  <bruno@clisp.org>
85028
85029                 * setenv.c (alloca): Fall back to malloc.
85030                 (freea): New macro.
85031                 (setenv): Use freea() to free memory allocated with alloca().
85032
85033         2002-11-13  Bruno Haible  <bruno@clisp.org>
85034
85035                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
85036                 function declarations.
85037                 * unsetenv.c (unsetenv): Likewise.
85038
85039         2002-03-04  Bruno Haible  <bruno@clisp.org>
85040
85041                 Portability to AIX 4.3.3.
85042                 * unsetenv.c: New file, extracted from setenv.c.
85043                 * setenv.c: Move the unsetenv() function to unsetenv.c.
85044
85045         2001-12-20  Bruno Haible  <bruno@clisp.org>
85046
85047                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
85048                 use malloc instead. For SunOS 4.
85049
85050         2001-12-11  Bruno Haible  <bruno@clisp.org>
85051
85052                 * setenv.c: Declare alloca.
85053                 (compar_fn_t): New typedef.
85054                 (KNOWN_VALUE, STORE_VALUE): Use it.
85055
85056         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
85057         setenv.h.
85058
85059 2002-12-10  Paul Eggert  <eggert@twinsun.com>
85060
85061         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
85062         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
85063         Choose values that are less likely to collide with system fnmatch
85064         options.
85065         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
85066         defined (e.g., a pure POSIX system).
85067         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
85068         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
85069
85070 2002-12-06  Paul Eggert  <eggert@twinsun.com>
85071
85072         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
85073         a pain in practice to deal with generated m4 files.  This change
85074         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
85075
85076         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
85077         and jm-glibc-io.m4, as they are no longer a special case.
85078         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
85079         kludge and the auto-generation stuff.  Check only whether the
85080         functions are declared, not whether they exist, since older hosts
85081         that don't declare the functions can't use the optimization anyway.
85082
85083 2002-12-06  Jim Meyering  <jim@meyering.net>
85084
85085         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
85086
85087         Merge in changes from libc's misc/error.c, in preparation
85088         for the merge of gnulib's changes back into libc.
85089
85090         * lib/error.c (_): Define only if not already defined.
85091         Move definition to follow all #include directives.
85092         Include unlocked-io.h only if !_LIBC.
85093         [_LIBC]: Include <libio/libioP.h>.
85094         [USE_IN_LIBIO]: Include <libio/iolibio.h>
85095         (fflush): Tweak definition to use INTUSE.
85096         (putc): Define.
85097
85098 2002-12-05  Paul Eggert  <eggert@twinsun.com>
85099
85100         * lib/alloca.c [defined emacs]: Include "lisp.h".
85101         (xalloc_die) [defined emacs]: New macro.
85102         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
85103         [! defined emacs]: Include <xalloc.h>.
85104         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
85105         (pointer): Typedef to POINTER_TYPE *.
85106         (malloc): Remove decl; we now always use xmalloc.
85107         (alloca): Use old-style definition, since Emacs needs this.
85108         Check for arithmetic overflow when computing combined size.
85109
85110 2002-12-04  Paul Eggert  <eggert@twinsun.com>
85111
85112         Do not generate unlocked-io.h automatically, since it's easier to
85113         maintain it by hand.
85114
85115         * lib/unlocked-io.h: New file, from GNU diffutils,
85116         but with proper copyright notice and attribution.
85117         * lib/gen-uio: Remove.
85118         * lib/Makefile.am: Add copyright notice.
85119         (libfetish_a_SOURCES): Add unlocked-io.h.
85120         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
85121         (DISTCLEANFILES, io_functions): Remove macros.
85122         (EXTRA_DIST): Remove gen_uio.
85123         (unlocked-io.h): Remove rule.
85124
85125 2002-12-04  Jim Meyering  <jim@meyering.net>
85126
85127         Reflect the fact that stat.c and lstat.c are no longer generated.
85128         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
85129         (DISTCLEANFILES): Likewise.
85130         (EXTRA_DIST): Likewise.
85131         (all_local): Don't depend on stat.c or lstat.c.
85132         (stat.c, lstat.c): Remove rules.
85133         (EXTRA_DIST): Remove xstat.in.
85134
85135         * lib/xstat.in: Remove file.  Contents moved into stat.c.
85136         * lib/stat.c: New file.  Contents mostly from xstat.in.
85137         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
85138         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
85139
85140         * lib/safe-read.c: Rework so that it may serve to define safe_write,
85141         too.
85142         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
85143
85144 2002-12-03  Jim Meyering  <jim@meyering.net>
85145
85146         * lib/safe-read.c, safe-write.c: Change variable names and comments,
85147         but not semantics, to minimize the differences between these two files.
85148         (safe_read): Change comment to mention SAFE_READ_ERROR.
85149
85150         * lib/safe-read.c (IS_EINTR): Define.
85151         (safe_read): Use IS_EINTR in place of in-function cpp directives.
85152
85153 2002-12-02  Jim Meyering  <jim@meyering.net>
85154
85155         * lib/safe-read.c (EINTR): Define.
85156         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
85157         (INT_MAX): Provide fallback.
85158         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
85159
85160         * lib/safe-read.h (SAFE_READ_ERROR): Define.
85161
85162 2002-12-02  Bruno Haible  <bruno@clisp.org>
85163
85164         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
85165         Define, taken from safe-read.c.
85166         (INT_MAX): Provide fallback.
85167         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
85168         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
85169
85170         * lib/safe-read.c (EINTR): Remove definition.
85171         (safe_read): Don't use EINTR if it is absent.
85172
85173 2002-12-01  Jim Meyering  <jim@meyering.net>
85174
85175         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
85176         zero.
85177         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
85178
85179 2002-11-27  Paul Eggert  <eggert@twinsun.com>
85180
85181         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
85182         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
85183         with `if (! (value < limit)) abort ();', for readability.
85184
85185 2002-11-26  Karl Berry  <karl@gnu.org>
85186
85187         * lib/strdup.c: copy from libc again, with jim's ok.
85188         * lib/.cppi-disable: re-add strdup.c
85189
85190 2002-11-25  Karl Berry  <karl@gnu.org>
85191
85192         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
85193         instead of "strtol.c".
85194
85195 2002-11-25  Karl Berry  <karl@gnu.org>
85196
85197         * config/install-sh: update from automake for variable quoting, $0 in
85198         error msgs, etc.
85199
85200         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
85201         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
85202         entry.
85203
85204 2002-11-25  Jim Meyering  <jim@meyering.net>
85205
85206         * lib/mktime.c: Sync from libc, now that it has the latest fix.
85207
85208 2002-11-24  Karl Berry  <karl@gnu.org>
85209
85210         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
85211         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
85212
85213 2002-11-24  Jim Meyering  <jim@meyering.net>
85214
85215         Update from coreutils:
85216
85217         * lib/mktime.c: Merge in changes from libc.
85218
85219         Avoid a link-time failure on some Linux systems.
85220         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
85221         (otherwise).
85222         (__mon_yday): Declare with the STATIC attribute.
85223         (__mktime_internal): Likewise.
85224         Based on a report from Greg Schafer.
85225
85226 2002-11-23  Jim Meyering  <jim@meyering.net>
85227
85228         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
85229         Use `unsigned', not `int', as type of index.
85230
85231         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
85232
85233         * lib/fsusage.c: Remove unneeded parentheses around operands of
85234         `defined'.
85235
85236 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85237
85238         * lib/quotearg.h: Allow multiple inclusion by surrounding with
85239         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
85240         so that we can be included first.
85241         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
85242         * lib/quotearg.c: Include quotearg.h immediately after config.h.
85243         No need to include stddef.h or sys/types.h any more.
85244         Surround local include files with "", not "<>".
85245         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
85246         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
85247         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
85248         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
85249         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
85250         (ISPRINT): Remove; no longer needed now that we assume C89.
85251
85252         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
85253         Preserve errno.
85254
85255         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
85256         quotearg_char): Use SIZE_MAX rather than
85257         (size_t) -1 when we are talking about "infinity".
85258
85259         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
85260
85261 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85262
85263         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
85264         hint that one should use `if (! x) abort ();' rather than `assert
85265         (x);', and anyway it's one less thing to worry about configuring.
85266         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
85267         hash_rehash, hash_insert): Use abort rather than assert.
85268
85269 2002-11-22  Bruno Haible  <bruno@clisp.org>
85270
85271         * lib/safe-read.h: Assume C89. Add comments.
85272         (safe_read): Change return type to size_t.
85273         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
85274         byte counts > SSIZE_MAX correctly.
85275         * lib/safe-write.h: New file.
85276         * lib/safe-write.c: New file.
85277         * lib/full-read.h: New file.
85278         * lib/full-read.c: New file.
85279         * lib/full-write.h: Assume C89. Add comments.
85280         * lib/full-write.c: Include safe-write.h.
85281         (full_write): Rewritten to use safe_write.
85282         Suggested by Jim Meyering and Paul Eggert.
85283
85284 2002-11-21  Jim Meyering  <jim@meyering.net>
85285
85286         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
85287
85288         Merge in changes from the coreutils.
85289
85290         2002-09-25  Paul Eggert  <eggert@twinsun.com>
85291         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
85292         <stdint.h>.
85293         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
85294         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
85295         int.  Work more efficiently if X is the same width as uintmax_t.
85296         Do not compare X to -1, to avoid bogus compiler warning.
85297         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
85298         Don't assume that f_frsize and f_bsize are the same type.
85299
85300         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
85301         warning on FreeBSD.
85302
85303         * lib/makepath.c (make_path): Restore umask *before* creating the final
85304         component.
85305         (make_path): Minor reformatting.
85306
85307         * lib/xmalloc.c: Adjust to work with new autoconf macros,
85308         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
85309         HAVE_MALLOC/HAVE_REALLOC.
85310
85311         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
85312         dummy ones.  At least on GNU/Linux systems, `auto' means something
85313         else.
85314         From Michael Stone.
85315
85316 2002-11-21  Bruno Haible  <bruno@clisp.org>
85317
85318         Remove case insensitive option matching.
85319         * lib/argmatch.h (argcasematch): Remove declaration.
85320         (ARGCASEMATCH): Remove macro.
85321         (__xargmatch_internal): Remove case_sensitive argument.
85322         (XARGMATCH): Update.
85323         (XARGCASEMATCH): Remove macro.
85324         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
85325         case_sensitive argument.
85326         (argcasematch): Remove function.
85327         (__xargmatch_internal): Remove case_sensitive argument.
85328         (main): Use XARGMATCH instead of XARGCASEMATCH.
85329
85330         * lib/xmalloc.c: Change compile-time error message. Add comment about
85331         required autoconf version.
85332
85333 2002-11-20  Paul Eggert  <eggert@twinsun.com>
85334
85335         Merge argmatch cleanups from Bison.  Assume C89.
85336
85337         * lib/argmatch.c: Include config.h here, not in argmatch.h.
85338         Include stdlib.h, for EXIT_FAILURE.
85339         Always include <string.h>, since we assume C89.
85340         (EXIT_FAILURE): Remove pre-C89 bug workaround.
85341         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
85342         Include <stddef.h> instead, since it's all we need for size_t.
85343         (PARAMS): Remove.  All uses removed.
85344         (ARRAY_CARDINALITY): Do not bother to #undef.
85345         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
85346         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85347         Remove unnecessary parentheses.
85348         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85349         Insert necessary parentheses.
85350         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
85351         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
85352
85353 2002-11-19  Bruno Haible  <bruno@clisp.org>
85354
85355         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
85356         * lib/mbswidth.h: Include <stddef.h>, for size_t.
85357
85358         * lib/mbswidth.h (PARAMS): Remove macro.
85359         (mbswidth, mbsnwidth): Use ANSI C function declarations.
85360         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
85361
85362         * lib/gcd.h (PARAMS): Remove macro.
85363         (gcd): Use ANSI C function declarations.
85364         * lib/gcd.c (gcd): Likewise.
85365
85366 2002-11-15  Bruno Haible  <bruno@clisp.org>
85367
85368         * lib/strcspn.c: Include <stddef.h>.
85369         (strcspn): Use ANSI C function declaration. Change return type to
85370         size_t. Use NULL.
85371         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
85372         (strpbrk): Use NULL.
85373         * lib/strpbrk.h (PARAMS): Remove macro.
85374         (strpbrk): Use ANSI C function declaration.
85375         * lib/strstr.c: Don't include <sys/types.h>.
85376         * lib/strstr.h (PARAMS): Remove macro.
85377         (strstr): Use ANSI C function declarations.
85378
85379 2002-11-14  Karl Berry  <karl@gnu.org>
85380
85381         * config/mkinstalldirs: `do' on separate line, instead of
85382         `for var; do'.
85383
85384 2002-11-06  Bruno Haible  <bruno@clisp.org>
85385
85386         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
85387         * lib/gcd.c (gcd): Likewise.
85388
85389 2002-11-05  Bruno Haible  <bruno@clisp.org>
85390
85391         * lib/gcd.h: New file, from gettext-0.11.5.
85392         * lib/gcd.c: New file, from gettext-0.11.5.
85393
85394 2002-11-05  Bruno Haible  <bruno@clisp.org>
85395
85396         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85397         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85398         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85399         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85400
85401         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
85402         <libintl.h>.
85403         * lib/makepath.c: Include gettext.h instead of <locale.h> and
85404         <libintl.h>.
85405
85406         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85407         * lib/human.c: Include gettext.h instead of <libintl.h>.
85408         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85409         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85410         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85411         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85412         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85413         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85414         (textdomain): Remove definition.
85415         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85416
85417         * lib/long-options.c: Remove include of <libintl.h> and definition of
85418         _.
85419         * lib/same.c: Remove include of <libintl.h> and definition of _.
85420
85421 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85422
85423         * lib/config.charset: A few additions for Solaris.
85424
85425 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85426
85427         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85428         * lib/localcharset.c (locale_charset): Declare as extern "C".
85429
85430 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85431
85432         * lib/config.charset: msdos in uk_UA uses CP1125.
85433
85434 2002-11-04  Bruno Haible  <bruno@clisp.org>
85435
85436         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85437         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85438         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85439         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85440         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85441
85442 2002-11-04  Bruno Haible  <bruno@clisp.org>
85443
85444         * lib/localcharset.c (locale_charset): Don't return an empty string.
85445
85446 2002-11-04  Bruno Haible  <bruno@clisp.org>
85447
85448         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85449         aliases.
85450
85451 2002-11-04  Bruno Haible  <bruno@clisp.org>
85452
85453         * lib/config.charset: Update for newest glibc. Add canonical names
85454         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85455
85456 2002-11-04  Bruno Haible  <bruno@clisp.org>
85457
85458         * lib/config.charset: Add support for NetBSD.
85459
85460 2002-11-04  Bruno Haible  <bruno@clisp.org>
85461
85462         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85463
85464 2002-11-01  Bruno Haible  <bruno@clisp.org>
85465
85466         * configure.in: Add AC_CONFIG_AUX_DIR call.
85467         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85468         test/Makefile.
85469         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85470
85471 2002-09-28  Karl Berry  <karl@gnu.org>
85472
85473         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85474         installed automake until the next release, since changes have been
85475         made.
85476
85477 2002-09-25  Karl Berry  <karl@gnu.org>
85478
85479         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85480         * lib/getopt*: copy from libc/posix.
85481         * lib/gettext.h: copy from gettext.
85482         * lib/.cppi-disable: add strdup.c, gettext.h.
85483
85484 2002-09-25  Karl Berry  <karl@gnu.org>
85485
85486         * config/srclist.txt: enable gettext.h check.
85487         * config/config.{guess,sub}: update from prep.
85488         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85489                 from automake 1.6.3.
85490         See srclist*.
85491
85492 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85493
85494         * regex.c (PATFETCH): Remove the translating fetch.
85495         (PATFETCH_RAW): Rename to PATFETCH.
85496         (set_image_of_range): New fun.
85497         (SET_RANGE_TABLE_WORK_AREA): Use it.
85498         (regex_compile): Don't translate the pattern chars so eagerly.
85499         Only do it when inserting an `exactn' bytecode or when handling
85500         a char-range.
85501         (mutually_exclusive_p): Avoid empty statement.
85502
85503 2002-07-06  Jim Meyering  <meyering@lucent.com>
85504
85505         * m4/README: Don't mention Makefile.am.in.
85506         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85507
85508 2002-07-01  Jim Meyering  <meyering@lucent.com>
85509
85510         * lib/c-stack.c: Include sys/time.h.
85511         From Volker Borchert.
85512
85513 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85514
85515         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85516
85517 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85518
85519         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85520         New macro.  Use it uniformly instead of
85521         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85522         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85523         reported by Vin Shelton.
85524
85525 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85526
85527         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85528         Do not assume SA_SIGINFO behavior.
85529         Bug reported by Jim Meyering on NetBSD 1.5.2.
85530
85531 2002-06-22  Jim Meyering  <meyering@lucent.com>
85532
85533         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85534         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85535
85536         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85537         now that configure.ac uses AC_GNU_SOURCE.
85538         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85539         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85540
85541         Update to latest tools.  Suggestions from Paul Eggert.
85542         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85543         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85544         * m4/fnmatch.m4: Likewise.
85545         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85546         to AC_HEADER_STDBOOL
85547
85548 2002-06-22  Jim Meyering  <meyering@lucent.com>
85549
85550         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85551         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85552
85553 2002-06-22  Jim Meyering  <meyering@lucent.com>
85554
85555         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85556
85557         * lib/exitfail.c, exitfail.h: Likewise.
85558         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85559
85560         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85561         of fnmatch.h.
85562         (EXTRA_DIST): Add fnmatch_loop.c.
85563         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85564
85565         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85566         * lib/fnmatch.c: Update from diffutils-2.8.2.
85567         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85568         * lib/fnmatch.h: Remove file.
85569
85570 2002-06-21  Jim Meyering  <meyering@lucent.com>
85571
85572         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85573         * m4/mbrtowc.m4: Likewise.
85574
85575         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85576         * m4/mbswidth.m4: Reflect name change:
85577         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85578         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85579
85580         * m4/lib-link.m4: Update from gettext-0.11.2.
85581         * m4/gettext.m4: Likewise.
85582
85583         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85584         From Alfred M. Szmidt.
85585
85586 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85587
85588         * lib/file-type.h: Report an error if neither S_ISREG nor
85589         S_IFREG is defined, instead of using a test specific to glibc
85590         2.2.  This should be safe, since POSIX requires S_ISREG and
85591         Unix Version 7 had S_IFREG.  We don't need to check for
85592         <sys/types.h> since we don't use any symbols that it defines.
85593
85594 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85595
85596         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85597         $@-t, so that each temporary file name is unique and valid in the first
85598         8 characters, for operation under DOS.
85599
85600 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85601
85602         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85603
85604 2002-06-15  Jim Meyering  <meyering@lucent.com>
85605
85606         Work even with DJGPP 2.03, which lacks support for symlinks.
85607         From Richard Dawe.
85608         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85609         is defined.
85610         * lib/lchown.c (S_ISLNK): Likewise.
85611
85612 2002-06-15  Jim Meyering  <meyering@lucent.com>
85613
85614         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85615         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85616         have been included before this file.
85617
85618 2002-06-14  Jim Meyering  <meyering@lucent.com>
85619
85620         * lib/file-type.h: Use the version from diffutils-2.8.2.
85621         * lib/file-type.c: Likewise.
85622
85623 2002-06-07  Jim Meyering  <meyering@lucent.com>
85624
85625         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85626         They're needed at least for NetBSD 1.5.2.
85627         ($statxfs_includes): Include those same headers.
85628         ($statxfs_includes): Include sys/vfs.h if available.
85629         ($statxfs_includes): Likewise for sys/statvfs.h.
85630         Check for the following members in both structs statfs and statvfs:
85631         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85632
85633 2002-06-01  Jim Meyering  <meyering@lucent.com>
85634
85635         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85636         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85637
85638 2002-05-28  Jim Meyering  <meyering@lucent.com>
85639
85640         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85641         Reported by Volker Borchert.
85642
85643 2002-05-27  Jim Meyering  <meyering@lucent.com>
85644
85645         Fix a problem seen only on nonconforming systems whereby ls.c's
85646         use of localtime, and then of gettimeofday would cause trouble:
85647         the localtime call used to initialize rpl_gettimeofday's save
85648         mechanism would clobber ls's current local time information so
85649         that in any long listing the first file would always be listed
85650         with date 1970-01-01.  Analysis by Volker Borchert.
85651
85652         * lib/gettimeofday.c (localtime): Undefine.
85653         (rpl_localtime): New function.
85654
85655 2002-05-27  Jim Meyering  <meyering@lucent.com>
85656
85657         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85658         localtime.
85659
85660         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85661         use the replacement function; it wouldn't resolve at link time.
85662         Reported by Volker Borchert.
85663
85664 2002-05-22  Jim Meyering  <meyering@lucent.com>
85665
85666         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85667         file-type.h.
85668         * lib/file-type.h: New file.
85669         * lib/file-type.c (file_type): New file/function.  Extracted from
85670         diffutils.
85671
85672 2002-04-30  Jim Meyering  <meyering@lucent.com>
85673
85674         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85675
85676 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85677
85678         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85679
85680 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85681
85682         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85683         Do not check for alloca.h (no longer used) or stdbool.h (was never
85684         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85685
85686 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85687
85688         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85689
85690 2002-04-29  Jim Meyering  <meyering@lucent.com>
85691
85692         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85693         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85694         Use AC_FUNC_STRNLEN here instead.
85695
85696         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85697         With autoconf-2.53a, it's part of AC_PROG_CC.
85698
85699 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85700
85701         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85702         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85703
85704 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85705
85706         * lib/sig2str.h, lib/sig2str.c: New files.
85707         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85708
85709 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85710
85711         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85712         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85713         of 127, since 64 is the largest conceivable number for ancient
85714         nonstandard hosts.
85715         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85716
85717 2002-04-28  Jim Meyering  <meyering@lucent.com>
85718
85719         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85720
85721 2002-04-24  Jim Meyering  <meyering@lucent.com>
85722
85723         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85724         (jm_PREREQ): Use it.
85725
85726         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85727         mach/mach.h fcntl.h.
85728         Check for this function: setlocale.
85729
85730 2002-04-24  Jim Meyering  <meyering@lucent.com>
85731
85732         * lib/gettext.h: New file, from Gettext.
85733         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85734         (libfetish_a_SOURCES): Add gettext.h.
85735
85736 2002-04-16  Jim Meyering  <meyering@lucent.com>
85737
85738         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85739         ut_pid, ut_id, ut_exit.
85740
85741 2002-04-16  Jim Meyering  <meyering@lucent.com>
85742
85743         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85744         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85745         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85746
85747 2002-04-12  Jim Meyering  <meyering@lucent.com>
85748
85749         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85750         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85751         existence of the getmntinfo function.  Needed for Darwin 5.3.
85752
85753         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85754         This is necessary at least on Darwin 5.3.
85755
85756         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85757         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85758         strnlen.o in the library, and that makes some versions of ranlib
85759         object.
85760
85761 2002-04-12  Jim Meyering  <meyering@lucent.com>
85762
85763         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85764
85765 2002-04-09  Jim Meyering  <meyering@lucent.com>
85766
85767         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85768         to be more precise.  Rather than saying we're checking whether the
85769         function `works', say what we're testing.
85770         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85771         Reported by Bruno Haible.
85772
85773 2002-03-10  Jim Meyering  <meyering@lucent.com>
85774
85775         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85776         Suggestion from Santiago Vila.
85777
85778 2002-03-08  Jim Meyering  <meyering@lucent.com>
85779
85780         * lib/rename.c: Mention that this wrapper is needed also on
85781         mips-dec-ultrix4.4 systems.
85782
85783 2002-03-02  Jim Meyering  <meyering@lucent.com>
85784
85785         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85786         not HAVE_CLOCK_SETTIME.
85787
85788 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85789
85790         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85791         Check for clock_settime.
85792
85793 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85794
85795         * lib/nanosleep.h: Rename to....
85796         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85797
85798         * lib/gettime.c: New file.
85799         * lib/settime.c: New file.
85800         * lib/stime.c: Remove.
85801
85802         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85803         timespec.h.  Remove nanosleep.h.
85804
85805 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85806
85807         * m4/acl.m4: New file.
85808         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85809         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85810
85811 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85812
85813         * lib/acl.c, lib/acl.h: New files.
85814         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85815
85816 2002-02-24  Jim Meyering  <meyering@lucent.com>
85817
85818         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85819         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85820         cause trouble.  Reported by Nelson Beebe.
85821
85822 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85823
85824         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85825         compilers that don't know that xalloc_die never returns.
85826
85827 2002-02-20  Jim Meyering  <meyering@lucent.com>
85828
85829         * lib/getdate.c: Regenerate using bison-1.33.
85830
85831 2002-02-17  Jim Meyering  <meyering@lucent.com>
85832
85833         * config/config.guess (main): Don't use `head -1'; it's no longer
85834         portable. Use `sed 1q' instead.
85835
85836 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85837
85838         * m4/codeset.m4: Upgrade to gettext-0.11.
85839         * m4/gettext.m4: Upgrade to gettext-0.11.
85840         * m4/glibc21.m4: Upgrade to gettext-0.11.
85841         * m4/iconv.m4: Upgrade to gettext-0.11.
85842         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85843         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85844         * m4/lib-ld.m4: New file, from gettext-0.11.
85845         * m4/lib-link.m4: New file, from gettext-0.11.
85846         * m4/lib-prefix.m4: New file, from gettext-0.11.
85847         * m4/progtest.m4: Upgrade to gettext-0.11.
85848
85849 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85850
85851         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85852         (jm_PREREQ): Use it.
85853
85854 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85855
85856         * lib/posixver.c, lib/posixver.h: New files.
85857         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85858
85859 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85860             Bruno Haible  <bruno@clisp.org>
85861
85862         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85863         (fwrite_success_callback): New declaration.
85864         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85865         print_unicode_char. Call failure callback instead of error.
85866         (fwrite_success_callback): New function.
85867         (exit_failure_callback): New function.
85868         (fallback_failure_callback): New function.
85869         (print_unicode_char): Call unicode_to_mb.
85870
85871 2002-01-26  Jim Meyering  <meyering@lucent.com>
85872
85873         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85874         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85875
85876 2002-01-26  Jim Meyering  <meyering@lucent.com>
85877
85878         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85879
85880 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85881
85882         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85883
85884 2002-01-22  Jim Meyering  <meyering@lucent.com>
85885
85886         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85887         Otherwise, some versions of automake would omit the rule that makes
85888         Makefile from Makefile.in.
85889
85890 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85891
85892         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85893         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85894         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85895         (memcoll): Set errno to zero if there is no error.
85896
85897         * lib/quotearg.c (quotearg_buffer_restyled):
85898         Fix bug with quoting buffers containing NUL when backslashing escapes.
85899         This bug was exposed by the other changes in this patch.
85900         (quotearg_n_options): New arg ARGSIZE.
85901         All callers changed.
85902         (quoting_options_from_style): New function.
85903         (quotearg_n_style): Use it.
85904         (quotearg_n_style_mem): New function.
85905
85906         * lib/quotearg.h (quotearg_n_style_mem): New function.
85907
85908 2002-01-19  Jim Meyering  <meyering@lucent.com>
85909
85910         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85911         Remove useless quotes: DF_PROG="df".
85912         * m4/strnlen.m4: New file.
85913
85914 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85915
85916         * lib/backupfile.c (ISDIGIT): Comment fix.
85917         * lib/getdate.y (ISDIGIT): Likewise.
85918         * lib/posixtm.c (ISDIGIT, year): Likewise.
85919         * lib/strverscmp.c (ISDIGIT): Likewise.
85920         * lib/userspec.c (ISDIGIT): Likewise.
85921
85922 2002-01-16  Jim Meyering  <meyering@lucent.com>
85923
85924         * lib/getdate.y: Add three semicolons, each just before a closing
85925         brace. Bison (as of version 1.31) no longer papers over that mistake.
85926
85927 2002-01-05  Jim Meyering  <meyering@lucent.com>
85928
85929         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85930
85931 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85932
85933         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85934         not silently exit merely because the output buffer happens to
85935         have nothing pending.
85936
85937 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85938
85939         See the big note in ../ChangeLog.
85940         * lib/human.c (suffixes): Prefer K to k for 1024.
85941         (generate_suffix_backwards): New function.
85942         (human_readable_inexact): Use it.
85943         * lib/xstrtol.c (__xstrtol): If there is no number but there
85944         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85945         Accept 'K' as well as 'k'.
85946
85947 2001-12-15  Jim Meyering  <meyering@lucent.com>
85948
85949         * lib/regex.h (__restrict_arr): Update from libc.
85950
85951         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85952         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85953         (STREQ): Define.
85954
85955 2001-12-14  Jim Meyering  <meyering@lucent.com>
85956
85957         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85958         Suggestion from Bruno Haible.
85959
85960 2001-12-10  Jim Meyering  <meyering@lucent.com>
85961
85962         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85963         xrealloc, Instead, include "xalloc.h".
85964         (initbuffer): Don't cast xmalloc return value to char*.
85965         (readline): Reword comment.
85966         Don't cast xrealloc return value to char*
85967         Return NULL, not 0.
85968
85969 2001-12-09  Jim Meyering  <meyering@lucent.com>
85970
85971         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85972         about `signed and unsigned type in conditional expression'.
85973         * lib/posixtm.c (posix_time_parse): Likewise.
85974
85975         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85976
85977         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85978         to avoid a pedantic warning.
85979
85980         * lib/getstr.c: Don't include assert.h.
85981         (getstr): Remove warning-evoking assertions.
85982         Return -1 if offset parameter is out of bounds.
85983         Change the type of a local from int to size_t.
85984
85985         * lib/strftime.c (my_strftime_localtime_r): Include this function
85986         definition in the `#if ! HAVE_TM_GMTOFF' block.
85987
85988         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85989         Include xalloc.h instead.
85990
85991 2001-12-02  Jim Meyering  <meyering@lucent.com>
85992
85993         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85994         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85995         included.
85996
85997         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85998         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85999
86000 2001-11-30  Akim Demaille  <akim@epita.fr>
86001
86002         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
86003         before being defined.
86004
86005 2001-11-27  Paul Eggert  <eggert@twinsun.com>
86006
86007         * lib/quotearg.h (quotearg_n, quotearg_n_style):
86008         First arg is int, not unsigned.
86009         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
86010         (SIZE_MAX, UINT_MAX): New macros.
86011         (quotearg_n_options): Abort if N is negative.
86012         Avoid overflow check on hosts where size_t is 64 bits and int
86013         is 32 bits, as overflow is impossible there.
86014         Fix off-by-one typo that caused unnecessary reallocation.
86015
86016 2001-11-27  Jim Meyering  <meyering@lucent.com>
86017
86018         * lib/tempname.c: Merge with version from libc.
86019         * lib/regex.c: Likewise.
86020
86021         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
86022         systems for which STDC_HEADERS is 0, it was not included, resulting in
86023         a warning about an integer-to-pointer conversion problem with getenv.
86024         Reported by Volker Borchert.
86025
86026 2001-11-26  Jim Meyering  <meyering@lucent.com>
86027
86028         * lib/gtod.h: Remove file.
86029         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
86030         * lib/gettimeofday.c: Don't include gtod.h.
86031         (GTOD_init): Remove function.
86032         (rpl_gettimeofday): Do its job here instead, rather than aborting.
86033         Suggestion from Volker Borchert.
86034
86035 2001-11-23  Jim Meyering  <meyering@lucent.com>
86036
86037         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
86038         it.
86039         * lib/hash.c (struct hash_table): Define it here instead.
86040
86041 2001-11-22  Jim Meyering  <meyering@lucent.com>
86042
86043         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
86044
86045 2001-11-20  Jim Meyering  <meyering@lucent.com>
86046
86047         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
86048         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
86049
86050 2001-11-19  Jim Meyering  <meyering@lucent.com>
86051
86052         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
86053         directory.  Use "conftestXXXXXX" as the template.
86054         Suggestion from Paul Eggert.
86055
86056         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
86057         immediately, so the test doesn't mistakenly hit the max-open-files
86058         limit.
86059
86060 2001-11-18  Paul Eggert  <eggert@twinsun.com>
86061
86062         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
86063         (TEMPORARIES): New macro.
86064         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
86065         removes an artificial limitation (e.g. HP-UX 10.20, where
86066         TMP_MAX is 17576).
86067
86068 2001-11-18  Jim Meyering  <meyering@lucent.com>
86069
86070         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
86071
86072 2001-11-18  Jim Meyering  <meyering@lucent.com>
86073
86074         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
86075         on SunOS 4.
86076
86077         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
86078         files will be created before anything else.
86079
86080 2001-11-17  Paul Eggert  <eggert@twinsun.com>
86081
86082         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
86083         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
86084
86085 2001-11-17  Jim Meyering  <meyering@lucent.com>
86086
86087         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
86088         Prompted by a report from Bob Proulx.
86089
86090         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
86091         Instead, require UTILS_FUNC_MKSTEMP.
86092
86093 2001-11-17  Jim Meyering  <meyering@lucent.com>
86094
86095         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
86096         Now, that's done as part of AC_FUNC_STRTOD.
86097
86098 2001-11-17  Jim Meyering  <meyering@lucent.com>
86099
86100         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
86101         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
86102         rather than group writable.  Patch by Juan F. Codagnone.
86103
86104         * lib/readtokens.c: Remove explicit declarations of xmalloc and
86105         xrealloc, Instead, include "xalloc.h".
86106
86107         * lib/mountlist.c: Include unlocked-io.h after all system headers.
86108         Remove explicit declarations of xmalloc, xrealloc,
86109         and xstrdup.  Instead, include "xalloc.h".
86110
86111         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
86112         unlocked-io.h.
86113         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
86114         Likewise.
86115         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
86116
86117         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
86118         Reported by Padraig Brady.
86119
86120         * lib/mkstemp.c: #undef mkstemp.
86121         Include config.h.
86122         (rpl_mkstemp): Rename from mkstemp.
86123         Protoize.
86124
86125 2001-11-16  Jim Meyering  <meyering@lucent.com>
86126
86127         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
86128         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
86129         determine the amount of total physical memory, use pstat_getstatic.
86130         HPUX-11 doesn't define _SC_PHYS_PAGES.
86131         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
86132         If sysconf couldn't be used to determine the amount of available
86133         physical memory, use both pstat_getstatic and pstat_getdynamic.
86134         Based on a patch from Bob Proulx.
86135
86136 2001-11-10  Jim Meyering  <meyering@lucent.com>
86137
86138         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
86139         (jm_PREREQ): Use it.
86140
86141 2001-11-09  Jim Meyering  <meyering@lucent.com>
86142
86143         * m4/jm-macros.m4: Require autoconf-2.52f.
86144         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
86145         Use these AC_-prefixed names, not the AM_-prefixed ones.
86146
86147         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
86148
86149 2001-11-05  Jim Meyering  <meyering@lucent.com>
86150
86151         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
86152
86153 2001-11-04  Jim Meyering  <meyering@lucent.com>
86154
86155         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
86156         $DEFS.
86157
86158 2001-11-03  Jim Meyering  <meyering@lucent.com>
86159
86160         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
86161         of AC_DEFUN.
86162
86163         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
86164         know the name of the variable in the macro definition.
86165
86166 2001-11-03  Jim Meyering  <meyering@lucent.com>
86167
86168         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
86169         in argmatch_to_argument call.
86170
86171         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
86172         argument.
86173
86174         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
86175         e.g., a fault due to an attempt to free a NULL pointer.
86176
86177 2001-11-01  Jim Meyering  <meyering@lucent.com>
86178
86179         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
86180         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
86181
86182 2001-11-01  Jim Meyering  <meyering@lucent.com>
86183
86184         * lib/dirfd.c, lib/dirfd.h: New files.
86185         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
86186
86187         * lib/hash.c (hash_print) [TESTING]: Clean up.
86188
86189 2001-10-22  Paul Eggert  <eggert@twinsun.com>
86190
86191         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
86192         to avoid a warning if -Wall.
86193
86194 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
86195
86196         * README: New file
86197         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
86198         (per RMS's instructions, this is now the canonical source)
86199         * lgpl/, gpl/: New directories.
86200
86201 2001-10-21  Paul Eggert  <eggert@twinsun.com>
86202
86203         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
86204
86205 2001-10-21  Jim Meyering  <meyering@lucent.com>
86206
86207         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
86208         this code would end up calling gettext even in packages built
86209         with --disable-nls.
86210         * lib/getopt.c (_): Likewise.
86211         * lib/regex.c (_): Likewise.
86212
86213 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86214
86215         * m4/error.m4 (jm_PREREQ_ERROR):
86216         Do not invoke AC_CHECK_FUNCS with strerror_r, as
86217         AC_FUNC_STRERROR_R does that.
86218         Check for strerror declaration.
86219
86220         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
86221         are supposed to have them these days.
86222         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
86223         Merge changes from latest Autoconf CVS.
86224         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
86225         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
86226         POSIX decided to standardize on the int flavor of strerror_r.
86227
86228 2001-10-20  Paul Eggert  <eggert@twinsun.com>
86229
86230         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
86231         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
86232         Use strerror_r that is only a macro, even if it is not a function.
86233         (strerror): Check for HAVE_DECL_STRERROR before declaring.
86234         (private_strerror): Use prototypes, not old-style function definition.
86235         (print_errno_message): New function.
86236         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
86237         char*-flavored one.
86238         (error_tail, error, error_at_line): Use it.
86239
86240 2001-10-11  Jim Meyering  <meyering@lucent.com>
86241
86242         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
86243         and quote_n (1, ... to avoid clobbering a buffer.
86244
86245 2001-10-05  Jim Meyering  <meyering@lucent.com>
86246
86247         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
86248         hash-pjw.h.
86249         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
86250         * lib/hash-pjw.h: New file.
86251
86252 2001-09-30  Jim Meyering  <meyering@lucent.com>
86253
86254         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
86255         `struct fsstat' has the `f_fstypename' member.
86256         Use that to define FS_TYPE, which is now used to make
86257         the getfsstat link test tighter.
86258
86259 2001-09-30  Jim Meyering  <meyering@lucent.com>
86260
86261         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
86262         Include <sys/ucred.h>, for Apple Darwin.
86263         Include sys/mount.h and sys/fs_types.h only if available.
86264         (FS_TYPE): Define.
86265         (read_filesystem_list): Use FS_TYPE.
86266
86267 2001-09-29  Paul Eggert  <eggert@twinsun.com>
86268
86269         * lib/exclude.c (excluded_filename): 0 -> false, since it's
86270         a boolean context.
86271
86272 2001-09-29  Jim Meyering  <meyering@lucent.com>
86273
86274         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86275         [one-argument getmntent function]): Include stdio.h before mntent.h.
86276         SunOS 4.1.x needs it for the declaration of `FILE'.
86277         Patch by Volker Borchert.
86278
86279         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86280         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
86281         sys/fs_types.h, and make the link-test for getfsstat guard #include
86282         directives with appropriate #if HAVE_*_H tests so that we can
86283         detect getfsstat on Apple Darwin1.3.7 systems.
86284         Reported by Nelson Beebe.
86285         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
86286
86287 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86288
86289         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86290         #defines strtoimax.  Also treat the other strto* functions
86291         like strtoimax.
86292
86293         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86294         Check for strtoul and strtoumax,
86295         as those declarations are made even in the signed case.
86296         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
86297         Likewise, for strtol and strtoimax.
86298
86299 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86300
86301         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86302         #defines strtoimax.  Also treat the other strto* functions
86303         like strtoimax.
86304
86305         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
86306         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
86307         (strtoimax, strtoumax): Do not declare if already defined as a macro.
86308
86309 2001-09-26  Jim Meyering  <meyering@lucent.com>
86310
86311         Most macros in unlocked-io.h had the wrong number of arguments.
86312         * lib/gen-uio: New script.
86313         (USE_UNLOCKED_IO): Define to 1 if not already defined.
86314         * lib/unlocked-io.hin: Remove file.
86315         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
86316         rather than trying to embed it here.
86317         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
86318         Reported by Padraig Brady.
86319
86320 2001-09-25  Volker Borchert  <bt@teknon.de>
86321
86322         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
86323         `result'.
86324
86325 2001-09-24  Jim Meyering  <meyering@lucent.com>
86326
86327         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
86328
86329 2001-09-23  Jim Meyering  <meyering@lucent.com>
86330
86331         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
86332         instead of the mere test for existence of mntent.h.  The latter
86333         would get a false-positive on AIX 3.4 systems.
86334         In the outer getmntent if-block, don't die if neither of the getmntent
86335         tests succeeds.  Instead, just fall through and continue with the
86336         remaining tests.
86337
86338 2001-09-23  Jim Meyering  <meyering@lucent.com>
86339
86340         * lib/mountlist.c: Remove useless parentheses in #if directives.
86341         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
86342         the deprecated MOUNTED symbol is no longer defined in mntent.h.
86343
86344 2001-09-22  Jim Meyering  <meyering@lucent.com>
86345
86346         * m4/gettext.m4: New file.  From gettext.
86347         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
86348         * m4/progtest.m4: Likewise
86349         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
86350         * m4/glibc21.m4: Likewise.
86351
86352         * m4/libintl.m4: Remove.  No longer used.
86353
86354 2001-09-22  Jim Meyering  <meyering@lucent.com>
86355
86356         * lib/localcharset.c: Update from latest gettext.
86357         * lib/config.charset: Likewise.
86358
86359 2001-09-20  Jim Meyering  <meyering@lucent.com>
86360
86361         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
86362         strtoimax.
86363         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
86364         strtoumax.
86365
86366 2001-09-20  Jim Meyering  <meyering@lucent.com>
86367
86368         * lib/xstrtol.c (strtoimax): Guard declaration with
86369         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
86370         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
86371         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
86372         (strtoumax): Likewise, for completeness (it wasn't necessary).
86373
86374 2001-09-17  Paul Eggert  <eggert@twinsun.com>
86375
86376         * lib/strtoimax.c (HAVE_LONG_LONG):
86377         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
86378         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
86379         to work around bug in IBM C compiler.
86380
86381 2001-09-17  Jim Meyering  <meyering@lucent.com>
86382
86383         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
86384         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
86385         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
86386         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
86387         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
86388         whenever the right hand side need not be expanded by the shell.
86389
86390 2001-09-16  Paul Eggert  <eggert@twinsun.com>
86391
86392         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
86393         library.  It's not correct, as some older glibcs are buggy.
86394         fnmatch wasn't fixed until glibc 2.2.
86395
86396         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
86397         special shell magic here.
86398
86399 2001-09-16  Jim Meyering  <meyering@lucent.com>
86400
86401         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
86402         * m4/jm-macros.m4: Require it.
86403
86404 2001-09-16  Jim Meyering  <meyering@lucent.com>
86405
86406         * lib/mkdir.c: New file.
86407
86408 2001-09-15  Jim Meyering  <meyering@lucent.com>
86409
86410         * m4/jm-macros.m4: Check for help2man.
86411
86412 2001-09-11  Jim Meyering  <meyering@lucent.com>
86413
86414         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86415         The body, by Paul Eggert, was moved here from configure.in.
86416         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86417
86418 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86419
86420         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86421         (jm_PREREQ): Use it.
86422
86423 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86424
86425         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86426         Use ssize_t, not int, to store result of readlink.
86427         Check for ssize_t overflow as well as size_t overflow,
86428         as POSIX says the result of readlink is implementation-defined
86429         when ssize_t overflows.
86430         Remove unnecessary cast to char*.
86431         Use free+malloc instead of realloc, as the storage doesn't need
86432         to be preserved and it's clearer and can be more efficient that way.
86433         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86434         * lib/xreadlink.h (xreadlink): Update prototype.
86435
86436 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86437
86438         * lib/xgetcwd.c: Revert some of the previous change; intead,
86439         fix the HAVE_GETCWD_NULL code to behave more like the
86440         !HAVE_GETCWD_NULL code used to.
86441
86442         Include "xalloc.h".
86443         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86444         invoke xalloc_die.
86445
86446 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86447
86448         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86449         sys/param.h, as pathmax.h includes them.
86450
86451 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86452
86453         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86454         (jm_PREREQ_XGETCWD): New macro.
86455
86456         * m4/getcwd.m4: New file.
86457
86458 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86459
86460         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86461         like the HAVE_GETCWD_NULL code.
86462         Include pathmax.h if not HAVE_GETCWD.
86463         Do not include xalloc.h.
86464         (INITIAL_BUFFER_SIZE): New symbol.
86465         Do not use xmalloc / xrealloc, since the caller is responsible for
86466         handling errors.  Preserve errno around `free' during failure.
86467         Do not overrun buffer when using getwd.
86468
86469 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86470
86471         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86472         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86473         getcwd (NULL, 0).
86474
86475 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86476
86477         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86478         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86479         spotted by Jim Meyering.
86480
86481 2001-09-03  Jim Meyering  <meyering@lucent.com>
86482
86483         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86484         failure.
86485
86486 2001-09-02  Jim Meyering  <meyering@lucent.com>
86487
86488         * lib/error.c: Update from GNU libc.
86489
86490 2001-09-01  Jim Meyering  <meyering@lucent.com>
86491
86492         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86493         Used by df.
86494
86495 2001-09-01  Jim Meyering  <meyering@lucent.com>
86496
86497         * lib/xreadlink.c: New file.
86498         * lib/xreadlink.h: New file.
86499         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86500         xreadlink.h.
86501
86502         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86503         doesn't conflict with sparc Solaris 7's definition in
86504         /usr/include/sys/int_types.h.
86505
86506         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86507         files.
86508         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86509         and strncasecmp as r-values.  Unixware didn't have declarations.
86510
86511 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86512
86513         * lib/xstrtol.h: Add copyright notice.
86514         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86515         LONGINT_INVALID_SUFFIX_CHAR.
86516
86517 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86518
86519         * lib/xstrtol.c (strtoimax): New decl.
86520
86521 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86522
86523         * lib/xgetcwd.c: Don't include pathmax.h.
86524         Include stdlib.h and unistd.h if available.
86525         Include xalloc.h.
86526         (xmalloc, xstrdup, free): Remove decls.
86527         (xgetcwd): Don't assume sizes fit in unsigned.
86528         Check for overflow when computing sizes.
86529         Simplify reallocation code.
86530
86531 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86532
86533         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86534         a directory's st_size can have an arbitrary value, so the old
86535         usage could waste an arbitrary amount of memory.  All uses
86536         changed.
86537         * lib/savedir.h: Update prototype.
86538
86539 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86540
86541         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86542
86543         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86544         old strtoimax.c.
86545
86546         Also, make the following further changes to make this file's
86547         configuration more similar to that of strtol.c:
86548         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86549         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86550         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86551         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86552         changed to signed values.
86553
86554         And make the following changes as well:
86555         Fix copyright notice, as 1999 was missing.
86556         (verify): New macro.
86557         (strtoimax): Check sizes at compile-time, not run-time.
86558         Prefer strtol to strtoll if both work.
86559         (main): Remove; it was not that useful and was a pain to maintain.
86560
86561         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86562
86563 2001-08-31  Jim Meyering  <meyering@lucent.com>
86564
86565         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86566         Use an initial, malloc'd, buffer of length 128 rather than
86567         a statically allocated one of length 1024.
86568
86569 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86570
86571         Simplify code, partly by assuming autoconf 2.52 semantics.
86572
86573         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86574
86575         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86576         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86577         All uses removed.
86578         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86579         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86580         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86581         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86582         jm_AC_HEADER_INTTYPES_H.
86583         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86584
86585         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86586
86587         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86588         Quote first arg of AC_DEFUN.
86589         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86590         since they are needed to parse the include file even if we need
86591         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86592         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86593         but with opposite signedness.
86594
86595 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86596
86597         Merge 'exclude' changes from tar 1.13.22.
86598         This fixes one or two unlikely storage allocation overflow bugs,
86599         but doesn't change user-visible behavior otherwise.
86600
86601 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86602
86603         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86604         (jm_PREREQ_EXCLUDE): New macro.
86605
86606 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86607
86608         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86609         tm to be declared.
86610
86611 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86612
86613         * lib/hash.c: Remove '2001' from copyright notice.
86614
86615 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86616
86617         * lib/full-write.h: New file.
86618         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86619         * lib/full-write.c: Correct credits, as cccp.c no longer
86620         exists and anyway it was so heavily changed from the old cccp
86621         code as to be unrecognizable.  Include full-write.h.
86622         (full_write): Return size_t, with short writes meaning failure.
86623         All callers changed.  This fixes a bug with large buffers
86624         on 64-bit hosts.
86625         * lib/utime.c: Include full-write.h.
86626
86627 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86628
86629         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86630         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86631         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86632         Include if available.
86633         (<xalloc.h>): Include
86634         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86635         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86636         collide with FNM macros.
86637         (struct patopts): New struct.
86638         (struct exclude): Use it, as exclude patterns now come with options.
86639         (new_exclude): Support above changes.
86640         (new_exclude, add_exclude_file):
86641         Initial size must now be a power of two to simplify overflow checking.
86642         (free_exclude, fnmatch_no_wildcards): New function.
86643         (excluded_filename): No longer requires options arg, as the options
86644         are determined by add_exclude.  Now returns bool, not int.
86645         (excluded_filename, add_exclude):
86646         Add support for the fancy new exclusion options.
86647         (add_exclude, add_exclude_file): Now takes int options arg.
86648         Check for arithmetic overflow when computing sizes.
86649         (add_exclude_file): xrealloc might modify errno, so don't
86650         realloc until after errno might be used.
86651
86652         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86653         New macros.
86654         (free_exclude): New decl.
86655         (add_exclude, add_exclude_file): Now takes int options arg.
86656         (excluded_filename): No longer requires options arg, as the options
86657         are determined by add_exclude.  Now returns bool, not int.
86658
86659 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86660
86661         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86662
86663 2001-08-27  Jim Meyering  <meyering@lucent.com>
86664
86665         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86666
86667         * lib/version-etc.c (N_): Remove definition.
86668         Revert most of last change.
86669         Instead, simply don't mark the `Copyright...' string for translation.
86670         Based on advice from Paul Eggert.
86671
86672         * lib/strtoxmax.c: Tweak comment.
86673
86674 2001-08-26  Jim Meyering  <meyering@lucent.com>
86675
86676         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86677
86678         * m4/xstrtoimax.m4: New file.
86679         * m4/xstrtoumax.m4: Add comments explaining why we
86680         AC_REPLACE_FUNCS(strtol).
86681
86682 2001-08-26  Jim Meyering  <meyering@lucent.com>
86683
86684         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86685         of copyright with `%s' so translators don't get an untranslated
86686         message in 2002.
86687         (COPYRIGHT_YEAR): Define.
86688         (version_etc): Use fprintf rather than fputs.
86689         Suggestion from Ulrich Drepper.
86690
86691         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86692
86693         * lib/strtoll.c: New file, from GNU libc.
86694         * lib/xstrtoimax.c: New file.
86695
86696         * lib/xstrtol.h: Add xstrtoimax.
86697         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86698         * lib/strtoimax.c: New file.  Likewise, but first define
86699         STRTOUXMAX_SIGNED.
86700
86701         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86702         ...
86703         * lib/strtoxmax.c: ... then renamed to this.
86704
86705 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86706
86707         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86708         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86709         (jm_AC_TYPE_INTMAX_T): New macro.
86710         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86711
86712         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86713
86714         * m4/longlong.m4: Renamed from ulonglong.m4.
86715         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86716         * m4/uintmax_t.m4: Removed.
86717
86718 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86719
86720         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86721         Port to Solaris 8, where 'sed' requires a space after the 'r'
86722         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86723         Redirect output to $tmp just once.
86724
86725 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86726
86727         * lib/addext.c (<errno.h>): Include.
86728         (errno): Declare if not defined.
86729         (addext): Work correctly when pathconf returns -1 and leaves
86730         errno alone because there is no limit.  Also, work even if
86731         pathconf returns a value greater than SIZE_MAX.
86732
86733 2001-08-12  Jim Meyering  <meyering@lucent.com>
86734
86735         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86736         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86737         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86738         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86739         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86740         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86741         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86742         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86743         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86744         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86745         utime.m4, utimes.m4, xstrtoumax.m4:
86746         Quote the first argument in each use of AC_DEFUN.
86747
86748 2001-08-12  Jim Meyering  <meyering@lucent.com>
86749
86750         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86751         Simply `return getcwd (NULL, 0);'.
86752         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86753         Use 1300 as initial value for length, not PATH_MAX.
86754
86755         * lib/pathmax.h: Clean up cpp syntax.
86756
86757 2001-08-12  Jim Meyering  <meyering@lucent.com>
86758
86759         * lib/gettimeofday.c: New file.
86760         * lib/gtod.h: New file.
86761         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86762
86763 2001-08-05  Jim Meyering  <meyering@lucent.com>
86764
86765         * m4/jm-macros.m4: Require autoconf-2.52.
86766
86767 2001-08-04  Jim Meyering  <meyering@lucent.com>
86768
86769         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86770         stmt, to get in sync with glibc.
86771
86772 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86773
86774         The following changes are from gettext 0.10.39 as maintained by
86775         Bruno Haible.
86776
86777         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86778         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86779         with inverted sense.  All uses changed.
86780
86781         * lib/mbswidth.c: Don't include <limits.h>.
86782         Include <stdlib.h> and <string.h> unconditionally.
86783         (iswcntrl, mbsinit, ISCNTRL): New macros.
86784         (mbsnwidth): Use K&R style function declarations.
86785         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86786         can optimize it when MB_CUR_MAX == 1.
86787         The width of control characters is zero, not 1.
86788
86789 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86790
86791         The following changes are from gettext 0.10.39 as maintained by
86792         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86793
86794         * m4/codeset.m4: Upgrade to serial AM1.
86795         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86796         all uses changed.  Quote first arg of AC_DEFUN.
86797         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86798
86799         * m4/iconv.m4: Upgrade to serial AM2.
86800         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86801         Add --with-libconv-prefix.
86802         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86803         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86804         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86805         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86806         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86807
86808         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86809         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86810         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86811         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86812         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86813         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86814         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86815         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86816         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86817
86818         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86819         string.h any more.
86820
86821         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86822         not the default value.
86823
86824         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86825         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86826         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86827         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86828         Also check for iswcntrl, used for wcwidth fallback.
86829         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86830         to Autoconf 2.13.
86831
86832 2001-08-03  Jim Meyering  <meyering@lucent.com>
86833
86834         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86835         as it was in the original.  Reported by Paul Eggert.
86836
86837 2001-07-16  Jim Meyering  <meyering@lucent.com>
86838
86839         * m4/gettimeofday.m4: New file.
86840         Prompted by a report from Bernhard Baehr.
86841
86842 2001-07-15  Jim Meyering  <meyering@lucent.com>
86843
86844         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86845         stuff. Now it's in ../Makefile.cfg.
86846
86847 2001-07-15  Jim Meyering  <meyering@lucent.com>
86848
86849         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86850         (BUILT_SOURCES): Add unlocked-io.h.
86851         (io_functions): Define.
86852         (unlocked-io.h): New rule.
86853         (DISTCLEANFILES): Add unlocked-io.h.
86854         (all-local): Depend on unlocked-io.h, to ensure it is created.
86855
86856         * lib/unlocked-io.hin: New file
86857
86858         * lib/regex.c: Update from glibc.
86859
86860 2001-07-05  Jim Meyering  <meyering@lucent.com>
86861
86862         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86863         recommendation.
86864         (libfetish_a_SOURCES): Put all .h files here instead.
86865         Remove a thus-exposed (better checks in automake) duplicate and
86866         two unnecessary .h files.
86867
86868 2001-07-04  Jim Meyering  <meyering@lucent.com>
86869
86870         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86871         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86872         distcheck failure.
86873
86874 2001-07-02  Jim Meyering  <meyering@lucent.com>
86875
86876         The following changes were prompted by suggestions from Bruno Haible.
86877
86878         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86879         is now generated.
86880         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86881         definition of EXTRA_DIST.
86882         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86883         ensure that the generated file is created/updated whenever the list
86884         of $(unlocked_functions) is changed.
86885         (jm-glibc-io.m4): New rule.
86886         (unlocked-io.h): New rule -- currently unused.
86887
86888 2001-06-24  Jim Meyering  <meyering@lucent.com>
86889
86890         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86891         unmatched right bracket, rather than kludging it with an extra,
86892         falsely-matching quote in a comment.  Patch by Akim Demaille.
86893
86894 2001-06-11  Jim Meyering  <meyering@lucent.com>
86895
86896         * lib/regex.c: Update from GNU libc.
86897
86898 2001-05-27  Jim Meyering  <meyering@lucent.com>
86899
86900         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86901         Check for ut_type in struct utmp.
86902
86903 2001-05-27  Jim Meyering  <meyering@lucent.com>
86904
86905         * lib/readutmp.h (UT_TYPE): Define.
86906
86907 2001-05-24  Jim Meyering  <meyering@lucent.com>
86908
86909         * lib/argmatch.c: Include "quote.h".
86910         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86911         quote function.  Reported by Göran Uddeborg.
86912
86913 2001-05-22  Jim Meyering  <meyering@lucent.com>
86914
86915         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86916         now that we use the package-supplied version unconditionally.
86917         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86918
86919 2001-05-21  Jim Meyering  <meyering@lucent.com>
86920
86921         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86922         shell syntax errors.
86923
86924 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86925
86926         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86927
86928 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86929
86930         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86931         Don't bother to check library strftime, since
86932         we'll be using our own my_strftime function anyway.
86933         Define my_strftime instead of strftime.
86934
86935 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86936
86937         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86938         which is not yet declared.
86939
86940 2001-05-15  Jim Meyering  <meyering@lucent.com>
86941
86942         * m4/regex.m4: Use proper quoting so brackets appear in the test
86943         program.
86944         Reported by, and with help from, Bruno Haible.
86945
86946 2001-05-13  Jim Meyering  <meyering@lucent.com>
86947
86948         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86949         undefined.
86950
86951 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86952
86953         dirname code cleanup.  base_name now behaves more compatibly
86954         with POSIX basename when given file names that have trailing
86955         slashes, and similarly for dir_name.  Add new primitives
86956         base_len and dir_len.  Put the directory-name-related decls
86957         into dirname.h.
86958
86959         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86960         * lib/backupfile.c (base_name): Likewise.
86961         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86962         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86963         * lib/makepath.c (strip_trailing_slashes): Likewise.
86964         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86965         ISSLASH): Likewise.
86966         * lib/rename.c (strip_trailing_slashes): Likewise.
86967         * lib/same.c (base_name): Likewise.
86968         * lib/stripslash.c (ISSLASH): Likewise.
86969
86970         * lib/addext.c: Include <dirname.h> after size_t is defined.
86971         * lib/backupfile.c: Likewise.
86972
86973         * lib/addext.c (addext): Use base_len to trim redundant
86974         trailing slashes instead of doing it ourselves.
86975         But do not trim the last slash if it is not redundant.
86976
86977         * lib/backupfile.c (find_backup_file_name,
86978         max_backup_version): Use base_len instead of rolling it ourselves.
86979         Handle the case of "" and (on DOS) "C:" correctly.
86980
86981         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86982         needed. Include <string.h>, <dirname.h>.
86983         (base_name): Allow file names ending in slashes, other than names
86984         that are all slashes.  In this case, return the basename followed
86985         by the slashes.  This is more general, and can be used in places
86986         where the original base_name purposely had an assertion failure.
86987         (base_len): New function.
86988
86989         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86990         Do not include <assert.h>; no longer needed.
86991         Include xalloc.h.
86992         (memrchr): Remove decl.
86993         (dir_name_r): Remove.
86994         (dir_len): Renamed from dirlen.  All callers changed.
86995         Rewrite in terms of base_name, for simplicity and consistency.
86996         (dir_name): Never return NULL.  All callers changed.
86997         Do not include <stdlib.h> in test program; no longer needed.
86998         return 0; is fine for test program.
86999
87000         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
87001         New macros.
87002         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
87003
87004         * lib/path-concat.c (path_concat): Use base_len to compute
87005         base length, not strlen; this means we cannot rely on memcpy
87006         to null-terminate.
87007
87008         * lib/same.c (STREQ): Remove.
87009         (same_name): Handle the case where the basename ends in trailing '/'.
87010
87011         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
87012         a slash was stripped.  Do not strip the last slash after a
87013         file system prefix.
87014
87015 2001-05-11  Paul Eggert  <eggert@twinsun.com>
87016
87017         * lib/Makefile.am (libfetish_a_SOURCES):
87018         Add strftime.c, since we now compile it on all hosts.
87019
87020         * lib/strftime.c (my_strftime):
87021         Define to nstrftime if emacs, but only if my_strftime is not defined.
87022         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
87023         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
87024         Add one more extra argument: a nanoseconds value.
87025         All uses changed.
87026         (ns): New macro.
87027         (my_strftime function): Add %N format.
87028         (emacs_strftimeu): Renamed from emacs_strftime,
87029         with extra ut argument.
87030
87031 2001-05-09  Paul Eggert  <eggert@twinsun.com>
87032
87033         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
87034
87035 2001-04-21  Jim Meyering  <meyering@lucent.com>
87036
87037         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
87038         doesn't interfere.
87039
87040 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
87041
87042         * m4/ftruncate.m4: Check for chsize.
87043         Link with ftruncate.o unconditionally if ftruncate is missing.
87044         This was required when cross-compiling to i586-mingw32msvc.
87045
87046 2001-04-08  Jim Meyering  <meyering@lucent.com>
87047
87048         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
87049         recomputed; that's necessary when the offset spans a DST transition.
87050         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
87051
87052 2001-04-02  Jim Meyering  <meyering@lucent.com>
87053
87054         * lib/regex.h, regex.c: Update from GNU libc.
87055
87056 2001-03-24  Jim Meyering  <meyering@lucent.com>
87057
87058         * m4/jm-macros.m4: Require autoconf-2.49d.
87059
87060 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
87061
87062         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
87063
87064 2001-03-19  Paul Eggert  <eggert@twinsun.com>
87065
87066         * lib/version-etc.c (version_etc_copyright): Update to 2001.
87067
87068 2001-03-17  Jim Meyering  <meyering@lucent.com>
87069
87070         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
87071         now that the version in autoconf is equivalent.
87072         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
87073
87074         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
87075         Suggestion from Akim Demaille.
87076
87077         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
87078         (jm_PREREQ_TEMPNAME): New function.
87079
87080 2001-03-16  Paul Eggert  <eggert@twinsun.com>
87081
87082         * lib/tempname.c (uint64_t): Define to uintmax_t if
87083         not defined, and if UINT64_MAX is not defined.
87084         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
87085         Reported by John David Anglin.
87086
87087 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
87088
87089         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
87090         resolve alias if codeset is empty.
87091         * lib/config.charset (BeOS): Use wildcard syntax.
87092
87093 2001-03-13  Jim Meyering  <meyering@lucent.com>
87094
87095         * lib/path-concat.c (path_concat)
87096         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
87097         concatenating e.g., `C:' and `foo'.
87098         From Bruno Haible.
87099
87100 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
87101
87102         * lib/localcharset.c (locale_charset): Don't use
87103         setlocale(LC_CTYPE,NULL). Don't return NULL.
87104         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
87105
87106 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
87107
87108         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
87109         support for DOS/DJGPP.
87110
87111 2001-03-01  Paul Eggert  <eggert@twinsun.com>
87112
87113         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
87114         lacks mkstemp.  Compile our own tempname.c if we compile our own
87115         mkstemp.c, as mkstemp relies on tempname.
87116
87117 2001-03-01  Jim Meyering  <meyering@lucent.com>
87118
87119         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
87120         AH_VERBATIM really does output its argument verbatim.
87121
87122 2001-02-28  Paul Eggert  <eggert@twinsun.com>
87123
87124         * lib/Makefile.am (libfetish_a_SOURCES):
87125         Add dup-safer.c, fopen-safer.c.
87126         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
87127
87128         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
87129         * lib/unistd-safer.h: New files.
87130
87131 2001-02-25  Paul Eggert  <eggert@twinsun.com>
87132
87133         The mkstemp replacement is taken from glibc 2.2.2, with some
87134         portability fixes for use outside glibc, as follows:
87135
87136         * lib/tempname.c (struct_stat64): New macro.
87137         (direxists, __gen_tempname): Use it.
87138         This avoids a portability problem with Solaris 8.
87139
87140         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
87141         (<stddef.h>, <stdint.h>, <string.h>):
87142         Include only if STDC_HEADERS || _LIBC.
87143         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
87144         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
87145         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
87146         (__set_errno): Define this macro if <errno.h> doesn't.
87147         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
87148         Define these macros if <stdio.h> doesn't.
87149         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
87150         Define these macros if <sys/stat.h>
87151         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
87152         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
87153         __xstat64): Define if not _LIBC.
87154         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
87155         (__gen_tempname): Invoke gettimeofday only if
87156         HAVE_GETTIMEOFDAY || _LIBC;
87157         otherwise, fall back on plain "time".
87158         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
87159
87160         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
87161
87162         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
87163
87164 2001-02-18  Paul Eggert  <eggert@twinsun.com>
87165
87166         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
87167
87168 2001-02-17  Paul Eggert  <eggert@twinsun.com>
87169
87170         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
87171         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
87172         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
87173         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
87174
87175 2001-02-17  Paul Eggert  <eggert@twinsun.com>
87176
87177         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
87178         Remove workaround macros for hosts that have mbrtowc but not
87179         mbstate_t, as we now insist on proper declarations for both
87180         before using mbrtowc.
87181
87182 2001-02-17  Jim Meyering  <meyering@lucent.com>
87183
87184         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
87185         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
87186         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
87187         UnixWare 7.1.1.
87188
87189         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
87190         rather than AC_CACHE_VAL.
87191
87192 2001-02-17  Jim Meyering  <meyering@lucent.com>
87193
87194         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
87195         around included file name.
87196
87197         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
87198
87199         * lib/strftime.c: Update from GNU libc (the only changes were to
87200         comments).
87201
87202 2001-02-17  Jim Meyering  <meyering@lucent.com>
87203
87204         * lib/regex.c: Update from libc.
87205
87206 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
87207
87208         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
87209         clash.
87210
87211 2001-02-16  Paul Eggert  <eggert@twinsun.com>
87212
87213         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
87214         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
87215         Reported by Mark Hounschell via Paul Eggert.
87216
87217 2001-02-07  Jim Meyering  <meyering@lucent.com>
87218
87219         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
87220
87221 2001-02-05  Jim Meyering  <meyering@lucent.com>
87222
87223         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
87224         it includes the patch required for `large file' support with at least
87225         HP-UX's 10.20 /bin/cc.
87226
87227 2001-02-03  Jim Meyering  <meyering@lucent.com>
87228
87229         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
87230         AS_IF, now that it works once again (mysteriously).
87231         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87232
87233 2001-01-30  Jim Meyering  <meyering@lucent.com>
87234
87235         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
87236         * m4/chown.m4: Rename conftestchown to conftest.chown.
87237         * m4/rename.m4: s/conftestdir/conftest.d1/ and
87238         s/conftestdir2/conftest.d2/.
87239         * m4/utimes.m4: s/conftestdata/conftest.data/
87240         Inspired by Pavel Roskin's change in autoconf.
87241
87242 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
87243
87244         * lib/config.charset: Update for FreeBSD 4.2.
87245
87246 2001-01-27  Jim Meyering  <meyering@lucent.com>
87247
87248         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
87249         a use of AS_IF.
87250         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
87251
87252 2001-01-26  Jim Meyering  <meyering@lucent.com>
87253
87254         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
87255         quotearg.c includes it.
87256
87257 2001-01-26  Jim Meyering  <meyering@lucent.com>
87258
87259         * lib/quotearg.c: Include stddef.h.
87260         * lib/quote.c: Include stddef.h.
87261         Reported by Axel Kittenberger.
87262
87263         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
87264         line in double quotes so that it evokes a better diagnostic.
87265         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
87266         Reported by Axel Kittenberger.
87267
87268 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
87269
87270         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
87271         as if it was a `charset'.
87272
87273 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87274
87275         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
87276         has const.
87277
87278 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87279
87280         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
87281         to avoid a warning.  Add back 'const' to inptr.
87282
87283 2001-01-20  Jim Meyering  <meyering@lucent.com>
87284
87285         Be sure that headers are checked before used in code compiled
87286         for the type checks.
87287         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
87288         In place of that, invoke jm_CHECK_ALL_TYPES.
87289         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
87290         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
87291         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
87292         The check for ssize_t was mistakenly run before the test for unistd.h.
87293
87294         The configure-time check for stdbool.h was missing.
87295         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
87296         (jm_PREREQ_HASH): New function.
87297
87298 2001-01-17  Jim Meyering  <meyering@lucent.com>
87299
87300         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
87301         for autoconf-2.49c.
87302         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
87303
87304 2001-01-16  Jim Meyering  <meyering@lucent.com>
87305
87306         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
87307         From Bruno Haible.
87308
87309 2001-01-14  Jim Meyering  <meyering@lucent.com>
87310
87311         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
87312         foo and bar.  Create conftestdir/ in the script, not in the C code.
87313         Remove directories in the script, not in the C code.
87314         Remove conftestdir{,2} before trying to create the directory.
87315         Make the entire configure script fail if the mkdir fails.
87316
87317 2001-01-14  Jim Meyering  <meyering@lucent.com>
87318
87319         * lib/rename.c: New file.  From Volker Borchert.
87320         Include stdlib.h, string.h or strings.h, and xalloc.h.
87321         Use strip_trailing_slashes rather than open-coding it.
87322
87323 2001-01-03  Paul Eggert  <eggert@twinsun.com>
87324
87325         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
87326
87327 2001-01-03  Jim Meyering  <meyering@lucent.com>
87328
87329         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
87330         of local `inptr' to avoid warning with some system declarations of
87331         iconv.
87332
87333 2001-01-02  Volker Borchert  <bt@teknon.de>
87334
87335         * m4/rename.m4: New file.
87336         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
87337
87338 2001-01-01  Jim Meyering  <meyering@lucent.com>
87339
87340         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
87341         even on systems with utmpx.h.  It's necessary for the declaration of
87342         utmp's ut_user member.  Reported by Andreas Jaeger.
87343
87344         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
87345         available. They are required for the declarations of getgrgid and
87346         getpwuid resp.
87347         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
87348         Reported by Andreas Jaeger.
87349
87350 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
87351
87352         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
87353         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
87354         so `make install' also works in VPATH builds.
87355
87356 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
87357
87358         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
87359         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
87360         can be used in subdirectories.
87361
87362 2000-12-29  Paul Eggert  <eggert@twinsun.com>
87363
87364         * lib/modechange.c: Do not assume that mode_t uses the
87365         traditional octal encoding.  E.g. "chmod 1 FOO" should set
87366         the other-execute bit of FOO even if S_IXOTH != 1.
87367
87368         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
87369         WOTH, XOTH, ALLM): New macros.
87370         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
87371          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
87372         Use them.
87373         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
87374         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
87375         (mode_compile):
87376         No need to use uintmax_t; unsigned long is long enough.
87377         Don't bother to get suffix since we don't use it.
87378
87379 2000-12-26  Jim Meyering  <meyering@lucent.com>
87380
87381         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
87382         better with autoheader.
87383
87384 2000-12-24  Jim Meyering  <meyering@lucent.com>
87385
87386         * lib/hash.c (is_prime): Return explicit boolean values.
87387         (hash_get_first): Return NULL to appease Irix5.6's 89.
87388         Reported by Nelson Beebe.
87389
87390 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
87391
87392         * lib/localcharset.c (locale_charset): Add support for Win32.
87393
87394 2000-12-18  Paul Eggert  <eggert@twinsun.com>
87395
87396         * lib/physmem.h, lib/physmem.c: New files.
87397
87398         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
87399         (noinst_HEADERS): Add physmem.h.
87400
87401         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
87402         't' for compatibility with Solaris 8 sort.
87403
87404 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
87405
87406         * lib/config.charset: Add support for BeOS.
87407
87408 2000-12-17  Jim Meyering  <meyering@lucent.com>
87409
87410         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87411         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87412
87413 2000-12-16  Jim Meyering  <meyering@lucent.com>
87414
87415         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87416         N and M) would have treated it like `chown N:N FILE'.
87417
87418         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87419
87420 2000-12-16  Jim Meyering  <meyering@lucent.com>
87421
87422         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87423         SHELLS_FILE to a file name that's useful on djgpp systems.
87424         Include stdlib.h.
87425         (ADDITIONAL_DEFAULT_SHELLS): Define.
87426         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87427         Based mostly on a patch from Prashant TR.
87428
87429 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87430
87431         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87432         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87433         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87434
87435 2000-12-08  Andreas Schwab  <schwab@suse.de>
87436
87437         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87438         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87439
87440 2000-12-07  Jim Meyering  <meyering@lucent.com>
87441
87442         * lib/stripslash.c (ISSLASH): Define.
87443         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87444         `/'.
87445         From Prashant TR.
87446
87447         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87448         (dir_name_r): Declare this function as static.
87449         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87450         manifest itself on a name containing a mix of slashes and
87451         backslashes.
87452         Make this function work with names starting with a DOS-style
87453         drive letter and colon prefix.
87454         (dir_name): Append `.' if necessary.
87455         Based mostly on patches from Prashant TR and Eli Zaretskii.
87456
87457         * lib/dirname.h (dir_name_r): Remove prototype.
87458
87459 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87460
87461         * m4/off_t-format.m4: Remove this file.
87462         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87463
87464 2000-12-06  Jim Meyering  <meyering@lucent.com>
87465
87466         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87467         replacement strtoull, we may well need the replacement strtoul, too.
87468         Check for declarations of strtoul and strtoull.
87469         Check for strtol.  Mainly as a cue to cause automake to include
87470         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87471         Check for limits.h -- strtol.c needs it.
87472
87473 2000-12-05  Jim Meyering  <meyering@lucent.com>
87474
87475         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87476
87477 2000-12-04  Jim Meyering  <meyering@lucent.com>
87478
87479         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87480         Also include memory.h, stdlib.h, unistd.h if appropriate.
87481         Reported by Andreas Jaeger (conflicting declaration of malloc).
87482
87483 2000-12-02  Jim Meyering  <meyering@lucent.com>
87484
87485         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87486         * m4/jm-macros.m4 (jm_MACROS): require it.
87487
87488 2000-12-02  Jim Meyering  <meyering@lucent.com>
87489
87490         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87491
87492 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87493
87494         * lib/memrchr.c: Include <config.h> before any system include file.
87495
87496 2000-11-30  Jim Meyering  <meyering@lucent.com>
87497
87498         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87499
87500 2000-11-30  Jim Meyering  <meyering@lucent.com>
87501
87502         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87503
87504 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87505
87506         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87507
87508 2000-11-26  Jim Meyering  <meyering@lucent.com>
87509
87510         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87511
87512 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87513
87514         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87515         size of (size_t) -1; it's not portable.
87516
87517 2000-11-17  Jim Meyering  <meyering@lucent.com>
87518
87519         * lib/strstr.c: Update from GNU libc.
87520
87521 2000-11-17  Akim Demaille  <akim@epita.fr>
87522
87523         * lib/obstack.h: Formatting changes.
87524         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87525         prevent type checking.
87526         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87527         cast the value to (void *): assigning a `foo *' to a `void *'
87528         variable is valid.
87529         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87530
87531 2000-11-16  Jim Meyering  <meyering@lucent.com>
87532
87533         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87534
87535 2000-11-11  Jim Meyering  <meyering@lucent.com>
87536
87537         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87538
87539 2000-11-10  Jim Meyering  <meyering@lucent.com>
87540
87541         * lib/obstack.h: Update from GNU libc.
87542         * lib/obstack.c: Likewise.
87543
87544 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87545
87546         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87547
87548 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87549
87550         * lib/getusershell.c (setusershell): Use rewind rather than
87551         fseek/fseeko, to avoid configuration hassles with fseeko.
87552         Don't bother opening SHELLS_FILE if shellstream is NULL;
87553         it's not necessary.
87554
87555 2000-11-05  Jim Meyering  <meyering@lucent.com>
87556
87557         * lib/makepath.h (make_dir): Declare.
87558         * lib/makepath.c (make_dir): Remove `static' attribute.
87559         Tweak a comment.
87560
87561 2000-11-04  Jim Meyering  <meyering@lucent.com>
87562
87563         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87564
87565 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87566
87567         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87568         last one in a bucket, advance to the next bucket.
87569
87570 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87571
87572         * lib/fnmatch.c: Do not comment out all the code if we are using
87573         the GNU C library, because in some cases we are replacing buggy
87574         code in the GNU C library itself.
87575
87576 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87577
87578         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87579         (regex_compile): Catch bogus \(\1\).
87580
87581 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87582
87583         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87584         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87585         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87586
87587 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87588
87589         * lib/error.h, getline.h, modechange.h:
87590         Remove "2000" from Copyright line, as the file hasn't been
87591         changed this year other than in the copyright notice.
87592
87593         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87594         was changed this year.
87595
87596 2000-10-29  Jim Meyering  <meyering@lucent.com>
87597
87598         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87599         renaming.
87600         * m4/ls-mntd-fs.m4: Likewise
87601
87602 2000-10-29  Jim Meyering  <meyering@lucent.com>
87603
87604         * lib/xstat.in: Fix grammar in comment.
87605
87606 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87607
87608         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87609         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87610         doesn't define __restrict_arr.
87611
87612 2000-10-28  Jim Meyering  <meyering@lucent.com>
87613
87614         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87615         (jm_PREREQ_MEMCHR): New function.
87616
87617 2000-10-28  Jim Meyering  <meyering@lucent.com>
87618
87619         * lib/memchr.c: Update from libc.
87620         Adjust for portability:
87621         [HAVE_STDLIB_H]: Include stdlib.h.
87622         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87623         Undef __memchr, too.
87624         [!weak_alias]: Define __memchr to memchr.
87625
87626         * lib/regex.c: Update from libc.
87627         * lib/regex.h: Likewise.
87628         * lib/getopt1.c: Likewise.
87629         * lib/memcmp.c: Likewise.
87630
87631         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87632         Avoid using fseek, when possible -- it's broken by design.
87633         Patch by Ulrich Drepper.
87634
87635 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87636
87637         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87638         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87639         Giving in to popular pressure to shut up the compiler with casts.
87640
87641 2000-10-26  Jim Meyering  <meyering@lucent.com>
87642
87643         * lib/strftime.c: Update from libc.
87644
87645 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87646
87647         * regex.c: More `unsigned char' -> `re_char' changes.
87648         Also change several `int' into `re_wchar_t'.
87649         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87650         (PUSH_FAILURE_POINTER): Don't cast any more.
87651         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87652         We want GCC to complain, since this piece of code makes
87653         re_match non-reentrant, which *should* be fixed.
87654         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87655         (EXTEND_BUFFER): Use RETALLOC.
87656         (SET_LIST_BIT): Don't cast.
87657         (re_wchar_t): New type.
87658         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87659         that those two functions will always properly return.
87660         (IMMEDIATE_QUIT_CHECK): Cast to void.
87661         (analyse_first): Use recursion rather than an explicit stack.
87662         (re_compile_fastmap): Can't fail anymore.
87663         (re_search_2): Don't check re_compile_fastmap for failure.
87664         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87665         Now also sets the new value (passed in a new argument).
87666         (re_match_2_internal): Use it.
87667         Also, use a new var `reg' of type size_t when looping through regs
87668         rather than reuse the inappropriate `mcnt'.
87669
87670 2000-10-25  Jim Meyering  <meyering@lucent.com>
87671
87672         * lib/obstack.c: Update from libc.
87673
87674 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87675
87676         * regex.c (regex_compile): Change the way of handling a range from
87677         a char less than 256 to a char not less than 256.
87678
87679 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87680
87681         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87682         NT-Emacs only.
87683         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87684         so that re_search functions only quit when callers expect them to.
87685
87686 2000-10-23  Jim Meyering  <meyering@lucent.com>
87687
87688         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87689         wrong.  That set_locale call must not have any side effects.
87690         From Paul Eggert.
87691
87692 2000-10-22  Jim Meyering  <meyering@lucent.com>
87693
87694         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87695         [CYCLIC]: Remove now-unused definition.
87696
87697         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87698         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87699         Suggestion from Ulrich Drepper.
87700
87701 2000-10-21  Jim Meyering  <meyering@lucent.com>
87702
87703         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87704         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87705         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87706
87707 2000-10-21  Jim Meyering  <meyering@lucent.com>
87708
87709         * lib/dirname.c (memrchr): Declare if necessary.
87710         (dir_name): Remove the restriction that there be no
87711         trailing slashes.  Now, this code skips past them, effectively
87712         ignoring them.
87713         [TEST_DIRNAME] (main): New unit tests.
87714
87715         * lib/memrchr.c: New file from GNU libc.
87716         Undef __memrchr, too.
87717         [!weak_alias]: Define __memrchr to memrchr.
87718         Guard weak_alias use with `#ifdef weak_alias'.
87719
87720 2000-10-21  Jim Meyering  <meyering@lucent.com>
87721
87722         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87723         (dir_name): Use dir_name_r.
87724         * lib/dirname.h (dir_name_r): Declare it.
87725
87726 2000-10-17  Jim Meyering  <meyering@lucent.com>
87727
87728         * lib/quote.h (PARAMS): Define and use.
87729         Reported by Akim Demaille.
87730
87731         * lib/getopt.c: Update from libc.
87732
87733 2000-10-16  Jim Meyering  <meyering@lucent.com>
87734
87735         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87736         setlocale.
87737         From Jan Fedak.
87738
87739 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87740
87741         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87742
87743 2000-09-25  Jim Meyering  <meyering@lucent.com>
87744
87745         * lib/md5.h (rol): Define (from GnuPG).
87746
87747         * lib/sha.c: Give credit (GnuPG) where due.
87748         (M): Use rol rather than open-coding it.
87749         Add a FIXME comment.
87750
87751 2000-09-21  Jim Meyering  <meyering@lucent.com>
87752
87753         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87754         Reported by Michael Stone.
87755
87756 2000-09-20  Jim Meyering  <meyering@lucent.com>
87757
87758         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87759         (noinst_HEADERS): Add sha.h.
87760         Based on code from Scott G. Miller and from GnuPG.
87761
87762 2000-09-18  Jim Meyering  <meyering@lucent.com>
87763
87764         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87765         LIBS. Otherwise, everyone ends up linking with -lelf for some
87766         configurations.
87767         Reported by Mike Stone.
87768
87769 2000-09-15  Jim Meyering  <meyering@lucent.com>
87770
87771         * lib/regex.c: Update from libc.
87772
87773 2000-09-10  Jim Meyering  <meyering@lucent.com>
87774
87775         * lib/getopt.c (_getopt_internal): Update from glibc.
87776
87777 2000-09-09  Jim Meyering  <meyering@lucent.com>
87778
87779         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87780         think it should be used as a general replacement for isascii.
87781         * lib/fnmatch.c: Likewise.
87782         * lib/mbswidth.c: Likewise
87783         * lib/regex.c: Likewise.
87784
87785         Don't use atoi.
87786         * lib/userspec.c: Include sys/param.h and limits.h.
87787         Include xstrtol.h.
87788         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87789         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87790         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87791         UID, GID.  Check range.
87792
87793 2000-09-06  Jim Meyering  <meyering@lucent.com>
87794
87795         * lib/getopt.c (_getopt_internal): Update from glibc.
87796
87797 2000-08-30  Jim Meyering  <meyering@lucent.com>
87798
87799         * lib/strftime.c: Merge in changes from GNU libc.
87800
87801 2000-08-26  Jim Meyering  <meyering@lucent.com>
87802
87803         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87804         * m4/fpending.m4: New file.
87805
87806 2000-08-26  Jim Meyering  <meyering@lucent.com>
87807
87808         * lib/closeout.c: Include "__fpending.h".
87809         (close_stdout_status): Return right away if there's nothing to flush.
87810
87811         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87812         * lib/__fpending.c: New file.
87813         * lib/__fpending.h: New file.
87814
87815 2000-08-20  Jim Meyering  <meyering@lucent.com>
87816
87817         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87818         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87819         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87820
87821 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87822
87823         Improve fileutils installation on systems where running
87824         programs (like install) can't be unlinked.
87825         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87826         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87827
87828 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87829
87830         Standardize on "memory exhausted" instead of "Memory exhausted"
87831         or "virtual memory exhausted".
87832         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87833         "virtual memory exhausted".
87834         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87835         our own message.
87836         * lib/userspec.c (parse_user_spec): Likewise.
87837         * lib/bumpalloc.h: comment fix
87838         * lib/same.c, userspec.c: Include xalloc.h.
87839
87840         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87841         not char *const and pointing to a constant array.
87842         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87843         (xrealloc): Comment fix.
87844
87845         * lib/userspec.c (parse_user_spec):
87846         Don't translate a message until just before returning,
87847         to avoid unnecessary translation.
87848
87849 2000-08-07  Jim Meyering  <meyering@lucent.com>
87850
87851         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87852         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87853         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87854         getgroups.c, gethostname.c, getopt.h, group-member.c,
87855         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87856         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87857         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87858         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87859         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87860         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87861         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87862         yesno.c: Back out Copyright date changes for each file with no change
87863         this year.  This eases coordination with other programs using the same
87864         source code modules.  From Paul Eggert.
87865
87866 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87867
87868         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87869         not char, for compatibility with glibc 2.1.3 strftime.c.
87870
87871 2000-08-03  Greg McGary  <greg@mcgary.org>
87872
87873         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87874         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87875         (EXTEND_BUFFER): Use them.
87876
87877 2000-08-01  Jim Meyering  <meyering@lucent.com>
87878
87879         * lib/dirname.c (ISSLASH): Define.
87880         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87881         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87882         both `\' and `/' may be use as path separators.
87883         Based on a patch from Prashant TR.
87884
87885 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87886
87887         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87888         slot vector a constant, since it might get modified.
87889
87890 2000-07-31  Jim Meyering  <meyering@lucent.com>
87891
87892         * lib/xmalloc.c: Use `virtual memory exhausted', not
87893         `Memory exhausted'.
87894         * lib/obstack.c (print_and_abort): Likewise.
87895
87896 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87897
87898         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87899         buffer, so that the caller can always quote one small
87900         component of a "memory exhausted" message in slot 0.
87901         From a suggestion by Jim Meyering.
87902
87903 2000-07-30  Jim Meyering  <meyering@lucent.com>
87904
87905         * lib/makepath.c (make_path): Quote the other instance, too.
87906
87907         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87908         (STATIC_BUF_SIZE): Define.
87909         (quotearg_n_options): Use only statically allocated storage when
87910         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87911         than STATIC_BUF_SIZE.
87912
87913 2000-07-29  Jim Meyering  <meyering@lucent.com>
87914
87915         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87916         * lib/dirname.c (dir_name): Likewise.
87917
87918         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87919         `/'.
87920
87921         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87922         (dir_name): Assert that there are no trailing slashes.
87923
87924 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87925
87926         * lib/mbswidth.h (mbswidth): Add a flags argument.
87927         (mbswidth): New declaration.
87928         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87929         * lib/mbswidth.c (mbswidth): Add a flags argument.
87930         (mbsnwidth): New function.
87931
87932 2000-07-24  Jim Meyering  <meyering@lucent.com>
87933
87934         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87935
87936 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87937
87938         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87939
87940 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87941
87942         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87943         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87944         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87945         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87946         invoke multibyte primitives.
87947
87948 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87949
87950         * lib/quotearg.c:
87951         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87952         so that mbstate_t is always defined.
87953
87954         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87955         be 1 in at least one GCC installation, and this configuration
87956         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87957         performance on hosts that have mbrtowc but have only unibyte
87958         locales, but I assume these hosts are rare.
87959
87960 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87961
87962         * lib/mbswidth.c (_XOPEN_SOURCE):
87963         Don't define; this causes problems on Solaris 7.
87964         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87965
87966 2000-07-23  Jim Meyering  <meyering@lucent.com>
87967
87968         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87969         too: getgrgid, getpwuid, getuid.
87970
87971 2000-07-23  Jim Meyering  <meyering@lucent.com>
87972
87973         * lib/basename.c (base_name): Add an assertion.
87974
87975 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87976
87977         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87978         shadow its mbsinit function.
87979
87980 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87981
87982         * lib/mbswidth.h: New file.
87983         * lib/mbswidth.c: New file.
87984         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87985         (noinst_HEADERS): Add mbswidth.h.
87986
87987 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87988
87989         * lib/config.charset: Add support for FreeBSD. Improve support for
87990         HP-UX and IRIX 6.
87991
87992 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87993
87994         * m4/mbswidth.m4: New file.
87995         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87996
87997 2000-07-15  Jim Meyering  <meyering@lucent.com>
87998
87999         * lib/makepath.c: Include quote.h.
88000         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
88001         corresponding argument in a `quote (...)' call.
88002         Give better diagnostics.
88003
88004         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
88005         (noinst_HEADERS): Add quote.h.
88006
88007         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
88008         from tar's src/misc.c.
88009         * lib/quote.h: New file.  Prototypes for same.
88010
88011 2000-07-14  Paul Eggert  <eggert@twinsun.com>
88012
88013         From a suggestion by Bruno Haible.
88014         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
88015         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
88016         to decide whether to define the BeOS workaround macro;
88017         this adjusts to the change to AC_MBSTATE_T.
88018
88019 2000-07-14  Jim Meyering  <meyering@lucent.com>
88020
88021         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
88022         jm_AC_TYPE_UINTMAX_T.
88023
88024 2000-07-13  Paul Eggert  <eggert@twinsun.com>
88025
88026         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
88027
88028         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
88029         quotearg_buffer_restyled): Add support for
88030         clocale_quoting_style.  Undo previous change to
88031         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
88032         and "{RIGHT QUOTATION MARK}" msgids.
88033
88034 2000-07-10  Paul Eggert  <eggert@twinsun.com>
88035
88036         From a suggestion by Bruno Haible.
88037         * m4/mbstate_t.m4 (AC_MBSTATE_T):
88038         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
88039         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
88040         and mbstate_t, to a single-part test that simply defines mbstate_t.
88041         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
88042         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
88043
88044 2000-07-10  Jim Meyering  <meyering@lucent.com>
88045
88046         * m4/strerror_r.m4: Mirror the correction made in autoconf.
88047
88048         * m4/gnu-source.m4: Output to confdefs.h directly.
88049         Suggestion from Akim Demaille.
88050
88051 2000-07-09  Paul Eggert  <eggert@twinsun.com>
88052
88053         The old behavior of quoting `like this' doesn't look good with
88054         newer, ISO-style fonts.  See:
88055         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
88056
88057         Instead, quote "like this" by default.  Let the translator
88058         tailor the locale-specific quoting behavior by providing
88059         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
88060
88061         * lib/quotearg.c (N_): New macro.
88062         (gettext_default): New function.
88063         (quotearg_buffer_restyled): Use
88064         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
88065         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
88066
88067 2000-07-09  Jim Meyering  <meyering@lucent.com>
88068
88069         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
88070         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
88071
88072         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
88073         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
88074
88075 2000-07-09  Jim Meyering  <meyering@lucent.com>
88076
88077         * lib/Most files: Update copyright dates to include 2000.
88078
88079 2000-07-08  Jim Meyering  <meyering@lucent.com>
88080
88081         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
88082         if not defined.
88083         (xgethostname): Remove now-unnecessary #ifdef.
88084         Move declaration of `err' into loop where it's used.
88085
88086 2000-07-05  Paul Eggert  <eggert@twinsun.com>
88087         and Bruno Haible  <haible@clisp.cons.org>
88088
88089         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
88090         only if the test for an object-type mbstate_t fails.  This
88091         prevents us from mistakenly reporting that mbstate_t is a
88092         system object type after we "#define mbstate_t int" to work
88093         around its lack.
88094
88095 2000-07-05  Paul Eggert  <eggert@twinsun.com>
88096         and Bruno Haible  <haible@clisp.cons.org>
88097
88098         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
88099
88100 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88101
88102         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
88103         to strerror_r.
88104         Include <ctype.h> for use of isalpha.
88105
88106 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88107
88108         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
88109         by allocating a larger buffer. Test the gethostname return value for
88110         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
88111         returns an error and ENAMETOOLONG isn't defined.
88112
88113 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
88114
88115         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
88116         dimension.
88117
88118 2000-07-04  Jim Meyering  <meyering@lucent.com>
88119
88120         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
88121         of the deprecated AC_CHECKING.
88122
88123 2000-07-04  Jim Meyering  <meyering@lucent.com>
88124
88125         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
88126         Reported by Bruno Haible.
88127
88128 2000-07-04  Jim Meyering  <meyering@lucent.com>
88129
88130         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
88131         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
88132         lacks mbrtowc.
88133
88134 2000-07-03  Paul Eggert  <eggert@twinsun.com>
88135
88136         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
88137         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
88138
88139 2000-07-03  Paul Eggert  <eggert@twinsun.com>
88140         and Bruno Haible  <haible@clisp.cons.org>
88141
88142         * lib/quotearg.c (mbrtowc):
88143         Assign to *pwc, and return 1 only if result is nonzero.
88144         (iswprint): Use ISPRINT when substituting our own mbrtowc.
88145
88146 2000-07-03  Jim Meyering  <meyering@lucent.com>
88147
88148         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
88149
88150 2000-07-03  Jim Meyering  <meyering@lucent.com>
88151
88152         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
88153         This is necessary to get a definition of e.g., UTMP_FILE on
88154         HP-UX 10.20.
88155         From Bob Proulx.
88156
88157 2000-07-02  Jim Meyering  <meyering@lucent.com>
88158
88159         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
88160
88161         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
88162         AC_LIBOBJ(function_name).
88163         * m4/chown.m4: Likewise.
88164         * m4/fnmatch.m4: Likewise.
88165         * m4/ftruncate.m4: Likewise.
88166         * m4/getgroups.m4: Likewise.
88167         * m4/getline.m4: Likewise.
88168         * m4/group-member.m4: Likewise.
88169         * m4/jm-macros.m4: Likewise.
88170         * m4/lstat.m4: Likewise.
88171         * m4/malloc.m4: Likewise.
88172         * m4/memcmp.m4: Likewise.
88173         * m4/nanosleep.m4: Likewise.
88174         * m4/putenv.m4: Likewise.
88175         * m4/realloc.m4: Likewise.
88176         * m4/regex.m4: Likewise.
88177         * m4/stat.m4: Likewise.
88178         * m4/strftime.m4: Likewise.
88179
88180 2000-07-02  Jim Meyering  <meyering@lucent.com>
88181
88182         * lib/quotearg.c (mbstate_t): Don't define here.
88183
88184 2000-07-02  Jim Meyering  <meyering@lucent.com>
88185
88186         * lib/nanosleep.c (SIGCONT): Define if not already defined.
88187
88188 2000-07-01  Jim Meyering  <meyering@lucent.com>
88189
88190         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
88191
88192 2000-07-01  Jim Meyering  <meyering@lucent.com>
88193
88194         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
88195         problem.
88196
88197 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88198
88199         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
88200         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
88201
88202 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
88203
88204         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
88205         per change in ../m4/ls-mntd-fs.m4.
88206         (read_filesystem_list): Ignore symbolic links.
88207
88208 2000-06-29  Jim Meyering  <meyering@lucent.com>
88209
88210         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
88211         for declaration of strcmp.
88212
88213         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
88214
88215         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
88216         Avoid warning by casting result to `char *' to remove `const'.
88217
88218 2000-06-28  Jim Meyering  <meyering@lucent.com>
88219
88220         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
88221         included by quotearg.c, for which we perform this test.  From
88222         Bruno Haible.
88223
88224 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88225
88226         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
88227         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
88228         <utmpx.h> exists, put readutmp.o into LIBOBJS.
88229
88230 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
88231
88232         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
88233
88234 2000-06-26  Paul Eggert  <eggert@twinsun.com>
88235
88236         savedir now sets errno on failure and invokes xmalloc to get memory.
88237         Fix a couple of other minor bugs while we're at it.
88238
88239         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
88240         (NAMLEN): Remove macro.
88241         (malloc, realloc): Remove decls.
88242         (stpcpy): Likewise.
88243         ("xalloc.h"): Include.
88244         (NAME_SIZE_DEFAULT): New macro.
88245         (savedir): Use xmalloc / xrealloc to allocate memory.
88246         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
88247         Skip "" directory entries.
88248         Use strlen to calculate directory entry length, since the old method
88249         is rarely used these days and isn't worth supporting.
88250         Don't use a pointer after freeing it.
88251         Check for integer overflow when calculating allocation size.
88252         Use memcpy to copy entries, instead of stpcpy.
88253         Set errno properly when returning NULL.
88254         Check for readdir error.
88255
88256 2000-06-26  Jim Meyering  <meyering@lucent.com>
88257
88258         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
88259
88260 2000-06-25  Jim Meyering  <meyering@lucent.com>
88261
88262         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
88263         Linux header bug when _XOPEN_SOURCE is defined to 500.
88264
88265 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88266
88267         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
88268         deficiency.
88269
88270 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88271
88272         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
88273         Include xalloc.h.
88274         Don't include <stdlib.h>.  Don't declare malloc, realloc.
88275
88276 2000-06-24  Jim Meyering  <meyering@lucent.com>
88277
88278         * m4/strerror_r.m4: Revive this file -- to try out an experimental
88279         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
88280         for which strerror does return char*, but which lacks a conveniently
88281         accessible declaration of the function.  If the compile-test says
88282         strerror_r doesn't work, then resort to a `run'-test that works on
88283         BeOS and segfaults on DEC Unix.
88284
88285 2000-06-24  Jim Meyering  <meyering@lucent.com>
88286
88287         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
88288
88289 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88290
88291         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
88292         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
88293
88294 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88295
88296         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
88297         (mbrtowc, mbstate_t): Define substitutes if
88298         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
88299         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
88300         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
88301
88302 2000-06-23  Jim Meyering  <meyering@lucent.com>
88303
88304         * m4/afs.m4: Add missing AC_MSG_RESULT.
88305         Reported by Bruno Haible.
88306
88307         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
88308         Suggestion from Bruno Haible.
88309
88310 2000-06-23  Jim Meyering  <meyering@lucent.com>
88311
88312         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
88313
88314 2000-06-21  Jim Meyering  <meyering@lucent.com>
88315
88316         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
88317
88318 2000-06-21  Jim Meyering  <meyering@lucent.com>
88319
88320         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
88321         (noinst_HEADERS): Add getstr.h.
88322
88323         * lib/getline.c (getstr): Move into a separate file.
88324         * lib/getstr.c (getstr): New file, extracted from getline.c, with
88325         the following changes: new parameter, delim2; both delim[12]
88326         parameters have type `int', not `char'.  The latter would lose
88327         with 8-bit delimiters.
88328         * lib/getstr.h: New file.
88329
88330 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88331
88332         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
88333         than 1024, return a memory chunk of least possible size, instead
88334         of size PATH_MAX + 2. In the loop, increment the size proportionally.
88335         Use free/xmalloc instead of xrealloc to avoid copying for very long
88336         paths.
88337
88338 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88339
88340         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
88341         the empty string.
88342
88343 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88344
88345         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
88346         address, not strdup.  Include <stdlib.h> and don't declare free().
88347
88348 2000-06-19  Jim Meyering  <meyering@lucent.com>
88349
88350         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
88351
88352 2000-06-18  Jim Meyering  <meyering@lucent.com>
88353
88354         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
88355
88356         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
88357         `checking whether...' message to be consistent with that of the
88358         lstat test.
88359
88360 2000-06-18  Jim Meyering  <meyering@lucent.com>
88361
88362         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
88363         Besides, these days every porting target provides a mkdir function.
88364
88365         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
88366         needed. (this snippet comes from src/system.h).
88367
88368 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
88369
88370         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
88371
88372 2000-06-15  Paul Eggert  <eggert@twinsun.com>
88373
88374         * lib/human.c (adjust_value): New function.
88375         (human_readable_inexact): Apply rounding style even when
88376         printing approximate values.
88377
88378 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88379
88380         * lib/human.c (human_readable_inexact): Allow an input block
88381         size that is not a multiple of the output block size, and vice versa.
88382         Reported by Piergiorgio Sartor.
88383
88384 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88385
88386         * lib/getdate.y (get_date): Apply relative times after time
88387         zone indicator, not before.  Reported by Todd A. Jacobs.
88388
88389 2000-06-13  Jim Meyering  <meyering@lucent.com>
88390
88391         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
88392
88393         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
88394
88395 2000-06-12  Paul Eggert  <eggert@twinsun.com>
88396
88397         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
88398
88399 2000-06-12  Jim Meyering  <meyering@lucent.com>
88400
88401         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
88402         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
88403         optional argument.
88404         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
88405         the optional argument, `lib'.
88406
88407 2000-06-08  Jim Meyering  <meyering@lucent.com>
88408
88409         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88410
88411 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88412
88413         Rewrite largefile configuration so that we don't need to run
88414         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88415         AC_CANONICAL_HOST in configure.in -- jmm]
88416
88417         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88418         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88419         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88420         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88421         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88422         All uses changed.
88423         Instead of inspecting the output of getconf, try to compile the
88424         test program without and with the macro definition.
88425         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88426         for getconf.  Instead, check for the needed flags by compiling
88427         test programs.
88428
88429 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88430
88431         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88432
88433 2000-06-04  Jim Meyering  <meyering@lucent.com>
88434
88435         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88436         SunOS 4.1.4 for which gid_t is an unsigned type.
88437
88438 2000-06-03  Jim Meyering  <meyering@lucent.com>
88439
88440         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88441         now that autoconf requires that.
88442
88443         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88444         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88445         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88446
88447 2000-06-03  Jim Meyering  <meyering@lucent.com>
88448
88449         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88450
88451 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88452
88453         * m4/glibc21.m4: New file.
88454         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88455
88456 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88457
88458         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88459         newer, don't install charset.alias.
88460         * lib/config.charset: Change the Linux/glibc rules so they become empty
88461         on glibc-2.1 or newer.
88462
88463 2000-06-02  Jim Meyering  <meyering@lucent.com>
88464
88465         * lib/mountlist.c: Back out last change.  Instead, do this...
88466         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88467         me_dummy member using the same `ignore'-testing code.
88468         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88469         fs_type strings.
88470         From Mark D. Roth.
88471
88472 2000-05-29  Jim Meyering  <meyering@lucent.com>
88473
88474         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88475         mounts with the `ignore' attribute.  Based on a patch from
88476         Mark D. Roth.
88477
88478 2000-05-28  Jim Meyering  <meyering@lucent.com>
88479
88480         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88481         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88482         * m4/stat.m4: Likewise.
88483         * m4/lstat.m4: Likewise.
88484         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88485
88486         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88487         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88488
88489 2000-05-26  Jim Meyering  <meyering@lucent.com>
88490
88491         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88492
88493 2000-05-24  Jim Meyering  <meyering@lucent.com>
88494
88495         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88496         autoconf requires that.
88497         * m4/lib-check.m4: Likewise.
88498         * m4/jm-macros.m4: Likewise.
88499         * m4/strftime.m4: Likewise.
88500
88501         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88502         AC_CHECK_DECLS, now that autoconf requires that.
88503
88504 2000-05-22  Jim Meyering  <meyering@lucent.com>
88505
88506         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88507         * m4/lstat.m4: Likewise.
88508
88509 2000-05-22  Jim Meyering  <meyering@lucent.com>
88510
88511         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88512
88513 2000-05-20  Jim Meyering  <meyering@lucent.com>
88514
88515         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88516         (jm_PREREQ): Use it.
88517
88518 2000-05-18  Jim Meyering  <meyering@lucent.com>
88519
88520         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88521         back, too, since it may have been modified by allocate_entry.
88522         (hash_delete): Rewrite to use neither the assignment operator
88523         nor the comma operator in an if-expression.
88524
88525 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88526
88527         * lib/closeout.c:
88528         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88529         Remove; no longer needed.
88530         "quotearg.h": Add include.
88531         (file_name): Do not bother to explicitly initialize to NULL; it's less
88532         efficient on some hosts.
88533         (close_stdout_status): Remove test as to whether stdout was already
88534         closed; it breaks for the case "echo x | sort >&-".
88535         Quote file name colons.
88536         Do not assume that _("write error") lacks format strings.
88537
88538 2000-05-15  Jim Meyering  <meyering@lucent.com>
88539
88540         * lib/version-etc.c (version_etc_copyright): Update the copyright
88541         string used in all --version output.
88542
88543 2000-05-14  Jim Meyering  <meyering@lucent.com>
88544
88545         * lib/closeout.c (close_stdout_set_file_name): New function.
88546         (close_stdout_status): Use new file-scoped global.
88547         Return right away if fstat says the stdout file descriptor is invalid.
88548         * lib/closeout.h (close_stdout_set_file_name): Declare.
88549
88550 2000-05-10  Jim Meyering  <meyering@lucent.com>
88551
88552         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88553         (close_stdout_set_status): New function.
88554         * lib/closeout.h (close_stdout_set_status): Declare.
88555
88556 2000-05-09  Jim Meyering  <meyering@lucent.com>
88557
88558         * m4/gettext.m4: Rename this...
88559         * m4/libintl.m4: ...to this.
88560
88561 2000-05-08  Jim Meyering  <meyering@lucent.com>
88562
88563         * lib/long-options.c: Don't include closeout.h.
88564         (parse_long_options): Don't call close_stdout for --version.
88565
88566 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88567
88568         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88569         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88570         2.1.3 bug.  This avoids a clash when files like regex.c define
88571         _GNU_SOURCE.
88572
88573 2000-05-06  Jim Meyering  <meyering@lucent.com>
88574
88575         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88576         (AC_REPLACE_FUNCS): Add strnlen.
88577
88578         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88579         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88580
88581         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88582         AC_SEARCH_LIBS call for nanosleep.
88583         (LIB_NANOSLEEP): Set and AC_SUBST.
88584
88585 2000-05-06  Jim Meyering  <meyering@lucent.com>
88586
88587         * lib/strnlen.c: Undefine __strnlen and strnlen.
88588         [!weak_alias]: Define __strnlen to strnlen.
88589
88590         * lib/atexit.c: New file, from libiberty.
88591
88592 2000-05-06  Jim Meyering  <meyering@lucent.com>
88593
88594         * lib/closeout.c (close_stdout_status): Also check for errors on the
88595         stderr stream.
88596
88597 2000-05-05  Jim Meyering  <meyering@lucent.com>
88598
88599         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88600         AC_SEARCH_LIBS call for clock_gettime.
88601         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88602
88603         * m4/search-libs.m4: Update from autoconf.
88604
88605         su doesn't work on Solaris 2.6.
88606         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88607         <shadow.h>.  Reported by Dragos Harabor.
88608
88609 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88610
88611         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88612         memcpy instead of xmalloc, xrealloc, path_concat.
88613         (locale_charset): Treat empty environment variables as absent.
88614         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88615
88616 2000-05-04  Jim Meyering  <meyering@lucent.com>
88617
88618         * lib/getopt.c: Update from glibc.
88619         * lib/obstack.c: Likewise.
88620         * lib/obstack.h: Likewise.
88621         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88622         file
88623
88624         * lib/regex.h: Likewise.
88625         * lib/strndup.c: Likewise.
88626         * lib/strnlen.c: New file, from glibc.
88627
88628 2000-05-03  Jim Meyering  <meyering@lucent.com>
88629
88630         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88631
88632 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88633
88634         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88635         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88636         compile-time test, rather than inspecting host and OS, to
88637         decide whether to define _LARGEFILE_SOURCE.
88638
88639 2000-05-01  Jim Meyering  <meyering@lucent.com>
88640
88641         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88642
88643         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88644         Based on a patch from Bruno Haible.
88645
88646 2000-05-01  Jim Meyering  <meyering@lucent.com>
88647
88648         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88649
88650 2000-04-29  Jim Meyering  <meyering@lucent.com>
88651
88652         * lib/path-concat.c: Declare strdup only if it's not defined.
88653         * lib/canon-host.c: Likewise.
88654
88655 2000-04-28  Jim Meyering  <meyering@lucent.com>
88656
88657         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88658         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88659         is included first, then limits.h is included by locale.h by libintl.h.
88660         From John David Anglin.
88661
88662 2000-04-25  Jim Meyering  <meyering@lucent.com>
88663
88664         * lib/makepath.c (S_IRWXUGO): Define.
88665         (make_path): Always perform explicit chmod if MODE specifies any
88666         of the `special' permission bits.  Prompted by a bug report against
88667         install from Mate Wierdl and Joost van Baal.
88668
88669 2000-04-18  Jim Meyering  <meyering@lucent.com>
88670
88671         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88672         (jm_PREREQ): Use it.
88673
88674 2000-04-18  Jim Meyering  <meyering@lucent.com>
88675
88676         * lib/README: New file.
88677
88678         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88679         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88680
88681 2000-04-17  Jim Meyering  <meyering@lucent.com>
88682
88683         Get it right :-)
88684         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88685         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88686         Suggestion from Akim Demaille.
88687
88688 2000-04-17  Jim Meyering  <meyering@lucent.com>
88689
88690         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88691         the definition of it to rpl_strftime also defined-away the system's
88692         declaration.
88693
88694 2000-04-15  Jim Meyering  <meyering@lucent.com>
88695
88696         Use `C' to denote so-called `contiguous' files, the same way
88697         that tar does.
88698         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88699         (ftypelet): Use S_ISCTG.
88700         From Michael Deutschmann.
88701
88702 2000-04-14  Jim Meyering  <meyering@lucent.com>
88703
88704         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88705         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88706         clobbered.
88707
88708 2000-04-14  Jim Meyering  <meyering@lucent.com>
88709
88710         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88711
88712 2000-04-13  Jim Meyering  <meyering@lucent.com>
88713
88714         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88715         AH_VERBATIM to insert required #ifndef into config.h.in.
88716         Suggestion from Akim Demaille.
88717
88718 2000-04-12  Jim Meyering  <meyering@lucent.com>
88719
88720         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88721         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88722         Christian Krackowizer.
88723
88724         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88725         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88726         (AC_SYS_LARGEFILE): Require.
88727         (AM_C_PROTOTYPES): Require.
88728
88729 2000-04-08  Jim Meyering  <meyering@lucent.com>
88730
88731         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88732         names don't conflict.  Reported by Eli Zaretskii.
88733
88734 2000-04-07  Jim Meyering  <meyering@lucent.com>
88735
88736         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88737         sys/types.h, to work around system header problems on AIX 3.2.5.
88738         From Bruno Haible.
88739
88740 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88741
88742         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88743         bug.  Deal with the different error behavior of Irix iconv.
88744
88745 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88746
88747         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88748         IRIX if the installer said otherwise.
88749
88750 2000-04-05  Jim Meyering  <meyering@lucent.com>
88751
88752         Portability tweaks required for ultrix4.3.
88753         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88754         (jm_CHECK_DECLS): Add getutent to the list of functions.
88755         (_jm_DECL_HEADERS): Add utmpx.h.
88756         From John David Anglin.
88757
88758         * m4/strftime.m4: Back out the 2000-04-02 change.
88759         Instead of that change, simply undefine putenv in the test program.
88760
88761 2000-04-05  Jim Meyering  <meyering@lucent.com>
88762
88763         Portability tweaks required for ultrix4.3.
88764         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88765         getutent.
88766         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88767         * lib/canon-host.c: Declare strdup.
88768         * lib/path-concat.c: Likewise.
88769         From John David Anglin.
88770
88771 2000-04-04  Jim Meyering  <meyering@lucent.com>
88772
88773         Be more DOS 8.3-friendly.
88774         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88775         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88776         * lib/Makefile.am: Reflect renaming.
88777         Reported by Eli Zaretskii.
88778
88779         Use a temporary file name that won't clash with `charset.alias'
88780         in the DOS 8.3 name space.
88781         * lib/Makefile.am (charset_tmp): Define.
88782         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88783         (uninstall-local): Likewise.
88784         Reported by Eli Zaretskii.
88785
88786 2000-04-03  Jim Meyering  <meyering@lucent.com>
88787
88788         * m4/gettext.m4: Fix typo in comment.
88789
88790         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88791         textutils/configure.in).  Suggestion from Paul Eggert.
88792         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88793
88794 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88795
88796         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88797         variable in the shell rather than using putenv, which isn't
88798         portable.  This avoids the configure-time inter-test dependency
88799         on the potentially-renamed putenv function.
88800
88801 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88802
88803         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88804         before checking struct stat.st_blksize, so that
88805         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88806
88807 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88808
88809         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88810         since strftime.c uses HAVE_STRFTIME to decide whether to use
88811         the underlying strftime.
88812
88813 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88814
88815         * lib/time/strftime.c (my_strftime): Make sure we call the system
88816         strftime, not ourselves, when invoking the underlying strftime.
88817
88818 2000-03-24  Jim Meyering  <meyering@lucent.com>
88819
88820         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88821         (charset_alias): Define.
88822         (install-exec-local): Factor out common code.
88823         (uninstall-local): Split lines longer than 80.
88824         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88825         (SUFFIXES): Define.
88826         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88827         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88828
88829 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88830
88831         * lib/config.charset: Output a line containing "Packages using this
88832         file".
88833         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88834         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88835         ref-del.sed): New rules.
88836
88837 2000-03-17  Jim Meyering  <meyering@lucent.com>
88838
88839         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88840         Otherwise, include <strings.h>
88841
88842 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88843
88844         * lib/unicodeio.c (utf8_wctomb): New function.
88845         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88846         format instead of in UCS-4 with platform dependent endianness.
88847
88848 2000-03-10  Jim Meyering  <meyering@lucent.com>
88849
88850         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88851         From Marco Franzen.
88852
88853 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88854
88855         * lib/savedir.c (savedir): Work even if directory size is
88856         negative; this can happen with some screwy NFS configurations.
88857
88858 2000-03-06  Jim Meyering  <meyering@lucent.com>
88859
88860         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88861         if it's NULL (because we ran out of memory).  From Bruno Haible.
88862
88863 2000-03-05  Jim Meyering  <meyering@lucent.com>
88864
88865         * lib/localcharset.c ("path-concat.h"): Include.
88866         (get_charset_aliases): Use path_concat instead of ANSI string
88867         concatenation.
88868
88869         * lib/unicodeio.h (PARAMS): Define.
88870         Use it to guard prototype.
88871
88872 2000-03-04  Jim Meyering  <meyering@lucent.com>
88873
88874         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88875         for lib/localcharset.c.
88876
88877 2000-03-04  Jim Meyering  <meyering@lucent.com>
88878
88879         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88880         installing into it.
88881         (uninstall-local): Uncomment this rule so `make distcheck' works
88882         once again.
88883
88884         * lib/unicodeio.c (<errno.h>): Include it.
88885         (errno): Declare if not defined.
88886
88887         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88888
88889         * lib/config.charset: New version, incorporating remarks from a linux
88890         i18n mailing list.  From Bruno Haible.
88891
88892 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88893
88894         * m4/codeset.m4: New file.
88895         * m4/iconv.m4: New file.
88896         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88897
88898 2000-03-03  Jim Meyering  <meyering@lucent.com>
88899
88900         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88901
88902 2000-03-02  Jim Meyering  <meyering@lucent.com>
88903
88904         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88905         the messages come out on separate lines.
88906
88907         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88908         rather than jm_CHECK_DECLARATIONS.
88909         * m4/decl.m4: Remove now-unused file.
88910
88911         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88912         geteuid.
88913
88914 2000-03-02  Jim Meyering  <meyering@lucent.com>
88915
88916         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88917
88918 2000-03-01  Jim Meyering  <meyering@lucent.com>
88919
88920         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88921         * lib/unicodeio.c: Likewise.
88922
88923 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88924
88925         * lib/config.charset: New file.
88926         * lib/localcharset.c: New file.
88927         * lib/unicodeio.h, lib/unicodeio.c: New files.
88928         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88929         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88930         (noinst_HEADERS): Add unicodeio.h.
88931         (all-local, install-exec-local, charset.alias): New targets.
88932
88933 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88934
88935         * lib/quotearg.c (ALERT_CHAR): New macro.
88936         (quotearg_buffer_restyled): Use it.
88937
88938 2000-02-27  Jim Meyering  <meyering@lucent.com>
88939
88940         * m4/check-decl.m4: Add getenv to the list.
88941
88942 2000-02-27  Jim Meyering  <meyering@lucent.com>
88943
88944         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88945         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88946
88947         * lib/backupfile.c: Guard inclusion of stdlib.h with
88948         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88949         Declare malloc if needed.
88950
88951         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88952         `#ifndef HAVE_DECL..'
88953         now that autoconf always defines the HAVE_DECL_ symbols.
88954         * lib/human.c: Likewise.
88955         * lib/same.c: Likewise.
88956         * lib/strtoumax.c: Likewise.
88957
88958         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88959         declaration check was not run.
88960         * lib/hash.c: Likewise.
88961         * lib/human.c: Likewise.
88962         * lib/same.c: Likewise.
88963         * lib/strtoumax.c: Likewise.
88964
88965         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88966         `.', then first look up the entire `.'-containing string as a login
88967         name.
88968
88969 2000-02-23  Jim Meyering  <meyering@lucent.com>
88970
88971         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88972         in place of my hack.
88973
88974 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88975
88976         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88977         (textint): New typedef.
88978         (parser_control): Member year changed from int to textint.
88979         All uses changed.
88980         (YYSTYPE): Removed; replaced by %union with int and textint members.
88981         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88982         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88983         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88984         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88985         (date, number, to_year): Use width of number in digits, not its value,
88986         to determine whether it's a 2-digit year, or a 2-digit time.
88987         (yylex): Store number of digits of numeric tokens.
88988         Reported by John Kendall.
88989
88990         (parser_control): Changed from struct parser_control to typedef (for
88991         consistency).  All uses changed.
88992
88993         (tID): Removed; not used.
88994         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88995
88996 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88997
88998         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88999         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
89000
89001 2000-02-12  Jim Meyering  <meyering@lucent.com>
89002
89003         * lib/userspec.c (ISDIGIT): Define it.
89004         (isdigit): Remove definition.
89005         (is_number): Use ISDIGIT, not isdigit.
89006         <libintl.h>: Include.
89007         (_ and N_): Define.
89008         (parse_user_spec): Mark translatable strings.
89009
89010 2000-02-10  Jim Meyering  <meyering@lucent.com>
89011
89012         With these changes, nanosleep.[ch] are finally enough like the other
89013         lib/* replacement files to compile on a few more losing systems.
89014
89015         * lib/nanosleep.h: Don't include config.h.
89016         Remove prototype from declaration of nanosleep.
89017         (PARAMS): Remove now-unneeded definition.
89018         * lib/nanosleep.c: #undef nanosleep.
89019         (rpl_nanosleep): Rename from nanosleep.
89020
89021 2000-02-10  Jim Meyering  <meyering@lucent.com>
89022
89023         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
89024         gnu_nanosleep to rpl_nanosleep.
89025
89026 2000-02-09  Jim Meyering  <meyering@lucent.com>
89027
89028         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
89029         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
89030
89031 2000-02-08  Akim Demaille  <akim@epita.fr>
89032
89033         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
89034         `[' and `]' and remove uses of `changequote'.
89035         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
89036         (AC_SYS_LARGEFILE): Likewise.
89037         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
89038         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
89039         of changequote.
89040         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
89041         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
89042         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
89043         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
89044
89045 2000-02-05  Jim Meyering  <meyering@lucent.com>
89046
89047         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
89048         Remove explicit use of AC_HEADER_TIME.  It is required by
89049         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
89050         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
89051         in autoconf whereby the expansion of the latter ended up preceding
89052         the expansion of its prerequisite, AC_HEADER_TIME.
89053         Reported by Volker Borchert.
89054
89055 2000-02-03  Jim Meyering  <meyering@lucent.com>
89056
89057         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
89058
89059 2000-02-03  Jim Meyering  <meyering@lucent.com>
89060
89061         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
89062         rather than with `#if HAVE_UTMPNAME'.
89063
89064 2000-02-02  Jim Meyering  <meyering@lucent.com>
89065
89066         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
89067         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
89068         Reported by Eli Zaretskii.
89069
89070 2000-02-01  Jim Meyering  <meyering@lucent.com>
89071
89072         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
89073
89074 2000-01-31  Jim Meyering  <meyering@lucent.com>
89075
89076         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
89077         functions.  Add the time.h and sys/time.h headers along with the
89078         AC_REQUIRE'ment of AC_HEADER_TIME.
89079
89080 2000-01-31  Jim Meyering  <meyering@lucent.com>
89081
89082         * lib/nanosleep.h (nanosleep): Guard declaration with
89083         `#if ! HAVE_DECL_NANOSLEEP'.
89084         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
89085         the declaration in that vendor's sys/timers.h.
89086         Reported by Christian Krackowizer.
89087
89088         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
89089         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
89090         (ISPRINT): Likewise.
89091         Reported by Tom Tromey.
89092
89093 2000-01-30  Jim Meyering  <meyering@lucent.com>
89094
89095         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
89096
89097         * m4/prereq.m4 (utmp_includes): Define.
89098         Check for ut_user and ut_name members in both struct utmpx
89099         and struct utmp.
89100
89101 2000-01-30  Jim Meyering  <meyering@lucent.com>
89102
89103         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
89104         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
89105         header files where only utmpx.ut_user is declared.
89106
89107         * lib/readutmp.h (UT_USER): Define.
89108
89109 2000-01-29  Jim Meyering  <meyering@lucent.com>
89110
89111         * m4/lib-check.m4: New file containing library-related checks from
89112         fileutils and sh-utils (textutils had none).
89113
89114 2000-01-28  Jim Meyering  <meyering@lucent.com>
89115
89116         * m4/perl.m4: Change format of warning message to look more like that
89117         from the missing script.  Suggestion from François Pinard.
89118
89119 2000-01-25  Jim Meyering  <meyering@lucent.com>
89120
89121         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
89122         well as time.h in the compile check.
89123         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
89124         Fix typo in cross-compiling case: s/yes/no/.
89125
89126 2000-01-23  Jim Meyering  <meyering@lucent.com>
89127
89128         * m4/jm-macros.m4: Move df-related tests here from
89129         fileutils/configure.in
89130
89131         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
89132         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
89133
89134         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
89135         s/space/ac_fsusage_space/.
89136         (jm_FILE_SYSTEM_USAGE): Take two parameters.
89137
89138         * m4/ftruncate.m4: New file (derived from part of
89139         fileutils/configure.in).
89140         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
89141         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
89142
89143         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
89144         AC_SUBST these here, rather than just in sh-util/configure.in, so
89145         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
89146         all the same.
89147         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
89148         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
89149         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
89150         (AC_SUBST(POW_LIBM)): Likewise.
89151         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
89152
89153 2000-01-23  Jim Meyering  <meyering@lucent.com>
89154
89155         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
89156         obstack.c.
89157
89158 2000-01-22  Jim Meyering  <meyering@lucent.com>
89159
89160         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
89161
89162         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
89163
89164         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
89165         configure.in
89166         (AC_CHECK_HEADERS): Likewise for sh-utils.
89167         (AC_CHECK_HEADERS): Likewise for textutils.
89168         Merge the three lists of headers.
89169
89170         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
89171         from fileutils' configure.in.
89172
89173         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
89174         code. Moved tests into their own function (_jm_DECL_HEADERS) in
89175         check-decl.m4.
89176
89177         * m4/check-decl.m4: Use #if rather than #ifdef.
89178         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
89179         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
89180         (_jm_DECL_HEADERS): Define new function.
89181         (jm_CHECK_DECLARATIONS): Require it.
89182
89183 2000-01-22  Jim Meyering  <meyering@lucent.com>
89184
89185         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
89186         [! HAVE_DECL_STRTOULL]: Declare strtoull.
89187         Required for some AIX systems.  Reported by Christian Krackowizer.
89188         [TESTING] (main): New function.
89189
89190         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
89191         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
89192         letters.
89193
89194         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
89195         iswprint.
89196
89197         * lib/strverscmp.c (ISDIGIT): Define.
89198         (strverscmp): Use ISDIGIT, not isdigit.
89199
89200 2000-01-19  Jim Meyering  <meyering@lucent.com>
89201
89202         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
89203         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
89204         defines `struct timespec' in <sys/time.h>
89205
89206         * m4/c-bs-a.m4: Remove uses of changequote altogether.
89207         Thanks to Akim for explaining.
89208
89209 2000-01-17  Paul Eggert  <eggert@twinsun.com>
89210
89211         * lib/nanosleep.c (nanosleep):
89212         Don't use SA_INTERRUPT to decide whether to call sigaction, as
89213         POSIX.1 doesn't require SA_INTERRUPT and some systems
89214         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
89215         it's been part of POSIX.1 since day 1 (in 1988).
89216
89217 2000-01-17  Jim Meyering  <meyering@lucent.com>
89218
89219         * lib/interlock: Remove unused file.  Reported by François Pinard.
89220
89221 2000-01-16  Paul Eggert  <eggert@twinsun.com>
89222
89223         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
89224         alert, backslash, formfeed, and vertical tab unnecessarily in
89225         shell quoting style.
89226
89227 2000-01-16  Jim Meyering  <meyering@lucent.com>
89228
89229         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
89230         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
89231         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
89232         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
89233
89234 2000-01-16  Jim Meyering  <meyering@lucent.com>
89235
89236         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
89237         because the latter didn't work.
89238
89239 2000-01-15  Jim Meyering  <meyering@lucent.com>
89240
89241         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
89242         (AC_REPLACE_FUNCS): Add memcpy and memset.
89243         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
89244         Add strpbrk.
89245         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
89246
89247 2000-01-12  Jim Meyering  <meyering@lucent.com>
89248
89249         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
89250         (jm_PREREQ): Use it.
89251         (jm_PREREQ_READUTMP): New macro.
89252         (jm_PREREQ): Use it.
89253
89254 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89255
89256         Quote multibyte characters correctly.
89257         * m4/c-bs-a.m4: New file.
89258         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
89259         (jm_PREREQ): Use it.
89260
89261 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89262
89263         * m4/uintmax_t.m4: Port to autoconf 2.13.
89264
89265 2000-01-08  Jim Meyering  <meyering@ascend.com>
89266
89267         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
89268         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
89269
89270 2000-01-04  Jim Meyering  <meyering@ascend.com>
89271
89272         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
89273         jm_STRUCT_DIRENT_D_TYPE.
89274         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
89275         jm_STRUCT_DIRENT_D_INO.
89276         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
89277         jm_STRUCT_UTIMBUF.
89278         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
89279         renamings.
89280         * m4/utime.m4: Likewise.
89281
89282         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
89283         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
89284
89285 2000-01-03  Paul Eggert  <eggert@twinsun.com>
89286
89287         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
89288         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
89289
89290 2000-01-02  Jim Meyering  <meyering@ascend.com>
89291
89292         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
89293         remember if this is necessary.
89294
89295 1999-12-26  Jim Meyering  <meyering@ascend.com>
89296
89297         * m4/jm-macros.m4: Use it here.
89298         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
89299
89300 1999-12-23  Jim Meyering  <meyering@ascend.com>
89301
89302         * m4/jm-macros.m4: Check for clock_gettime (moved from
89303         fileutils/configure.in)
89304         Check for gettimeofday.
89305
89306 1999-12-20  Jim Meyering  <meyering@ascend.com>
89307
89308         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
89309         autoconf-2.14a-1999-12-20.
89310
89311 1999-12-19  Jim Meyering  <meyering@ascend.com>
89312
89313         * m4/lstat-slash.m4: New file.
89314         * m4/jm-macros.m4: Use the new macro:
89315         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89316
89317 1999-12-07  Jim Meyering  <meyering@ascend.com>
89318
89319         * m4/perl.m4: Require that File::Compare be available, too.
89320         Too many systems seem to lack it.
89321
89322         * m4/strftime.m4: Add checks for most of the cpp macros tested in
89323         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
89324
89325 1999-11-18  Paul Eggert  <eggert@twinsun.com>
89326
89327         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
89328         problem with the QNX 4.25 shell, which doesn't propagate exit
89329         status of failed commands inside shell assignments.
89330
89331 1999-11-17  Jim Meyering  <meyering@ascend.com>
89332
89333         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
89334
89335 1999-11-07  Jim Meyering  <meyering@ascend.com>
89336
89337         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
89338
89339 1999-11-06  Jim Meyering  <meyering@ascend.com>
89340
89341         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
89342         * m4/jm-macros.m4 (jm_MACROS): Use it here.
89343
89344 1999-11-05  Jim Meyering  <meyering@ascend.com>
89345
89346         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
89347         configure.in of textutils, fileutils, and sh-utils into this one
89348         (shared between those packages) file.
89349         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
89350         AC_STRUCT_ST_BLKSIZE.
89351
89352 1999-11-03  Jim Meyering  <meyering@ascend.com>
89353
89354         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
89355         of AC_CHECK_TYPE checks includes unistd.h.
89356         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
89357         Suggestion from Akim Demaille.
89358
89359 1999-10-30  Jim Meyering  <meyering@ascend.com>
89360
89361         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
89362         m4-quoted string.
89363         * m4/ls-mntd-fs.m4: Likewise.
89364         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
89365         * m4/jm-winsz1.m4: Likewise.
89366
89367         * m4/const.m4: Remove file, since the fix made it into the experimental
89368         version of autoconf.
89369         * m4/mktime.m4: Likewise.
89370
89371         * m4/check-type.m4: Remove file, now that the latest version of
89372         AC_CHECK_TYPE takes a third arg to specify additional #includes.
89373
89374         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
89375         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
89376         AC_CHECK_TYPE.
89377
89378 1999-10-04  Jim Meyering  <meyering@ascend.com>
89379
89380         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
89381
89382 1999-09-22  Paul Eggert  <eggert@twinsun.com>
89383
89384         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
89385         2.95.1 bug with HP-UX 10.20.
89386
89387 1999-09-17  Jim Meyering  <meyering@ascend.com>
89388
89389         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
89390         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
89391         due to missing strdup (against sh-utils-2.0).
89392
89393 1999-08-29  Jim Meyering  <meyering@ascend.com>
89394
89395         * m4/jm-macros.m4: Require jm_BISON.
89396         * m4/bison.m4: New file.
89397
89398 1999-08-17  Paul Eggert  <eggert@twinsun.com>
89399
89400         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
89401         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
89402
89403 1999-08-05  Jim Meyering  <meyering@ascend.com>
89404
89405         * m4/getline.m4: Rename test file from conftestdata to conftest.data
89406         to avoid conflicts with `conftest' on 8+3 filesystems.
89407         Suggestion from Eli Zaretskii.
89408
89409 1999-08-04  Jim Meyering  <meyering@ascend.com>
89410
89411         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89412         fileutils and sh-utils (textutils's getline test was inadequate).
89413         (AM_FUNC_GETLINE): Run this test.
89414         (AC_CHECK_FUNCS): Check for getdelim.
89415         Reported by Bob Proulx.
89416
89417 1999-08-02  Jim Meyering  <meyering@ascend.com>
89418
89419         * m4/jm-macros.m4: Add a comment.
89420
89421 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89422
89423         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89424         <inttypes.h> defines strtoumax as a macro (and not as a
89425         function).
89426
89427 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89428
89429         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89430         that we can shift, multiply and divide unsigned long long
89431         values; Ultrix cc can't do it.
89432
89433 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89434
89435         * m4/mktime.m4: New file, which is a preview of what should appear
89436         in the next public autoconf release.
89437
89438 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89439
89440         * m4/lfs.m4: Remove this file.
89441         * m4/largefile.m4: New file.  It contains the old contents of
89442         lfs.m4, except that all names with prefix AC_LFS have been
89443         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89444         compatible with future autoconf versions.  Also, some minor m4
89445         quoting problems have been fixed.
89446
89447 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89448
89449         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89450         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89451         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89452         and simplify the shell code.
89453
89454 1999-08-01  Jim Meyering  <meyering@ascend.com>
89455
89456         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89457         m4.
89458
89459 1999-07-20  Jim Meyering  <meyering@ascend.com>
89460
89461         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89462
89463 1999-07-15  Jim Meyering  <meyering@ascend.com>
89464
89465         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89466
89467 1999-05-22  Jim Meyering  <meyering@ascend.com>
89468
89469         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89470
89471 1999-05-20  Jim Meyering  <meyering@ascend.com>
89472
89473         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89474         Add a colon after each `then' in case $4 is empty.
89475
89476 1999-05-16  Jim Meyering  <meyering@ascend.com>
89477
89478         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89479
89480 1999-05-10  Jim Meyering  <meyering@ascend.com>
89481
89482         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89483
89484         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89485         AC_FUNC_MKTIME.
89486
89487 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89488
89489         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89490
89491 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89492
89493         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89494         not CPPFLAGS, so that linking works correctly in IRIX.
89495
89496 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89497
89498         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89499
89500 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89501
89502         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89503         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89504         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89505         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89506         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89507
89508         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89509
89510 1999-04-20  Jim Meyering  <meyering@ascend.com>
89511
89512         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89513         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89514         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89515
89516 1999-04-18  Jim Meyering  <meyering@ascend.com>
89517
89518         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89519         * m4/jm-macros.m4: Use it.
89520
89521 1999-04-06  Jim Meyering  <meyering@ascend.com>
89522
89523         * m4/strftime.m4: Remove test for %f.
89524
89525 1999-03-29  Jim Meyering  <meyering@ascend.com>
89526
89527         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89528         superset of the AC_TYPE_* checks in the textutils, fileutils,
89529         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89530         AC_TYPE_PID_T.
89531
89532 1999-03-28  Jim Meyering  <meyering@ascend.com>
89533
89534         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89535         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89536         replaced e.g., in the *.sh files of the sh-utils.
89537
89538 1999-03-20  Jim Meyering  <meyering@ascend.com>
89539
89540         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89541         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89542         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89543
89544 1999-03-19  Jim Meyering  <meyering@ascend.com>
89545
89546         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89547
89548 1999-03-12  Jim Meyering  <meyering@ascend.com>
89549
89550         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89551
89552 1999-03-07  Jim Meyering  <meyering@ascend.com>
89553
89554         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89555         declared.
89556
89557 1999-02-17  Jim Meyering  <meyering@ascend.com>
89558
89559         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89560         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89561
89562 1999-02-07  Jim Meyering  <meyering@ascend.com>
89563
89564         * m4/group-member.m4: New file -- extracted from sh-utils'
89565         configure.in.
89566
89567         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89568         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89569
89570 1999-02-06  Jim Meyering  <meyering@ascend.com>
89571
89572         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89573         * m4/fnmatch.m4: Likewise.
89574         * m4/getgroups.m4: Likewise.
89575         * m4/lstat.m4: Likewise.
89576         * m4/malloc.m4: Likewise.
89577         * m4/putenv.m4: Likewise.
89578         * m4/realloc.m4: Likewise.
89579         * m4/regex.m4: Likewise.
89580         * m4/stat.m4: Likewise.
89581         * m4/strftime.m4: Likewise.
89582         Suggestion from Alain Magloire.
89583
89584         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89585         * m4/fnmatch.m4: Likewise.
89586         * m4/getgroups.m4: Likewise.
89587         * m4/getline.m4: Likewise.
89588         * m4/lstat.m4: Likewise.
89589         * m4/malloc.m4: Likewise.
89590         * m4/memcmp.m4: Likewise.
89591         * m4/putenv.m4: Likewise.
89592         * m4/realloc.m4: Likewise.
89593         * m4/regex.m4: Likewise.
89594         * m4/stat.m4: Likewise.
89595         * m4/strftime.m4: Likewise.
89596         Suggestion from Alain Magloire.
89597
89598         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89599         an argument.
89600
89601         * m4/regex.m4: Add a run-time Test for proper operation of
89602         re_compile_pattern.
89603
89604 1999-01-31  Jim Meyering  <meyering@ascend.com>
89605
89606         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89607
89608 1999-01-30  Jim Meyering  <meyering@ascend.com>
89609
89610         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89611
89612         * m4/jm-mktime.m4: Make this a wrapper around the official
89613         AM_FUNC_MKTIME rather than my private copy, now that the official one
89614         is up to date.
89615         * m4/mktime.m4: Remove file.
89616
89617         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89618         * m4/uptime.m4: Likewise.
89619         * m4/uintmax_t.m4: Likewise.
89620
89621 1999-01-28  Jim Meyering  <meyering@ascend.com>
89622
89623         * m4/jm-macros.m4: Use jm_AFS.
89624         * m4/afs.m4: New file (from fileutils' configure.in).
89625
89626         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89627         * m4/chown.m4: Likewise.
89628         * m4/d-ino.m4: Likewise.
89629         * m4/d-type.m4: Likewise.
89630         * m4/fnmatch.m4: Likewise.
89631         * m4/getgroups.m4: Likewise.
89632         * m4/gettext.m4: Likewise.
89633         * m4/jm-mktime.m4: Likewise.
89634         * m4/jm-winsz2.m4: Likewise.
89635         * m4/lcmessage.m4: Likewise.
89636         * m4/ls-mntd-fs.m4: Likewise.
89637         * m4/malloc.m4: Likewise.
89638         * m4/memcmp.m4: Likewise.
89639         * m4/putenv.m4: Likewise.
89640         * m4/realloc.m4: Likewise.
89641         * m4/st_mtim.m4: Likewise.
89642         * m4/strftime.m4: Likewise.
89643
89644 1999-01-16  Jim Meyering  <meyering@ascend.com>
89645
89646         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89647         (ARGMATCH_DIE_DECL): Define.
89648
89649 1999-01-12  Jim Meyering  <meyering@ascend.com>
89650
89651         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89652         Reported by Lars Hecking.
89653
89654 1999-01-10  Jim Meyering  <meyering@ascend.com>
89655
89656         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89657         gross kludge.
89658         * m4/inttypes_h.m4: Likewise.
89659         * m4/lstat.m4: Likewise.
89660         * m4/malloc.m4: Likewise.
89661         * m4/readdir.m4: Likewise.
89662         * m4/realloc.m4: Likewise.
89663         * m4/st_dm_mode.m4: Likewise.
89664         * m4/stat.m4: Likewise.
89665         * m4/utimbuf.m4: Likewise.
89666         * m4/utimes.m4: Likewise.
89667
89668         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89669         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89670         comments in config.h.in are meaningful.
89671
89672         * m4/jm-macros.m4: Require autoconf-2.13 here.
89673
89674         * m4/regex.m4: By default, don't use the included regex.c on systems
89675         with glibc 2.  Suggestion from Uli Drepper.
89676
89677 1999-01-02  Jim Meyering  <meyering@ascend.com>
89678
89679         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89680
89681 1998-12-18  Jim Meyering  <meyering@ascend.com>
89682
89683         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89684         Based on a suggestion from Lars Hecking.
89685
89686 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89687
89688         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89689
89690 1998-11-16  Jim Meyering  <meyering@ascend.com>
89691
89692         * m4/lfs.m4: Double-quote the `uname...` expression.
89693
89694 1998-11-14  Jim Meyering  <meyering@ascend.com>
89695
89696         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89697         * m4/stat.m4: Likewise.
89698
89699 1998-11-03  Jim Meyering  <meyering@ascend.com>
89700
89701         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89702         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89703
89704 1998-10-18  Jim Meyering  <meyering@ascend.com>
89705
89706         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89707
89708 1998-10-17  Jim Meyering  <meyering@ascend.com>
89709
89710         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89711         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89712         calls for those previously hard-coded headers.  Instead, take a new
89713         parameter.
89714         (jm_CHECK_DECLARATIONS): Reflect interface change.
89715         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89716         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89717
89718         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89719
89720 1998-10-14  Jim Meyering  <meyering@ascend.com>
89721
89722         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89723         instead of "TZ=America/Vancouver".  From Paul Eggert.
89724
89725 1998-10-11  Jim Meyering  <meyering@ascend.com>
89726
89727         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89728         This adds a test for a recently added compatibility fix for mktime.c.
89729         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89730
89731 1998-09-27  Jim Meyering  <meyering@ascend.com>
89732
89733         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89734
89735         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89736         ../configure.in, including a change from Gordon Matzigkeit to allow
89737         cross-compiling for the Hurd.
89738
89739         * m4/glibc.m4: New file/macro to test for the GNU C Library
89740         versions 1 and 2.  From Gordon Matzigkeit.
89741         Indent.
89742
89743 1998-09-21  Jim Meyering  <meyering@ascend.com>
89744
89745         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89746
89747 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89748
89749         Port nanosecond-resolution times to UnixWare 2.1.2 and
89750         pedantic Solaris 2.6.
89751
89752         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89753         AC_STRUCT_ST_MTIM.
89754         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89755         Generate name of ns member, instead of just 1 or undef.
89756         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89757
89758 1998-08-15  Jim Meyering  <meyering@ascend.com>
89759
89760         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89761         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89762         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89763         instead of jm_TYPE_SSIZE_T.
89764
89765 1998-08-12  Jim Meyering  <meyering@ascend.com>
89766
89767         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89768
89769 1998-08-02  Jim Meyering  <meyering@ascend.com>
89770
89771         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89772         in acconfig.h manually.
89773
89774 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89775
89776         * m4/st_mtim.m4: New file.
89777
89778 1998-07-28  Jim Meyering  <meyering@ascend.com>
89779
89780         * m4/utimes.m4: Undef stat.
89781
89782 1998-07-25  Jim Meyering  <meyering@ascend.com>
89783
89784         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89785         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89786
89787 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89788
89789         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89790         uid and gid actually remain unchanged.
89791
89792 1998-07-07  Jim Meyering  <meyering@ascend.com>
89793
89794         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89795
89796 1998-07-04  Jim Meyering  <meyering@ascend.com>
89797
89798         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89799         to prove that this macro can be used in packages without regex.c.
89800
89801 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89802
89803         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89804         is to be used.
89805
89806 1998-07-03  Jim Meyering  <meyering@ascend.com>
89807
89808         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89809
89810         * m4/gettext.m4: New file -- from gettext-0.10.35.
89811         * m4/lcmessage.m4: Likewise.
89812         * m4/progtest.m4: Likewise.
89813
89814         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89815         * m4/jm-macros.m4: Require the new macro.
89816
89817 1998-06-29  Jim Meyering  <meyering@ascend.com>
89818
89819         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89820         for the definition of NGROUPS (used in a system header included
89821         by sys/mount.h).
89822
89823 1998-06-28  Jim Meyering  <meyering@ascend.com>
89824
89825         * m4/ls-mntd-fs.m4: New file.
89826         * m4/fstypename.m4: New file.
89827
89828         * m4/jm-macros.m4: Require the new macro.
89829         * m4/jm-glibc-io.m4: New file.
89830
89831 1998-05-19  Jim Meyering  <meyering@ascend.com>
89832
89833         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89834         * m4/lchown.m4: New file.
89835
89836         * m4/Makefile.am.in: New file.
89837         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89838
89839 1998-05-14  Jim Meyering  <meyering@ascend.com>
89840
89841         * m4/Makefile.am (EXTRA_DIST): Add them.
89842         * m4/jm-macros.m4: New file.
89843         * m4/utimbuf.m4: New file.
89844
89845 1998-05-12  Jim Meyering  <meyering@ascend.com>
89846
89847         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89848
89849 1998-05-11  Jim Meyering  <meyering@ascend.com>
89850
89851         * m4/isc-posix.m4: New file.
89852
89853 1998-05-10  Jim Meyering  <meyering@ascend.com>
89854
89855         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89856
89857 1998-05-09  Jim Meyering  <meyering@ascend.com>
89858
89859         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89860         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89861         with automake.
89862
89863         * m4/ssize_t.m4: New file.
89864         * m4/mktime.m4: Remove file -- the new automake has this now.
89865
89866 1998-04-26  Jim Meyering  <meyering@ascend.com>
89867
89868         * m4/assert.m4: New file.
89869         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89870
89871 1998-04-05  Jim Meyering  <meyering@ascend.com>
89872
89873         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89874         (jm_PREREQ): Use it here.
89875
89876 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89877
89878         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89879         in acconfig.h.
89880
89881 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89882
89883         * m4/prereq.m4: New file.
89884         * m4/error.m4: New file.
89885         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89886
89887 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89888
89889         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89890         cache-check for the same variable -- that defeated the purpose of
89891         the test; the test program was never run.  This was a problem only
89892         on systems with losing getline functions -- HP-UX 10.20 is one.
89893         Reported by Bjorn Helgaas.
89894
89895 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89896
89897         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89898
89899 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89900
89901         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89902
89903         * m4/const.m4: New file.  Use an initializer in this declaration
89904         typedef int charset[2]; const charset x;
89905         Reported by Bob Glickstein.
89906
89907 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89908
89909         * m4/chown.m4: Fix reversed types on -1 args to chown.
89910         From Kaveh Ghazi.
89911
89912 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89913
89914         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89915         Add lseek and memchr.
89916
89917         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89918         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89919         have a 20-character limit on names.
89920
89921 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89922
89923         * m4/inttypes_h.m4: New file.
89924         * m4/uintmax_t.m4: New file.
89925         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89926
89927
89928         -----
89929
89930         Local Variables:
89931         coding: utf-8
89932         End:
89933
89934         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89935
89936         Copying and distribution of this file, with or without
89937         modification, are permitted provided the copyright notice
89938         and this notice are preserved.