0c4eff930d6a19657f5e563d316a8adab57de232
[gnulib.git] / ChangeLog
1 2011-11-10  Bruno Haible  <bruno@clisp.org>
2
3         ptsname_r test: Avoid gcc warning on glibc systems.
4         * tests/test-ptsname_r.c (null_ptr): New function.
5         (test_errors): Use it.
6
7 2011-11-10  Bruno Haible  <bruno@clisp.org>
8
9         ptsname_r: Avoid compilation error on OSF/1 5.1.
10         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
11         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
12         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
13         function is not declared or incompatibly declared.
14         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
15         * modules/ptsname_r (Depends-on, configure.ac): Update.
16         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
17
18 2011-11-10  Bruno Haible  <bruno@clisp.org>
19
20         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
21         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
22         When cross-compiling, guess yes on all platforms except AIX.
23         Reported by Ludovic Courtès <ludo@gnu.org>.
24
25 2011-11-09  Bruno Haible  <bruno@clisp.org>
26
27         ptsname_r tests: Fix bugs.
28         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
29         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
30
31 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
32
33         fstatat: work with cross-compilation
34         Problem reported by Ludovic Courtès in
35         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
36         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
37         "cross-compiling" and assume the bug is present.  Replace
38         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
39         an inverted sense, to be more conservative about our assumptions.
40         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
41
42 2011-11-09  Bruno Haible  <bruno@clisp.org>
43
44         Improve MODULES.html output.
45         * modules/mkfifoat (Description): Use the word "function".
46         * modules/readlinkat (Description): Likewise.
47         * modules/symlinkat (Description): Likewise.
48
49 2011-11-09  Eric Blake  <eblake@redhat.com>
50
51         ptsname_r-tests: new test module
52         * modules/ptsname_r-tests: New module.
53         * tests/test-ptsname_r.c: New file.
54
55         ptsname_r: new module
56         * modules/ptsname_r: New module.
57         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
58         * lib/ptsname.c (__ptsname_r): Split...
59         * lib/ptsname_r.c: ...into new file.
60         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
61         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
62         * modules/stdlib (Makefile.am): Substitute witnesses.
63         * lib/stdlib.in.h (ptsname_r): Declare it.
64         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
65         * MODULES.html.sh (Misc): Likewise.
66         * modules/ptsname (Depends-on): Alter dependency.
67         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
68
69 2011-11-09  Jim Meyering  <meyering@redhat.com>
70
71         announce-gen: be more concise when there's only one URL+tarball
72         * build-aux/announce-gen (get_tool_versions): When you distribute
73         only one type of tarball, combine the first two "Here are..."
74         sections and make the key-checking grammar independent of
75         how many tarballs there are.
76
77 2011-11-09  Eric Blake  <eblake@redhat.com>
78
79         openpty: provide a stub on mingw
80         * lib/pty.in.h (includes): Provide forward declarations.
81         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
82
83         raise: fix mingw handling of SIGPIPE
84         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
85
86 2011-11-08  Bruno Haible  <bruno@clisp.org>
87
88         More conditional dependencies.
89         * modules/faccessat (Depends-on): Add conditions.
90         * modules/fchmodat (Depends-on): Likewise.
91         * modules/fchownat (Depends-on): Likewise.
92         * modules/fstatat (Depends-on): Likewise.
93         * modules/mkfifoat (Depends-on): Likewise.
94         * modules/readlinkat (Depends-on): Likewise.
95         * modules/symlinkat (Depends-on): Likewise.
96         * modules/unlinkat (Depends-on): Likewise.
97         * modules/utimensat (Depends-on): Likewise.
98         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
99         * modules/linkat (Depends-on): Refine the conditions.
100         * modules/renameat (Depends-on): Likewise.
101
102 2011-11-08  Bruno Haible  <bruno@clisp.org>
103
104         faccessat: Move AC_LIBOBJ invocation to module description.
105         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
106         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
107         invocation from here...
108         * modules/faccessat (configure.ac): ... to here. Invoke
109         gl_PREREQ_FACCESSAT.
110
111 2011-11-08  Bruno Haible  <bruno@clisp.org>
112
113         faccessat: Simplify autoconf macro.
114         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
115         gl_FUNC_EUIDACCESS.
116
117 2011-11-08  Bruno Haible  <bruno@clisp.org>
118
119         renameat: Fix dependencies.
120         * modules/renameat (Depends-on): Add stdbool.
121
122 2011-11-08  Bruno Haible  <bruno@clisp.org>
123
124         mkfifoat: Fix module description.
125         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
126         not gl_UNISTD_MODULE_INDICATOR.
127
128 2011-11-08  Bruno Haible  <bruno@clisp.org>
129
130         fstatat: Remove unused dependency.
131         * modules/fstatat (Depends-on): Remove fstat.
132
133 2011-11-08  Simon Josefsson  <simon@josefsson.org>
134
135         GNUmakefile: behave when Makefile is missing.
136         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
137
138 2011-11-08  Bruno Haible  <bruno@clisp.org>
139
140         openat: Conditionalize dependencies.
141         * lib/openat.c: Reduce the scope of some #includes.
142         * modules/openat (Depends-on): Add conditions.
143
144 2011-11-07  Jim Meyering  <meyering@redhat.com>
145
146         maint.mk: extract GPG key ID without using a temporary file
147         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
148         without using a temporary file.  Based on a suggestion from Werner Koch
149         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
150
151 2011-11-07  Eric Blake  <eblake@redhat.com>
152
153         grantpt: fix typo
154         * lib/stdlib.in.h (grantpt): Check correct function.
155
156         maint.mk: silence new syntax check
157         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
158
159 2011-11-06  Bruno Haible  <bruno@clisp.org>
160
161         Doc about floating-point and math API.
162         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
163         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
164
165 2011-11-06  Bruno Haible  <bruno@clisp.org>
166
167         stdalign tests: Skip the test when compiled by Sun C.
168         * tests/test-stdalign.c (main): Skip the test on Sun C.
169
170 2011-11-06  Bruno Haible  <bruno@clisp.org>
171
172         ansi-c++-opt: Complete the 2011-06-05 change.
173         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
174         does not support namespaces, set the variable to "no", not to ":".
175
176 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
177
178         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
179
180 2011-11-06  Bruno Haible  <bruno@clisp.org>
181
182         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
183         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
184         (minus_zerol) [HP-UX]: New macro.
185         (unary_minus) [HP-UX]: New function.
186         (copysignl) [HP-UX]: Use unary_minus function.
187
188 2011-11-06  Bruno Haible  <bruno@clisp.org>
189
190         ldexp, ldexpf, ldexpl: Enhance tests.
191         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
192         and tests/test-ldexpl.c.
193         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
194         LDEXP, MIN_EXP, MAX_EXP): New macros.
195         Include test-ldexp.h.
196         (main): Just call test_function.
197         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
198         infinity.h, nan.h.
199         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
200         MAX_EXP): New macros.
201         Include test-ldexp.h.
202         (x, y): Remove variables.
203         (main): Just call test_function.
204         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
205         infinity.h, nan.h.
206         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
207         MAX_EXP): New macros.
208         Include test-ldexp.h.
209         (x, y): Remove variables.
210         (main): Just call test_function.
211         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
212         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
213         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
214         (Depends-on): Add isnand-nolibm, signbit, float.
215         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
216         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
217         (Depends-on): Add isnanf-nolibm, signbit, float.
218
219 2011-11-06  Bruno Haible  <bruno@clisp.org>
220
221         math tests: Cosmetics.
222         * tests/test-math-c++.cc: Reorder declarations.
223
224 2011-11-05  Bruno Haible  <bruno@clisp.org>
225
226         fma*: Simplify test.
227         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
228         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
229
230         Tests for module 'fmal'.
231         * modules/fmal-tests: New file.
232         * tests/test-fmal1.c: New file.
233         * tests/test-fmal2.c: New file.
234
235         New module 'fmal'.
236         * lib/math.in.h (fmal): New declaration.
237         * lib/fmal.c: New file.
238         * m4/fmal.m4: New file.
239         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
240         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
241         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
242         REPLACE_FMAL.
243         * modules/fmal: New file.
244         * doc/posix-functions/fmal.texi: Mention the new module and the various
245         bugs.
246
247         Tests for module 'fmaf'.
248         * modules/fmaf-tests: New file.
249         * tests/test-fmaf1.c: New file.
250         * tests/test-fmaf2.c: New file.
251
252         New module 'fmaf'.
253         * lib/math.in.h (fmaf): New declaration.
254         * lib/fmaf.c: New file.
255         * m4/fmaf.m4: New file.
256         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
257         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
258         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
259         REPLACE_FMAF.
260         * modules/fmaf: New file.
261         * doc/posix-functions/fmaf.texi: Mention the new module and the various
262         bugs.
263
264         Tests for module 'fma'.
265         * modules/fma-tests: New file.
266         * tests/test-fma1.c: New file.
267         * tests/test-fma1.h: New file.
268         * tests/test-fma2.c: New file.
269         * tests/test-fma2.h: New file.
270
271         New module 'fma'.
272         * lib/math.in.h (fma): New declaration.
273         * lib/fma.c: New file.
274         * m4/fma.m4: New file.
275         * m4/fegetround.m4: New file.
276         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
278         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
279         REPLACE_FMA.
280         * modules/fma: New file.
281         * doc/posix-functions/fma.texi: Mention the new module and the various
282         bugs.
283
284         Extend gl_MATHFUNC.
285         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
286         Support 'void' as argument type.
287         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
288
289 2011-11-05  Jim Meyering  <meyering@redhat.com>
290
291         maint.mk: also prohibit inclusion of dirent.h without use
292         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
293
294 2011-11-05  Bruno Haible  <bruno@clisp.org>
295
296         ldexpl tests: Avoid test failure on MSVC 9.
297         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
298         value. Needed in order to enforce the conversion from a value greater
299         than LDBL_MAX to Infinity.
300
301 2011-11-05  Bruno Haible  <bruno@clisp.org>
302
303         New modules 'at-internal', 'openat-h', split off from module 'openat'.
304         * modules/at-internal: New file, extracted from modules/openat.
305         * modules/openat-h: New file.
306         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
307         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
308         * modules/openat (Description): Add reference to POSIX function.
309         (Files): Remove lib/openat.h, lib/openat-proc.c.
310         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
311         intprops, unistd.
312         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
313         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
314         gl_FCNTL_MODULE_INDICATOR.
315         (Include): Remove unistd.h, openat.h.
316         * modules/areadlinkat (Files): Add lib/at-func.c.
317         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
318         openat-die, openat-h, save-cwd.
319         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
320         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
321         openat-die, openat-h, save-cwd, unistd.
322         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
323         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
324         openat-h, save-cwd. Remove fcntl-h, openat.
325         * modules/fchmodat (Files): Remove lib/openat.h.
326         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
327         openat, stdbool, unistd.
328         * modules/fchownat (Files): Remove lib/openat.h.
329         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
330         openat, stdbool, sys_stat.
331         * modules/fdopendir (Files): Remove lib/openat-priv.h,
332         lib/openat-proc.c.
333         (Depends-on): Add at-internal.
334         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
335         * modules/fstatat (Files): Remove lib/openat.h.
336         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
337         stdbool, unistd.
338         * modules/fts (Depends-on): Add openat-h.
339         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
340         openat.
341         * modules/mkdirat (Files): Remove lib/openat.h.
342         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
343         openat, stdbool, sys_stat.
344         * modules/mkfifoat (Files): Add lib/at-func.c.
345         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
346         openat-h, save-cwd. Remove fcntl-h, openat.
347         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
348         * modules/readlinkat (Files): Add lib/at-func.c.
349         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
350         openat-h, save-cwd. Remove fcntl-h, openat.
351         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
352         openat.
353         * modules/selinux-at (Files): Add lib/at-func.c.
354         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
355         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
356         * modules/symlinkat (Files): Add lib/at-func.c.
357         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
358         openat-h, save-cwd. Remove fcntl-h, openat.
359         * modules/unlinkat (Files): Remove lib/openat.h.
360         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
361         stdbool.
362         * modules/utimensat (Files): Add lib/at-func.c.
363         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
364         openat-die, openat-h, save-cwd.
365         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
366         * modules/fdutimensat-tests (Depends-on): Add openat.
367         * modules/fstatat-tests (Depends-on): Add openat-h.
368         * modules/readlinkat-tests (Depends-on): Add openat.
369         * modules/symlinkat-tests (Depends-on): Add openat.
370
371 2011-11-05  Bruno Haible  <bruno@clisp.org>
372
373         openat: Include <stdbool.h>.
374         * lib/openat.c: Include <stdbool.h>.
375
376 2011-11-04  Bruno Haible  <bruno@clisp.org>
377
378         fchownat, renameat, unlinkat: Fix dependencies.
379         * modules/fchownat (Depends-on): Add fstatat.
380         * modules/renameat (Depends-on): Likewise.
381         * modules/unlinkat (Depends-on): Likewise.
382
383 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
384
385         openat: remove direct dependency on dirent
386         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
387         and hasn't been needed ever since fdopendir was split into its own
388         module on 2009-08-31.
389         * modules/openat (Depends-on): Remove dirent.
390
391 2011-11-04  Bruno Haible  <bruno@clisp.org>
392
393         renameat: Optimize code size.
394         * modules/renameat (configure.ac): Don't compile at-func2.c if
395         REPLACE_RENAMEAT is 1.
396
397 2011-11-04  Bruno Haible  <bruno@clisp.org>
398
399         openat tests: Fix file list.
400         * modules/openat-tests (Files): Add tests/test-open.h.
401
402 2011-11-04  Bruno Haible  <bruno@clisp.org>
403
404         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
405         * modules/fchmodat (Depends-on): Add openat-die.
406         * modules/fchownat (Depends-on): Likewise.
407         * modules/linkat (Depends-on): Likewise.
408         * modules/renameat (Depends-on): Likewise.
409         * modules/openat (Depends-on): Add dirent.
410
411 2011-11-04  Jim Meyering  <meyering@redhat.com>
412
413         at-func*.c: fix comments
414         * lib/at-func2.c: Correct/improve first-line comment.
415         * lib/at-func.c: Correct grammar in first-line comment.
416
417 2011-11-04  Bruno Haible  <bruno@clisp.org>
418
419         New module 'mkdirat', split off from module 'openat'.
420         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
421         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
422         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
423         * modules/mkdirat: New file, extracted from modules/openat.
424         * modules/openat (Files): Remove lib/mkdirat.c.
425         (Depends-on): Remove mkdir.
426         (configure.ac): Remove AC_LIBOBJ of mkdirat.
427         (Include): Remove <sys/stat.h>.
428         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
429         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
430         tests/test-mkdir.h.
431         (Depends-on): Remove ignore-value.
432         (Makefile.am): Remove rules for test-mkdirat.
433         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
434         of module 'openat'.
435         * NEWS: Mention the change.
436
437 2011-11-04  Bruno Haible  <bruno@clisp.org>
438
439         closedir: Avoid warning on mingw.
440         * lib/closedir.c: Include <unistd.h>.
441
442 2011-11-04  Bruno Haible  <bruno@clisp.org>
443
444         New module 'fstatat', split off from module 'openat'.
445         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
446         defined.
447         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
448         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
449         gl_FUNC_FSTATAT.
450         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
451         * modules/fstatat: New file, extracted from modules/openat.
452         * modules/openat (Files): Remove lib/fstatat.c.
453         (Depends-on): Remove lstat.
454         (configure.ac): Remove AC_LIBOBJ of fstatat.
455         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
456         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
457         tests/test-lstat.h, tests/test-stat.h.
458         (Depends-on): Remove getcwd-lgpl.
459         (Makefile.am): Remove rules for test-fstatat.
460         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
461         of module 'openat'.
462         * NEWS: Mention the change.
463         * modules/getcwd (Depends-on): Add fstatat.
464         * modules/linkat (Depends-on): Likewise.
465         * modules/mkfifoat-tests (Depends-on): Likewise.
466         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
467
468 2011-11-03  Bruno Haible  <bruno@clisp.org>
469
470         New module 'unlinkat', split off from module 'openat'.
471         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
472         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
473         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
474         * modules/unlinkat: New file, extracted from modules/openat. Correct
475         the dependency conditions.
476         * modules/openat (Files): Remove lib/unlinkat.c.
477         (Depends-on): Remove rmdir, unlink.
478         (configure.ac): Remove AC_LIBOBJ of unlinkat.
479         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
480         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
481         tests/test-rmdir.h, tests/test-unlink.h.
482         (Depends-on): Remove unlinkdir.
483         (Makefile.am): Remove rules for test-unlinkat.
484         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
485         of module 'openat'.
486         * NEWS: Mention the change.
487         * modules/linkat-tests (Depends-on): Add unlinkat.
488         * modules/mkfifoat-tests (Depends-on): Likewise.
489         * modules/readlinkat-tests (Depends-on): Likewise.
490
491 2011-11-02  Bruno Haible  <bruno@clisp.org>
492
493         New module 'fchmodat', split off from module 'openat'.
494         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
495         defined.
496         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
497         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
498         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
499         * modules/fchmodat: New file, extracted from modules/openat.
500         * modules/openat (Files): Remove lib/fchmodat.c.
501         (configure.ac): Remove AC_LIBOBJ of fchmodat.
502         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
503         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
504         (Makefile.am): Remove rules for test-fchmodat.
505         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
506         of module 'openat'.
507         * NEWS: Mention the change.
508
509 2011-11-02  Jim Meyering  <meyering@redhat.com>
510
511         putenv: indent #definition of "environ" to placate cppi
512         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
513
514         gitlog-to-changelog: provide a ChangeLog-repair mechanism
515         Git logs are often treated as immutable, because editing them
516         changes the SHA1 checksums of all descendants.  Thus, errors in
517         git logs tend to stay there forever.  However, when we generate
518         a ChangeLog file -- typically for distribution -- from that git log,
519         we can actually make corrections in the generated file.  The key
520         lies in recording in machine-readable/applicable form the desired
521         corrections.  See --help for description and an example.
522         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
523         (usage): Describe it; alphabetize option descriptions.
524         (main): Honor the new option, carefully.
525
526 2011-11-01  Jim Meyering  <meyering@redhat.com>
527
528         gitlog-to-changelog: avoid an infloop
529         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
530         that ends up being empty.
531
532 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
533
534         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
535         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
536         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
537         contains (possibly-quoted) backslashes.  This should avoid
538         all-too-common shell bugs if COMPLICATED contains backslashes in
539         the "wrong" places.  Reported by David Evans in
540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
541         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
542         because we want ASCII ranges.  Is there some reason we don't use
543         the C locale everywhere in this script?
544         (func_module, top level): Avoid unwanted pathname expansion when
545         $repo_url_prefix or $repo_url_suffix_repl contain shell
546         metacharacters like '?' and '*'.
547
548 2011-11-01  Bruno Haible  <bruno@clisp.org>
549
550         fchownat: Improve description.
551         * modules/fchownat (Description): Add link to function.
552
553 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
554
555         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
556         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
558         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
559
560 2011-11-01  Bruno Haible  <bruno@clisp.org>
561
562         alignof: Avoid collision with stdalign module.
563         * lib/alignof.h (alignof): Remove macro.
564         * NEWS: Mention the change.
565         Reported by Paul Eggert.
566
567 2011-11-01  Bruno Haible  <bruno@clisp.org>
568
569         New module 'fchownat', split off from module 'openat'.
570         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
571         defined.
572         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
573         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
574         invoke gl_FUNC_FCHOWNAT.
575         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
576         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
577         * modules/fchownat: New file, extracted from modules/openat.
578         * modules/openat (Files): Remove lib/fchownat.c.
579         (Depends-on): Remove lchown.
580         (configure.ac): Remove AC_LIBOBJ of fchownat.
581         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
582         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
583         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
584         (Depends-on): Remove mgetgroups, usleep, stat-time.
585         (configure.ac): Remove test for getegid.
586         (Makefile.am): Remove rules for test-fchownat.
587         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
588         of module 'openat'.
589         * NEWS: Mention the change.
590
591 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
592
593         stdalign: port better to MSVC and to Sun C 5.11
594         This fixes some of the problems reported by Bruno Haible in
595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
596         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
597         shortcomings of MSVC and of Sun C 5.11.
598         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
599         around __declspec arg.
600         * modules/stdalign-tests (Files): Add tests/macros.h.
601         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
602         Include macros.h, for ASSERT.
603         (DECLARE_ALIGNED): Remove.
604         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
605         to catch bug), and to 1 if not (simplifies the rest of the code).
606         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
607         (CHECK_AUTO): Remove.
608         (CHECK_ALIGNED): Check only the alignment of the static vars,
609         since auto var alignment isn't supported by Sun C 5.11.
610         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
611         ASSERT failures are easier to diagnose.
612
613 2011-10-31  Bruno Haible  <bruno@clisp.org>
614
615         doc about some IRIX 5.3 problems.
616         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
617         on IRIX 5.3.
618         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
619         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
620         5.3.
621         * doc/posix-functions/grantpt.texi: Likewise.
622         * doc/posix-functions/unlockpt.texi: Likewise.
623         * doc/posix-functions/lgamma.texi: Likewise.
624         * doc/posix-functions/nextafter.texi: Likewise.
625         * doc/posix-functions/remainder.texi: Likewise.
626         * doc/posix-functions/select.texi: Mention misplaced declaration on
627         IRIX 5.3.
628         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
629
630 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
631
632         gitlog-to-changelog: fix git-log invocation.
633         git-log mishandles date strings before 1970-01-01 UTC, and there is
634         no use to specify --since=1970-01-01 by default anyway.
635         * build-aux/gitlog-to-changelog: By default, when no --since option
636         was given, do not specify explicit --since option to git-log.
637
638 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
639
640         gitlog-to-changelog: new option --append-dot.
641         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
642         first non-blank line of each commit message terminated with a dot.
643
644 2011-10-30  Bruno Haible  <bruno@clisp.org>
645
646         ffsl, ffsll: Avoid compilation error due to 'restrict'.
647         * lib/ffsl.h: Include <config.h>.
648         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
649
650 2011-10-30  Jim Meyering  <meyering@redhat.com>
651
652         GNUmakefile: reenable "make syntax-check" for most projects
653         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
654         build-aux variable", "syntax-check" would do nothing but succeed with
655         the "No version control files detected..." diagnostic (unless you
656         happened to override _build-aux via cfg.mk).
657         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
658         to precede inclusion of maint.mk.  Otherwise, these variables would
659         be used undefined in any project that does not override the default.
660
661 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
662
663         gitlog-to-changelog: treat a message with only blank lines as empty.
664         * build-aux/gitlog-to-changelog: Move the code that removes leading and
665         trailing blank lines before the code that issues a warning about an
666         empty commit message.
667
668 2011-10-30  Jim Meyering  <meyering@redhat.com>
669
670         test-parse-datetime.c: avoid new DST-related false positive test failure
671         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
672         based on the time/date we'll convert, not the current time.
673         Otherwise, the moment we cross a DST boundary like today's in
674         Europe, (CEST to CET), that offset ends up being one hour off.
675
676 2011-10-27  Bruno Haible  <bruno@clisp.org>
677
678         fstat: Tweak documentation.
679         * modules/fstat (Description): More precise description.
680
681 2011-10-27  Bruno Haible  <bruno@clisp.org>
682
683         Update documentation regarding 'largefile' module.
684         * doc/posix-functions/fstat.texi: Tweak wording.
685         * doc/posix-functions/opendir.texi: Mention that the module fixes the
686         problems with huge directories and/or small ino_t types.
687         * doc/posix-functions/readdir.texi: Likewise.
688         * doc/posix-functions/rewinddir.texi: Likewise.
689
690 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
691
692         maint.mk: don't maintain a second build-aux variable.
693         * maint.mk (build_aux): Removed.  The maintainer-makefile module
694         depends on GNUmakefile, which already maintains a cfg.mk
695         overridable $(_build-aux) for projects with a non-standard
696         build-aux directory location, although without the $(srcdir)
697         prefix.  Use that variable consistently instead of introducing a
698         second one.  Adjust all call sites.
699
700 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
701
702         Add stdalign module and use it in other modules.
703         This is based on a previous proposal by Bruno Haible
704         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
705
706         stdalign: new module
707         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
708         * modules/stdalign: New files.
709         * MODULES.html.sh (c1x_core_properties): Add stdalign.
710         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
711
712         stdalign-tests: new module
713         * modules/stdalign-tests, tests/test-stdalign.c: New files.
714
715         argp: use stdalign
716         * lib/argp-parse.c: Include <stdalign.h>.
717         (alignof): Remove.
718         * modules/argp (Depends-on): Add stdalign.
719
720         crypto libraries: use stdalign
721         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
722         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
723         Do not include <stdlib.h> twice, in md4.c.
724         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
725         because we are accessing a pointer's bit-pattern, not a size.
726         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
727         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
728         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
729         * modules/crypto/sha512: Likewise.
730
731         sys_socket: use stdalign, not alignof
732         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
733         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
734
735 2011-10-27  Bruno Haible  <bruno@clisp.org>
736
737         raise test: Avoid a test failure on Linux/MIPS.
738         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
739         because 99 is a valid signal on Linux/MIPS.
740
741 2011-10-27  Bruno Haible  <bruno@clisp.org>
742
743         nonblocking tests: Fix test failure on Linux/MIPS.
744         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
745         Set to 270000.
746
747 2011-10-27  Bruno Haible  <bruno@clisp.org>
748
749         utimensat: Work around problem on Linux/hppa.
750         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
751         values.
752         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
753
754 2011-10-25  Jim Meyering  <meyering@redhat.com>
755
756         maint.mk: fix a bug in sc_prohibit_stddef_without_use
757         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
758         after symbols like NULL, size_t, etc.
759         Reported by Alfred M. Szmidt.
760
761         maint.mk: exempt ENODATA from a syntax-check rule
762         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
763         from the sc_prohibit_always-defined_macros syntax-check rule.
764         Add a comment.  See this for more details:
765         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
766
767 2011-10-23  Jim Meyering  <meyering@redhat.com>
768
769         fts: close parent dir FD before returning from post-traversal fts_read
770         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
771         unlink A, even though an FD open on A remained.  This is suboptimal
772         (holding a file descriptor open longer than needed), but otherwise not
773         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
774         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
775         that represents a real problem: it causes the removal of A to fail
776         with e.g., "rm: cannot remove `A': Device or resource busy"
777
778         fts visits each directory twice and keeps a cache (fts_fd_ring) of
779         directory file descriptors.  After completing the final, FTS_DP,
780         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
781         cache, but then proceeded to add a new FD to it via the subsequent
782         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
783         final file descriptor would be closed only via fts_close's call to
784         fd_ring_clear.  Now, it is usually closed earlier, via the final
785         FTS_DP-returning fts_read call.
786         * lib/fts.c (restore_initial_cwd): New function, converted from
787         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
788         Update callers.
789         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
790         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
791
792 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
793             Bruno Haible  <bruno@clisp.org>
794             Jim Meyering  <jim@meyering.net>
795
796         readme-release: improve safety of release prep instructions.
797         * README-release: Don't git pull all branches when only master
798         is needed for the release process.
799         Run make maintainer-clean before changing trees and merging.
800         Don't try to run ./configure right after git pull in case files
801         that influence the bootstrap process have changed, move the
802         ./configure step to after running ./bootstrap.
803         Don't bootstrap "one last time"... it's the first time!
804
805 2011-10-22  Bruno Haible  <bruno@clisp.org>
806
807         errno, strerror-override: Support for MSVC 10.
808         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
809         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
810         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
811         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
812         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
813         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
814         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
815         Assign values compatible with MSVC 10.
816         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
817         New macros.
818         (GNULIB_defined_EWINSOCK): New macro.
819         * lib/strerror-override.c (strerror_override): Update accordingly.
820         * lib/strerror-override.h: Likewise.
821         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
822         longer equal to the corresponding errno value.
823         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
824
825 2011-10-22  Bruno Haible  <bruno@clisp.org>
826
827         perror: Recognize when test program crashes.
828         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
829         strerror, set gl_cv_func_perror_works to no.
830         Reported by Daniel Richard G. <skunk@iskunk.org>.
831
832         perror: Fix indentation.
833         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
834
835 2011-10-22  Bruno Haible  <bruno@clisp.org>
836
837         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
838         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
839         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
840         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
841         functions, not as a macro.
842         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
843         macros.
844         (isfinite, isinf, isnan, signbit): Check overloaded functions and
845         absence of macro.
846         Suggested by Eric Blake.
847         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
848
849 2011-10-21  Bruno Haible  <bruno@clisp.org>
850
851         relocatable-prog-wrapper: Don't leave object files behind.
852         * build-aux/install-reloc: Re-synchronize list of .o files to be
853         removed with list of compilation units.
854
855 2011-10-20  Bruno Haible  <bruno@clisp.org>
856
857         openpty, posix_openpt: Remove code duplication.
858         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
859         * lib/openpty.c: Include <stdlib.h>.
860         (openpty): Use posix_openpt on all platforms except IRIX.
861         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
862
863 2011-10-20  Bruno Haible  <bruno@clisp.org>
864
865         unlockpt: Detect invalid argument.
866         * lib/unlockpt.c: Include <fcntl.h>.
867         (unlockpt): Check whether fd is valid, using fcntl().
868         * modules/unlockpt (Depends-on): Add fcntl-h.
869
870 2011-10-20  Bruno Haible  <bruno@clisp.org>
871
872         openpty: Avoid compilation error on AIX 6.1.
873         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
874
875 2011-10-20  Bruno Haible  <bruno@clisp.org>
876
877         posix_openpt: Support for OpenBSD.
878         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
879         (posix_openpt) [OpenBSD]: New code.
880         * lib/grantpt.c: Include <fcntl.h>.
881         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
882         * modules/grantpt (Depends-on): Add fcntl-h.
883
884 2011-10-20  Bruno Haible  <bruno@clisp.org>
885
886         posix_openpt test: Coding style.
887         * tests/test-posix_openpt.c: Use GNU coding style.
888
889 2011-10-20  Bruno Haible  <bruno@clisp.org>
890
891         grantpt: Support --avoid=pt_chown.
892         * modules/grantpt (Files): Add lib/pty-private.h.
893
894 2011-10-20  Bruno Haible  <bruno@clisp.org>
895
896         posix_openpt: Fix autoconf macro.
897         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
898         unneeded check for _getpty.
899
900 2011-10-20  Bruno Haible  <bruno@clisp.org>
901
902         openpty: Update comments.
903         * lib/openpty.c: Add comments about Minix.
904
905 2011-10-19  Eric Blake  <eblake@redhat.com>
906
907         openpty: relax license
908         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
909
910         pt_chown: use configmake to simplify build
911         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
912
913         ptsname and others: relax license
914         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
915         * modules/unlockpt (License): Likewise.
916         * modules/pt_chown (License): Likewise.
917         * modules/ptsname (License): Likewise.
918         * modules/ttyname_r (License): Likewise.
919
920 2011-10-19  Jim Meyering  <meyering@redhat.com>
921
922         posix_openpt: remove spurious #endif
923         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
924
925 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
926
927         maint.mk: Respect $(build_aux) in web-manual rule.
928         * top/maint.mk (web-manual): Find gen-announce script in user's
929         $(build_aux) directory instead of hard-coding 'build-aux'.
930
931 2011-10-19  Bruno Haible  <bruno@clisp.org>
932
933         posix_openpt: Fix compilation error.
934         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
935         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
936         Mention the openpty module as an alternative.
937
938 2011-10-19  Bruno Haible  <bruno@clisp.org>
939
940         Support for old NeXTstep 3.3 frexp().
941         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
942         execution time of the test to 5 seconds.
943         Reported by Daniel Richard G. <skunk@iskunk.org>.
944
945 2011-10-19  Bruno Haible  <bruno@clisp.org>
946
947         Support for old NeXTstep 3.3 sed.
948         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
949         part, use /.../, not \|...|. Escape periods in the header file name.
950         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
951         Reported by Daniel Richard G. <skunk@iskunk.org>.
952
953 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
954
955         Support for old NeXTstep 3.3 gcc.
956         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
957         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
958         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
959         * lib/spawn.in.h (_Restrict_arr_): Likewise.
960         * lib/regex.h (_Restrict_arr_): Likewise.
961         * lib/regex_internal.h (re_token_t): Likewise.
962         * lib/regexec.c (check_node_accept_bytes): Likewise.
963         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
964
965 2011-10-18  Eric Blake  <eblake@redhat.com>
966
967         posix_openpt: new module
968         * modules/posix_openpt: New module.
969         * m4/posix_openpt.m4: New file.
970         * lib/posix_openpt.c: Likewise.
971         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
972         (gl_STDLIB_H_DEFAULTS): Set defaults.
973         * modules/stdlib (Makefile.am): Substitute macros.
974         * lib/stdlib.in.h (posix_openpt): Declare.
975         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
976         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
977         * modules/posix_openpt-tests: New test module.
978         * tests/test-posix_openpt.c: New test.
979
980 2011-10-15  Bruno Haible  <bruno@clisp.org>
981
982         xstrtoll: Fix compilation failure.
983         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
984         from lib/strtol.c.
985         * doc/posix-headers/limits.texi: Mention missing numerical limits on
986         some platforms.
987         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
988
989 2011-10-15  Bruno Haible  <bruno@clisp.org>
990
991         vasnprintf: Optimize bit search operation.
992         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
993         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
994         gl_DOUBLE_EXPONENT_LOCATION.
995         * modules/vasnprintf (Files): Add m4/exponentd.m4.
996         * modules/unistdio/u8-vasnprintf (Files): Likewise.
997         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
998         * modules/unistdio/u16-vasnprintf (Files): Likewise.
999         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1000         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1001         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1002         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1003         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
1004
1005 2011-10-15  Bruno Haible  <bruno@clisp.org>
1006
1007         vasnprintf: Fix comments.
1008         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
1009
1010 2011-10-14  Bruno Haible  <bruno@clisp.org>
1011
1012         Tests for module 'integer_length_ll'.
1013         * modules/integer_length_ll-tests: New file.
1014         * tests/test-integer_length_ll.c: New file.
1015
1016         New module 'integer_length_ll'.
1017         * lib/integer_length_ll.c: New file.
1018         * modules/integer_length_ll: New file.
1019
1020 2011-10-14  Bruno Haible  <bruno@clisp.org>
1021
1022         Tests for module 'integer_length_l'.
1023         * modules/integer_length_l-tests: New file.
1024         * tests/test-integer_length_l.c: New file.
1025
1026         New module 'integer_length_l'.
1027         * lib/integer_length_l.c: New file.
1028         * modules/integer_length_l: New file.
1029
1030 2011-10-14  Bruno Haible  <bruno@clisp.org>
1031
1032         Tests for module 'integer_length'.
1033         * modules/integer_length-tests: New file.
1034         * tests/test-integer_length.c: New file.
1035
1036         New module 'integer_length'.
1037         * lib/integer_length.h: New file.
1038         * lib/integer_length.c: New file.
1039         * modules/integer_length: New file.
1040
1041 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1042
1043         popen: Fix dependency conditions.
1044         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
1045
1046 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
1047
1048         perror: Fix autoconf test.
1049         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
1050         <stdlib.h> and <string.h>.
1051
1052 2011-10-14  Bruno Haible  <bruno@clisp.org>
1053
1054         ffsl: Optimize on 64-bit platforms.
1055         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
1056         unrolling.
1057
1058 2011-10-13  Bruno Haible  <bruno@clisp.org>
1059
1060         ffsl: Optimize on 32-bit platforms.
1061         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
1062         use ffs() without a loop.
1063
1064         ffsl, ffsll: Optimize for GCC.
1065         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
1066         * lib/ffsl.c (GCC_BUILTIN): New macro.
1067         * lib/ffsll.c (GCC_BUILTIN): Likewise.
1068
1069 2011-10-13  Bruno Haible  <bruno@clisp.org>
1070
1071         ffs, bcopy, memset: Support symbol renaming via config.h.
1072         * lib/ffs.c: Include <config.h>.
1073         * lib/bcopy.c: Likewise.
1074         * lib/memset.c: Likewise.
1075
1076 2011-10-10  Bruno Haible  <bruno@clisp.org>
1077
1078         atanl: Simplify for platforms where 'long double' == 'double'.
1079         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1080         alternative implementation.
1081         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1082         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1083         * modules/atanl (Depends-on): Add atan. Update conditions.
1084
1085 2011-10-10  Bruno Haible  <bruno@clisp.org>
1086
1087         acosl: Simplify for platforms where 'long double' == 'double'.
1088         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1089         alternative implementation.
1090         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1091         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1092         * modules/acosl (Depends-on): Add acos. Update conditions.
1093
1094 2011-10-10  Bruno Haible  <bruno@clisp.org>
1095
1096         asinl: Simplify for platforms where 'long double' == 'double'.
1097         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1098         alternative implementation.
1099         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1100         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1101         * modules/asinl (Depends-on): Add asin. Update conditions.
1102
1103 2011-10-10  Bruno Haible  <bruno@clisp.org>
1104
1105         tanl: Simplify for platforms where 'long double' == 'double'.
1106         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1107         implementation.
1108         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1109         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1110         * modules/tanl (Depends-on): Add tan. Update conditions.
1111         (configure.ac): Don't compile trigl.c if
1112         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1113
1114 2011-10-10  Bruno Haible  <bruno@clisp.org>
1115
1116         cosl: Simplify for platforms where 'long double' == 'double'.
1117         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1118         implementation.
1119         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1120         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1121         * modules/cosl (Depends-on): Add cos. Update conditions.
1122         (configure.ac): Don't compile sincosl.c and trigl.c if
1123         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1124
1125 2011-10-10  Bruno Haible  <bruno@clisp.org>
1126
1127         sinl: Simplify for platforms where 'long double' == 'double'.
1128         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1129         implementation.
1130         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1131         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1132         * modules/sinl (Depends-on): Add sin. Update conditions.
1133         (configure.ac): Don't compile sincosl.c and trigl.c if
1134         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1135
1136 2011-10-10  Bruno Haible  <bruno@clisp.org>
1137
1138         logl: Simplify for platforms where 'long double' == 'double'.
1139         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1140         implementation.
1141         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1142         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1143         * modules/logl (Depends-on): Add log. Update conditions.
1144
1145 2011-10-10  Bruno Haible  <bruno@clisp.org>
1146
1147         expl: Simplify for platforms where 'long double' == 'double'.
1148         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
1149         implementation.
1150         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1151         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1152         * modules/expl (Depends-on): Add exp. Update conditions.
1153
1154 2011-10-10  Bruno Haible  <bruno@clisp.org>
1155
1156         sqrtl: Simplify for platforms where 'long double' == 'double'.
1157         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1158         alternative implementation.
1159         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1160         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1161         * modules/sqrtl (Depends-on): Update conditions.
1162
1163 2011-10-10  Bruno Haible  <bruno@clisp.org>
1164
1165         ldexpl: Simplify for platforms where 'long double' == 'double'.
1166         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1167         alternative implementation.
1168         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1169         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1170         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1171
1172 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1173
1174         ffsll: set correct witness
1175         * modules/ffsll (configure.ac): Fix typo.
1176
1177 2011-10-10  Bruno Haible  <bruno@clisp.org>
1178
1179         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1180         * lib/printf-frexpl.c: Include <config.h>.
1181         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1182         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1183         second time.
1184         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1185         gl_LONG_DOUBLE_VS_DOUBLE.
1186         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1187         conditions.
1188
1189 2011-10-10  Bruno Haible  <bruno@clisp.org>
1190
1191         frexpl: Simplify for platforms where 'long double' == 'double'.
1192         * lib/frexpl.c: Include <config.h>.
1193         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1194         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1195         time.
1196         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1197         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1198         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1199         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1200         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1201         conditions.
1202
1203 2011-10-10  Jim Meyering  <meyering@redhat.com>
1204
1205         test-renameat: don't leave behind a temporary file
1206         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1207           ERROR: files left in build directory after distclean:
1208           ./gltests/test-renameat.too
1209           make[1]: *** [distcleancheck] Error 1
1210         Reported by Tom G. Christensen.
1211
1212 2011-10-09  Bruno Haible  <bruno@clisp.org>
1213
1214         rint: Determine RINT_LIBM correctly on AIX 7.
1215         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1216         directly, not only through a function pointer. Also accept an optional
1217         4th argument with extra code.
1218         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1219         rintf() call by gcc when optimizing.
1220
1221         mathfunc.m4: Refactor.
1222         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1223         m4 variable.
1224
1225 2011-10-09  Bruno Haible  <bruno@clisp.org>
1226
1227         rintl: Simplify for platforms where 'long double' == 'double'.
1228         * lib/rintl.c: Include <config.h>.
1229         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1230         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1231         time.
1232         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1233         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1234         * modules/rintl (Depends-on): Add rint. Update conditions.
1235
1236 2011-10-09  Bruno Haible  <bruno@clisp.org>
1237
1238         roundl: Simplify for platforms where 'long double' == 'double'.
1239         * lib/roundl.c: Include <config.h>.
1240         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1241         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1242         time.
1243         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1244         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1245         * modules/roundl (Depends-on): Add round. Update conditions.
1246
1247 2011-10-09  Bruno Haible  <bruno@clisp.org>
1248
1249         truncl: Simplify for platforms where 'long double' == 'double'.
1250         * lib/truncl.c: Include <config.h>.
1251         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1252         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1253         time.
1254         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1255         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1256         * modules/truncl (Depends-on): Add trunc. Update conditions.
1257
1258 2011-10-09  Bruno Haible  <bruno@clisp.org>
1259
1260         ceill: Simplify for platforms where 'long double' == 'double'.
1261         * lib/ceill.c: Include <config.h>.
1262         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1263         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1264         time.
1265         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1266         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1267         * modules/ceill (Depends-on): Add ceil. Update conditions.
1268
1269 2011-10-09  Bruno Haible  <bruno@clisp.org>
1270
1271         floorl: Simplify for platforms where 'long double' == 'double'.
1272         * lib/floorl.c: Include <config.h>.
1273         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1274         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1275         time.
1276         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1277         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1278         * modules/floorl (Depends-on): Add floor. Update conditions.
1279
1280 2011-10-09  Bruno Haible  <bruno@clisp.org>
1281
1282         rint: Fix ordering constraints.
1283         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1284         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1285         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1286
1287 2011-10-09  Bruno Haible  <bruno@clisp.org>
1288
1289         copysignl: Simplify for platforms where 'long double' == 'double'.
1290         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1291         alternative.
1292         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1293         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1294         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1295
1296 2011-10-09  Bruno Haible  <bruno@clisp.org>
1297
1298         Tests for module 'rintl'.
1299         * modules/rintl-tests: New file.
1300         * tests/test-rintl.c: New file.
1301
1302         New module 'rintl'.
1303         * lib/math.in.h (rintl): New declaration.
1304         * lib/rintl.c: New file.
1305         * m4/rintl.m4: New file.
1306         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1308         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1309         * modules/rintl: New file.
1310         * tests/test-math-c++.cc: Check the declaration of rintl.
1311         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1312         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1313         * doc/posix-functions/rintl.texi: Mention the new module.
1314
1315 2011-10-09  Bruno Haible  <bruno@clisp.org>
1316
1317         Tests for module 'rintf'.
1318         * modules/rintf-tests: New file.
1319         * tests/test-rintf.c: New file.
1320
1321         New module 'rintf'.
1322         * lib/math.in.h (rintf): New declaration.
1323         * lib/rintf.c: New file.
1324         * m4/rintf.m4: New file.
1325         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1326         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1327         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1328         * modules/rintf: New file.
1329         * tests/test-math-c++.cc: Check the declaration of rintf.
1330         * doc/posix-functions/rintf.texi: Mention the new module.
1331
1332 2011-10-09  Bruno Haible  <bruno@clisp.org>
1333
1334         rint: Support for MSVC.
1335         * lib/math.in.h (rint): New declaration.
1336         * lib/rint.c: New file.
1337         * m4/rint.m4: New file.
1338         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1340         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1341         * modules/rint (Description): Fix.
1342         (Files): Add lib/rint.c, m4/rint.m4.
1343         (Depends-on): Add math.
1344         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1345         gl_MATH_MODULE_INDICATOR.
1346         * tests/test-math-c++.cc: Check the declaration of rint.
1347         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1348         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1349         * doc/posix-functions/rint.texi: Mention the replacement provided by
1350         the module.
1351
1352         rint tests: More tests.
1353         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1354         minus-zero.h, infinity.h, nan.h.
1355         (main): Skip the test if the current rounding mode is not standard. Add
1356         tests for negative numbers, minus zero, infinity, NaN.
1357         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1358         tests/nan.h.
1359         (Depends-on): Add isnand-nolibm.
1360
1361 2011-10-09  Bruno Haible  <bruno@clisp.org>
1362
1363         Tests for module 'copysignl'.
1364         * modules/copysignl-tests: New file.
1365         * tests/test-copysignl.c: New file.
1366
1367         New module 'copysignl'.
1368         * lib/math.in.h (copysignl): New declaration.
1369         * lib/copysignl.c: New file.
1370         * m4/copysignl.m4: New file.
1371         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1373         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1374         HAVE_COPYSIGNL.
1375         * modules/copysignl: New file.
1376         * tests/test-math-c++.cc: Check the declaration of copysignl.
1377         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1378         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1379         * doc/posix-functions/copysignl.texi: Mention the new module.
1380
1381 2011-10-09  Bruno Haible  <bruno@clisp.org>
1382
1383         Tests for module 'copysignf'.
1384         * modules/copysignf-tests: New file.
1385         * tests/test-copysignf.c: New file.
1386
1387         New module 'copysignf'.
1388         * lib/math.in.h (copysignf): New declaration.
1389         * lib/copysignf.c: New file.
1390         * m4/copysignf.m4: New file.
1391         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1392         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1393         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1394         HAVE_COPYSIGNF.
1395         * modules/copysignf: New file.
1396         * tests/test-math-c++.cc: Check the declaration of copysignf.
1397         * doc/posix-functions/copysignf.texi: Mention the new module.
1398
1399 2011-10-09  Bruno Haible  <bruno@clisp.org>
1400
1401         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1402         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1403         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1404         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1405         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1406         gl_SIGNAL_H_DEFAULTS.
1407
1408 2011-10-09  Bruno Haible  <bruno@clisp.org>
1409
1410         poll: Make macro safer.
1411         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1412         ac_cv_header_poll_h is not set.
1413
1414 2011-10-09  Bruno Haible  <bruno@clisp.org>
1415
1416         copysign: Provide replacement.
1417         * lib/math.in.h (copysign): New declaration.
1418         * lib/copysign.c: New file.
1419         * m4/copysign.m4: New file.
1420         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1422         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1423         HAVE_COPYSIGN.
1424         * modules/copysign (Description): Clarify.
1425         (Files): Add lib/copysign.c, m4/copysign.m4.
1426         (Depends-on): Add math, signbit.
1427         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1428         gl_MATH_MODULE_INDICATOR.
1429         * tests/test-math-c++.cc: Check the declaration of copysign.
1430         * doc/posix-functions/copysign.texi: Mention the effects of the module
1431         on Minix and MSVC.
1432
1433 2011-10-09  Bruno Haible  <bruno@clisp.org>
1434
1435         isinf: Ensure macro on AIX 5.1.
1436         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1437         macro.
1438         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1439
1440 2011-10-09  Bruno Haible  <bruno@clisp.org>
1441
1442         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1443         * modules/snprintf-posix-tests (configure.ac): Require
1444         gl_LONG_DOUBLE_VS_DOUBLE.
1445         * modules/sprintf-posix-tests (configure.ac): Likewise.
1446         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1447         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1448         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1449         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1450         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1451         tests on platforms where 'long double' is the same as 'double'.
1452         * tests/test-sprintf-posix.h (test_function): Likewise.
1453         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1454         * tests/test-vasprintf-posix.c (test_function): Likewise.
1455
1456         *printf: Fix for platforms where 'long double' == 'double'.
1457         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1458         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1459         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1460         * modules/fprintf-posix (Files): Likewise.
1461         * modules/obstack-printf-posix (Files): Likewise.
1462         * modules/snprintf-posix (Files): Likewise.
1463         * modules/sprintf-posix (Files): Likewise.
1464         * modules/vasnprintf (Files): Likewise.
1465         * modules/vasnprintf-posix (Files): Likewise.
1466         * modules/vasprintf-posix (Files): Likewise.
1467         * modules/vdprintf-posix (Files): Likewise.
1468         * modules/vfprintf-posix (Files): Likewise.
1469         * modules/vsnprintf-posix (Files): Likewise.
1470         * modules/vsprintf-posix (Files): Likewise.
1471         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1472         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1473         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1474         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1475         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1476         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1477         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1478
1479         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1480         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1481         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1482         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1483         'long double'.
1484         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1485
1486         isinf: Fix for platforms where 'long double' == 'double'.
1487         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1488         Don't blindly assume 80-bit 'long double'.
1489
1490         isfinite: Fix for platforms where 'long double' == 'double'.
1491         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1492         Don't blindly assume 80-bit 'long double'.
1493
1494         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1495         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1496         * modules/isfinite-tests (configure.ac): Require
1497         gl_LONG_DOUBLE_VS_DOUBLE.
1498         * modules/isinf-tests (configure.ac): Likewise.
1499         * modules/isnan-tests (configure.ac): Likewise.
1500         * modules/isnanl-tests (configure.ac): Likewise.
1501         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1502         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1503         tests on platforms where 'long double' is the same as 'double'.
1504         * tests/test-isinf.c (test_isinfl): Likewise.
1505         * tests/test-isnan.c (test_long_double): Likewise.
1506         * tests/test-isnanl.h (main): Likewise.
1507
1508 2011-10-08  Bruno Haible  <bruno@clisp.org>
1509
1510         Tests for module 'tanhf'.
1511         * modules/tanhf-tests: New file.
1512         * tests/test-tanhf.c: New file.
1513
1514         New module 'tanhf'.
1515         * lib/math.in.h (tanhf): New declaration.
1516         * lib/tanhf.c: New file.
1517         * m4/tanhf.m4: New file.
1518         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1519         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1520         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1521         * modules/tanhf: New file.
1522         * tests/test-math-c++.cc: Check the declaration of tanhf.
1523         * doc/posix-functions/tanhf.texi: Mention the new module.
1524
1525         tanh: Use a .m4 file.
1526         * m4/tanh.m4: New file.
1527         * modules/tanh (Files): Add it.
1528         (configure.ac): Just invoke gl_FUNC_TANH.
1529
1530 2011-10-08  Bruno Haible  <bruno@clisp.org>
1531
1532         Tests for module 'coshf'.
1533         * modules/coshf-tests: New file.
1534         * tests/test-coshf.c: New file.
1535
1536         New module 'coshf'.
1537         * lib/math.in.h (coshf): New declaration.
1538         * lib/coshf.c: New file.
1539         * m4/coshf.m4: New file.
1540         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1542         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1543         * modules/coshf: New file.
1544         * tests/test-math-c++.cc: Check the declaration of coshf.
1545         * doc/posix-functions/coshf.texi: Mention the new module.
1546
1547         cosh: Use a .m4 file.
1548         * m4/cosh.m4: New file.
1549         * modules/cosh (Files): Add it.
1550         (configure.ac): Just invoke gl_FUNC_COSH.
1551
1552 2011-10-08  Bruno Haible  <bruno@clisp.org>
1553
1554         Tests for module 'sinhf'.
1555         * modules/sinhf-tests: New file.
1556         * tests/test-sinhf.c: New file.
1557
1558         New module 'sinhf'.
1559         * lib/math.in.h (sinhf): New declaration.
1560         * lib/sinhf.c: New file.
1561         * m4/sinhf.m4: New file.
1562         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1564         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1565         * modules/sinhf: New file.
1566         * tests/test-math-c++.cc: Check the declaration of sinhf.
1567         * doc/posix-functions/sinhf.texi: Mention the new module.
1568
1569         sinh: Use a .m4 file.
1570         * m4/sinh.m4: New file.
1571         * modules/sinh (Files): Add it.
1572         (configure.ac): Just invoke gl_FUNC_SINH.
1573
1574 2011-10-08  Bruno Haible  <bruno@clisp.org>
1575
1576         Tests for module 'atan2f'.
1577         * modules/atan2f-tests: New file.
1578         * tests/test-atan2f.c: New file.
1579
1580         New module 'atan2f'.
1581         * lib/math.in.h (atan2f): New declaration.
1582         * lib/atan2f.c: New file.
1583         * m4/atan2f.m4: New file.
1584         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1585         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1586         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1587         * modules/atan2f: New file.
1588         * tests/test-math-c++.cc: Check the declaration of atan2f.
1589         * doc/posix-functions/atan2f.texi: Mention the new module.
1590
1591         atan2: Use a .m4 file.
1592         * m4/atan2.m4: New file.
1593         * modules/atan2 (Files): Add it.
1594         (configure.ac): Just invoke gl_FUNC_ATAN2.
1595
1596 2011-10-08  Bruno Haible  <bruno@clisp.org>
1597
1598         Tests for module 'atanf'.
1599         * modules/atanf-tests: New file.
1600         * tests/test-atanf.c: New file.
1601
1602         New module 'atanf'.
1603         * lib/math.in.h (atanf): New declaration.
1604         * lib/atanf.c: New file.
1605         * m4/atanf.m4: New file.
1606         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1607         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1608         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1609         * modules/atanf: New file.
1610         * tests/test-math-c++.cc: Check the declaration of atanf.
1611         * doc/posix-functions/atanf.texi: Mention the new module.
1612
1613         atan: Use a .m4 file.
1614         * m4/atan.m4: New file.
1615         * modules/atan (Files): Add it.
1616         (configure.ac): Just invoke gl_FUNC_ATAN.
1617
1618 2011-10-08  Bruno Haible  <bruno@clisp.org>
1619
1620         Tests for module 'acosf'.
1621         * modules/acosf-tests: New file.
1622         * tests/test-acosf.c: New file.
1623
1624         New module 'acosf'.
1625         * lib/math.in.h (acosf): New declaration.
1626         * lib/acosf.c: New file.
1627         * m4/acosf.m4: New file.
1628         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1629         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1630         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1631         * modules/acosf: New file.
1632         * tests/test-math-c++.cc: Check the declaration of acosf.
1633         * doc/posix-functions/acosf.texi: Mention the new module.
1634
1635         acos: Use a .m4 file.
1636         * m4/acos.m4: New file.
1637         * modules/acos (Files): Add it.
1638         (configure.ac): Just invoke gl_FUNC_ACOS.
1639
1640 2011-10-08  Bruno Haible  <bruno@clisp.org>
1641
1642         Tests for module 'asinf'.
1643         * modules/asinf-tests: New file.
1644         * tests/test-asinf.c: New file.
1645
1646         New module 'asinf'.
1647         * lib/math.in.h (asinf): New declaration.
1648         * lib/asinf.c: New file.
1649         * m4/asinf.m4: New file.
1650         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1651         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1652         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1653         * modules/asinf: New file.
1654         * tests/test-math-c++.cc: Check the declaration of asinf.
1655         * doc/posix-functions/asinf.texi: Mention the new module.
1656
1657         asin: Use a .m4 file.
1658         * m4/asin.m4: New file.
1659         * modules/asin (Files): Add it.
1660         (configure.ac): Just invoke gl_FUNC_ASIN.
1661
1662 2011-10-08  Bruno Haible  <bruno@clisp.org>
1663
1664         Tests for module 'tanf'.
1665         * modules/tanf-tests: New file.
1666         * tests/test-tanf.c: New file.
1667
1668         New module 'tanf'.
1669         * lib/math.in.h (tanf): New declaration.
1670         * lib/tanf.c: New file.
1671         * m4/tanf.m4: New file.
1672         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1673         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1674         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1675         * modules/tanf: New file.
1676         * tests/test-math-c++.cc: Check the declaration of tanf.
1677         * doc/posix-functions/tanf.texi: Mention the new module.
1678
1679         tan: Use a .m4 file.
1680         * m4/tan.m4: New file.
1681         * modules/tan (Files): Add it.
1682         (configure.ac): Just invoke gl_FUNC_TAN.
1683
1684 2011-10-08  Bruno Haible  <bruno@clisp.org>
1685
1686         Tests for module 'cosf'.
1687         * modules/cosf-tests: New file.
1688         * tests/test-cosf.c: New file.
1689
1690         New module 'cosf'.
1691         * lib/math.in.h (cosf): New declaration.
1692         * lib/cosf.c: New file.
1693         * m4/cosf.m4: New file.
1694         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1696         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1697         * modules/cosf: New file.
1698         * tests/test-math-c++.cc: Check the declaration of cosf.
1699         * doc/posix-functions/cosf.texi: Mention the new module.
1700
1701         cos: Use a .m4 file.
1702         * m4/cos.m4: New file.
1703         * modules/cos (Files): Add it.
1704         (configure.ac): Just invoke gl_FUNC_COS.
1705
1706 2011-10-08  Bruno Haible  <bruno@clisp.org>
1707
1708         Tests for module 'sinf'.
1709         * modules/sinf-tests: New file.
1710         * tests/test-sinf.c: New file.
1711
1712         New module 'sinf'.
1713         * lib/math.in.h (sinf): New declaration.
1714         * lib/sinf.c: New file.
1715         * m4/sinf.m4: New file.
1716         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1717         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1718         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1719         * modules/sinf: New file.
1720         * tests/test-math-c++.cc: Check the declaration of sinf.
1721         * doc/posix-functions/sinf.texi: Mention the new module.
1722
1723         sin: Use a .m4 file.
1724         * m4/sin.m4: New file.
1725         * modules/sin (Files): Add it.
1726         (configure.ac): Just invoke gl_FUNC_SIN.
1727
1728 2011-10-08  Bruno Haible  <bruno@clisp.org>
1729
1730         Tests for module 'powf'.
1731         * modules/powf-tests: New file.
1732         * tests/test-powf.c: New file.
1733
1734         New module 'powf'.
1735         * lib/math.in.h (powf): New declaration.
1736         * lib/powf.c: New file.
1737         * m4/powf.m4: New file.
1738         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1740         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1741         * modules/powf: New file.
1742         * tests/test-math-c++.cc: Check the declaration of powf.
1743         * doc/posix-functions/powf.texi: Mention the new module.
1744
1745         pow: Use a .m4 file.
1746         * m4/pow.m4: New file.
1747         * modules/pow (Files): Add it.
1748         (configure.ac): Just invoke gl_FUNC_POW.
1749
1750 2011-10-08  Bruno Haible  <bruno@clisp.org>
1751
1752         Tests for module 'log10f'.
1753         * modules/log10f-tests: New file.
1754         * tests/test-log10f.c: New file.
1755
1756         New module 'log10f'.
1757         * lib/math.in.h (log10f): New declaration.
1758         * lib/log10f.c: New file.
1759         * m4/log10f.m4: New file.
1760         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1761         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1762         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1763         * modules/log10f: New file.
1764         * tests/test-math-c++.cc: Check the declaration of log10f.
1765         * doc/posix-functions/log10f.texi: Mention the new module.
1766
1767         log10: Use a .m4 file.
1768         * m4/log10.m4: New file.
1769         * modules/log10 (Files): Add it.
1770         (configure.ac): Just invoke gl_FUNC_LOG10.
1771
1772 2011-10-08  Bruno Haible  <bruno@clisp.org>
1773
1774         Tests for module 'logf'.
1775         * modules/logf-tests: New file.
1776         * tests/test-logf.c: New file.
1777
1778         New module 'logf'.
1779         * lib/math.in.h (logf): New declaration.
1780         * lib/logf.c: New file.
1781         * m4/logf.m4: New file.
1782         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1784         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1785         * modules/logf: New file.
1786         * tests/test-math-c++.cc: Check the declaration of logf.
1787         * doc/posix-functions/logf.texi: Mention the new module.
1788
1789         log: Use a .m4 file.
1790         * m4/log.m4: New file.
1791         * modules/log (Files): Add it.
1792         (configure.ac): Just invoke gl_FUNC_LOG.
1793
1794 2011-10-08  Bruno Haible  <bruno@clisp.org>
1795
1796         Tests for module 'expf'.
1797         * modules/expf-tests: New file.
1798         * tests/test-expf.c: New file.
1799
1800         New module 'expf'.
1801         * lib/math.in.h (expf): New declaration.
1802         * lib/expf.c: New file.
1803         * m4/expf.m4: New file.
1804         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1805         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1806         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1807         * modules/expf: New file.
1808         * tests/test-math-c++.cc: Check the declaration of expf.
1809         * doc/posix-functions/expf.texi: Mention the new module.
1810
1811         exp: Use a .m4 file.
1812         * m4/exp.m4: New file.
1813         * modules/exp (Files): Add it.
1814         (configure.ac): Just invoke gl_FUNC_EXP.
1815
1816 2011-10-08  Bruno Haible  <bruno@clisp.org>
1817
1818         Tests for module 'sqrtf'.
1819         * modules/sqrtf-tests: New file.
1820         * tests/test-sqrtf.c: New file.
1821
1822         New module 'sqrtf'.
1823         * lib/math.in.h (sqrtf): New declaration.
1824         * lib/sqrtf.c: New file.
1825         * m4/sqrtf.m4: New file.
1826         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1827         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1828         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1829         * modules/sqrtf: New file.
1830         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1831         * doc/posix-functions/sqrtf.texi: Mention the new module.
1832
1833 2011-10-08  Bruno Haible  <bruno@clisp.org>
1834
1835         Tests: Avoid link failures w.r.t. libintl.
1836         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1837         $(LIBINTL).
1838         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1839         $(LIBINTL).
1840         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1841         against $(LIBINTL).
1842         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1843         $(LIBINTL).
1844         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1845         $(LIBINTL).
1846         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1847
1848 2011-10-08  Bruno Haible  <bruno@clisp.org>
1849
1850         pow tests: Defeat compiler optimizations.
1851         * tests/test-pow.c (main): Assign arguments to x and y before use.
1852
1853 2011-10-08  Bruno Haible  <bruno@clisp.org>
1854
1855         gnulib-tool: Improve last commit.
1856         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1857         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1858         ignore dependencies that are not among the modules list.
1859
1860 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1861
1862         gnulib-tool: don't follow dependencies to avoided modules
1863         This fixes a bug that is related to the previous one.
1864         * gnulib-tool (func_modules_transitive_closure)
1865         (func_emit_autoconf_snippets):
1866         Check whether a dependency is acceptable before using it.
1867         (--extract-dependencies): Report an error if --avoid is also used,
1868         since this combination of options is not yet supported.
1869
1870         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1871         Problem reported by Peter Dyballa in
1872         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1873         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1874         when echoing "$condition".
1875
1876 2011-10-07  Bruno Haible  <bruno@clisp.org>
1877
1878         Fix documentation about math functions on MacOS X.
1879         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1880         MacOS X 10.5.
1881         * doc/posix-functions/fdim.texi: Likewise.
1882         * doc/posix-functions/feclearexcept.texi: Likewise.
1883         * doc/posix-functions/fegetenv.texi: Likewise.
1884         * doc/posix-functions/fegetround.texi: Likewise.
1885         * doc/posix-functions/feholdexcept.texi: Likewise.
1886         * doc/posix-functions/feraiseexcept.texi: Likewise.
1887         * doc/posix-functions/fesetenv.texi: Likewise.
1888         * doc/posix-functions/fesetround.texi: Likewise.
1889         * doc/posix-functions/fetestexcept.texi: Likewise.
1890         * doc/posix-functions/feupdateenv.texi: Likewise.
1891         * doc/posix-functions/fmax.texi: Likewise.
1892         * doc/posix-functions/fmin.texi: Likewise.
1893         * doc/posix-functions/log2.texi: Likewise.
1894         * doc/posix-functions/modff.texi: Likewise.
1895         * doc/posix-functions/nan.texi: Likewise.
1896         * doc/posix-functions/nanf.texi: Likewise.
1897         * doc/posix-functions/nextafterf.texi: Likewise.
1898         * doc/posix-functions/remquo.texi: Likewise.
1899
1900 2011-10-07  Bruno Haible  <bruno@clisp.org>
1901
1902         modff: Drop assumption about library that defines modff.
1903         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1904         AC_CHECK_FUNCS.
1905         * modules/modff (Files): Add m4/mathfunc.m4.
1906
1907 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1908
1909         raise tests: Avoid a GCC warning.
1910         * tests/test-raise.c (handler): Use _Noreturn.
1911
1912 2011-10-07  Bruno Haible  <bruno@clisp.org>
1913
1914         Tests for module 'ldexpf'.
1915         * modules/ldexpf-tests: New file.
1916         * tests/test-ldexpf.c: New file.
1917
1918         New module 'ldexpf'.
1919         * lib/math.in.h (ldexpf): New declaration.
1920         * lib/ldexpf.c: New file.
1921         * m4/ldexpf.m4: New file.
1922         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1924         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1925         * modules/ldexpf: New file.
1926         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1927         * doc/posix-functions/ldexpf.texi: Mention the new module.
1928
1929 2011-10-06  Bruno Haible  <bruno@clisp.org>
1930
1931         frexpf: Work around problems on IRIX and mingw.
1932         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1933         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1934         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1935         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1936         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1937         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1938         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1939
1940 2011-10-06  Bruno Haible  <bruno@clisp.org>
1941
1942         fabsf: Drop assumption about library that defines fabsf.
1943         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1944         AC_CHECK_FUNCS.
1945         * modules/fabsf (Files): Add m4/mathfunc.m4.
1946
1947 2011-10-06  Bruno Haible  <bruno@clisp.org>
1948
1949         frexpf: Drop assumption about library that defines frexpf.
1950         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1951         'int *', 'float *', 'long double *', 'float', 'long double'.
1952         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1953         AC_CHECK_FUNCS.
1954         * modules/frexpf (Files): Add m4/mathfunc.m4.
1955
1956         Tests for module 'frexpf'.
1957         * modules/frexpf-tests: New file.
1958         * tests/test-frexpf.c: New file.
1959
1960         New module 'frexpf'.
1961         * lib/math.in.h (frexpf): New declaration.
1962         * lib/frexpf.c: New file.
1963         * m4/frexpf.m4: New file.
1964         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1965         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1966         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1967         * modules/frexpf: New file.
1968         * tests/test-math-c++.cc: Check the declaration of frexpf.
1969         * doc/posix-functions/frexpf.texi: Mention the new module.
1970
1971 2011-10-06  Bruno Haible  <bruno@clisp.org>
1972
1973         math: Sort function declarations of math.in.h.
1974         * lib/math.in.h (frexp, logb): Move declarations.
1975
1976 2011-10-05  Bruno Haible  <bruno@clisp.org>
1977
1978         Tests for module 'modff'.
1979         * modules/modff-tests: New file.
1980         * tests/test-modff.c: New file.
1981
1982         New module 'modff'.
1983         * lib/math.in.h (modff): New declaration.
1984         * lib/modff.c: New file.
1985         * m4/modff.m4: New file.
1986         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1988         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1989         * modules/modff: New file.
1990         * tests/test-math-c++.cc: Check the declaration of modff.
1991         * doc/posix-functions/modff.texi: Mention the new module.
1992
1993         modf tests: Make test sharper.
1994         * tests/test-modf.c (main): Strengthen upper bound.
1995
1996         modf: Use a .m4 file.
1997         * m4/modf.m4: New file.
1998         * modules/modf (Files): Add it.
1999         (configure.ac): Just invoke gl_FUNC_MODF.
2000
2001 2011-10-05  Bruno Haible  <bruno@clisp.org>
2002
2003         Tests for module 'fmodf'.
2004         * modules/fmodf-tests: New file.
2005         * tests/test-fmodf.c: New file.
2006
2007         New module 'fmodf'.
2008         * lib/math.in.h (fmodf): New declaration.
2009         * lib/fmodf.c: New file.
2010         * m4/fmodf.m4: New file.
2011         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
2012         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
2013         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
2014         * modules/fmodf: New file.
2015         * tests/test-math-c++.cc: Check the declaration of fmodf.
2016         * doc/posix-functions/fmodf.texi: Mention the new module.
2017
2018         fmod: Use a .m4 file.
2019         * m4/fmod.m4: New file.
2020         * modules/fmod (Files): Add it.
2021         (configure.ac): Just invoke gl_FUNC_FMOD.
2022
2023 2011-10-05  Bruno Haible  <bruno@clisp.org>
2024
2025         Tests for module 'fabsf'.
2026         * modules/fabsf-tests: New file.
2027         * tests/test-fabsf.c: New file.
2028
2029         New module 'fabsf'.
2030         * lib/math.in.h (fabsf): New declaration.
2031         * lib/fabsf.c: New file.
2032         * m4/fabsf.m4: New file.
2033         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
2034         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
2035         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
2036         * modules/fabsf: New file.
2037         * tests/test-math-c++.cc: Check the declaration of fabsf.
2038         * doc/posix-functions/fabsf.texi: Mention the new module.
2039
2040         fabs: Use a .m4 file.
2041         * m4/fabs.m4: New file.
2042         * modules/fabs (Files): Add it.
2043         (configure.ac): Just invoke gl_FUNC_FABS.
2044
2045 2011-10-05  Jim Meyering  <meyering@redhat.com>
2046
2047         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
2048         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
2049         ls -lL regression introduced in coreutils-8.12, it does so at the
2050         cost of an additional stat call in the common case.  Besides, now
2051         that the kernel change that prompted commit 95f7c57f has been reverted
2052         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
2053         we have no use for commit 95f7c57f, "file-has-acl: use
2054         acl_extended_file_nofollow if available".
2055
2056 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
2057
2058         file-has-acl: revert unintended change in behavior of ls -L
2059         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
2060         derived from...
2061         (file_has_acl): ...code here.  Call it.
2062         This problem was introduced with 2011-07-22 commit 95f7c57f,
2063         "file-has-acl: use acl_extended_file_nofollow if available".
2064         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
2065
2066 2011-10-03  Bruno Haible  <bruno@clisp.org>
2067
2068         poll: Avoid link errors on MSVC.
2069         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
2070         * modules/poll (Depends-on): Add sockets.
2071         (Link): New section.
2072         * NEWS: Mention the change.
2073         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
2074         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
2075         $(LIB_POLL) instead of $(LIBSOCKET).
2076
2077 2011-10-03  Bruno Haible  <bruno@clisp.org>
2078
2079         sys_select tests: Fix link error on MSVC 9.
2080         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
2081         with $(LIB_SELECT) instead of $(LIBSOCKET).
2082
2083 2011-10-03  Bruno Haible  <bruno@clisp.org>
2084
2085         sys_select: Fix compilation error on mingw.
2086         * lib/sys_select.in.h: On native Windows, include <io.h>.
2087
2088 2011-10-03  Bruno Haible  <bruno@clisp.org>
2089
2090         wmemset: Support for MSVC.
2091         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
2092         whether wmemset() exists.
2093
2094 2011-10-03  Bruno Haible  <bruno@clisp.org>
2095
2096         wmemmove: Support for MSVC.
2097         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
2098         whether wmemmove() exists.
2099
2100 2011-10-03  Bruno Haible  <bruno@clisp.org>
2101
2102         wmemcpy: Support for MSVC.
2103         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
2104         whether wmemcpy() exists.
2105
2106 2011-10-03  Bruno Haible  <bruno@clisp.org>
2107
2108         wmemcmp: Support for MSVC.
2109         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
2110         whether wmemcmp() exists.
2111
2112 2011-10-03  Bruno Haible  <bruno@clisp.org>
2113
2114         wmemchr: Support for MSVC.
2115         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
2116         whether wmemchr() exists.
2117
2118 2011-10-03  Bruno Haible  <bruno@clisp.org>
2119
2120         glthread/*, strsignal: Support for MSVC.
2121         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
2122         including <winsock.h> on MSVC 9.
2123         * lib/glthread/lock.h: Likewise.
2124         * lib/glthread/thread.h: Likewise.
2125         * lib/glthread/tls.h: Likewise.
2126         * lib/glthread/yield.h: Likewise.
2127         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
2128         if HAVE_UNISTD_H is false.
2129         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
2130
2131 2011-10-03  Bruno Haible  <bruno@clisp.org>
2132
2133         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
2134         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
2135         Set to 100000.
2136
2137 2011-10-03  Bruno Haible  <bruno@clisp.org>
2138
2139         acl: Fix specification.
2140         * lib/file-has-acl.c (file_has_acl): Fix specification.
2141
2142 2011-10-03  Bruno Haible  <bruno@clisp.org>
2143
2144         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
2145         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
2146         (compute_curr_prefix, shared_library_fullname,
2147         find_shared_library_fullname, get_shared_library_fullname, relocate):
2148         Use it together with PIC && INSTALLDIR.
2149         Reported by <jojelino@gmail.com>
2150         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
2151
2152 2011-10-01  Jim Meyering  <meyering@redhat.com>
2153
2154         maint.mk: adjust a release-related rule not to require use of gzip
2155         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
2156         Instead, check each file in $(DIST_ARCHIVES).  This is better for
2157         projects that build only .tar.xz files.  Also fix an erroneous test.
2158
2159         test-linkat: don't leave behind a temporary file
2160         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
2161         Otherwise, coreutils' "make distcheck" would fail with this:
2162           Only in /c/cu/tests/torture/coreutils/test/\
2163             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
2164           make[2]: *** [my-distcheck] Error 1
2165
2166         float, math: add omitted file
2167         * lib/itold.c: Add file, required for yesterday's float change.
2168
2169 2011-10-01  Bruno Haible  <bruno@clisp.org>
2170
2171         isinf: Fix for OpenBSD/x86.
2172         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2173         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2174         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2175
2176 2011-10-01  Bruno Haible  <bruno@clisp.org>
2177
2178         isfinite: Fix syntax error in configure test.
2179         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2180
2181         isfinite: Fix typo.
2182         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2183         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2184
2185 2011-10-01  Bruno Haible  <bruno@clisp.org>
2186
2187         nonblocking tests: Fix test failure on Linux/IA-64.
2188         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2189         Set to 270000.
2190
2191 2011-10-01  Bruno Haible  <bruno@clisp.org>
2192
2193         mkfifoat tests: Fix a test failure on mingw.
2194         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2195         with error ENOSYS.
2196
2197 2011-09-30  Bruno Haible  <bruno@clisp.org>
2198
2199         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2200         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2201         'long double'. Set REPLACE_ITOLD.
2202         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2203         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2204         * lib/itold.c: New file.
2205         * modules/float (Files): Add lib/itold.c.
2206         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2207         (Makefile.am): Substitute REPLACE_ITOLD.
2208         * modules/math (Depends-on): Add float.
2209         (Makefile.am): Substitute REPLACE_ITOLD.
2210         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2211         * doc/posix-headers/math.texi: Likewise.
2212         * doc/posix-functions/logl.texi: Likewise.
2213
2214 2011-09-30  Bruno Haible  <bruno@clisp.org>
2215
2216         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2217         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2218         Set to 140000.
2219
2220 2011-09-30  Bruno Haible  <bruno@clisp.org>
2221
2222         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2223         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2224         invocation, say "right after AC_PROG_CC_STDC", not "right after
2225         AC_PROG_CC".
2226         Reported by Gary V. Vaughan <gary@gnu.org>.
2227
2228 2011-09-30  Bruno Haible  <bruno@clisp.org>
2229
2230         Centralize C99 requirement.
2231         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2232         * modules/stdarg (configure.ac-early): Invoke it instead of
2233         AC_PROG_CC_STDC.
2234         Reported by Gary V. Vaughan and Paul Eggert.
2235
2236 2011-09-29  Bruno Haible  <bruno@clisp.org>
2237
2238         float: Fix LDBL_MAX value on Linux/PowerPC.
2239         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2240         on Linux/PowerPC.
2241         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2242         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2243         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2244         platform.
2245         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2246
2247 2011-09-29  Bruno Haible  <bruno@clisp.org>
2248
2249         doc: Improve doc about gl_EARLY.
2250         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2251         AC_PROG_CC_STDC invocation.
2252         Reported by Gary V. Vaughan <gary@gnu.org>.
2253
2254 2011-09-28  Bruno Haible  <bruno@clisp.org>
2255
2256         fgetc, fputc, fread, fwrite tests: Fix link error.
2257         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2258         on non-MSVC platforms.
2259         * tests/test-fputc.c (main): Likewise.
2260         * tests/test-fread.c (main): Likewise.
2261         * tests/test-fwrite.c (main): Likewise.
2262         Reported by Jim Meyering.
2263
2264 2011-09-27  Bruno Haible  <bruno@clisp.org>
2265
2266         fputc, fwrite tests: Avoid test failure on MSVC.
2267         * tests/test-fgetc.c: Include msvc-inval.h.
2268         (main): Invoke gl_msvc_inval_ensure_handler.
2269         * tests/test-fputc.c: Include msvc-inval.h.
2270         (main): Invoke gl_msvc_inval_ensure_handler.
2271         * tests/test-fread.c: Include msvc-inval.h.
2272         (main): Invoke gl_msvc_inval_ensure_handler.
2273         * tests/test-fwrite.c: Include msvc-inval.h.
2274         (main): Invoke gl_msvc_inval_ensure_handler.
2275         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2276         * modules/fputc-tests (Depends-on): Likewise.
2277         * modules/fread-tests (Depends-on): Likewise.
2278         * modules/fwrite-tests (Depends-on): Likewise.
2279
2280 2011-09-27  Bruno Haible  <bruno@clisp.org>
2281
2282         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2283         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2284         (raise): Remove older, duplicated declaration.
2285         (_gl_raise_SIGPIPE): New declaration.
2286         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2287         (rpl_raise): Remove function.
2288         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2289         a gnulib-defined SIGPIPE here.
2290         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2291         'sigprocmask' has detected missing signal-blocking and the module
2292         'sigpipe' is enabled.
2293         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2294
2295 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2296
2297         base64-tests: avoid memory leak
2298         * tests/test-base64.c (main): Plug memory leak.
2299
2300         base32: new module
2301         * modules/base32: New module.
2302         * lib/base32.c: New file.
2303         * lib/base32.h: Likewise.
2304         * m4/base32.m4: Likewise.
2305         * modules/base32-tests: New test.
2306         * tests/test-base32.c: Likewise.
2307         * MODULES.html.sh (Misc): Mention it.
2308
2309 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2310
2311         gnulib: use more-standard license notice wording
2312         * gnulib-tool (func_emit_copyright_notice): When emitting a
2313         license notice into a file, use the standard wording as suggested
2314         by the current information for GNU maintainers, except say "file"
2315         rather than "program".  The new wording gives a license version
2316         number, which addresses an issue raised by Glenn Morris in
2317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2318         * m4/onceonly.m4: Use that same wording here, too.
2319
2320         dup2: minor simplification
2321         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2322         as lib/dup2.c no longer uses 'inline'.
2323
2324 2011-09-25  Bruno Haible  <bruno@clisp.org>
2325
2326         strings: Fix compilation error on MSVC.
2327         * lib/strings.in.h: Include <stddef.h> for size_t.
2328
2329 2011-09-25  Bruno Haible  <bruno@clisp.org>
2330
2331         fflush et al.: Document limitation on MSVC.
2332         * doc/posix-functions/fflush.texi: Document possible crash in handling
2333         mode other than DEFAULT_HANDLING.
2334         * doc/posix-functions/fgetc.texi: Likewise.
2335         * doc/posix-functions/fputc.texi: Likewise.
2336         * doc/posix-functions/fread.texi: Likewise.
2337         * doc/posix-functions/fwrite.texi: Likewise.
2338
2339 2011-09-25  Bruno Haible  <bruno@clisp.org>
2340
2341         msvc-inval: Allow three invalid parameter handling modes.
2342         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2343         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2344         macros.
2345         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2346         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2347         SANE_LIBRARY_HANDLING as a no-op.
2348         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2349         <stdlib.h>.
2350         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2351
2352 2011-09-25  Bruno Haible  <bruno@clisp.org>
2353
2354         msvc-inval: Make handler multithread-safe.
2355         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2356         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2357         declarations.
2358         (gl_msvc_inval_current): New declaration.
2359         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2360         Operate on the structure returned by gl_msvc_inval_current().
2361         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2362         Remove varaiables.
2363         (tls_index, tls_initialized): New variables.
2364         (not_per_thread): New variable.
2365         (gl_msvc_inval_current): New function.
2366         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2367         returned by gl_msvc_inval_current().
2368
2369 2011-09-25  Bruno Haible  <bruno@clisp.org>
2370
2371         msvc-inval: Install handler globally.
2372         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2373         !_MSC_VER.
2374         (gl_msvc_invalid_parameter_handler): Remove declaration.
2375         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2376         declarations.
2377         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2378         Install the handler globally, don't uninstall it.
2379         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2380         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2381         currently valid, call RaiseException instead.
2382         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2383         for !_MSC_VER.
2384
2385 2011-09-25  Bruno Haible  <bruno@clisp.org>
2386
2387         strerror_r-posix: Fix for MSVC 9.
2388         * lib/strerror_r.c (local_snprintf): New function.
2389         (snprintf): Define to local_snprintf, not to _snprintf.
2390
2391 2011-09-25  Bruno Haible  <bruno@clisp.org>
2392
2393         ftruncate: Support for MSVC 9.
2394         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2395         (chsize_nothrow): New function.
2396         (chsize): Redefine as a macro.
2397         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2398         * modules/ftruncate (Depends-on): Add msvc-inval.
2399
2400 2011-09-25  Bruno Haible  <bruno@clisp.org>
2401
2402         New module 'fstat'.
2403         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2404         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2405         * lib/fchdir.c (rpl_fstat): Remove function.
2406         * m4/fstat.m4: New file.
2407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2408         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2409         declared.
2410         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2411         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2412         * modules/fstat: New file.
2413         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2414         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2415         is set.
2416         * doc/posix-functions/fstat.texi: Mention the new module and the
2417         problem on MSVC.
2418         * NEWS: Mention the change.
2419         * modules/acl (Depends-on): Add fstat.
2420         * modules/chdir-safer (Depends-on): Likewise.
2421         * modules/chown (Depends-on): Likewise.
2422         * modules/copy-file (Depends-on): Likewise.
2423         * modules/fchdir (Depends-on): Likewise.
2424         * modules/fdopendir (Depends-on): Likewise.
2425         * modules/fopen (Depends-on): Likewise.
2426         * modules/fts (Depends-on): Likewise.
2427         * modules/getcwd (Depends-on): Likewise.
2428         * modules/isapipe (Depends-on): Likewise.
2429         * modules/linkat (Depends-on): Likewise.
2430         * modules/lseek (Depends-on): Likewise.
2431         * modules/mkdir-p (Depends-on): Likewise.
2432         * modules/open (Depends-on): Likewise.
2433         * modules/openat (Depends-on): Likewise.
2434         * modules/read-file (Depends-on): Likewise.
2435         * modules/renameat (Depends-on): Likewise.
2436         * modules/utimens (Depends-on): Likewise.
2437
2438 2011-09-25  Bruno Haible  <bruno@clisp.org>
2439
2440         linkat: Fix compilation on MSVC 9.
2441         * lib/linkat.c: Don't include <stdint.h>.
2442
2443 2011-09-25  Bruno Haible  <bruno@clisp.org>
2444
2445         fclose: Support for MSVC 9.
2446         * lib/fclose.c: Include msvc-inval.h.
2447         (fclose_nothrow): New function.
2448         (rpl_fclose): Use it.
2449         * modules/fclose (Depends-on): Add msvc-inval.
2450         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2451
2452 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2453
2454         dup2: minor simplifications
2455         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2456         that it's a performance win.
2457         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2458         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2459
2460 2011-09-24  Jim Meyering  <meyering@redhat.com>
2461
2462         test-futimens: avoid a warning from gcc -Wshadow
2463         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2464         to avoid a shadowing warning.
2465
2466 2011-09-24  Bruno Haible  <bruno@clisp.org>
2467
2468         fdopen: Support for MSVC 9.
2469         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2470         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2471         * lib/fdopen.c: Include msvc-inval.h.
2472         (fdopen_nothrow): New function.
2473         (rpl_fdopen): Use it.
2474         * modules/fdopen (Depends-on): Add msvc-inval.
2475         * modules/fclose-tests (Depends-on): Add fdopen.
2476         * modules/fflush-tests (Depends-on): Likewise.
2477         * modules/fgetc-tests (Depends-on): Likewise.
2478         * modules/fputc-tests (Depends-on): Likewise.
2479         * modules/fread-tests (Depends-on): Likewise.
2480         * modules/freopen-tests (Depends-on): Likewise.
2481         * modules/fseeko-tests (Depends-on): Likewise.
2482         * modules/ftello-tests (Depends-on): Likewise.
2483         * modules/fwrite-tests  (Depends-on): Likewise.
2484         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2485
2486 2011-09-24  Bruno Haible  <bruno@clisp.org>
2487
2488         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2489         * modules/fgetc-tests (Depends-on): Add unistd.
2490         * modules/fputc-tests (Depends-on): Likewise.
2491         * modules/fread-tests (Depends-on): Likewise.
2492         * modules/fwrite-tests (Depends-on): Likewise.
2493
2494 2011-09-24  Bruno Haible  <bruno@clisp.org>
2495
2496         dup: Simplify autoconf test.
2497         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2498         on gl_MSVC_INVAL's result.
2499
2500 2011-09-24  Bruno Haible  <bruno@clisp.org>
2501
2502         Tests for function fwrite().
2503         * modules/fwrite-tests: New file.
2504         * tests/test-fwrite.c: New file.
2505         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2506
2507         Tests for function fread().
2508         * modules/fread-tests: New file.
2509         * tests/test-fread.c: New file.
2510         * modules/stdio-tests (Depends-on): Add fread-tests.
2511
2512         Activate fputc tests.
2513         * modules/stdio-tests (Depends-on): Add fputc-tests.
2514
2515         Enhance fgetc, fputc tests.
2516         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2517         * tests/test-fputc.c (main): Likewise.
2518
2519 2011-09-24  Bruno Haible  <bruno@clisp.org>
2520
2521         write: Support for MSVC 9.
2522         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2523         is not 1.
2524         * lib/write.c (write_nothrow): New function.
2525         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2526         not 1. Use write_nothrow.
2527         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2528         invalid parameter handler.
2529         (gl_PREREQ_WRITE): New macro.
2530         * modules/write (Depends-on): Add msvc-inval.
2531         (configure.ac): Invoke gl_PREREQ_WRITE.
2532         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2533
2534 2011-09-24  Bruno Haible  <bruno@clisp.org>
2535
2536         read: Fix last commit.
2537         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2538
2539 2011-09-24  Bruno Haible  <bruno@clisp.org>
2540
2541         dup2: Fix last commit.
2542         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2543         (rpl_dup2): Disable fcntl workaround on native Windows.
2544
2545         sigprocmask: Make code safer.
2546         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2547         section that changes macro definitions for this compilation unit.
2548
2549 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2550
2551         dup2: clarify by coalescing Windows-specific material
2552         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2553         "msvc-nothrow.h"' to the Windows-specific section, so that the
2554         Emacs source need not contain these include files.
2555         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2556         Windows-specific fixes into this function rather than just the
2557         nothrow fix, as this shortens and clarifies the code.  Always
2558         define as a function, as that's a bit cleaner than having it be
2559         sometimes a function and sometimes a macro.
2560         (rpl_dup2): Move the Windows-specific stuff out of here and into
2561         ms_windows_dup2.  Don't protect the Haiku-related fix with
2562         "#if !defined __linux__", as the same code also works around
2563         a Linux kernel bug, and it doesn't add any system calls on any
2564         platform.  Add comment about FreeBSD 6.1.
2565
2566         sigprocmask: move #include directive
2567         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2568         Windows-specific section, so that the Emacs source need not
2569         contain msvc-inval.h.
2570
2571 2011-09-23  Bruno Haible  <bruno@clisp.org>
2572
2573         read: Support for MSVC 9.
2574         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2575         is not 1.
2576         * lib/read.c (read_nothrow): New function.
2577         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2578         read_nothrow.
2579         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2580         invalid parameter handler.
2581         (gl_PREREQ_READ): New macro.
2582         * modules/read (Depends-on): Add msvc-inval.
2583         (configure.ac): Invoke gl_PREREQ_READ.
2584         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2585
2586 2011-09-23  Bruno Haible  <bruno@clisp.org>
2587
2588         close: Support for MSVC 9.
2589         * lib/close.c: Include <errno.h>, msvc-inval.h.
2590         (close_nothrow): New function.
2591         (rpl_close): Use it.
2592         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2593         invalid parameter handler.
2594         * modules/close (Depends-on): Add msvc-inval.
2595         * modules/dup2-tests (Depends-on): Add close.
2596         * modules/dup3-tests (Depends-on): Likewise.
2597         * modules/fcntl-tests (Depends-on): Likewise.
2598         * modules/spawn-pipe-tests (Depends-on): Likewise.
2599         * modules/unistd-safer-tests (Depends-on): Likewise.
2600         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2601
2602 2011-09-23  Bruno Haible  <bruno@clisp.org>
2603
2604         New module 'dup'.
2605         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2606         Allow replacement.
2607         * lib/dup.c: New file.
2608         * lib/fchdir.c (rpl_dup): Remove function.
2609         * m4/dup.m4: New file.
2610         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2611         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2612         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2613         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2614         * modules/dup: New file.
2615         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2616         'dup' module is in use.
2617         * modules/fdopendir (Depends-on): Add dup.
2618         * modules/fdutimensat-tests (Depends-on): Likewise.
2619         * modules/fts (Depends-on): Likewise.
2620         * modules/futimens-tests (Depends-on): Likewise.
2621         * modules/posix_spawnp-tests (Depends-on): Likewise.
2622         * modules/unistd-safer-tests (Depends-on): Likewise.
2623         * modules/utimens-tests (Depends-on): Likewise.
2624         * doc/posix-functions/dup.texi: Mention the new module and the problem
2625         on MSVC.
2626
2627 2011-09-23  Bruno Haible  <bruno@clisp.org>
2628
2629         getdtablesize: Support for MSVC 9.
2630         * lib/getdtablesize.c: Include msvc-inval.h.
2631         (_setmaxstdio_nothrow): New function.
2632         (_setmaxstdio): Redefine it.
2633         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2634         * modules/getdtablesize (Depends-on): Add msvc-inval.
2635         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2636
2637 2011-09-23  Bruno Haible  <bruno@clisp.org>
2638
2639         signal-h: Rename from signal.
2640         * modules/signal-h: Renamed from modules/signal.
2641         * modules/pthread_sigmask (Depends-on): Update.
2642         * modules/raise (Depends-on): Likewise.
2643         * modules/sigaction (Depends-on): Likewise.
2644         * modules/sigpipe (Depends-on): Likewise.
2645         * modules/sigprocmask (Depends-on): Likewise.
2646         * modules/sys_select (Depends-on): Likewise.
2647         * modules/signal-h-tests: Renamed from modules/signal-tests.
2648         (Files, Depends-on, Makefile.am): Update.
2649         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2650         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2651         (Files, Makefile.am): Update.
2652         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2653         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2654         * modules/signal: New placeholder file.
2655         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2656         * doc/posix-headers/signal.texi: Update.
2657         * NEWS: Mention the change.
2658
2659 2011-09-23  Bruno Haible  <bruno@clisp.org>
2660
2661         sigprocmask: Avoid crashes through signal() on MSVC 9.
2662         * lib/sigprocmask.c: Include msvc-inval.h.
2663         (signal_nothrow): New function.
2664         (signal): Redefine it.
2665         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2666         * modules/sigprocmask (Depends-on): Add msvc-inval.
2667         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2668
2669 2011-09-23  Bruno Haible  <bruno@clisp.org>
2670
2671         Tests for module 'raise'.
2672         * modules/raise-tests: New file.
2673         * tests/test-raise.c: New file.
2674
2675         raise: Support for MSVC.
2676         * lib/signal.in.h (raise): New declaration.
2677         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2678         for native Windows platforms.
2679         * m4/raise.m4: New file.
2680         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2681         HAVE_RAISE, REPLACE_RAISE.
2682         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2683         REPLACE_RAISE.
2684         * modules/raise (Status, Notice): Remove fields.
2685         (Files): Add m4/raise.m4.
2686         (Depends-on): Add signal, msvc-inval.
2687         (configure.ac): Use the common idioms.
2688         (Maintainer): Add me.
2689         * tests/test-signal-c++.cc: Check the signature of raise.
2690         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2691
2692 2011-09-23  Bruno Haible  <bruno@clisp.org>
2693
2694         pipe2: Fix compilation on pre-C99 compilers.
2695         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2696
2697 2011-09-23  Bruno Haible  <bruno@clisp.org>
2698
2699         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2700         * lib/msvc-nothrow.h: New file.
2701         * lib/msvc-nothrow.c: New file.
2702         * m4/msvc-nothrow.m4: New file.
2703         * modules/msvc-nothrow: New file.
2704         * lib/dup2.c: Include msvc-nothrow.h.
2705         (rpl_dup2): No need to protect _get_osfhandle call here.
2706         * lib/accept4.c: Include msvc-nothrow.h.
2707         * lib/error.c: Likewise.
2708         * lib/fcntl.c: Likewise.
2709         * lib/lseek.c: Likewise.
2710         * lib/nonblocking.c: Likewise.
2711         * lib/poll.c: Likewise.
2712         * lib/read.c: Likewise.
2713         * lib/select.c: Likewise.
2714         * lib/sockets.h: Likewise.
2715         * lib/sockets.c: Likewise.
2716         * lib/stdio-read.c: Likewise.
2717         * lib/stdio-write.c: Likewise.
2718         * lib/write.c: Likewise.
2719         * lib/w32sock.h: Likewise.
2720         * lib/w32spawn.h: Likewise.
2721         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2722         * lib/fsync.c: Likewise.
2723         * lib/isapipe.c: Likewise.
2724         * modules/dup2 (Depends-on): Add msvc-nothrow.
2725         * modules/accept4 (Depends-on): Likewise.
2726         * modules/error (Depends-on): Likewise.
2727         * modules/fcntl (Depends-on): Likewise.
2728         * modules/lseek (Depends-on): Likewise.
2729         * modules/nonblocking (Depends-on): Likewise.
2730         * modules/poll (Depends-on): Likewise.
2731         * modules/read (Depends-on): Likewise.
2732         * modules/select (Depends-on): Likewise.
2733         * modules/sockets (Depends-on): Likewise.
2734         * modules/sigpipe (Depends-on): Likewise.
2735         * modules/write (Depends-on): Likewise.
2736         * modules/accept (Depends-on): Likewise.
2737         * modules/bind (Depends-on): Likewise.
2738         * modules/connect (Depends-on): Likewise.
2739         * modules/gethostname (Depends-on): Likewise.
2740         * modules/getpeername (Depends-on): Likewise.
2741         * modules/getsockname (Depends-on): Likewise.
2742         * modules/getsockopt (Depends-on): Likewise.
2743         * modules/ioctl (Depends-on): Likewise.
2744         * modules/listen (Depends-on): Likewise.
2745         * modules/recv (Depends-on): Likewise.
2746         * modules/recvfrom (Depends-on): Likewise.
2747         * modules/send (Depends-on): Likewise.
2748         * modules/sendto (Depends-on): Likewise.
2749         * modules/setsockopt (Depends-on): Likewise.
2750         * modules/shutdown (Depends-on): Likewise.
2751         * modules/socket (Depends-on): Likewise.
2752         * modules/execute (Depends-on): Likewise.
2753         * modules/spawn-pipe (Depends-on): Likewise.
2754         * modules/flock (Depends-on): Likewise.
2755         * modules/fsync (Depends-on): Likewise.
2756         * modules/isapipe (Depends-on): Likewise.
2757         * tests/test-cloexec.c: Include msvc-nothrow.h.
2758         * tests/test-dup-safer.c: Likewise.
2759         * tests/test-dup2.c: Likewise.
2760         * tests/test-dup3.c: Likewise.
2761         * tests/test-fcntl.c: Likewise.
2762         * tests/test-pipe.c: Likewise.
2763         * tests/test-pipe2.c: Likewise.
2764         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2765         * modules/unistd-safer-tests (Depends-on): Likewise.
2766         * modules/dup2-tests (Depends-on): Likewise.
2767         * modules/dup3-tests (Depends-on): Likewise.
2768         * modules/fcntl-tests (Depends-on): Likewise.
2769         * modules/pipe-posix-tests (Depends-on): Likewise.
2770         * modules/pipe2-tests (Depends-on): Likewise.
2771
2772 2011-09-23  Bruno Haible  <bruno@clisp.org>
2773
2774         dup2: Make code more maintainable.
2775         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2776         (rpl_dup2): Use it.
2777         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2778         * modules/dup2 (configure.ac): Invoke it.
2779         Reported by Paul Eggert.
2780
2781 2011-09-23  Bruno Haible  <bruno@clisp.org>
2782
2783         msvc-inval: Fix compilation error.
2784         * lib/msvc-inval.h: Include <excpt.h>.
2785
2786 2011-09-23  Bruno Haible  <bruno@clisp.org>
2787
2788         mkdir: Tweak for MSVC 9.
2789         * lib/sys_stat.in.h: Update comments.
2790         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2791
2792         Tests for module 'chdir'.
2793         * modules/chdir-tests: New file.
2794         * tests/test-chdir.c: New file.
2795
2796         New module 'chdir'.
2797         * modules/chdir: New file.
2798         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2799         (chdir): New declaration.
2800         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2801         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2802         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2803         * tests/test-unistd-c++.cc: Check signature of chdir.
2804         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2805         * modules/chdir-long (Depends-on): Add chdir.
2806         * modules/fchdir (Depends-on): Likewise.
2807         * modules/rename (Depends-on): Likewise.
2808         * modules/savewd (Depends-on): Likewise.
2809
2810         rmdir: Support for mingw, MSVC 9.
2811         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2812         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2813
2814         getcwd: Tweak for MSVC 9.
2815         * lib/unistd.in.h: Update comments.
2816         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2817
2818 2011-09-22  Bruno Haible  <bruno@clisp.org>
2819
2820         strerror_r-posix: Avoid a link error on MSVC.
2821         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2822         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2823
2824 2011-09-22  Bruno Haible  <bruno@clisp.org>
2825
2826         select: Avoid link errors on MSVC.
2827         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2828         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2829         * modules/pselect (Link): Likewise.
2830         * NEWS: Mention the change.
2831         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2832         test-select-stdin against $(LIB_SELECT).
2833         * modules/pselect-tests (Makefile.am): Link test-pselect against
2834         $(LIB_SELECT).
2835
2836 2011-09-22  Bruno Haible  <bruno@clisp.org>
2837
2838         select: Avoid compilation error on MSVC.
2839         * lib/select.c: Don't include <stdbool.h>.
2840
2841 2011-09-21  Bruno Haible  <bruno@clisp.org>
2842
2843         Consolidate all uses of PATH_MAX in *.m4 files.
2844         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2845         macros.
2846         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2847         and gl_PATHMAX_SNIPPET.
2848         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2849         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2850         * modules/chdir-long (Files): Add m4/pathmax.m4.
2851         * modules/getcwd (Files): Likewise.
2852
2853 2011-09-21  Bruno Haible  <bruno@clisp.org>
2854
2855         ftruncate: Un-deprecate, concentrate on Win32 support.
2856         * modules/ftruncate (Status, Notice): Remove sections.
2857         (Depends-on): Add largefile.
2858         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2859         non-mingw platforms.
2860         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2861         include <io.h>.
2862         * modules/perror-tests (Depends-on): Add ftruncate.
2863         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2864         'ftruncate' module.
2865
2866 2011-09-21  Bruno Haible  <bruno@clisp.org>
2867
2868         Add dependencies to new dirent related modules.
2869         * modules/opendir (Depends-on): Add closedir.
2870         * modules/getcwd (Depends-on): Add opendir, closedir.
2871         * modules/dirent-safer-tests (Depends-on): Likewise.
2872         * modules/fdopendir-tests (Depends-on): Likewise.
2873         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2874         * modules/renameat-tests (Depends-on): Likewise.
2875
2876 2011-09-21  Bruno Haible  <bruno@clisp.org>
2877
2878         opendir: Avoid compilation error on mingw.
2879         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2880         * modules/opendir (Depends-on): Add unistd.
2881
2882 2011-09-21  Bruno Haible  <bruno@clisp.org>
2883
2884         ftruncate tests: Avoid a test failure on mingw.
2885         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2886
2887 2011-09-21  Bruno Haible  <bruno@clisp.org>
2888
2889         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2890         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2891         native Windows.
2892
2893 2011-09-21  Bruno Haible  <bruno@clisp.org>
2894
2895         New module 'fdopen'.
2896         * lib/stdio.in.h (fdopen): New declaration.
2897         * lib/fdopen.c: New file.
2898         * m4/fdopen.m4: New file.
2899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2900         REPLACE_FDOPEN.
2901         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2902         REPLACE_FDOPEN.
2903         * modules/fdopen: New file.
2904         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2905         * tests/test-stdio-c++.cc: Check signature of fdopen.
2906         * doc/posix-functions/fdopen.texi: Mention the new module.
2907
2908 2011-09-21  Bruno Haible  <bruno@clisp.org>
2909
2910         unlockpt tests: Avoid test failure on NetBSD 5.1.
2911         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2912         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2913
2914 2011-09-21  Bruno Haible  <bruno@clisp.org>
2915
2916         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2917         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2918         * tests/test-getlogin_r.c (main): Likewise.
2919
2920 2011-09-20  Bruno Haible  <bruno@clisp.org>
2921
2922         time tests: Don't require pid_t.
2923         * doc/posix-headers/time.texi: Revert last change.
2924         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2925         * tests/test-time.c: Comment out the check for pid_t.
2926
2927 2011-09-20  Bruno Haible  <bruno@clisp.org>
2928
2929         fsync tests: Avoid a test failure on mingw.
2930         * tests/test-fsync.c (main): Allow a failure with EIO.
2931
2932 2011-09-20  Bruno Haible  <bruno@clisp.org>
2933
2934         euidaccess: Update comments.
2935         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2936
2937 2011-09-20  Bruno Haible  <bruno@clisp.org>
2938
2939         Ensure EBADF returns for socket functions on mingw.
2940         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2941         descriptor is invalid.
2942         * lib/bind.c (rpl_bind): Likewise.
2943         * lib/connect.c (rpl_connect): Likewise.
2944         * lib/getpeername.c (rpl_getpeername): Likewise.
2945         * lib/getsockname.c (rpl_getsockname): Likewise.
2946         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2947         * lib/listen.c (rpl_listen): Likewise.
2948         * lib/recv.c (rpl_recv): Likewise.
2949         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2950         * lib/send.c (rpl_send): Likewise.
2951         * lib/sendto.c (rpl_sendto): Likewise.
2952         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2953         * lib/shutdown.c (rpl_shutdown): Likewise.
2954
2955 2011-09-20  Bruno Haible  <bruno@clisp.org>
2956
2957         select tests: EBADF tests.
2958         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2959         test_bad_fd): New functions.
2960         (test_function): Invoke also test_bad_fd.
2961
2962 2011-09-20  Bruno Haible  <bruno@clisp.org>
2963
2964         Tests for module 'posix_spawn_file_actions_addopen.
2965         * modules/posix_spawn_file_actions_addopen-tests: New file.
2966         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2967
2968         Tests for module 'posix_spawn_file_actions_adddup2'.
2969         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2970         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2971
2972         Tests for module 'posix_spawn_file_actions_addclose'.
2973         * modules/posix_spawn_file_actions_addclose-tests: New file.
2974         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2975
2976 2011-09-20  Bruno Haible  <bruno@clisp.org>
2977
2978         Tests for module 'unlockpt'.
2979         * modules/unlockpt-tests: New file.
2980         * tests/test-unlockpt.c: New file.
2981         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2982
2983         Tests for module 'grantpt'.
2984         * modules/grantpt-tests: New file.
2985         * tests/test-grantpt.c: New file.
2986         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2987
2988 2011-09-20  Bruno Haible  <bruno@clisp.org>
2989
2990         freopen tests: EBADF tests.
2991         * tests/test-freopen.c: Include errno.h, unistd.h.
2992         (main): Add tests for EBADF, commented out for the moment.
2993
2994         fclose tests: EBADF tests.
2995         * tests/test-fclose.c (main): Add tests for EBADF.
2996
2997         fflush tests: EBADF tests.
2998         * tests/test-fflush.c: Include errno.h, macros.h.
2999         (main): Add tests for EBADF.
3000
3001         ftello tests: EBADF tests.
3002         * tests/test-ftello4.sh: New file.
3003         * tests/test-ftello4.c: New file.
3004         * modules/ftello-tests (Files): Add them.
3005         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
3006
3007         fseeko tests: EBADF tests.
3008         * tests/test-fseeko4.sh: New file.
3009         * tests/test-fseeko4.c: New file.
3010         * modules/fseeko-tests (Files): Add them.
3011         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
3012
3013         Tests for function fputc().
3014         * modules/fputc-tests: New file.
3015         * tests/test-fputc.c: New file.
3016         * modules/stdio-tests (Depends-on): Add fputc-tests.
3017
3018         Tests for function fgetc().
3019         * modules/fgetc-tests: New file.
3020         * tests/test-fgetc.c: New file.
3021         * modules/stdio-tests (Depends-on): Add fgetc-tests.
3022
3023         Tests for function fdopen().
3024         * modules/fdopen-tests: New file.
3025         * tests/test-fdopen.c: New file.
3026         * modules/stdio-tests (Depends-on): Add fdopen-tests.
3027
3028         Tests for module 'vdprintf'.
3029         * modules/vdprintf-tests: New file.
3030         * tests/test-vdprintf.c: New file.
3031
3032         Tests for module 'dprintf'.
3033         * modules/dprintf-tests: New file.
3034         * tests/test-dprintf.c: New file.
3035
3036 2011-09-20  Bruno Haible  <bruno@clisp.org>
3037
3038         Tests for module 'ioctl'.
3039         * modules/ioctl-tests: New file.
3040         * tests/test-ioctl.c: New file.
3041
3042 2011-09-20  Bruno Haible  <bruno@clisp.org>
3043
3044         fcntl tests: EBADF tests.
3045         * tests/test-fcntl.c (main): Add more tests for EBADF.
3046
3047 2011-09-20  Bruno Haible  <bruno@clisp.org>
3048
3049         utimensat tests: EBADF tests.
3050         * tests/test-utimensat.c (main): Add tests for EBADF.
3051
3052         renameat tests: EBADF tests.
3053         * tests/test-renameat.c (main): Add tests for EBADF.
3054
3055         mkfifoat tests: EBADF tests.
3056         * tests/test-mkfifoat.c (main): Add tests for EBADF.
3057
3058         readlinkat tests: EBADF tests.
3059         * tests/test-readlinkat.c (main): Add tests for EBADF.
3060
3061         symlinkat tests: EBADF tests.
3062         * tests/test-symlinkat.c (main): Add tests for EBADF.
3063
3064         linkat tests: EBADF tests.
3065         * tests/test-linkat.c (main): Add tests for EBADF.
3066
3067         Tests for module 'faccessat'.
3068         * modules/faccessat-tests: New file.
3069         * tests/test-faccessat.c: New file.
3070
3071         fdopendir tests: EBADF tests.
3072         * tests/test-fdopendir.c (main): Add more tests for EBADF.
3073
3074         openat tests: EBADF tests.
3075         * tests/test-fchownat.c (main): Add tests for EBADF.
3076         * tests/test-fstatat.c (main): Likewise.
3077         * tests/test-mkdirat.c (main): Likewise.
3078         * tests/test-openat.c (main): Likewise.
3079         * tests/test-unlinkat.c (main): Likewise.
3080         * tests/test-fchmodat.c: New file.
3081         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
3082         (Makefile.am): Also run 'test-fchmodat'.
3083
3084 2011-09-20  Bruno Haible  <bruno@clisp.org>
3085
3086         utimens, futimens, fdutimensat tests: EBADF tests.
3087         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
3088
3089         Tests for function fstat().
3090         * modules/fstat-tests: New file.
3091         * tests/test-fstat.c: New file.
3092         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
3093
3094 2011-09-20  Bruno Haible  <bruno@clisp.org>
3095
3096         test-ttyname_r tests: EBADF tests.
3097         * tests/test-ttyname_r.c (main): Add tests for EBADF.
3098
3099         Tests for module 'isatty'.
3100         * modules/isatty-tests: New file.
3101         * tests/test-isatty.c: New file.
3102
3103         Tests for module 'write'.
3104         * modules/write-tests: New file.
3105         * tests/test-write.c: New file.
3106
3107         Tests for module 'read'.
3108         * modules/read-tests: New file.
3109         * tests/test-read.c: New file.
3110
3111         pwrite tests: EBADF tests.
3112         * tests/test-pwrite.c (main): Add tests for EBADF.
3113
3114         pread tests: EBADF tests.
3115         * tests/test-pread.c (main): Add tests for EBADF.
3116
3117         lseek tests: EBADF tests.
3118         * tests/test-lseek.c (main): Add more tests for EBADF.
3119
3120         Tests for module 'ftruncate'.
3121         * modules/ftruncate-tests: New file.
3122         * tests/test-ftruncate.sh: New file.
3123         * tests/test-ftruncate.c: New file.
3124
3125         fsync tests: EBADF tests.
3126         * tests/test-fsync.c (main): Add more tests for EBADF.
3127
3128         fdatasync tests: EBADF tests.
3129         * tests/test-fdatasync.c (main): Add more tests for EBADF.
3130
3131         Tests for module 'fchown'.
3132         * modules/fchown-tests: New file.
3133         * tests/test-fchown.c: New file.
3134
3135         Tests for module 'fchmod'.
3136         * modules/fchmod-tests: New file.
3137         * tests/test-fchmod.c: New file.
3138
3139         fchdir tests: EBADF tests.
3140         * tests/test-fchdir.c (main): Add more tests for EBADF.
3141
3142         dup2 tests: EBADF tests.
3143         * tests/test-dup2.c (main): Add more tests for EBADF.
3144
3145         Tests for module 'dup'.
3146         * modules/dup-tests: New file.
3147         * tests/test-dup.c: New file.
3148
3149         Tests for module 'close'.
3150         * modules/close-tests: New file.
3151         * tests/test-close.c: New file.
3152
3153 2011-09-20  Bruno Haible  <bruno@clisp.org>
3154
3155         Tests for module 'shutdown'.
3156         * modules/shutdown-tests: New file.
3157         * tests/test-shutdown.c: New file.
3158
3159         Tests for module 'setsockopt'.
3160         * modules/setsockopt-tests: New file.
3161         * tests/test-setsockopt.c: New file.
3162
3163         Tests for module 'sendto'.
3164         * modules/sendto-tests: New file.
3165         * tests/test-sendto.c: New file.
3166
3167         Tests for module 'send'.
3168         * modules/send-tests: New file.
3169         * tests/test-send.c: New file.
3170
3171         Tests for module 'recvfrom'.
3172         * modules/recvfrom-tests: New file.
3173         * tests/test-recvfrom.c: New file.
3174
3175         Tests for module 'recv'.
3176         * modules/recv-tests: New file.
3177         * tests/test-recv.c: New file.
3178
3179         Tests for module 'listen'.
3180         * modules/listen-tests: New file.
3181         * tests/test-listen.c: New file.
3182
3183         Tests for module 'getsockopt'.
3184         * modules/getsockopt-tests: New file.
3185         * tests/test-getsockopt.c: New file.
3186
3187         Tests for module 'getsockname'.
3188         * modules/getsockname-tests: New file.
3189         * tests/test-getsockname.c: New file.
3190
3191         Tests for module 'getpeername'.
3192         * modules/getpeername-tests: New file.
3193         * tests/test-getpeername.c: New file.
3194
3195         Tests for module 'connect'.
3196         * modules/connect-tests: New file.
3197         * tests/test-connect.c: New file.
3198
3199         Tests for module 'bind'.
3200         * modules/bind-tests: New file.
3201         * tests/test-bind.c: New file.
3202
3203         accept4 tests: Fix for native Windows.
3204         * tests/test-accept4.c: Include sockets.h.
3205         (main): Invoke gl_sockets_startup.
3206         * modules/accept4-tests (Depends-on): Add sockets.
3207
3208         accept tests: Fix for native Windows.
3209         * tests/test-accept.c: Include sockets.h.
3210         (main): Invoke gl_sockets_startup.
3211         * modules/accept-tests (Depends-on): Add sockets.
3212
3213 2011-09-19  Bruno Haible  <bruno@clisp.org>
3214
3215         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3216         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3217         do...while(0).
3218         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3219         Suggested by Paul Eggert.
3220
3221 2011-09-19  Bruno Haible  <bruno@clisp.org>
3222
3223         sched: Ensure pid_t is defined.
3224         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3225         not define pid_t.
3226         * lib/sched.in.h: Include <sys/types.h>.
3227         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3229
3230 2011-09-19  Bruno Haible  <bruno@clisp.org>
3231
3232         msvc-inval: Ensure the entire expansion is a single statement.
3233         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3234         of braces.
3235
3236 2011-09-19  Jim Meyering  <meyering@redhat.com>
3237
3238         tests: use printf, not echo in init.sh's warn_ function
3239         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3240         misbehave when given strings containing a backslash or starting
3241         with e.g., -n.  James Youngman suggested setting IFS.
3242
3243 2011-09-19  Eric Blake  <eblake@redhat.com>
3244
3245         futimens: enhance test
3246         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3247         closed non-negative fd.
3248
3249         date: accept 'hence' as opposite of 'ago'
3250         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3251         * tests/test-parse-datetime.c (main): Enhance test.
3252         Suggested by Jesse Wilson.
3253
3254 2011-09-19  Jim Meyering  <meyering@redhat.com>
3255
3256         getcwd: don't fail in a deep directory on a system without openat
3257         Before this change, getcwd would fail when called from a directory
3258         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3259         the non-openat implementation used "..", "../..", "../../..", etc.
3260         to access ancestor directories.  With too many, that string would
3261         be longer than PATH_MAX.
3262         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3263         using gnulib's openat replacement.
3264         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3265         we're using the replacement function.
3266
3267 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3268
3269         maint.mk: avoid warnings from perl about missing files
3270         * top/maint.mk (def_sym_regex): Ignore files listed in
3271         $(gl_other_headers_) that do not exist, say because a project
3272         does not use a corresponding module.
3273
3274 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3275
3276         stat: use pathmax.h only if needed
3277         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3278         This is better for Emacs, which does not have a mingw port and
3279         therefore can avoid the pathmax module.
3280
3281         utimens: remove dependency on dup2
3282         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3283         to work around the Linux kernel bug.
3284         * modules/utimens (Depends-on): Remove dup2.
3285
3286 2011-09-18  Bruno Haible  <bruno@clisp.org>
3287
3288         inet_ntop, inet_pton: Look for it also in libresolv.
3289         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3290         libnsl, search for it in libresolv.
3291         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3292         Needed on Solaris 7.
3293
3294 2011-09-18  Bruno Haible  <bruno@clisp.org>
3295
3296         accept, accept4 tests: Avoid link error on Solaris.
3297         * modules/accept-tests (Makefile.am): Link test-accept against
3298         $(LIBSOCKET).
3299         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3300         $(LIBSOCKET).
3301
3302         accept4: Avoid link error on Solaris.
3303         * modules/accept4 (Link): New section.
3304
3305         socket functions: Avoid link errors on Solaris.
3306         * modules/accept (Depends-on): Add socketlib.
3307         (Link): New section.
3308         * modules/bind (Depends-on): Add socketlib.
3309         (Link): New section.
3310         * modules/connect (Depends-on): Add socketlib.
3311         (Link): New section.
3312         * modules/getpeername (Depends-on): Add socketlib.
3313         (Link): New section.
3314         * modules/getsockname (Depends-on): Add socketlib.
3315         (Link): New section.
3316         * modules/getsockopt (Depends-on): Add socketlib.
3317         (Link): New section.
3318         * modules/listen (Depends-on): Add socketlib.
3319         (Link): New section.
3320         * modules/recv (Depends-on): Add socketlib.
3321         (Link): New section.
3322         * modules/recvfrom (Depends-on): Add socketlib.
3323         (Link): New section.
3324         * modules/send (Depends-on): Add socketlib.
3325         (Link): New section.
3326         * modules/sendto (Depends-on): Add socketlib.
3327         (Link): New section.
3328         * modules/setsockopt (Depends-on): Add socketlib.
3329         (Link): New section.
3330         * modules/shutdown (Depends-on): Add socketlib.
3331         (Link): New section.
3332         * modules/socket (Depends-on): Add socketlib.
3333         (Link): New section.
3334
3335 2011-09-18  Bruno Haible  <bruno@clisp.org>
3336
3337         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3338         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3339         than 5 seconds.
3340         * modules/ptsname-tests (configure.ac): Test for alarm.
3341
3342 2011-09-18  Bruno Haible  <bruno@clisp.org>
3343
3344         posix_spawn_file_actions_add*: Fix module dependencies.
3345         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3346         posix_spawn_file_actions_init.
3347         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3348         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3349
3350 2011-09-18  Bruno Haible  <bruno@clisp.org>
3351
3352         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3353         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3354         * tests/test-renameat.c (main): Likewise.
3355
3356 2011-09-18  Bruno Haible  <bruno@clisp.org>
3357
3358         Tests for module 'accept4'.
3359         * modules/accept4-tests: New file.
3360         * tests/test-accept4.c: New file.
3361
3362 2011-09-18  Bruno Haible  <bruno@clisp.org>
3363
3364         Tests for module 'accept'.
3365         * modules/accept-tests: New file.
3366         * tests/test-accept.c: New file.
3367
3368 2011-09-18  Bruno Haible  <bruno@clisp.org>
3369
3370         dup2: Support for MSVC.
3371         * lib/dup2.c: Include msvc-inval.h.
3372         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3373         _get_osfhandle calls.
3374         * modules/dup2 (Depends-on): Add msvc-inval.
3375         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3376
3377         New module 'msvc-inval'.
3378         * lib/msvc-inval.h: New file.
3379         * lib/msvc-inval.c: New file.
3380         * m4/msvc-inval.m4: New file.
3381         * modules/msvc-inval: New file.
3382
3383 2011-09-17  Bruno Haible  <bruno@clisp.org>
3384
3385         Tests for module 'pclose'.
3386         * modules/pclose-tests: New file.
3387
3388         New module 'pclose'.
3389         * lib/stdio.in.h (pclose): New declaration.
3390         * lib/pclose.c: New file.
3391         * m4/pclose.m4: New file.
3392         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3393         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3394         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3395         * modules/pclose: New file.
3396         * modules/popen-tests (Depends-on): Add pclose.
3397         * modules/popen-safer-tests (Depends-on): Likewise.
3398         * doc/posix-functions/pclose.texi: Mention the new module.
3399
3400 2011-09-17  Bruno Haible  <bruno@clisp.org>
3401
3402         popen: Support for MSVC.
3403         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3404         * lib/popen.c (popen): Provide alternate definition for native Windows.
3405         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3407         * modules/popen (Depends-on, configure.ac): Update condition.
3408         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3409         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3410         fixed.
3411
3412 2011-09-17  Bruno Haible  <bruno@clisp.org>
3413
3414         isnanl, isnand, isnanf: Work around MSVC bug.
3415         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3416
3417 2011-09-17  Bruno Haible  <bruno@clisp.org>
3418
3419         sys_socket tests: Fix recent mistake.
3420         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3421
3422 2011-09-17  Bruno Haible  <bruno@clisp.org>
3423
3424         putenv: Support for MSVC.
3425         * modules/putenv (Depends-on): Add environ.
3426         * lib/putenv.c (environ): Disable declaration.
3427         * lib/unistd.in.h: Update comment.
3428
3429 2011-09-17  Bruno Haible  <bruno@clisp.org>
3430
3431         math: Avoid macro redefinition warnings on MSVC.
3432         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3433         Undefine before redefining.
3434
3435 2011-09-17  Bruno Haible  <bruno@clisp.org>
3436
3437         doc: Mention functions which are declared as macros.
3438         * doc/posix-functions/*[fl].texi: Mention that some functions are
3439         defined as macros with arguments only.
3440
3441 2011-09-17  Bruno Haible  <bruno@clisp.org>
3442
3443         Add dependencies to new dirent related modules.
3444         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3445         * modules/fts (Depends-on): Likewise.
3446         * modules/glob (Depends-on): Likewise.
3447         * modules/savedir (Depends-on): Likewise.
3448         * modules/scandir (Depends-on): Likewise.
3449         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3450         * modules/fdopendir (Depends-on): Add opendir.
3451
3452 2011-09-17  Bruno Haible  <bruno@clisp.org>
3453
3454         inet_pton: Support for MSVC on Windows Vista or newer.
3455         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3456         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3457         HAVE_DECL_INET_PTON is defined.
3458         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3459         On platforms with <winsock2.h>, test whether inet_pton is declared in
3460         <ws2tcpip.h>. If so, arrange to replace it.
3461         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3462         REPLACE_INET_PTON.
3463         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3464         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3465         (Depends-on, configure.ac): Update condition.
3466         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3467
3468 2011-09-17  Bruno Haible  <bruno@clisp.org>
3469
3470         inet_ntop: Support for MSVC on Windows Vista or newer.
3471         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3472         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3473         HAVE_DECL_INET_NTOP is defined.
3474         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3475         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3476         <ws2tcpip.h>. If so, arrange to replace it.
3477         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3478         REPLACE_INET_NTOP.
3479         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3480         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3481         (Depends-on, configure.ac): Update condition.
3482         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3483
3484 2011-09-16  Eric Blake  <eblake@redhat.com>
3485
3486         test-fsync: yet another enhancement
3487         * tests/test-fsync.c (main): Also test behavior on read-only text
3488         file.
3489
3490 2011-09-16  Bruno Haible  <bruno@clisp.org>
3491
3492         Enhance fsync, fdatasync tests.
3493         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3494         * tests/test-fdatasync.c (main): Likewise.
3495
3496 2011-09-16  Bruno Haible  <bruno@clisp.org>
3497
3498         Support for MSVC compiler: Ensure mode_t gets defined.
3499         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3500         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3501         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3502         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3503         * tests/test-fcntl-h.c: Check that mode_t is defined.
3504         * tests/test-sys_stat.c: Likewise.
3505         * tests/test-sys_types.c: Likewise.
3506         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3507         * doc/posix-headers/sys_stat.texi: Likewise.
3508         * doc/posix-headers/sys_types.texi: Likewise.
3509
3510 2011-09-16  Bruno Haible  <bruno@clisp.org>
3511
3512         sys_stat: Support for MSVC.
3513         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3514         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3515         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3516         MSVC.
3517
3518 2011-09-16  Bruno Haible  <bruno@clisp.org>
3519
3520         Support for MSVC compiler: Ensure off_t gets defined.
3521         * lib/unistd.in.h: Include <sys/types.h>.
3522         * tests/test-fcntl-h.c: Check that off_t is defined.
3523         * tests/test-sys_stat.c: Likewise.
3524         * tests/test-sys_types.c: Likewise.
3525
3526 2011-09-16  Eric Blake  <eblake@redhat.com>
3527
3528         fdatasync: port to Solaris
3529         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3530         * modules/fdatasync (Link): Document it.
3531         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3532
3533         fdatasync: port to MacOS X 10.7
3534         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3535         declared.
3536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3537         * modules/unistd (Makefile.am): Substitute it.
3538         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3539         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3540
3541         fdatasync: minor improvements
3542         * modules/fdatasync (Depends-on): Add condition for fsync.
3543         * lib/fdatasync.c (fdatasync): Add comment.
3544         * tests/test-unistd-c++.cc: Test fdatasync.
3545
3546         unistd: update refs to newer POSIX
3547         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3548         Suggested by Bruno Haible.
3549
3550         fdatasync: new module
3551         * modules/fsync (Description): Document difference to fdatasync.
3552         * modules/fdatasync: New module.
3553         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3554         * lib/fdatasync.c (fdatasync): Likewise.
3555         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3556         defaults.
3557         * modules/unistd (Makefile.am): Set witnesses.
3558         * lib/unistd.in.h (fdatasync): Declare.
3559         * MODULES.html.sh: Document it.
3560         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3561         * modules/fdatasync-tests: New test.
3562         * tests/test-fdatasync.c: Likewise.
3563
3564 2011-09-16  Eric Blake  <eblake@redhat.com>
3565
3566         test-fsync: enhance tests
3567         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3568         * tests/test-fsync.c (main): Enhance test.
3569
3570 2011-09-15  Bruno Haible  <bruno@clisp.org>
3571
3572         Support for MSVC compiler: Ensure ssize_t gets defined.
3573         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3574         * doc/posix-headers/stdio.texi: Likewise.
3575         * modules/stdio (Depends-on): Add ssize_t.
3576         * modules/sys_socket (Depends-on): Likewise.
3577         * modules/sys_types (Depends-on): Likewise.
3578         * modules/sys_uio (Depends-on): Likewise.
3579         * modules/unistd (Depends-on): Likewise.
3580         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3581         * tests/test-sys_types.c: Check that ssize_t is defined.
3582
3583 2011-09-14  Bruno Haible  <bruno@clisp.org>
3584
3585         Avoid using #, the m4 comment starter character, near brackets.
3586         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3587         delimiter character in sed expressions.
3588         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3589         Suggested by Eric Blake.
3590
3591         Properly quote AC_CHECK_DECLS' 4th argument.
3592         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3593         argument.
3594         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3595         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3596         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3597         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3598         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3599         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3600         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3601         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3602         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3603         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3604         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3605         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3606         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3607         * m4/isinf.m4 (gl_ISINF): Likewise.
3608         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3609         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3610         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3611         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3612         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3613         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3614         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3615         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3616         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3617         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3618         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3619         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3621         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3622         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3623         Reported by Eric Blake.
3624
3625         Properly quote AC_CHECK_DECL's 4th argument.
3626         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3627         argument.
3628         * m4/argp.m4 (gl_ARGP): Likewise.
3629         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3630         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3631         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3632         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3633         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3634         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3635         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3636         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3637         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3638         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3639         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3640         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3641         Reported by Eric Blake.
3642
3643 2011-09-14  Eric Blake  <eblake@redhat.com>
3644
3645         opendir: avoid compile warning
3646         * lib/opendir.c (includes): Always include errno.h.
3647         Reported by Tatsuro MATSUOKA.
3648
3649 2011-09-14  Jim Meyering  <meyering@redhat.com>
3650
3651         maint.mk: sc_tight_scope: propagate failure from sub-make
3652         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3653         Reported by Martin von Gagern.
3654
3655 2011-09-13  Bruno Haible  <bruno@clisp.org>
3656
3657         tempname: Support for MSVC.
3658         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3659         MSVC.
3660         * modules/tempname (Depends-on): Add fcntl-h.
3661
3662 2011-09-13  Bruno Haible  <bruno@clisp.org>
3663
3664         sys_time: Support for MSVC.
3665         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3666         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3667         include <winsock2.h>.
3668         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3669         function declarations that collide with POSIX.
3670         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3671         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3672
3673 2011-09-13  Bruno Haible  <bruno@clisp.org>
3674
3675         stat: Support for MSVC.
3676         * lib/stat.c: Include pathmax.h.
3677         * modules/stat (Depends-on): Add pathmax.
3678
3679         pathmax: Support for native Windows.
3680         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3681
3682 2011-09-12  Bruno Haible  <bruno@clisp.org>
3683
3684         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3685         * lib/dirent.in.h (struct dirent): New type.
3686         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3687         DT_WHT): New macros.
3688         (DIR): New type.
3689         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3690         (readdir, rewinddir): New declarations.
3691         * lib/dirent-private.h: New file.
3692         * lib/opendir.c: New file.
3693         * lib/readdir.c: New file.
3694         * lib/rewinddir.c: New file.
3695         * lib/closedir.c: New file.
3696         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3697         * m4/opendir.m4: New file.
3698         * m4/readdir.m4: New file.
3699         * m4/rewinddir.m4: New file.
3700         * m4/closedir.m4: New file.
3701         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3702         REPLACE_CLOSEDIR here.
3703         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3704         readdir, rewinddir are declared.
3705         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3706         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3707         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3708         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3709         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3710         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3711         * modules/opendir: New file.
3712         * modules/readdir: New file.
3713         * modules/rewinddir: New file.
3714         * modules/closedir: New file.
3715         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3716         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3717         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3718         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3719         * NEWS: Mention the 'fchdir' change.
3720
3721 2011-09-11  Bruno Haible  <bruno@clisp.org>
3722
3723         asm-underscore.m4: Support for MSVC.
3724         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3725         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3726
3727 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3728
3729         Doc about crypt functions.
3730         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3731         needing for _GNU_SOURCE to get crypt.
3732         * doc/posix-functions/encrypt.texi: Likewise.
3733         * doc/posix-functions/setkey.texi: Likewise.
3734
3735 2011-09-11  Bruno Haible  <bruno@clisp.org>
3736
3737         doc: Update regarding MSVC 9.
3738         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3739         tested".
3740         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3741         * doc/posix-headers/*.texi: Likewise.
3742         * doc/pastposix-functions/*.texi: Likewise.
3743         * doc/glibc-functions/*.texi: Likewise.
3744         * doc/glibc-headers/*.texi: Likewise.
3745
3746 2011-09-11  Bruno Haible  <bruno@clisp.org>
3747
3748         unistd et al.: Don't assume <unistd.h> exists.
3749         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3750         does not exist.
3751         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3752         exist. But include <stdlib.h>.
3753         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3754         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3755         symlink() does not exist.
3756         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3757         include <io.h> instead.
3758         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3759         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3760         include <direct.h> instead.
3761         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3762         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3763         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3764         <io.h> instead.
3765         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3766         correctly if the system does not have hard links.
3767         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3768         <direct.h> instead.
3769         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3770         it when looking for function declarations.
3771         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3772         <direct.h> and <io.h> instead.
3773         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3774
3775 2011-09-11  Bruno Haible  <bruno@clisp.org>
3776
3777         strcase: Support for MSVC.
3778         * modules/strcase (Status, Notice): Remove obsoletion mark.
3779         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3780         * doc/posix-functions/strncasecmp.texi: Likewise.
3781
3782         strings: Don't assume <strings.h> exists.
3783         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3784         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3785         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3786         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3787
3788 2011-09-11  Bruno Haible  <bruno@clisp.org>
3789
3790         dirent: Don't assume <dirent.h> exists.
3791         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3792         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3793         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3794         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3795
3796 2011-09-11  Bruno Haible  <bruno@clisp.org>
3797
3798         Fix wint_t on MSVC.
3799         * lib/wchar.in.h (wint_t): On MSVC, override it.
3800         * lib/wctype.in.h (wint_t): Likewise.
3801         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3802         MSVC.
3803         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3804         * doc/posix-headers/wctype.texi: Likewise.
3805
3806 2011-09-11  Bruno Haible  <bruno@clisp.org>
3807
3808         sys_types: Fix typo.
3809         * lib/sys_types.in.h: Fix typo in comment.
3810         Reported by Paul Eggert.
3811
3812         Support for MSVC compiler: Ensure size_t gets defined.
3813         * modules/strings (Depends-on): Add 'sys_types'.
3814         * modules/sys_uio (Depends-on): Likewise.
3815         * lib/sys_uio.in.h: Update comment.
3816
3817         C++ tests for module 'sys_types'.
3818         * modules/sys_types-c++-tests: New file.
3819         * tests/test-sys_types-c++.cc: New file.
3820
3821         Tests for module 'sys_types'.
3822         * modules/sys_types-tests: New file.
3823         * tests/test-sys_types.c: New file.
3824
3825         New module 'sys_types'.
3826         * lib/sys_types.in.h: New file.
3827         * m4/sys_types_h.m4: New file.
3828         * modules/sys_types: New file.
3829         * doc/posix-headers/sys_types.texi: Mention the new module and the
3830         size_t problem on MSVC 9.
3831
3832 2011-09-11  Bruno Haible  <bruno@clisp.org>
3833
3834         Support for MSVC compiler: Avoid division by a literal 0.
3835         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3837         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3838         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3839         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3840         * tests/infinity.h: New file.
3841         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3842         on MSVC.
3843         * tests/test-ceilf1.c: Include infinity.h.
3844         (main): Use Infinityf.
3845         * tests/test-ceil1.c: Include infinity.h.
3846         (main): Use Infinityd.
3847         * tests/test-ceill.c: Include infinity.h.
3848         (main): Use Infinityl.
3849         * tests/test-dprintf-posix.c: Include infinity.h.
3850         (test_function): Use Infinityd.
3851         * tests/test-floorf1.c: Include infinity.h.
3852         (main): Use Infinityf.
3853         * tests/test-floor1.c: Include infinity.h.
3854         (main): Use Infinityd.
3855         * tests/test-floorl.c: Include infinity.h.
3856         (main): Use Infinityl.
3857         * tests/test-fprintf-posix.c: Include infinity.h.
3858         (test_function): Use Infinityd.
3859         * tests/test-frexp.c: Include infinity.h.
3860         (main): Use Infinityd.
3861         * tests/test-frexpl.c: Include infinity.h.
3862         (main): Use Infinityl.
3863         * tests/test-isfinite.c: Include infinity.h.
3864         (test_isfinitef): Use Infinityf.
3865         (test_isfinited): Use Infinityd.
3866         (test_isfinitel): Use Infinityl.
3867         * tests/test-isinf.c: Include infinity.h.
3868         (test_isinff): Use Infinityf.
3869         (test_isinfd): Use Infinityd.
3870         (test_isinfl): Use Infinityl.
3871         * tests/test-isnan.c: Include infinity.h.
3872         (test_float): Use Infinityf.
3873         (test_double): Use Infinityd.
3874         (test_long_double): Use Infinityl.
3875         * tests/test-isnanf.h: Include infinity.h.
3876         (main): Use Infinityf.
3877         * tests/test-isnand.h: Include infinity.h.
3878         (main): Use Infinityd.
3879         * tests/test-isnanl.h: Include infinity.h.
3880         (main): Use Infinityl.
3881         * tests/test-ldexpl.c: Include infinity.h.
3882         (main): Use Infinityl.
3883         * tests/test-printf-posix.h: Include infinity.h.
3884         (test_function): Use Infinityd.
3885         * tests/test-roundf1.c: Include infinity.h.
3886         (main): Use Infinityf.
3887         * tests/test-round1.c: Include infinity.h.
3888         (main): Use Infinityd.
3889         * tests/test-roundl.c: Include infinity.h.
3890         (main): Use Infinityl.
3891         * tests/test-signbit.c: Include infinity.h.
3892         (test_signbitf): Use Infinityf.
3893         (test_signbitd): Use Infinityd.
3894         (test_signbitl): Use Infinityl.
3895         * tests/test-snprintf-posix.h: Include infinity.h.
3896         (test_function): Use Infinityd, Infinityl.
3897         * tests/test-sprintf-posix.h: Include infinity.h.
3898         (test_function): Use Infinityd, Infinityl.
3899         * tests/test-truncf1.c: Include infinity.h.
3900         (main): Use Infinityf.
3901         * tests/test-trunc1.c: Include infinity.h.
3902         (main): Use Infinityd.
3903         * tests/test-truncl.c: Include infinity.h.
3904         (main): Use Infinityl.
3905         * tests/test-vasnprintf-posix.c: Include infinity.h.
3906         (test_function): Use Infinityd, Infinityl.
3907         * tests/test-vasprintf-posix.c: Include infinity.h.
3908         (test_function): Use Infinityd, Infinityl.
3909         * modules/ceilf-tests (Files): Add tests/infinity.h.
3910         * modules/ceil-tests (Files): Likewise.
3911         * modules/ceill-tests (Files): Likewise.
3912         * modules/dprintf-posix-tests (Files): Likewise.
3913         * modules/floorf-tests (Files): Likewise.
3914         * modules/floor-tests (Files): Likewise.
3915         * modules/floorl-tests (Files): Likewise.
3916         * modules/fprintf-posix-tests (Files): Likewise.
3917         * modules/frexp-tests (Files): Likewise.
3918         * modules/frexp-nolibm-tests (Files): Likewise.
3919         * modules/frexpl-tests (Files): Likewise.
3920         * modules/frexpl-nolibm-tests (Files): Likewise.
3921         * modules/isfinite-tests (Files): Likewise.
3922         * modules/isinf-tests (Files): Likewise.
3923         * modules/isnan-tests (Files): Likewise.
3924         * modules/isnanf-tests (Files): Likewise.
3925         * modules/isnanf-nolibm-tests (Files): Likewise.
3926         * modules/isnand-tests (Files): Likewise.
3927         * modules/isnand-nolibm-tests (Files): Likewise.
3928         * modules/isnanl-tests (Files): Likewise.
3929         * modules/isnanl-nolibm-tests (Files): Likewise.
3930         * modules/ldexpl-tests (Files): Likewise.
3931         * modules/printf-posix-tests (Files): Likewise.
3932         * modules/roundf-tests (Files): Likewise.
3933         * modules/round-tests (Files): Likewise.
3934         * modules/roundl-tests (Files): Likewise.
3935         * modules/signbit-tests (Files): Likewise.
3936         * modules/snprintf-posix-tests (Files): Likewise.
3937         * modules/sprintf-posix-tests (Files): Likewise.
3938         * modules/truncf-tests (Files): Likewise.
3939         * modules/trunc-tests (Files): Likewise.
3940         * modules/truncl-tests (Files): Likewise.
3941         * modules/vasnprintf-posix-tests (Files): Likewise.
3942         * modules/vasprintf-posix-tests (Files): Likewise.
3943         * modules/vdprintf-posix-tests (Files): Likewise.
3944         * modules/vfprintf-posix-tests (Files): Likewise.
3945         * modules/vprintf-posix-tests (Files): Likewise.
3946         * modules/vsnprintf-posix-tests (Files): Likewise.
3947         * modules/vsprintf-posix-tests (Files): Likewise.
3948         * modules/xprintf-posix-tests (Files): Likewise.
3949
3950 2011-09-11  Bruno Haible  <bruno@clisp.org>
3951
3952         Ensure pid_t gets defined.
3953         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3954         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3955         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3956         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3957         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3958         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3959         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3960         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3961         * tests/test-fcntl-h.c: Check that pid_t is defined.
3962         * tests/test-sched.c: Likewise.
3963         * tests/test-termios.c: Likewise.
3964         * tests/test-time.c: Likewise.
3965         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3966         * doc/posix-headers/signal.texi: Likewise.
3967         * doc/posix-headers/sys_types.texi: Likewise.
3968         * doc/posix-headers/time.texi: Likewise.
3969
3970 2011-09-11  Bruno Haible  <bruno@clisp.org>
3971
3972         acl: Fix compilation on Solaris 10 (older version).
3973         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3974         of ACE_EVERYONE.
3975         * lib/set-mode-acl.c (qset_acl): Likewise.
3976         Reported by Christian Jullien <eligis@orange.fr>.
3977
3978 2011-09-10  Bruno Haible  <bruno@clisp.org>
3979
3980         iconv, unsetenv: Add support for MSVC compiler.
3981         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3982         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3983
3984 2011-09-10  Bruno Haible  <bruno@clisp.org>
3985
3986         *printf: Add support for MSVC compiler.
3987         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3988         handles the exception caused by the %n directive. When cross-compiling,
3989         guess no on native Windows.
3990         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3991         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3992         emulate it through vsnprintf.
3993         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3994         * doc/posix-functions/dprintf.texi: Update documentation regarding
3995         MSVC 9.
3996         * doc/posix-functions/fprintf.texi: Likewise.
3997         * doc/posix-functions/printf.texi: Likewise.
3998         * doc/posix-functions/snprintf.texi: Likewise.
3999         * doc/posix-functions/sprintf.texi: Likewise.
4000         * doc/posix-functions/swprintf.texi: Likewise.
4001         * doc/posix-functions/vdprintf.texi: Likewise.
4002         * doc/posix-functions/vfprintf.texi: Likewise.
4003         * doc/posix-functions/vprintf.texi: Likewise.
4004         * doc/posix-functions/vsnprintf.texi: Likewise.
4005         * doc/posix-functions/vsprintf.texi: Likewise.
4006         * doc/glibc-functions/asprintf.texi: Likewise.
4007         * doc/glibc-functions/obstack_printf.texi: Likewise.
4008         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
4009         * doc/glibc-functions/vasprintf.texi: Likewise.
4010
4011 2011-09-10  Bruno Haible  <bruno@clisp.org>
4012
4013         nocrash: Add support for native Windows.
4014         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
4015
4016 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
4017             Bruno Haible  <bruno@clisp.org>
4018
4019         absolute-header, include-next: Add support for MSVC compiler.
4020         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
4021         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
4022         directory separator in #line directives.
4023         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
4024         recognize also backslash as directory separator in #line directives.
4025
4026 2011-09-08  Jim Meyering  <meyering@redhat.com>
4027
4028         maint.mk: mark the post-release commit log with "maint: " prefix
4029         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
4030         one-line commit-log summary.
4031
4032 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
4033             Bruno Haible  <bruno@clisp.org>
4034
4035         Doc about crypt functions.
4036         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
4037         systems.
4038         * doc/posix-functions/encrypt.texi: Likewise.
4039         * doc/posix-functions/setkey.texi: Likewise.
4040
4041 2011-09-08  Simon Josefsson  <simon@josefsson.org>
4042
4043         * lib/gc.h: Fix copyright header.
4044
4045 2011-09-07  Bruno Haible  <bruno@clisp.org>
4046
4047         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
4048         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
4049         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
4050
4051 2011-09-07  Bruno Haible  <bruno@clisp.org>
4052
4053         openat: Work around compilation error with OSF/1 5.1 DTK cc.
4054         * lib/fopen.c: Use different syntax for include of <stdio.h>.
4055         * lib/freopen.c: Likewise.
4056         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
4057         * lib/lstat.c: Likewise.
4058         * lib/stat.c: Likewise.
4059         * lib/open.c: Use different syntax for include of <fcntl.h>.
4060         * lib/openat.c: Include fcntl.h again, explicitly.
4061
4062 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
4063
4064         parse-datetime: document the newly accepted format
4065         * doc/parse-datetime.texi (Combined date and time of day items):
4066         New section.
4067
4068 2011-09-06  Bruno Haible  <bruno@clisp.org>
4069
4070         acl: Fix a test failure on newer Solaris 10 with ZFS.
4071         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
4072         ENOSYS as no ACL.
4073         Reported by Jim Meyering.
4074
4075 2011-09-06  Bruno Haible  <bruno@clisp.org>
4076
4077         acl: Update for AIX >= 5.3 with NFS.
4078         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
4079         ENOSYS as no ACL.
4080
4081         acl: Fix a test failure on AIX >= 5.3 with NFS.
4082         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
4083         as no ACL.
4084
4085 2011-09-06  Bruno Haible  <bruno@clisp.org>
4086
4087         acl: Fix a test failure on IRIX 6.5 with NFS.
4088         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
4089         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
4090         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
4091         * lib/copy-acl.c (qcopy_acl): Likewise.
4092
4093 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4094
4095         openat: port to AIX 7.1 with large files
4096         AIX 7.1 does a "#define openat open64at" if large files are in use,
4097         so we can't simply #undef openat.  Use the orig_openat trick (similar
4098         to orig_open in lib/open.c) to work around the problem.  Problem
4099         reported by Kevin Brott for GNU tar, in the thread containing
4100         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
4101         * lib/openat.c (__need_system_fcntl_h): Define first.
4102         Include <fcntl.h> and <sys/types.h> before undefining.
4103         (orig_openat) [HAVE_OPENAT]: New inline function.
4104         (openat) [HAVE_OPENAT]: Do not undef.
4105         (rpl_openat): Use orig_openat, not openat.
4106
4107 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
4108             Bruno Haible  <bruno@clisp.org>
4109
4110         acl: Avoid errors on NonStop Kernel.
4111         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
4112         ENOTSUP errors.
4113
4114 2011-09-05  Bruno Haible  <bruno@clisp.org>
4115
4116         acl: Clean up Solaris code.
4117         * lib/acl-internal.h: Remove no-op #if.
4118         * lib/file-has-acl.c: Likewise.
4119         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
4120         * lib/copy-acl.c (qcopy_acl): Likewise.
4121
4122 2011-09-05  Bruno Haible  <bruno@clisp.org>
4123
4124         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
4125         binaries built on the original Solaris 10.
4126         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
4127         trivial.
4128
4129 2011-09-05  Bruno Haible  <bruno@clisp.org>
4130
4131         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4132         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
4133         10.
4134         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
4135         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
4136         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
4137         instead of acl_get, facl_get, acl_set, facl_set.
4138
4139 2011-09-05  Bruno Haible  <bruno@clisp.org>
4140
4141         copy-file: Try unit tests on more file systems.
4142         * tests/test-copy-file-1.sh: New file.
4143         * tests/test-copy-file-2.sh: New file.
4144         * modules/copy-file-tests (Files): Add them.
4145         (Makefile.am): Add them to TESTS.
4146
4147         acl: Try unit tests on more file systems.
4148         * tests/test-file-has-acl-1.sh: New file.
4149         * tests/test-file-has-acl-2.sh: New file.
4150         * tests/test-set-mode-acl-1.sh: New file.
4151         * tests/test-set-mode-acl-2.sh: New file.
4152         * tests/test-copy-acl-1.sh: New file.
4153         * tests/test-copy-acl-2.sh: New file.
4154         * modules/acl-tests (Files): Add them.
4155         (Makefile.am): Add them to TESTS.
4156
4157 2011-09-04  Bruno Haible  <bruno@clisp.org>
4158
4159         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
4160         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
4161         10.
4162         (OLD_ALLOW, OLD_DENY): New macros.
4163         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
4164         ACE_ACCESS_ALLOWED_ACE_TYPE.
4165         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
4166         ACE_ACCESS_DENIED_ACE_TYPE.
4167         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
4168         (NEW_ACE_EXECUTE): Fix value.
4169         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4170         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4171         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4172         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4173         NEW_ACE_SYNCHRONIZE): New macros.
4174         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4175         instead of acl_fromtext, acl_set, facl_set.
4176         Fixes a coreutils/tests/cp/perm failure.
4177
4178 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4179
4180         openat: test for fstatat (..., 0) bug
4181         Further testing with tar suggests that fstatat (..., 0)
4182         does not work in general, on AIX 7.1; see
4183         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4184         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4185         replacement fstatat (which is what older AIX releases were using
4186         anyway).
4187         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4188         use is now changed to orig_fstatat.  This was probably the right
4189         thing to do anyway.
4190         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4191         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4192         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4193         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4194         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4195         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4196         if the bug is found.
4197
4198         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4199         This tests for another fstatat bug on AIX 7.1:
4200         fstatat (AT_FDCWD, ..., 0) does not work.  See
4201         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4202         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4203         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4204         (rpl_fstatat): Adjust so that it works around either (or both)
4205         bugs if present.
4206         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4207
4208 2011-09-03  Karl Berry  <karl@gnu.org>
4209
4210         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4211         in index entries.
4212
4213 2011-09-02  Bruno Haible  <bruno@clisp.org>
4214
4215         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4216         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4217         values of AR, ARFLAGS, RANLIB.
4218         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4219
4220 2011-09-02  Bruno Haible  <bruno@clisp.org>
4221
4222         Find 'ar' program that fits with --host argument.
4223         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4224
4225 2011-09-02  Bruno Haible  <bruno@clisp.org>
4226
4227         tests: init.sh: Support any non-GNU diff.
4228         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4229         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4230         Solaris 8.
4231
4232 2011-09-02  Bruno Haible  <bruno@clisp.org>
4233
4234         tests: init.sh: work also with any non-GNU diff that supports -u
4235         * tests/init.sh: Relax check for diff -u support.
4236         Rather than checking for GNU diff via --version, simply check
4237         for support for -u itself.  Useful at least on OpenBSD 4.9,
4238         AIX 7.1, IRIX 6.5, and Solaris 10.
4239
4240 2011-09-01  Bruno Haible  <bruno@clisp.org>
4241
4242         strtoimax, strtoumax: Document problem on HP-UX 11.
4243         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4244         * doc/posix-functions/strtoumax.texi: Likewise.
4245
4246 2011-09-01  Bruno Haible  <bruno@clisp.org>
4247
4248         strtoumax: Avoid link error on OSF/1 with DTK cc.
4249         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4250         defined as a function.
4251         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4252         strtoumax is defined, not whether it is declared.
4253
4254 2011-09-01  Bruno Haible  <bruno@clisp.org>
4255
4256         strtoimax: Avoid link error on OSF/1 with DTK cc.
4257         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4258         defined as a function.
4259         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4260         strtoimax is defined, not whether it is declared.
4261
4262 2011-09-01  Bruno Haible  <bruno@clisp.org>
4263
4264         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4265         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4266         as a function.
4267         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4268         whether it is declared.
4269
4270 2011-09-01  Bruno Haible  <bruno@clisp.org>
4271
4272         imaxabs: Avoid link error on OSF/1 with DTK cc.
4273         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4274         as a function.
4275         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4276         whether it is declared.
4277
4278 2011-09-01  Bruno Haible  <bruno@clisp.org>
4279
4280         Tests for module 'strtoumax'.
4281         * modules/strtoumax-tests: New file.
4282         * tests/test-strtoumax.c: New file.
4283
4284         Tests for module 'strtoimax'.
4285         * modules/strtoimax-tests: New file.
4286         * tests/test-strtoimax.c: New file.
4287
4288         Tests for module 'imaxdiv'.
4289         * modules/imaxdiv-tests: New file.
4290         * tests/test-imaxdiv.c: New file.
4291
4292         Tests for module 'imaxabs'.
4293         * modules/imaxabs-tests: New file.
4294         * tests/test-imaxabs.c: New file.
4295
4296 2011-09-01  Bruno Haible  <bruno@clisp.org>
4297
4298         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4299         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4300         pthread_create.
4301
4302 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4303
4304         openat: work around AIX 7.1 fstatat issue
4305         This should fix the problem that was not properly fixed
4306         in the previous change, dated 2011-08-30.
4307         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4308         __need_system_stat_h defined.
4309         (orig_fstatat) [HAVE_FSTATAT]: New function.
4310         (rpl_fstatat): Go back to the old way of doing things,
4311         except call orig_fstatat instead of fstatat.
4312         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4313         Remove unnecessary check whether fstatat fills in st_size etc.
4314
4315 2011-09-01  Bruno Haible  <bruno@clisp.org>
4316
4317         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4318         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4319         just include the system's header.
4320
4321 2011-08-31  Jim Meyering  <meyering@redhat.com>
4322
4323         tests: avoid spurious assertion failure in test-float.c on ppc64
4324         * tests/test-float.c (test_long_double): Comment out an assertion,
4325         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4326         with gcc-4.4.4.
4327
4328         maint: indent with spaces, not TABs
4329         I need to get in the habit of running gnulib's "make check".
4330         Both of these would have been caught.
4331         * m4/largefile.m4: Indent with spaces, not TABs.
4332         * lib/parse-datetime.y (iso_8601_time): Likewise.
4333         Spotted by Pádraig Brady.
4334
4335         test-parse-datetime.c: accommodate a relatively strict gcc warning
4336         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4337         to avoid a warning from gcc's -Werror=missing-declarations.
4338         Insert a few spaces-before-funcall-parenthesis.
4339
4340 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4341
4342         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4343         The parser now accepts ISO 8601 date-time strings with "T" as the
4344         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4345         with a space between the date and time strings.  Now it also parses
4346         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4347         variants like "2004-02-29T16:21:42.333-07:00"
4348         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4349         of day representation using the 'T' separator character.
4350         * doc/parse-datetime.texi (General date syntax): replace use of
4351         deprecated --iso-8601 option with --rfc-3339 in example of date
4352         command output formats that can be parsed.
4353         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4354         lib/parse-datetime.y.
4355         (gmt_offset): New function.
4356         (main): Add additional test cases to validate ISO8601 extended
4357         date and time of day parsing.
4358
4359 2011-08-31  Bruno Haible  <bruno@clisp.org>
4360
4361         freopen: Documentation.
4362         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4363         name.
4364         Reported by Claudio Bley <claudio.bley@gmail.com>.
4365
4366 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4367
4368         freopen: Don't crash if the filename argument is NULL.
4369         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4370         NULL.
4371
4372 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4373
4374         openat: work around AIX 7.1 fstatat bug
4375         Problem reported by Kevin Brott for GNU tar, in the thread containing
4376         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4377         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4378         FSTATAT_ST_SIZE_ETC_BROKEN.
4379         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4380         rpl_fstatat.
4381         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4382         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4383         AC_CHECK_FUNCS_ONCE for fstatat.
4384         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4385         fchmodat, mkdirat, openat and unlinkat.
4386
4387 2011-08-30  Bruno Haible  <bruno@clisp.org>
4388
4389         Avoid endless recursions if config.h includes some header files.
4390         * lib/fopen.c (__need_FILE): Define already before including config.h.
4391         * lib/freopen.c (__need_FILE): Likewise.
4392         * lib/open.c (__need_system_fcntl_h): Likewise.
4393         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4394         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4395         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4396
4397 2011-08-25  Karl Berry  <karl@gnu.org>
4398
4399         * config/srclist.txt (ylwrap): new try.
4400         * build-aux/ylwrap: new file.
4401
4402 2011-08-23  Bruno Haible  <bruno@clisp.org>
4403
4404         tmpdir: Use a good default directory on native Windows.
4405         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4406         (P_tmpdir): Default to _P_tmpdir on native Windows.
4407         (path_search): On native Windows, try the value returned by GetTempPath
4408         before trying P_tmpdir.
4409         * modules/tmpdir (Depends-on): Add pathmax.
4410         Suggested by John Darrington <john@darrington.wattle.id.au>.
4411
4412 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4413
4414         doc: fix typo in README-release
4415         * top/README-release: Capitalize first word of a sentence.
4416
4417 2011-08-19  Jim Meyering  <meyering@redhat.com>
4418
4419         fts: do not exhaust memory when processing million-entry directories
4420         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4421         directory would require about 256*N bytes of memory.  Thus, it was
4422         easy to construct a directory too large to be processed by any of
4423         those tools.  With this change, fts' maximum memory utilization is
4424         now limited to around 30MB.
4425         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4426         (fts_read): When we've processed the final entry (i.e., when
4427         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4428         using the parent entry to read any remaining entries.  Dispatch
4429         depending on what fts_build returns:
4430         - NULL+stop, aka failure: stop
4431         - NULL otherwise: move up in the dir hierarchy
4432         - non-NULL: handle this new entry
4433         (fts_build): Declare and use new local, continue_readdir.
4434         Prepare to be called from fts_read, when the entries
4435         from a partially-read directory have just been exhausted.
4436         In that case, we'll skip the opendir and instead use the parent's
4437         fts_dirp and derive dir_fd from that.
4438         Finally, in the readdir loop, if we read max_entries entries,
4439         exit the loop ensuring *not* to call closedir.  This is required
4440         so that fts_dirp can be reused on a subsequent call.
4441         Prompted by Ben England's report of memory exhaustion in find
4442         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4443
4444         maint: fts: move decl of `dp' down into while loop; split a long line
4445         * lib/fts.c (fts_build): No semantic change.
4446
4447         fts: add/use new struct member, fts_dirp
4448         We are about to use this to manage any directory with
4449         too many entries to read all of them into memory at once.
4450         To do that, we'll need to save the DIR* pointer in each
4451         affected FTSENT struct.
4452         * lib/fts_.h: Include <dirent.h>.
4453         (struct FTSENT) [fts_dirp]: New member.
4454         * lib/fts.c (closedir_and_clear): Define.
4455         Use it in place of closedir so that we are sure to
4456         clear the new fts_dirp member when done with it.
4457         (fts_alloc): Initialize the new member.
4458         (fts_lfree): Free, if needed.
4459
4460         maint: fts: give __opendir2 a new parameter and rename
4461         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4462         than surreptitiously using sole caller's "dir_fd".
4463         (fts_opendir): Rename from __opendir2.
4464
4465         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4466         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4467
4468         maint: fts.c: correct off-by-one indentation
4469         * lib/fts.c (fts_build): Correct indentation, change style
4470         of a couple of block comments, and bracing style.
4471
4472         maint: fts.c: move __opendir2 #define "up" out of function body
4473         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4474
4475         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4476         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4477         out for a long time and besides was useful only on BSD systems.
4478
4479 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4480
4481         regex: port to Stratus OpenVOS
4482         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4483         define to empty, rather than attempting nonportable optimizations.
4484         Problem reported by Paul Green in:
4485         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4486         and fix suggested by Eric Blake in:
4487         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4488
4489 2011-08-17  Eric Blake  <eblake@redhat.com>
4490
4491         getcwd: fix test failures on mingw
4492         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4493         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4494         test if long directory cannot be created, and allow mingw errno.
4495
4496         getcwd-lgpl: fix m4 to match relaxed test for BSD
4497         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4498         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4499         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4500         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4501         signature problem.
4502
4503         getcwd: fix compilation on mingw64
4504         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4505         getcwd.
4506         Reported by Marc-André Lureau.
4507
4508         pipe2: silence compiler warning
4509         * lib/pipe2.c (pipe2): Hide label if it is not used.
4510
4511 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4512
4513         relocatable-prog: fix link error
4514         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4515         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4516         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4517         into modules/relocatable-lib without noticing that
4518         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4519         also needs to build relocatable.c.
4520
4521 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4522
4523         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4524         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4525         shell code: it contained a 'break' that was not in a loop.
4526         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4527         via a shell-language loop; this may have been true in old Autoconf
4528         versions, but it's not true in Autoconf 2.68.  I found this bug
4529         when testing coreutils git on Solaris 8, whose shell complains
4530         about the syntax error.
4531
4532 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4533
4534         * lib/base64.c: Fix comment to reference RFC 4648.
4535         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4536         <gvtulder@gmail.com>.
4537
4538 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4539
4540         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4541
4542         po/Makefile.in.in: fix make -q problem
4543         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4544         rule, since there's no file named 'check-macro-version' and its
4545         use as a file breaks make -q.
4546         (all): Don't depend on check-macro-version.
4547         (CHECK_MACRO_VERSION): New macro.
4548         (stamp-po): Use it.
4549
4550         configmake: fix make -q problem
4551         * modules/configmake (configmake.h): Update configmake.h's time stamp
4552         even if the file does not change.  Otherwise, 'make -q' fails.
4553         Problem reported by Simon Josefsson in
4554         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4555
4556 2011-08-11  Jim Meyering  <meyering@redhat.com>
4557
4558         git-version-gen: correct the advice in a comment
4559         * build-aux/git-version-gen: Correct comment.
4560         Don't recommend to list .tarball-version in .gitignore.
4561
4562 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4563
4564         base64: fix off-by-one buffer size bug
4565         Problem and (trivial) fix reported by Gijs van Tulder in
4566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4567         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4568         * tests/test-base64.c (main): Catch the bug.
4569
4570 2011-08-10  Eric Blake  <eblake@redhat.com>
4571
4572         closein: correct comments
4573         * lib/closein.c (close_stdin): Improve comments.
4574
4575 2011-08-09  Bruno Haible  <bruno@clisp.org>
4576
4577         More tests for 'fseeko'.
4578         * tests/test-fseeko3.c: New file, from Eric Blake.
4579         * tests/test-fseeko3.sh: New file.
4580         * modules/fseeko-tests (Files): Add them.
4581         (TESTS): Add test-fseeko3.sh.
4582         (check_PROGRAMS): Add test-fseeko3.
4583
4584 2011-08-09  Eric Blake  <eblake@redhat.com>
4585
4586         fseeko: remove unneeded hack
4587         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4588
4589         fseeko: fix bug on glibc
4590         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4591         Reported by John W. Eaton.
4592
4593 2011-08-08  Bruno Haible  <bruno@clisp.org>
4594
4595         unictype/base: Fix interoperability with preinstalled libunistring.
4596         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4597         Reported by Simon Josefsson.
4598
4599 2011-08-08  Bruno Haible  <bruno@clisp.org>
4600
4601         iswblank: Detect declaration correctly.
4602         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4603         AC_CHECK_DECLS invocation.
4604
4605 2011-08-08  Bruno Haible  <bruno@clisp.org>
4606
4607         tcgetsid: Detect declaration correctly.
4608         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4609         AC_CHECK_DECLS invocation.
4610         Reported by Simon Josefsson.
4611
4612 2011-08-08  Eric Blake  <eblake@redhat.com>
4613
4614         largefile: fix typo that regressed large file support
4615         * modules/largefile (configure.ac-early): Fix section name.
4616
4617 2011-08-06  Karl Berry  <karl@gnu.org>
4618
4619         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4620         a separate module.
4621
4622 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4623
4624         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4625         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4626         get prototype for free.
4627
4628 2011-08-04  Bruno Haible  <bruno@clisp.org>
4629
4630         Tests for module 'pathmax'.
4631         * modules/pathmax-tests: New file.
4632         * tests/test-pathmax.c: New file.
4633
4634         canonicalize-lgpl: Support larger filenames on the Hurd.
4635         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4636         Reported by Paul Eggert.
4637
4638         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4639         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4640         * lib/chdir-long.h: Include pathmax.h.
4641         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4642         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4643         (PATH_MAX): Remove code that is done by pathmax.h.
4644         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4645         * lib/tmpfile.c: Add a comment.
4646         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4647         * modules/chdir-long (Depends-on): Add pathmax.
4648         * modules/getcwd (Depends-on): Add pathmax.
4649         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4650         is not defined.
4651         * doc/posix-headers/limits.texi: Mention the pathmax module.
4652         * NEWS: Mention the change.
4653
4654 2011-08-02  Bruno Haible  <bruno@clisp.org>
4655
4656         pthread_sigmask: Actually use results of gl_THREADLIB.
4657         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4658         gl_THREADLIB, not gl_[]THREADLIB.
4659         Reported by Eric Blake.
4660
4661 2011-08-02  Jim Meyering  <meyering@redhat.com>
4662
4663         maint.mk: relax the default _gl_TS_function_match regexp
4664         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4665         space between function name and "(" in an "extern" declaration.
4666         That would fail to match a decl with no space there: extern void foo();
4667
4668 2011-07-31  Iain Nicol  <iain@thenicols.net>
4669
4670         git-version-gen: document that EXTRA_DIST must include .version
4671         * build-aux/git-version-gen: In the how-to-use comment, document
4672         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4673         will fail when run from an unpacked distribution tarball.
4674
4675 2011-08-01  Bruno Haible  <bruno@clisp.org>
4676
4677         wctype-h: Fix last change.
4678         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4679         REPLACE_TOWLOWER to 0.
4680         Reported by Sam Steingold <sds@gnu.org>.
4681
4682 2011-07-31  Bruno Haible  <bruno@clisp.org>
4683
4684         frexpl: Update autoconf test.
4685         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4686         according to changes of 2011-06-20.
4687
4688 2011-07-31  Bruno Haible  <bruno@clisp.org>
4689
4690         sys_utsname: Add support for Minix.
4691         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4692         <sys/utsname.h>.
4693         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4694         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4695
4696 2011-07-31  Bruno Haible  <bruno@clisp.org>
4697
4698         strings: Add support for Minix.
4699         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4700         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4701         * doc/posix-headers/strings.texi: Document the Minix problem.
4702
4703 2011-07-31  Bruno Haible  <bruno@clisp.org>
4704
4705         wctype-h: Add support for Minix.
4706         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4707         REPLACE_TOWLOWER.
4708         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4709         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4710         REPLACE_ISWCNTRL.
4711
4712 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4713
4714         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4715         This is a performance improvement for 64-bit hosts: it causes the
4716         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4717
4718 2011-07-31  Bruno Haible  <bruno@clisp.org>
4719
4720         stdioext: Add support for Minix.
4721         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4722         * lib/fpurge.c (fpurge): Likewise.
4723         * lib/freadahead.c (freadahead): Likewise.
4724         * lib/freadable.c (freadable): Likewise.
4725         * lib/freading.c (freading): Likewise.
4726         * lib/freadptr.c (freadptr): Likewise.
4727         * lib/freadseek.c (freadptrinc): Likewise.
4728         * lib/fseeko.c (rpl_fseeko): Likewise.
4729         * lib/fseterr.c (fseterr): Likewise.
4730         * lib/fwritable.c (fwritable): Likewise.
4731         * lib/fwriting.c (fwriting): Likewise.
4732         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4733         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4734
4735 2011-07-31  Bruno Haible  <bruno@clisp.org>
4736
4737         errno: Port to Minix.
4738         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4739         ECONNABORTED are defined.
4740         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4741         GNULIB_defined_ECONNABORTED): New macros.
4742         * lib/strerror-override.h (strerror_override): Test also
4743         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4744         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4745         ECONNABORTED.
4746         * doc/posix-headers/errno.texi: Mention the Minix problem.
4747
4748 2011-07-31  Bruno Haible  <bruno@clisp.org>
4749
4750         Work around declaration collisions on Minix.
4751         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4752         defined, set REPLACE_MBSINIT.
4753         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4754         defined, set REPLACE_MBRTOWC.
4755         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4756         set REPLACE_MBRLEN.
4757         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4758         defined, set REPLACE_MBSRTOWCS.
4759         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4760         defined, set REPLACE_WCRTOMB.
4761         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4762         defined, set REPLACE_WCSRTOMBS.
4763
4764 2011-07-31  Bruno Haible  <bruno@clisp.org>
4765
4766         Add support for Minix with ACK compiler.
4767         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4768         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4769         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4770
4771 2011-07-31  Bruno Haible  <bruno@clisp.org>
4772
4773         Documentation about Minix.
4774         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4775         * doc/glibc-headers/*.texi: Likewise.
4776         * doc/posix-functions/*.texi: Likewise.
4777         * doc/glibc-functions/*.texi: Likewise.
4778
4779 2011-07-31  Bruno Haible  <bruno@clisp.org>
4780
4781         snippet/warn-on-use: Fix indentation.
4782         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4783
4784 2011-07-25  Jim Meyering  <meyering@redhat.com>
4785
4786         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4787         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4788         commands.
4789
4790 2011-07-27  Jim Meyering  <meyering@redhat.com>
4791
4792         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4793         * top/maint.mk (gl_extract_significant_defines_): Now that
4794         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4795         gnulib/lib/signal.in.h, and now that we recommend to
4796         define-if-undefined those two symbols in application code,
4797         we must filter them out of the "significant" list.
4798         This avoids a "make syntax-check" failure in coreutils.
4799
4800 2011-07-26  Eric Blake  <eblake@redhat.com>
4801
4802         warnings: add comments about previous patch
4803         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4804         * m4/include_next.m4: Likewise.
4805         * m4/warn-on-use.m4: Likewise.
4806         * m4/warnings.m4: Likewise, and simplify use.
4807         Suggested by Stefano Lattarini.
4808
4809         include-next, warnings: support older autoconf
4810         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4811         AS_VAR_PUSHDEF in a way that works with older autoconf.
4812         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4813         Reported by Daniel P. Berrange.
4814
4815 2011-07-25  Bruno Haible  <bruno@clisp.org>
4816
4817         fseek, ftell: Fix doc.
4818         * doc/posix-functions/fseek.texi: Reword statement about
4819         AC_SYS_LARGEFILE.
4820         * doc/posix-functions/ftell.texi: Likewise.
4821
4822 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4823             Bruno Haible  <bruno@clisp.org>
4824
4825         Add dependencies to the 'largefile' module.
4826         * modules/fopen (Depends-on): Add 'largefile'.
4827         * modules/freopen (Depends-on): Likewise.
4828         * modules/fseeko (Depends-on): Likewise.
4829         * modules/ftello (Depends-on): Likewise.
4830         * modules/glob (Depends-on): Likewise.
4831         * modules/lseek (Depends-on): Likewise.
4832         * modules/lstat (Depends-on): Likewise.
4833         * modules/mkostemp (Depends-on): Likewise.
4834         * modules/mkostemps (Depends-on): Likewise.
4835         * modules/mkstemp (Depends-on): Likewise.
4836         * modules/mkstemps (Depends-on): Likewise.
4837         * modules/open (Depends-on): Likewise.
4838         * modules/openat (Depends-on): Likewise.
4839         * modules/pread (Depends-on): Likewise.
4840         * modules/pwrite (Depends-on): Likewise.
4841         * modules/scandir (Depends-on): Likewise.
4842         * modules/stat (Depends-on): Likewise.
4843         * modules/tmpfile (Depends-on): Likewise.
4844         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4845         since the containing module now depends on the largefile module.
4846         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4847         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4848         off_t is fixed by gnulib.
4849         * doc/posix-functions/freopen.texi: Likewise.
4850         * doc/posix-functions/fseeko.texi: Likewise.
4851         * doc/posix-functions/fstatat.texi: Likewise.
4852         * doc/posix-functions/ftello.texi: Likewise.
4853         * doc/posix-functions/glob.texi: Likewise.
4854         * doc/posix-functions/lseek.texi: Likewise.
4855         * doc/posix-functions/lstat.texi: Likewise.
4856         * doc/posix-functions/mkstemp.texi: Likewise.
4857         * doc/posix-functions/open.texi: Likewise.
4858         * doc/posix-functions/openat.texi: Likewise.
4859         * doc/posix-functions/pread.texi: Likewise.
4860         * doc/posix-functions/pwrite.texi: Likewise.
4861         * doc/posix-functions/scandir.texi: Likewise.
4862         * doc/posix-functions/stat.texi: Likewise.
4863         * doc/posix-functions/tmpfile.texi: Likewise.
4864         * doc/glibc-functions/mkostemp.texi: Likewise.
4865         * doc/glibc-functions/mkostemps.texi: Likewise.
4866         * doc/glibc-functions/mkstemps.texi: Likewise.
4867
4868 2011-07-25  Bruno Haible  <bruno@clisp.org>
4869
4870         fcntl: Move AC_LIBOBJ invocation to module description.
4871         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4872         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4873
4874         fcntl: Remove call-in from fchdir.m4.
4875         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4876         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4877
4878         dup3: Remove potential call-in from fchdir.m4.
4879         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4881
4882         dup2: Move AC_LIBOBJ invocation to module description.
4883         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4884         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4885         Don't invoke AC_LIBOBJ.
4886         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4887
4888         dup2: Remove call-in from fchdir.m4.
4889         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4890         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4891
4892         fclose: Move AC_LIBOBJ invocation to module description.
4893         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4894         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4895         to 1.
4896         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4897
4898         fclose: Remove call-in from close.m4.
4899         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4900         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4901
4902         close: Move AC_LIBOBJ invocation to module description.
4903         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4904         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4905         1.
4906         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4907
4908         close: Remove call-in from fchdir.m4.
4909         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4910         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4911
4912         open: Move AC_LIBOBJ invocation to module description.
4913         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4914         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4915         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4916
4917         open: Remove call-in from fchdir.m4.
4918         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4919         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4920
4921         fchdir: Start to remove gl_REPLACE_* idiom.
4922         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4923         (gl_FUNC_FCHDIR): Invoke it.
4924
4925 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4926
4927         * lib/ftell.c (ftell): Comment out cast.
4928
4929         close: use gl_REPLACE_FCLOSE only if defined
4930         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4931         is defined.  The close module doesn't depend on the fclose module
4932         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4934         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4935
4936 2011-07-24  Jim Meyering  <meyering@redhat.com>
4937
4938         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4939         * tests/test-select.h (test_function): Declare as "static".
4940
4941 2011-07-24  Bruno Haible  <bruno@clisp.org>
4942
4943         doc: Mention the effects of AC_SYS_LARGEFILE.
4944         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4945         on this function.
4946         * doc/posix-functions/aio_error.texi: Likewise.
4947         * doc/posix-functions/aio_fsync.texi: Likewise.
4948         * doc/posix-functions/aio_read.texi: Likewise.
4949         * doc/posix-functions/aio_return.texi: Likewise.
4950         * doc/posix-functions/aio_suspend.texi: Likewise.
4951         * doc/posix-functions/aio_write.texi: Likewise.
4952         * doc/posix-functions/fgetpos.texi: Likewise.
4953         * doc/posix-functions/fopen.texi: Likewise.
4954         * doc/posix-functions/freopen.texi: Likewise.
4955         * doc/posix-functions/fsetpos.texi: Likewise.
4956         * doc/posix-functions/fstatvfs.texi: Likewise.
4957         * doc/posix-functions/ftruncate.texi: Likewise.
4958         * doc/posix-functions/ftw.texi: Likewise.
4959         * doc/posix-functions/getrlimit.texi: Likewise.
4960         * doc/posix-functions/glob.texi: Likewise.
4961         * doc/posix-functions/lio_listio.texi: Likewise.
4962         * doc/posix-functions/lockf.texi: Likewise.
4963         * doc/posix-functions/mkstemp.texi: Likewise.
4964         * doc/posix-functions/mmap.texi: Likewise.
4965         * doc/posix-functions/nftw.texi: Likewise.
4966         * doc/posix-functions/openat.texi: Likewise.
4967         * doc/posix-functions/opendir.texi: Likewise.
4968         * doc/posix-functions/posix_fadvise.texi: Likewise.
4969         * doc/posix-functions/posix_fallocate.texi: Likewise.
4970         * doc/posix-functions/pread.texi: Likewise.
4971         * doc/posix-functions/pwrite.texi: Likewise.
4972         * doc/posix-functions/readdir.texi: Likewise.
4973         * doc/posix-functions/readdir_r.texi: Likewise.
4974         * doc/posix-functions/rewinddir.texi: Likewise.
4975         * doc/posix-functions/scandir.texi: Likewise.
4976         * doc/posix-functions/seekdir.texi: Likewise.
4977         * doc/posix-functions/setrlimit.texi: Likewise.
4978         * doc/posix-functions/statvfs.texi: Likewise.
4979         * doc/posix-functions/telldir.texi: Likewise.
4980         * doc/posix-functions/tmpfile.texi: Likewise.
4981         * doc/posix-functions/truncate.texi: Likewise.
4982         * doc/glibc-functions/fallocate.texi: Likewise.
4983         * doc/glibc-functions/fstatfs.texi: Likewise.
4984         * doc/glibc-functions/fts_children.texi: Likewise.
4985         * doc/glibc-functions/fts_read.texi: Likewise.
4986         * doc/glibc-functions/getdirentries.texi: Likewise.
4987         * doc/glibc-functions/mkostemp.texi: Likewise.
4988         * doc/glibc-functions/mkostemps.texi: Likewise.
4989         * doc/glibc-functions/mkstemps.texi: Likewise.
4990         * doc/glibc-functions/preadv.texi: Likewise.
4991         * doc/glibc-functions/pwritev.texi: Likewise.
4992         * doc/glibc-functions/sendfile.texi: Likewise.
4993         * doc/glibc-functions/statfs.texi: Likewise.
4994
4995 2011-07-24  Bruno Haible  <bruno@clisp.org>
4996
4997         doc: Fix typo.
4998         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4999
5000 2011-07-24  Bruno Haible  <bruno@clisp.org>
5001
5002         doc: Mention fsusage.
5003         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
5004
5005 2011-07-24  Bruno Haible  <bruno@clisp.org>
5006
5007         doc: Mention new glibc headers and functions.
5008         * doc/glibc-headers/gshadow.texi: New file.
5009         * doc/glibc-functions/endsgent.texi: New file.
5010         * doc/glibc-functions/fgetsgent.texi: New file.
5011         * doc/glibc-functions/fgetsgent_r.texi: New file.
5012         * doc/glibc-functions/getsgent.texi: New file.
5013         * doc/glibc-functions/getsgent_r.texi: New file.
5014         * doc/glibc-functions/getsgnam.texi: New file.
5015         * doc/glibc-functions/getsgnam_r.texi: New file.
5016         * doc/glibc-functions/putsgent.texi: New file.
5017         * doc/glibc-functions/setsgent.texi: New file.
5018         * doc/glibc-functions/sgetsgent.texi: New file.
5019         * doc/glibc-functions/sgetsgent_r.texi: New file.
5020         * doc/glibc-functions/malloc_info.texi: New file.
5021         * doc/glibc-functions/preadv.texi: New file.
5022         * doc/glibc-functions/pwritev.texi: New file.
5023         * doc/glibc-functions/register_printf_modifier.texi: New file.
5024         * doc/glibc-functions/register_printf_specifier.texi: New file.
5025         * doc/glibc-functions/register_printf_type.texi: New file.
5026         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
5027         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
5028         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
5029         * doc/glibc-functions/pthread_getname_np.texi: New file.
5030         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
5031         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
5032         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
5033         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
5034         * doc/glibc-functions/pthread_setname_np.texi: New file.
5035         * doc/glibc-functions/pthread_sigqueue.texi: New file.
5036         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
5037         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
5038         * doc/glibc-functions/qsort_r.texi: New file.
5039         * doc/glibc-functions/quick_exit.texi: New file.
5040         * doc/glibc-functions/syncfs.texi: New file.
5041         * doc/gnulib.texi: Include them.
5042         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
5043         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
5044         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
5045         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
5046         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
5047         * doc/glibc-functions/execvpe.texi: Likewise.
5048
5049 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5050
5051         ftell: don't include <unistd.h>
5052         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
5053         guaranteed to define off_t, and the ftell module depends on the
5054         stdio module.
5055
5056         ftell: do not assume wraparound signed arithmetic
5057         * lib/ftell.c: Include <limits.h>.
5058         (ftell): Don't assume wraparound signed arithmetic.
5059
5060 2011-07-24  Bruno Haible  <bruno@clisp.org>
5061
5062         close: No longer depend on module 'fclose'.
5063         * modules/close (Depends-on): Remove fclose.
5064         * NEWS: Mention the change.
5065         Suggested by Sam Steingold <sds@gnu.org>.
5066
5067 2011-07-24  Bruno Haible  <bruno@clisp.org>
5068
5069         fsusage: Enable large volume support on AIX >= 5.2.
5070         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
5071         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
5072         instead of STAT_STATVFS.
5073         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
5074
5075         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
5076         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
5077         f_blocks field only on MacOS X.
5078
5079         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
5080         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
5081         * modules/fsusage (Depends-on): Add largefile.
5082
5083 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5084
5085         * README: Modernize discussion of signed integers.
5086         Assuming overflow wraparound is no longer safe.
5087         Mention ones' complement and signed magnitude.
5088
5089 2011-07-22  Bruno Haible  <bruno@clisp.org>
5090
5091         select tests, pselect tests: Refactor.
5092         * tests/test-select.h: New file, extracted from tests/test-select.c.
5093         (select_fn): New type.
5094         (test, do_select, do_select_nowait, do_select_wait, test_tty,
5095         test_connect_first, test_accept_first, test_pair, test_socket_pair,
5096         test_pipe): Add my_select argument.
5097         (test_function): Renamed from main. Add my_select argument.
5098         * tests/test-select.c: Move most code to tests/test-select.h. Include
5099         test-select.h.
5100         * modules/select-tests (Files): Add tests/test-select.h.
5101         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
5102         (my_select, main): New functions.
5103         * modules/pselect-tests (Files): Add tests/test-select.h,
5104         tests/macros.h, tests/signature.h.
5105         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
5106         (configure.ac): Check for <sys/wait.h>.
5107
5108 2011-07-22  Bruno Haible  <bruno@clisp.org>
5109
5110         sys_select tests: Check the signature of FD_*.
5111         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
5112         signature tests from here...
5113         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
5114         here.
5115         * modules/sys_select-tests (Files): Add tests/signature.h.
5116
5117 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5118
5119         largefile: new module, replacing large-inode
5120         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
5121         * MODULES.html.sh: Add largefile, remove large-inode.
5122         * modules/largefile, m4/largefile.m4: New files.
5123         * modules/large-inode, m4/large-inode.m4: Remove.
5124
5125         fsusage: port to MacOS X 10.7 with 4 TiB file systems
5126         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
5127         implementations that use only 32 bits to count blocks.
5128         On typical hosts with 1024-byte blocks, this fails with file
5129         systems as small as 4 TiB.  Problem reported by Herb Wartens
5130         <http://debbugs.gnu.org/9140> and this should also fix a similar
5131         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
5132
5133         large-inode: New module
5134         * MODULES.html.sh: Add it.
5135         * modules/large-inode, m4/large-inode.m4: New files.
5136
5137         extensions: Enable extensions on MacOS X 10.5 and later.
5138         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
5139
5140 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
5141
5142         file-has-acl: use acl_extended_file_nofollow if available
5143         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
5144         (acl_extended_file): New macro.
5145         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
5146         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
5147
5148 2011-07-21  Bruno Haible  <bruno@clisp.org>
5149
5150         Declare system functions in a way that works with C++.
5151         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
5152         declare fdopendir as extern "C".
5153         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
5154         declare frexpl as extern "C".
5155         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
5156         declare gai_strerror as extern "C".
5157         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
5158         programs, declare gai_strerror as extern "C".
5159         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
5160         declare getlogin_r as extern "C".
5161         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
5162         as extern "C".
5163         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
5164         declare ldexpl as extern "C".
5165         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
5166         as extern "C".
5167         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
5168         program, declare getmntinfo as extern "C".
5169         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5170         stpncpy as extern "C".
5171         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5172         program, declare __xpg_strerror_r as extern "C".
5173         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5174         strndup as extern "C".
5175         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5176         declare memset and bzero as extern "C".
5177         Reported by Sam Steingold <sds@gnu.org>.
5178
5179 2011-07-12  Jim Meyering  <meyering@redhat.com>
5180
5181         maint.mk: prohibit inclusion of "verify.h" without use
5182         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5183
5184 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5185
5186         timer-time: A new module to check for timer_settime()
5187         * m4/timer_time.m4: Check for the posix function.
5188         * modules/timer-time: Add the new module.
5189         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5190         Mention it.
5191
5192 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5193             Bruno Haible  <bruno@clisp.org>
5194
5195         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5196         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5197         not defined, assume POSIX threads and look for pthread_sigmask in
5198         $LIBS, without changing $CPPFLAGS.
5199
5200 2011-07-19  Bruno Haible  <bruno@clisp.org>
5201
5202         strstr: Update cross-compilation guess.
5203         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5204         CPUs, guess no, in view of glibc
5205         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5206         Suggested by Eric Blake. Reported by Reuben Thomas.
5207
5208 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5209
5210         getopt-gnu: suppress core dumps from detection code
5211         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5212         to suppress core dumps that may well occur on glibc systems.
5213         * modules/getopt-gnu: Depend on nocrash.
5214
5215 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5216
5217         pthread_sigmask: ensure usleep is declared
5218         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5219         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5220
5221 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5222
5223         doc: Document NonStop portability issues.
5224         * doc/posix-functions/sigaction.texi (sigaction):
5225         * doc/posix-headers/signal.texi (signal.h):
5226         Document NonStop.  See Joachim Schmitz in
5227         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5228
5229 2011-07-15  Bruno Haible  <bruno@clisp.org>
5230
5231         ffsl, ffsll: Avoid unportable behaviour.
5232         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5233
5234 2011-07-15  Bruno Haible  <bruno@clisp.org>
5235
5236         ffs: More tests.
5237         * tests/test-ffs.c (NBITS): New macro.
5238         (main): Add more tests.
5239         * tests/test-ffsl.c (NBITS): New macro.
5240         (main): Add more tests.
5241         * tests/test-ffsll.c (NBITS): New macro.
5242         (main): Add more tests.
5243
5244 2011-07-15  Eric Blake  <eblake@redhat.com>
5245
5246         ffsl, ffsll: new modules
5247         * modules/ffsl: New file.
5248         * modules/ffsll: Likewise.
5249         * m4/ffsl.m4: Likewise.
5250         * m4/ffsll.m4: Likewise.
5251         * lib/ffsl.c: Likewise.
5252         * lib/ffsl.h: Likewise.
5253         * lib/ffsll.c: Likewise.
5254         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5255         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5256         * modules/string (Makefile.am): Substitute witnesses.
5257         * lib/strings.in.h (ffsl, ffsll): Declare.
5258         * modules/ffsl-tests: New test file.
5259         * modules/ffsll-tests: Likewise.
5260         * tests/test-ffsl.c: Likewise.
5261         * tests/test-ffsll.c: Likewise.
5262         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5263         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5264         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5265
5266         ffs: fix m4 prerequisite
5267         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5268
5269         ffs: avoid undefined behavior
5270         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5271         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5272         Reported by Bruno Haible.
5273
5274 2011-07-12  Bruno Haible  <bruno@clisp.org>
5275
5276         pthread_sigmask: Rely on module 'threadlib'.
5277         * modules/pthread_sigmask (Depends-on): Add threadlib.
5278         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5279         is defined.
5280
5281 2011-07-12  Bruno Haible  <bruno@clisp.org>
5282
5283         regex: Depend on module 'strcase'.
5284         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5285
5286 2011-07-12  Jim Meyering  <meyering@redhat.com>
5287
5288         warn-on-use: fix typo in file name
5289         * modules/snippet/warn-on-use (Files): Correct file name:
5290         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5291
5292 2011-07-12  Bruno Haible  <bruno@clisp.org>
5293
5294         strings: Document module.
5295         * doc/posix-headers/strings.texi: Mention module 'strings'.
5296
5297 2011-07-12  Bruno Haible  <bruno@clisp.org>
5298
5299         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5300         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5301         (Files, Makefile.am): Update.
5302         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5303         * modules/stdlib (Depends-on): Update.
5304
5305 2011-07-12  Bruno Haible  <bruno@clisp.org>
5306
5307         * NEWS: Mention the changes.
5308
5309         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5310         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5311         (Files, Makefile.am): Update.
5312         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5313         * modules/arpa_inet (Depends-on): Update.
5314         * modules/ctype (Depends-on): Update.
5315         * modules/dirent (Depends-on): Update.
5316         * modules/fcntl-h (Depends-on): Update.
5317         * modules/glob (Depends-on): Update.
5318         * modules/iconv-h (Depends-on): Update.
5319         * modules/inttypes-incomplete (Depends-on): Update.
5320         * modules/langinfo (Depends-on): Update.
5321         * modules/locale (Depends-on): Update.
5322         * modules/math (Depends-on): Update.
5323         * modules/netdb (Depends-on): Update.
5324         * modules/poll-h (Depends-on): Update.
5325         * modules/pty (Depends-on): Update.
5326         * modules/search (Depends-on): Update.
5327         * modules/signal (Depends-on): Update.
5328         * modules/spawn (Depends-on): Update.
5329         * modules/stdio (Depends-on): Update.
5330         * modules/stdlib (Depends-on): Update.
5331         * modules/string (Depends-on): Update.
5332         * modules/strings (Depends-on): Update.
5333         * modules/sys_file (Depends-on): Update.
5334         * modules/sys_ioctl (Depends-on): Update.
5335         * modules/sys_select (Depends-on): Update.
5336         * modules/sys_socket (Depends-on): Update.
5337         * modules/sys_stat (Depends-on): Update.
5338         * modules/sys_time (Depends-on): Update.
5339         * modules/sys_times (Depends-on): Update.
5340         * modules/sys_utsname (Depends-on): Update.
5341         * modules/sys_wait (Depends-on): Update.
5342         * modules/termios (Depends-on): Update.
5343         * modules/time (Depends-on): Update.
5344         * modules/unistd (Depends-on): Update.
5345         * modules/wchar (Depends-on): Update.
5346         * modules/wctype-h (Depends-on): Update.
5347         * MODULES.html.sh (Support for building libraries and executables):
5348         Update.
5349
5350         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5351         * modules/snippet/unused-parameter: Renamed from
5352         modules/unused-parameter.
5353         (Files, Makefile.am): Update.
5354         * build-aux/snippet/unused-parameter.h: Renamed from
5355         build-aux/unused-parameter.h.
5356         * modules/selinux-h (Depends-on): Update.
5357         * modules/unistr/base (Depends-on): Update.
5358         * MODULES.html.sh (Core language properties): Update.
5359
5360         Rename module 'link-warning' to 'snippet/link-warning'.
5361         * modules/snippet/link-warning: Renamed from modules/link-warning.
5362         (Files, Makefile.am): Update.
5363         * build-aux/snippet/link-warning.h: Renamed from
5364         build-aux/link-warning.h.
5365         * MODULES.html.sh (Support for building libraries and executables):
5366         Update.
5367
5368         Rename module 'c++defs' to 'snippet/c++defs'.
5369         * modules/snippet/c++defs: Renamed from modules/c++defs.
5370         (Files, Makefile.am): Update.
5371         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5372         * modules/arpa_inet (Depends-on): Update.
5373         * modules/ctype (Depends-on): Update.
5374         * modules/dirent (Depends-on): Update.
5375         * modules/fcntl-h (Depends-on): Update.
5376         * modules/glob (Depends-on): Update.
5377         * modules/iconv-h (Depends-on): Update.
5378         * modules/langinfo (Depends-on): Update.
5379         * modules/locale (Depends-on): Update.
5380         * modules/math (Depends-on): Update.
5381         * modules/netdb (Depends-on): Update.
5382         * modules/poll-h (Depends-on): Update.
5383         * modules/pty (Depends-on): Update.
5384         * modules/search (Depends-on): Update.
5385         * modules/signal (Depends-on): Update.
5386         * modules/spawn (Depends-on): Update.
5387         * modules/stdio (Depends-on): Update.
5388         * modules/stdlib (Depends-on): Update.
5389         * modules/string (Depends-on): Update.
5390         * modules/strings (Depends-on): Update.
5391         * modules/sys_ioctl (Depends-on): Update.
5392         * modules/sys_select (Depends-on): Update.
5393         * modules/sys_socket (Depends-on): Update.
5394         * modules/sys_stat (Depends-on): Update.
5395         * modules/sys_time (Depends-on): Update.
5396         * modules/sys_wait (Depends-on): Update.
5397         * modules/termios (Depends-on): Update.
5398         * modules/time (Depends-on): Update.
5399         * modules/unistd (Depends-on): Update.
5400         * modules/wchar (Depends-on): Update.
5401         * modules/wctype-h (Depends-on): Update.
5402
5403         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5404         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5405         (Files, Makefile.am): Update.
5406         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5407         * modules/argv-iter (Depends-on): Update.
5408         * modules/arpa_inet (Depends-on): Update.
5409         * modules/dirent (Depends-on): Update.
5410         * modules/fcntl-h (Depends-on): Update.
5411         * modules/fnmatch (Depends-on): Update.
5412         * modules/getopt-posix (Depends-on): Update.
5413         * modules/glob (Depends-on): Update.
5414         * modules/iconv-h (Depends-on): Update.
5415         * modules/inttypes-incomplete (Depends-on): Update.
5416         * modules/locale (Depends-on): Update.
5417         * modules/math (Depends-on): Update.
5418         * modules/netdb (Depends-on): Update.
5419         * modules/search (Depends-on): Update.
5420         * modules/signal (Depends-on): Update.
5421         * modules/spawn (Depends-on): Update.
5422         * modules/stdio (Depends-on): Update.
5423         * modules/stdlib (Depends-on): Update.
5424         * modules/string (Depends-on): Update.
5425         * modules/strings (Depends-on): Update.
5426         * modules/sys_socket (Depends-on): Update.
5427         * modules/sys_stat (Depends-on): Update.
5428         * modules/sys_time (Depends-on): Update.
5429         * modules/sys_times (Depends-on): Update.
5430         * modules/sys_utsname (Depends-on): Update.
5431         * modules/time (Depends-on): Update.
5432         * modules/unistd (Depends-on): Update.
5433         * modules/wchar (Depends-on): Update.
5434         * MODULES.html.sh (Support for building libraries and executables):
5435         Update.
5436
5437 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5438
5439         Improvements on _Noreturn and related modules.
5440
5441         modules/_Exit-tests: test _Noreturn too
5442         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5443         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5444         (main): Use them.
5445
5446         stdnoreturn, stdnoreturn-tests: remove modules
5447         They're not needed here and a bit premature for use elsewhere.  See
5448         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5449         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5450         * tests/test-stdnoreturn.c: Remove files.
5451         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5452         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5453         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5454         and using noreturn.
5455         * modules/openat, modules/sigpipe-die, modules/xalloc:
5456         * modules/xmemdup0, modules/xstrtol:
5457         Remove dependency on stdnoreturn.
5458
5459         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5460         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5461         Reparenthesize to avoid GCC warning.
5462         Support Microsoft's syntax.
5463         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5464
5465         _Noreturn-tests: remove module
5466         * modules/_Noreturn-tests: Remove.
5467         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5468         * tests/test-_Noreturn.c: Remove.
5469         * tests/test-stdnoreturn.c: Merge from the old
5470         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5471
5472 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5473
5474         _Noreturn, stdnoreturn, and related modules.
5475
5476         * top/maint.mk: Adjust to new noreturn support.
5477         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5478         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5479
5480         xalloc: use stdnoreturn.h
5481         * lib/xalloc.h: Include <stdnoreturn.h>.
5482         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5483         * modules/xalloc (Depends-on): Add stdnoreturn.
5484
5485         xstrtol: use stdnoreturn.h
5486         * lib/xstrtol.h: Include <stdnoreturn.h>.
5487         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5488         * modules/xstrtol (Depends-on): Add stdnoreturn.
5489
5490         xmemdup0: use stdnoreturn.h
5491         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5492         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5493         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5494
5495         sigpipe-die: use stdnoreturn.h
5496         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5497         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5498         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5499
5500         openat: use stdnoreturn.h
5501         * lib/openat.h: Include <stdnoreturn.h>.
5502         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5503         * modules/openat (Depends-on): Add stdnoreturn.
5504
5505         * lib/openat-die.c (openat_save_fail): Modernize comment.
5506
5507         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5508
5509         * lib/glthread/thread.h: Modernize comment.
5510
5511         obstack: use _Noreturn
5512         * lib/obstack.c (__attribute__): Remove macro.
5513         (print_and_abort): Use _Noreturn.
5514
5515         c-stack: use _Noreturn
5516         * lib/c-stack.c (die, overflow_handler, segv_handler):
5517         Use _Noreturn rather than __attribute__((noreturn)).
5518
5519         argmatch-tests, exclude_tests: use _Noreturn
5520         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5521         Remove.
5522         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5523
5524         stdlib: use _Noreturn
5525         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5526         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5527         * modules/stdlib (Depends-on): Add _Noreturn.
5528         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5529
5530         stdnoreturn-tests: new module
5531         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5532
5533         stdnoreturn: new module
5534         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5535         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5536
5537         _Noreturn-tests: new module
5538         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5539
5540         _Noreturn: new module
5541         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5542         New section, mentioning it.
5543         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5544
5545         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5546
5547 2011-07-11  Eric Blake  <eblake@redhat.com>
5548
5549         ffs: new module
5550         * modules/ffs: New file.
5551         * m4/ffs.m4: Likewise.
5552         * lib/ffs.c: Likewise.
5553         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5554         * modules/strings (Makefile.am): Substitute witness.
5555         (Depends-on): Add c++defs.
5556         * lib/strings.in.h (ffs): Declare.
5557         * modules/ffs-tests: New test file.
5558         * tests/test-ffs.c: Test new module.
5559         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5560         * doc/posix-functions/ffs.texi (ffs): Likewise.
5561
5562         regex: avoid compiler warning
5563         * lib/regex.c (includes): Include <strings.h>, for use of
5564         strcasecmp in regcomp.c.
5565         Reported by Joachim Schmitz.
5566
5567 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5568
5569         stdint: respect system's intmax_t if INTMAX_MAX
5570         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5571         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5572         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5573         long but int64_t is long long, and where we will clash with the
5574         system intmax_t if we override it.  See
5575         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5576         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5577         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5578         similarly for UINTMAX_C.
5579
5580 2011-07-08  Bruno Haible  <bruno@clisp.org>
5581
5582         pthread_sigmask tests: Avoid a compiler warning.
5583         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5584         non-zero.
5585
5586         sigprocmask tests: A better way to avoid a compiler warning.
5587         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5588         (main): Complain if system() returns non-zero.
5589         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5590
5591 2011-07-08  Bruno Haible  <bruno@clisp.org>
5592
5593         pthread_sigmask: Work around IRIX bug.
5594         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5595         bug.
5596         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5597         there may be unblocked pending signals.
5598         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5599
5600 2011-07-08  Bruno Haible  <bruno@clisp.org>
5601
5602         pthread_sigmask: Work around Cygwin bug.
5603         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5604         bug.
5605         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5606         the system's pthread_sigmask function.
5607         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5608
5609 2011-07-08  Bruno Haible  <bruno@clisp.org>
5610
5611         pthread_sigmask: Work around bug in single-threaded implementation.
5612         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5613         FreeBSD, HP-UX, Solaris bug.
5614         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5615         * lib/pthread_sigmask.c: Include <stddef.h>.
5616         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5617         the system's pthread_sigmask function.
5618         * modules/pthread_sigmask (configure.ac): Invoke
5619         gl_PREREQ_PTHREAD_SIGMASK.
5620         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5621         HP-UX, Solaris.
5622
5623 2011-07-08  Eric Blake  <eblake@redhat.com>
5624
5625         test-sigprocmask: avoid compiler warning
5626         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5627         * tests/test-sigprocmask.c (main): Use it to silence warning.
5628         Reported by Jim Meyering.
5629
5630         test-snprintf: avoid compiler warning
5631         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5632         * tests/test-vsnprintf.c (main): Likewise.
5633         Reported by Jim Meyering.
5634
5635 2011-07-08  Bruno Haible  <bruno@clisp.org>
5636
5637         Tests for module 'pthread_sigmask'.
5638         * modules/pthread_sigmask-tests: New file.
5639         * tests/test-pthread_sigmask1.c: New file, based on
5640         tests/test-sigprocmask.c.
5641         * tests/test-pthread_sigmask2.c: New file.
5642
5643 2011-07-08  Jim Meyering  <meyering@redhat.com>
5644
5645         test-getopt.h: avoid warning about an unused variable
5646         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5647
5648 2011-07-07  Jim Meyering  <meyering@redhat.com>
5649
5650         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5651         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5652         now that it no longer contains leading TABs.
5653         Remove unused "url=FIXME" statement.
5654
5655 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5656
5657         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5658         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5659         When gl_THREADLIB is not in use, assume that the POSIX sematics
5660         are desired.  This is better for Emacs, which uses POSIX semantics
5661         on GNUish and/or POSIXish platforms, and does not use threads at
5662         all otherwise.
5663
5664         pthread_sigmask: fix typo when testing for libraries
5665         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5666         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5667
5668 2011-07-08  Eric Blake  <eblake@redhat.com>
5669
5670         fts: introduce FTS_NOATIME
5671         * lib/fts_.h (FTS_NOATIME): New bit flag.
5672         (FTS_OPTIONMASK): Adjust.
5673         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5674         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5675
5676 2011-07-08  Bruno Haible  <bruno@clisp.org>
5677
5678         Tests for module 'thread'.
5679         * modules/thread-tests: New file.
5680         * tests/test-thread_self.c: New file.
5681         * tests/test-thread_create.cc: New file.
5682
5683 2011-07-08  Bruno Haible  <bruno@clisp.org>
5684
5685         thread: Avoid gcc warnings when using gl_thread_self().
5686         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5687         'void *'.
5688         (gl_thread_self_pointer): Update.
5689
5690 2011-07-07  Bruno Haible  <bruno@clisp.org>
5691
5692         signal-c++-tests: Check declaration of pthread_sigmask.
5693         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5694         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5695         $(LIB_PTHREAD_SIGMASK).
5696
5697 2011-07-07  Bruno Haible  <bruno@clisp.org>
5698
5699         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5700         * lib/signal.in.h (pthread_sigmask): Override if
5701         REPLACE_PTHREAD_SIGMASK is 1.
5702         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5703         REPLACE_PTHREAD_SIGMASK.
5704         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5705         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5706         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5707         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5708         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5709
5710 2011-07-07  Bruno Haible  <bruno@clisp.org>
5711
5712         pthread_sigmask: Ensure declaration in <signal.h>.
5713         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5714         include <pthread.h>.
5715         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5716         problem.
5717
5718 2011-07-07  Bruno Haible  <bruno@clisp.org>
5719
5720         pthread_sigmask: Document the module.
5721         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5722
5723 2011-07-07  Bruno Haible  <bruno@clisp.org>
5724
5725         pthread_sigmask: Follow gnulib conventions.
5726         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5727         gl_PTHREAD_SIGMASK.
5728         * modules/pthread_sigmask (configure.ac): Update.
5729
5730 2011-07-07  Bruno Haible  <bruno@clisp.org>
5731
5732         pthread_sigmask: Make declaration C++ safe.
5733         * lib/signal.in.h: In two special conditions, just do an #include_next.
5734         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5735         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5736         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5737         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5738         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5739         not REPLACE_PTHREAD_MASK.
5740         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5741         not REPLACE_PTHREAD_MASK.
5742         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5743
5744 2011-07-07  Bruno Haible  <bruno@clisp.org>
5745
5746         pthread_sigmask: Fix return value.
5747         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5748         * lib/pthread_sigmask.c: New file.
5749         * modules/pthread_sigmask (Files): Add it.
5750         (configure.ac): Invoke AC_LIBOBJ.
5751
5752 2011-07-07  Eric Blake  <eblake@redhat.com>
5753
5754         getopt: more portable argv creation
5755         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5756         const, use char arrays rather than strings.
5757         Suggested by Paul Eggert.
5758
5759 2011-07-07  Bruno Haible  <bruno@clisp.org>
5760
5761         Tests for module 'sigprocmask'.
5762         * modules/sigprocmask-tests: New file.
5763         * tests/test-sigprocmask.c: New file.
5764
5765 2011-07-07  Bruno Haible  <bruno@clisp.org>
5766
5767         float tests: Tweak.
5768         * tests/test-float.c (main): Tweak skip message.
5769
5770 2011-07-07  Eric Blake  <eblake@redhat.com>
5771
5772         getopt: avoid compiler warning during configure
5773         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5774         assigning string literals to non-const pointer.
5775
5776         getopt-gnu: avoid crash in glibc getopt
5777         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5778         * tests/test-getopt.h (test_getopt): Enhance test.
5779         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5780         * doc/posix-functions/getopt.texi (getopt): Document it.
5781         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5782         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5783         Likewise.
5784
5785 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5786
5787         getopt: handle W; without long options in getopt [BZ #12922]
5788         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5789         but no long options are defined, just return 'W'.
5790
5791 2011-07-07  Bruno Haible  <bruno@clisp.org>
5792
5793         Avoid literal tabs.
5794         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5795         variable containing a tab instead of a literal tab.
5796         Reported by Jim Meyering.
5797
5798 2011-07-07  Bruno Haible  <bruno@clisp.org>
5799
5800         Comments.
5801         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5802
5803 2011-07-06  Bruno Haible  <bruno@clisp.org>
5804
5805         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5806         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5807         <winsock2.h>.
5808         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5809         lib/sys_socket.in.h.
5810         (close, gethostname): Hide declarations from <winsock2.h>.
5811         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5812         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5813         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5814         (select): Don't override if gnulib's <sys/select.h> was already
5815         included.
5816         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5817         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5818         setsockopt, shutdown, select): Tweak indentation.
5819
5820 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5821
5822         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5823         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5824         in an application that does not use the sys_select module.
5825
5826 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5827
5828         poll: do not return 0 on timeout=-1
5829         * lib/poll.c: Loop with yield if no events occured
5830
5831 2011-07-06  Eric Blake  <eblake@redhat.com>
5832
5833         pthread_sigmask: always replace when not using pthread
5834         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5835         replacement when using some threading other than pthread.  Fix
5836         logic bug.
5837
5838 2011-07-06  Bruno Haible  <bruno@clisp.org>
5839
5840         Comments.
5841         * m4/printf.m4: Update comments about mingw.
5842
5843 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5844
5845         sys_select: define sigset_t more portably
5846         * lib/sys_select.in.h: Always include <sys/types.h>, since
5847         we now need sigset_t and mingw defines it there.
5848         Include <signal.h> before split inclusion guard, to avoid
5849         mishaps on Solaris, whose <signal.h> eventually includes us.
5850         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5851         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5852         which come from ...
5853         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5854         gl_CHECK_TYPE_SIGSET_T.
5855         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5856         does the real work.
5857         * modules/sys_select (Depends-on): Add 'signal'.
5858
5859         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5860         Suggested by Bruno Haible.
5861
5862         pselect: Use pthread_sigmask, not sigprocmask.
5863         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5864         multithreaded apps better than sigprocmask does.
5865         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5866         sigprocmask directly.
5867
5868 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5869
5870         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5871         Don't #undef,  since we don't need any underlying pselect.
5872         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5873         (Depends-on): Add select.
5874         (Link): Add $(LIBSOCKET).
5875         These changes suggested by Bruno Haible.
5876
5877         pselect: document better
5878         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5879         * doc/posix-functions/pselect.texi (pselect): Document new module.
5880
5881         pthread_sigmask: new module
5882         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5883         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5884         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5885         This is done only as a macro; I don't know how well that'll
5886         work for C++.  Move <sys/types.h> include before the include_next,
5887         to avoid mishap on Solaris.
5888         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5889         * modules/signal (Makefile.am): Substitute the check's results.
5890         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5891
5892         test-pselect: new module
5893         * modules/pselect-tests, tests/test-pselect.c: New files.
5894         * tests/test-select.c, tests/test-sys_select-c++.cc:
5895         If TEST_PSELECT is defined, test pselect instead of testing select.
5896
5897         * tests/test-sys_select.c (sigset_t): Test for it, too.
5898         Suggested by Bruno Haible.
5899
5900 2011-07-05  Eric Blake  <eblake@redhat.com>
5901
5902         snprintf: guarantee %1$d, for libintl
5903         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5904         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5905         * doc/posix-functions/snprintf.texi (snprintf): Update.
5906         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5907         * tests/test-snprintf.c (main): Enhance test.
5908         * tests/test-vsnprintf.c (main): Likewise.
5909
5910 2011-07-05  Jim Meyering  <meyering@redhat.com>
5911
5912         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5913         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5914         per Bruno's request, to accommodate this idiom (no space after "#")
5915         even when the function is inside an #if block:
5916         char *
5917         gets (char *s)
5918         #undef gets
5919         {
5920           ...
5921         }
5922
5923 2011-07-04  Jim Meyering  <meyering@redhat.com>
5924
5925         maint: indent with spaces, not TABs, and add a rule to check this
5926         * tests/test-userspec.c: Indent with spaces, not TABs.
5927         * tests/test-argp.c: Likewise.
5928         * tests/test-c-stack2.sh: Likewise.
5929         * tests/test-parse-duration.sh: Likewise
5930         * m4/strtod.m4: Likewise.
5931         * m4/alloca.m4: Likewise.
5932         * m4/pselect.m4: Likewise.
5933         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5934
5935 2011-07-03  Jim Meyering  <meyering@redhat.com>
5936
5937         maint.mk: correct omissions in prohibit_argmatch_without_use check
5938         This rule would mistakenly report that argmatch.h is included without
5939         use even when both the argmatch and invalid_arg macro were used.
5940         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5941         of argmatch and invalid_arg.
5942
5943 2011-07-03  Bruno Haible  <bruno@clisp.org>
5944
5945         Comments about EINTR.
5946         * lib/safe-read.h: Explain the purpose of this module.
5947         * lib/safe-write.h: Likewise.
5948         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5949         module.
5950         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5951         module.
5952         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5953
5954 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5955
5956         xnanosleep: Rewrite to use new dtotimespec module.
5957         It has the conversion code that used to be in xnanosleep.
5958         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5959         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5960         (TIME_T_MAX): Remove.
5961         (xnanosleep): Rewrite in terms of dtotimespec.
5962         * modules/xnanosleep (Depends-on): Add dtotimespec.
5963         Remove intprops, stdbool.
5964
5965         timespec-add, timespec-sub: new modules
5966         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5967         * lib/timespec-add.c, lib/timespec-sub.c:
5968         * modules/timespec-add, modules/timespec-sub: New files.
5969
5970         dtotimespec: new module
5971         * lib/timespec.h (dtotimespec): New decl.
5972         * lib/dtotimespec.c, modules/dtotimespec: New files.
5973
5974         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5975
5976         pselect: new module
5977         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5978         (pselect): New decls.
5979         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5980         since the standard pselect decl uses 'restrict'.
5981         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5982         HAVE_PSELECT, REPLACE_PSELECT.
5983         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5984         HAVE_PSELECT, REPLACE_PSELECT.
5985         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5986
5987         sys_select: don't depend on sys_socket
5988         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5989         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5990         This fix works on GNU and GNU-like platforms, but has not been tested
5991         on native Windows.
5992         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5993         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5994         gl_HEADER_SYS_SOCKET.
5995         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5996         gl_PREREQ_SYS_H_WINSOCK2.
5997
5998 2011-06-29  Eric Blake  <eblake@redhat.com>
5999
6000         pipe2: fix C89 compile problem
6001         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
6002         Reported by Bruno Haible.
6003
6004         pipe, pipe2: don't corrupt fd on error
6005         * lib/pipe.c (pipe): Leave fd unchanged on error.
6006         * lib/pipe2.c (pipe2): Likewise.
6007         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
6008         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
6009
6010 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
6011
6012         mmap-anon: do not use regular expressions inadvertently
6013         * m4/mmap-anon.m4: Remove trailing period from strings sought
6014         in the output.
6015
6016 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6017
6018         nanosleep: fix integer overflow problem
6019         * lib/nanosleep.c (my_usleep): Don't assume signed integer
6020         arithmetic wraps around on overflow.
6021
6022         nanosleep: simplify carrying
6023         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
6024         first call to the underyling nanosleep, not for the last one.
6025         This doesn't fix any bugs, but it simplifies the computation of
6026         the remaining delay.  Found while auditing integer overflow issues.
6027
6028         dup2: remove test for existence of fcntl
6029         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
6030         "#if HAVE_FCNTL", in the configure-time test program.
6031         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
6032         and therefore speeds up "configure" a bit.  Found while
6033         adding the dup2 module to Emacs.
6034
6035 2011-06-24  Eric Blake  <eblake@redhat.com>
6036
6037         maint.mk: enhance useless header checks
6038         * top/maint.mk (_sc_header_without_use): Check both include
6039         styles.
6040         (sc_prohibit_assert_without_use)
6041         (sc_prohibit_close_stream_without_use)
6042         (sc_prohibit_getopt_without_use)
6043         (sc_prohibit_quotearg_without_use)
6044         (sc_prohibit_quote_without_use)
6045         (sc_prohibit_long_options_without_use)
6046         (sc_prohibit_inttostr_without_use)
6047         (sc_prohibit_ignore_value_without_use)
6048         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
6049         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
6050         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
6051         (sc_prohibit_hash_pjw_without_use)
6052         (sc_prohibit_safe_read_without_use)
6053         (sc_prohibit_argmatch_without_use)
6054         (sc_prohibit_canonicalize_without_use)
6055         (sc_prohibit_root_dev_ino_without_use)
6056         (sc_prohibit_openat_without_use)
6057         (sc_prohibit_c_ctype_without_use)
6058         (sc_prohibit_signal_without_use)
6059         (sc_prohibit_stdio--_without_use)
6060         (sc_prohibit_stdio-safer_without_use)
6061         (sc_prohibit_strings_without_use)
6062         (sc_prohibit_intprops_without_use)
6063         (sc_prohibit_stddef_without_use)
6064         (sc_prohibit_xfreopen_without_use): Update clients.
6065
6066 2011-06-24  Jim Meyering  <meyering@redhat.com>
6067
6068         syntax-check: keep one maint.mk rule in sync with its header
6069         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
6070         of the bug Eric has just fixed, with today's commit 25e4c2ec.
6071         I prefer to avoid temporary files here, so use <(...), but that
6072         is not supported by /bin/sh, so...
6073         (SHELL): Define to /bin/bash.
6074
6075 2011-06-24  Eric Blake  <eblake@redhat.com>
6076
6077         maint.mk: update sc_prohibit_intprops_without_use
6078         * top/maint.mk (_intprops_names): Match recent changes.
6079
6080 2011-06-24  Bruno Haible  <bruno@clisp.org>
6081
6082         strerror-override: No-op tweak.
6083         * lib/strerror-override.h (strerror_override): Reorder conditions,
6084         for consistency with lib/strerror-override.c.
6085
6086 2011-06-23  Eric Blake  <eblake@redhat.com>
6087
6088         maint.mk: test further PATH_MAX issues
6089         * top/maint.mk (sc_prohibit_path_max_array): Rename...
6090         (sc_prohibit_path_max_allocation): ...and also test alloca.
6091         Suggested by Jim Meyering.
6092
6093 2011-06-22  Eric Blake  <eblake@redhat.com>
6094
6095         maint.mk: add syntax-check to avoid char[PATH_MAX]
6096         * top/maint.mk (sc_prohibit_path_max_array): New rule.
6097
6098         stat: be robust to PATH_MAX definition
6099         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
6100         * modules/stat (Depends-on): Add verify.
6101
6102         link: work around IRIX bug
6103         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
6104         * lib/link.c (rpl_link): Work around it.
6105         * tests/test-link.h (test_link): Enhance test.
6106         * doc/posix-functions/link.texi (link): Document the bug.
6107
6108         getopt: silence clang warning
6109         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
6110         dereference.
6111         Reported by Gustavo Martin Domato.
6112
6113 2011-06-22  Jim Meyering  <meyering@redhat.com>
6114
6115         bootstrap: do not insert a blank line into each .gitignore file
6116         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
6117
6118 2011-06-21  Eric Blake  <eblake@redhat.com>
6119
6120         perror: test for output mismatch
6121         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
6122         perror on IRIX.
6123
6124         strerror_r: fix OpenBSD behavior on out-of-range
6125         * lib/strerror_r.c (strerror_r): Always use maximal string.
6126         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6127
6128         strerror_r: fix OpenBSD behavior on 0
6129         * lib/strerror-override.c (strerror_override): Also override 0
6130         when needed.
6131         * lib/strerror-override.h (strerror_override): Likewise.
6132         * lib/strerror.c (strerror): Simplify, now that 0 override is done
6133         earlier.
6134         * lib/strerror_r.c (strerror_r): Likewise.
6135         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
6136         behavior...
6137         (gl_FUNC_STRERROR_0): ...into new macro.
6138         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
6139         is overridden.
6140         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
6141         * modules/strerror-override (Files): Add strerror.m4.
6142         (configure.ac): Also provide override for 0 when needed.
6143         * doc/posix-functions/strerror.texi (strerror): Document this.
6144         * doc/posix-functions/perror.texi (perror): Likewise.
6145
6146         perror: adjust array size
6147         * modules/perror (Depends-on): Add strerror-override.
6148         * lib/perror.c (perror): Use it to avoid magic number.
6149
6150         strerror-override: reduce size
6151         * lib/strerror-override.c (strerror_override): Use fewer lines.
6152
6153 2011-06-20  Bruno Haible  <bruno@clisp.org>
6154
6155         pathmax: Ensure correct value for PATH_MAX on HP-UX.
6156         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
6157
6158 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6159
6160         alloca: port to compilers that can optimize like GCC 4.6.0
6161         * lib/alloca.c (find_stack_direction): New signature, taken from
6162         Autoconf git.  This works with GCC 4.6.0.  This code should never
6163         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
6164         be used with other compilers that optimize as well as GCC 4.6.0 does.
6165         (alloca): Adjust to new signature.
6166         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
6167         New macro, which patches Autoconf in a similar way.
6168
6169         c-stack: stop worrying about stack direction
6170         * lib/c-stack.c (find_stack_direction): Remove.
6171         (segv_handler): Don't worry about stack direction growth, as it's
6172         too much of a pain to configure this correctly, given how compilers
6173         are optimizing-away our stack-growth detection code.  Instead, assume
6174         that any access to just before or just after the stack is OK.
6175         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6176         Don't require AC_FUNC_ALLOCA; no longer needed.
6177
6178 2011-06-20  Eric Blake  <eblake@redhat.com>
6179
6180         test-stat: don't allocate PATH_MAX bytes
6181         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6182         PATH_MAX-sized buffer.
6183         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6184         * modules/stat-tests (Depends-on): Likewise.
6185         * tests/test-fstatat.c (includes): Drop pathmax.h.
6186         * tests/test-stat.c (includes): Likewise.
6187         Reported by Bruno Haible.
6188
6189 2011-06-20  Bruno Haible  <bruno@clisp.org>
6190
6191         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6192         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6193         * lib/float.c: New file.
6194         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6195         REPLACE_FLOAT_LDBL.
6196         * modules/float (Files): Add lib/float.c.
6197         (configure.ac): Invoke AC_LIBOBJ.
6198         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6199
6200 2011-06-20  Bruno Haible  <bruno@clisp.org>
6201
6202         Tests for module 'float'.
6203         * modules/float-tests: New file.
6204         * tests/test-float.c: New file.
6205
6206 2011-06-19  Bruno Haible  <bruno@clisp.org>
6207
6208         isinf: Coding style.
6209         * lib/isinf.c: Use GNU coding style.
6210
6211 2011-06-19  Bruno Haible  <bruno@clisp.org>
6212
6213         linkat test: Avoid test failure on AIX 7.1.
6214         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6215         * tests/test-link.h (test_link): Likewise.
6216
6217 2011-06-19  Bruno Haible  <bruno@clisp.org>
6218
6219         pread test: Avoid test failure on OpenBSD 4.9.
6220         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6221
6222 2011-06-19  Bruno Haible  <bruno@clisp.org>
6223
6224         sprintf-posix: Fix test failure on AIX 7.1.
6225         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6226         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6227         on AIX.
6228         * doc/posix-functions/fprintf.texi: Likewise.
6229         * doc/posix-functions/printf.texi: Likewise.
6230         * doc/posix-functions/snprintf.texi: Likewise.
6231         * doc/posix-functions/sprintf.texi: Likewise.
6232         * doc/posix-functions/vdprintf.texi: Likewise.
6233         * doc/posix-functions/vfprintf.texi: Likewise.
6234         * doc/posix-functions/vprintf.texi: Likewise.
6235         * doc/posix-functions/vsnprintf.texi: Likewise.
6236         * doc/posix-functions/vsprintf.texi: Likewise.
6237
6238 2011-06-19  Bruno Haible  <bruno@clisp.org>
6239
6240         roundl-ieee: Fix test failure on AIX 7.1.
6241         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6242         * doc/posix-functions/roundl.texi: Mention problem with negative
6243         arguments.
6244
6245 2011-06-19  Bruno Haible  <bruno@clisp.org>
6246
6247         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6248         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6249         * doc/posix-functions/round.texi: Mention problem with negative
6250         arguments.
6251         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6252
6253 2011-06-19  Bruno Haible  <bruno@clisp.org>
6254
6255         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6256         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6257         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6258         * doc/posix-functions/roundf.texi: Mention problem with negative
6259         arguments.
6260         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6261
6262 2011-06-19  Bruno Haible  <bruno@clisp.org>
6263
6264         ceilf-ieee: Work around bug on MacOS X 10.5.
6265         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6266
6267         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6268         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6269         IEEE compliant, avoid compiler optimizations.
6270         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6271         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6272         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6273         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6274         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6275         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6276         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6277         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6278         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6279         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6280
6281 2011-06-19  Bruno Haible  <bruno@clisp.org>
6282
6283         ceilf-ieee: Work around bug on AIX 7.1.
6284         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6285         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6286
6287 2011-06-19  Bruno Haible  <bruno@clisp.org>
6288
6289         ceil-ieee: Work around bug on AIX 7.1.
6290         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6291         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6292
6293 2011-06-18  Bruno Haible  <bruno@clisp.org>
6294
6295         fsync test: Avoid test failure on MacOS X and AIX.
6296         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6297         EINVAL.
6298
6299 2011-06-18  Bruno Haible  <bruno@clisp.org>
6300
6301         openat, fdopendir tests: Fix link errors.
6302         * modules/openat-tests (Depends-on): Add progname.
6303         * modules/fdopendir-tests (Depends-on): Likewise.
6304         * tests/test-fchownat.c: Include progname.h.
6305         (main): Call set_program_name.
6306         * tests/test-fstatat.c: Include progname.h.
6307         (main): Call set_program_name.
6308         * tests/test-mkdirat.c: Include progname.h.
6309         (main): Call set_program_name.
6310         * tests/test-openat.c: Include progname.h.
6311         (main): Call set_program_name.
6312         * tests/test-unlinkat.c: Include progname.h.
6313         (main): Call set_program_name.
6314         * tests/test-fdopendir.c: Include progname.h.
6315         (main): Call set_program_name.
6316
6317 2011-06-18  Bruno Haible  <bruno@clisp.org>
6318
6319         Doc update.
6320         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6321         HP-UX.
6322         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6323
6324 2011-06-18  Bruno Haible  <bruno@clisp.org>
6325
6326         getcwd tests: Avoid compilation error on HP-UX 11.31.
6327         * modules/getcwd-tests (Depends-on): Add pathmax.
6328         * tests/test-getcwd.c: Include pathmax.h.
6329
6330 2011-06-18  Bruno Haible  <bruno@clisp.org>
6331
6332         isfinite, isinf: Fix link error on AIX 6 and 7.
6333         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6334         needed, also test the macro with a 'float' argument.
6335         * m4/isinf.m4 (gl_ISINF): Likewise.
6336
6337 2011-06-18  Bruno Haible  <bruno@clisp.org>
6338
6339         getloadavg: Don't clobber LIBS. Regression from previous commit.
6340         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6341         AC_CHECK_LIB from here...
6342         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6343         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6344         gl_func_getloadavg_done.
6345         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6346
6347 2011-06-18  Bruno Haible  <bruno@clisp.org>
6348
6349         clean-temp: Improve documentation.
6350         * lib/clean-temp.h: Explain better how to use this module.
6351         Reported by John Darrington <john@darrington.wattle.id.au>.
6352
6353 2011-06-17  Bruno Haible  <bruno@clisp.org>
6354
6355         pread, pwrite: Avoid cc warning on AIX.
6356         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6357         (pwrite): Likewise.
6358
6359 2011-06-17  Bruno Haible  <bruno@clisp.org>
6360
6361         spawn-pipe tests: Fix link error.
6362         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6363         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6364
6365 2011-06-17  Bruno Haible  <bruno@clisp.org>
6366
6367         Tests: Remove unnecessary dependency.
6368         * modules/canonicalize-tests (Depends-on): Remove progname.
6369         * modules/chown-tests (Depends-on): Likewise.
6370         * modules/dirname-tests (Depends-on): Likewise.
6371         * modules/fdopendir-tests (Depends-on): Likewise.
6372         * modules/fdutimensat-tests (Depends-on): Likewise.
6373         * modules/hash-tests (Depends-on): Likewise.
6374         * modules/lchown-tests (Depends-on): Likewise.
6375         * modules/linkat-tests (Depends-on): Likewise.
6376         * modules/renameat-tests (Depends-on): Likewise.
6377         * modules/spawn-pipe-tests (Depends-on): Likewise.
6378         * modules/utimensat-tests (Depends-on): Likewise.
6379
6380 2011-06-17  Bruno Haible  <bruno@clisp.org>
6381
6382         spawn-pipe tests: Fix link error.
6383         * tests/test-spawn-pipe-child.c: Undefine fflush.
6384
6385 2011-06-17  Bruno Haible  <bruno@clisp.org>
6386
6387         Fix tests link errors.
6388         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6389         * modules/chown-tests (Makefile.am): Don't link test-chown with
6390         LIBINTL.
6391         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6392         LIBINTL.
6393         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6394         LIBINTL.
6395         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6396         LIBINTL.
6397
6398 2011-06-16  Bruno Haible  <bruno@clisp.org>
6399
6400         crypto/gc-sha1: Fix recent regression.
6401         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6402         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6403
6404         crypto/gc-md5: Fix recent regression.
6405         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6406
6407         crypto/gc-md4: Fix recent regression.
6408         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6409         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6410
6411         crypto/gc-arctwo: Fix recent regression.
6412         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6413         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6414
6415         crypto/gc-rijndael: Fix recent regression.
6416         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6417         (configure.ac): Invoke AC_LIBOBJ here.
6418         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6419         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6420
6421         crypto/gc-hmac-sha1: Fix recent regression.
6422         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6423         (configure.ac): Invoke AC_LIBOBJ here.
6424         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6425         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6426
6427         crypto/gc-hmac-md5: Fix recent regression.
6428         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6429         (configure.ac): Invoke AC_LIBOBJ here.
6430         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6431         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6432
6433         crypto/gc-des: Fix recent regression.
6434         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6435         (configure.ac): Invoke AC_LIBOBJ here.
6436         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6437         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6438
6439         crypto/gc-arcfour: Fix recent regression.
6440         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6441         (configure.ac): Invoke AC_LIBOBJ here.
6442         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6443         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6444
6445 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6446
6447         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6448         After the 2011-05-21 change, this macro requires
6449         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6450         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6451
6452 2011-06-16  Bruno Haible  <bruno@clisp.org>
6453
6454         fprintftime: Move AC_LIBOBJ invocations to module description.
6455         * m4/fprintftime.m4: Remove file.
6456         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6457         (configure.ac): Remove gl_FPRINTFTIME call.
6458         (Makefile.am): Augment lib_SOURCES.
6459         Reported by Jim Meyering.
6460
6461 2011-06-16  Bruno Haible  <bruno@clisp.org>
6462
6463         tmpfile-safer: Finish 2011-05-23 commit.
6464         * m4/stdio-safer.m4: Really remove file.
6465         Reported by Jim Meyering.
6466
6467 2011-06-16  Bruno Haible  <bruno@clisp.org>
6468
6469         syntax-check: Fix typo.
6470         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6471         printf-posix.m4.
6472         Reported by Jim Meyering.
6473
6474 2011-06-13  Jim Meyering  <meyering@redhat.com>
6475
6476         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6477         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6478
6479 2011-05-23  Bruno Haible  <bruno@clisp.org>
6480
6481         yesno: Move AC_LIBOBJ invocations to module description.
6482         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6483         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6484
6485 2011-05-23  Bruno Haible  <bruno@clisp.org>
6486
6487         xstrtol: Move AC_LIBOBJ invocations to module description.
6488         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6489         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6490
6491 2011-05-23  Bruno Haible  <bruno@clisp.org>
6492
6493         xstrtold: Move AC_LIBOBJ invocations to module description.
6494         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6495         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6496
6497 2011-05-23  Bruno Haible  <bruno@clisp.org>
6498
6499         xstrtod: Move AC_LIBOBJ invocations to module description.
6500         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6501         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6502
6503 2011-05-23  Bruno Haible  <bruno@clisp.org>
6504
6505         xnanosleep: Move AC_LIBOBJ invocations to module description.
6506         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6507         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6508
6509 2011-05-23  Bruno Haible  <bruno@clisp.org>
6510
6511         xgetcwd: Move AC_LIBOBJ invocations to module description.
6512         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6513         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6514
6515 2011-05-23  Bruno Haible  <bruno@clisp.org>
6516
6517         xalloc: Move AC_LIBOBJ invocations to module description.
6518         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6519         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6520
6521 2011-05-23  Bruno Haible  <bruno@clisp.org>
6522
6523         write-any-file: Move AC_LIBOBJ invocations to module description.
6524         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6525         invocation.
6526         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6527
6528 2011-05-23  Bruno Haible  <bruno@clisp.org>
6529
6530         utimens: Move AC_LIBOBJ invocations to module description.
6531         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6532         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6533
6534 2011-05-23  Bruno Haible  <bruno@clisp.org>
6535
6536         utimecmp: Move AC_LIBOBJ invocations to module description.
6537         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6538         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6539
6540 2011-05-23  Bruno Haible  <bruno@clisp.org>
6541
6542         userspec: Move AC_LIBOBJ invocations to module description.
6543         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6544         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6545
6546 2011-05-23  Bruno Haible  <bruno@clisp.org>
6547
6548         unlinkdir: Move AC_LIBOBJ invocations to module description.
6549         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6550         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6551
6552 2011-05-23  Bruno Haible  <bruno@clisp.org>
6553
6554         unistd-safer: Move AC_LIBOBJ invocations to module description.
6555         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6556         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6557
6558 2011-05-23  Bruno Haible  <bruno@clisp.org>
6559
6560         tempname: Move AC_LIBOBJ invocations to module description.
6561         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6562         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6563
6564 2011-05-23  Bruno Haible  <bruno@clisp.org>
6565
6566         strftime: Move AC_LIBOBJ invocations to module description.
6567         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6568         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6569
6570 2011-05-23  Bruno Haible  <bruno@clisp.org>
6571
6572         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6573         * m4/stdlib-safer.m4: Remove file.
6574         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6575         (configure.ac): Remove gl_STDLIB_SAFER call.
6576         (Makefile.am): Augment lib_SOURCES.
6577
6578 2011-05-23  Bruno Haible  <bruno@clisp.org>
6579
6580         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6581         * m4/stdio-safer.m4: Remove file.
6582         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6583         (configure.ac): Remove gl_TMPFILE_SAFER call.
6584         (Makefile.am): Augment lib_SOURCES.
6585
6586 2011-05-23  Bruno Haible  <bruno@clisp.org>
6587
6588         popen-safer: Move AC_LIBOBJ invocations to module description.
6589         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6590         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6591         (configure.ac): Remove gl_POPEN_SAFER call.
6592         (Makefile.am): Augment lib_SOURCES.
6593
6594 2011-05-23  Bruno Haible  <bruno@clisp.org>
6595
6596         freopen-safer: Move AC_LIBOBJ invocations to module description.
6597         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6598         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6599         (configure.ac): Remove gl_FREOPEN_SAFER call.
6600         (Makefile.am): Augment lib_SOURCES.
6601
6602 2011-05-23  Bruno Haible  <bruno@clisp.org>
6603
6604         fopen-safer: Move AC_LIBOBJ invocations to module description.
6605         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6606         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6607         (configure.ac): Remove gl_FOPEN_SAFER call.
6608         (Makefile.am): Augment lib_SOURCES.
6609
6610 2011-05-23  Bruno Haible  <bruno@clisp.org>
6611
6612         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6613         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6614         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6615
6616 2011-05-23  Bruno Haible  <bruno@clisp.org>
6617
6618         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6619         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6620         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6621
6622 2011-05-23  Bruno Haible  <bruno@clisp.org>
6623
6624         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6625         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6626         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6627
6628 2011-05-23  Bruno Haible  <bruno@clisp.org>
6629
6630         settime: Move AC_LIBOBJ invocations to module description.
6631         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6632         * modules/settime (Makefile.am): Augment lib_SOURCES.
6633
6634 2011-05-23  Bruno Haible  <bruno@clisp.org>
6635
6636         savedir: Move AC_LIBOBJ invocations to module description.
6637         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6638         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6639
6640 2011-05-23  Bruno Haible  <bruno@clisp.org>
6641
6642         save-cwd: Move AC_LIBOBJ invocations to module description.
6643         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6644         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6645
6646 2011-05-23  Bruno Haible  <bruno@clisp.org>
6647
6648         same: Move AC_LIBOBJ invocations to module description.
6649         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6650         * modules/same (Makefile.am): Augment lib_SOURCES.
6651
6652 2011-05-23  Bruno Haible  <bruno@clisp.org>
6653
6654         safe-write: Move AC_LIBOBJ invocations to module description.
6655         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6656         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6657         instead of gl_SAFE_WRITE.
6658         (Makefile.am): Augment lib_SOURCES.
6659
6660 2011-05-23  Bruno Haible  <bruno@clisp.org>
6661
6662         safe-read: Move AC_LIBOBJ invocations to module description.
6663         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6664         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6665         of gl_SAFE_READ.
6666         (Makefile.am): Augment lib_SOURCES.
6667
6668 2011-05-23  Bruno Haible  <bruno@clisp.org>
6669
6670         safe-alloc: Move AC_LIBOBJ invocations to module description.
6671         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6672         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6673
6674 2011-05-23  Bruno Haible  <bruno@clisp.org>
6675
6676         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6677         * m4/rijndael.m4: Remove file.
6678         * modules/crypto/rijndael (Files): Remove it.
6679         (configure.ac): Remove gl_RIJNDAEL call.
6680         (Makefile.am): Augment lib_SOURCES.
6681
6682 2011-05-23  Bruno Haible  <bruno@clisp.org>
6683
6684         readtokens: Move AC_LIBOBJ invocations to module description.
6685         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6686         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6687
6688 2011-05-23  Bruno Haible  <bruno@clisp.org>
6689
6690         read-file: Move AC_LIBOBJ invocations to module description.
6691         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6692         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6693         of gl_FUNC_READ_FILE.
6694         (Makefile.am): Augment lib_SOURCES.
6695
6696 2011-05-23  Bruno Haible  <bruno@clisp.org>
6697
6698         quotearg: Move AC_LIBOBJ invocations to module description.
6699         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6700         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6701
6702 2011-05-23  Bruno Haible  <bruno@clisp.org>
6703
6704         quote: Move AC_LIBOBJ invocations to module description.
6705         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6706         * modules/quote (Makefile.am): Augment lib_SOURCES.
6707
6708 2011-05-23  Bruno Haible  <bruno@clisp.org>
6709
6710         posixver: Move AC_LIBOBJ invocations to module description.
6711         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6712         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6713
6714 2011-05-23  Bruno Haible  <bruno@clisp.org>
6715
6716         posixtm: Move AC_LIBOBJ invocations to module description.
6717         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6718         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6719
6720 2011-05-23  Bruno Haible  <bruno@clisp.org>
6721
6722         physmem: Move AC_LIBOBJ invocations to module description.
6723         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6724         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6725
6726 2011-05-23  Bruno Haible  <bruno@clisp.org>
6727
6728         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6729         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6730         invocation.
6731         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6732
6733 2011-05-23  Bruno Haible  <bruno@clisp.org>
6734
6735         mpsort: Move AC_LIBOBJ invocations to module description.
6736         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6737         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6738
6739 2011-05-23  Bruno Haible  <bruno@clisp.org>
6740
6741         modechange: Move AC_LIBOBJ invocations to module description.
6742         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6743         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6744
6745 2011-05-23  Bruno Haible  <bruno@clisp.org>
6746
6747         mkdir-p: Move AC_LIBOBJ invocations to module description.
6748         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6749         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6750
6751 2011-05-23  Bruno Haible  <bruno@clisp.org>
6752
6753         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6754         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6755         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6756
6757 2011-05-23  Bruno Haible  <bruno@clisp.org>
6758
6759         mgetgroups: Move AC_LIBOBJ invocations to module description.
6760         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6761         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6762
6763 2011-05-23  Bruno Haible  <bruno@clisp.org>
6764
6765         memxor: Move AC_LIBOBJ invocations to module description.
6766         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6767         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6768
6769 2011-05-23  Bruno Haible  <bruno@clisp.org>
6770
6771         memcoll: Move AC_LIBOBJ invocations to module description.
6772         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6773         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6774
6775 2011-05-23  Bruno Haible  <bruno@clisp.org>
6776
6777         memcasecmp: Move AC_LIBOBJ invocations to module description.
6778         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6779         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6780
6781 2011-05-23  Bruno Haible  <bruno@clisp.org>
6782
6783         crypto/md5: Move AC_LIBOBJ invocations to module description.
6784         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6785         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6786
6787 2011-05-23  Bruno Haible  <bruno@clisp.org>
6788
6789         crypto/md4: Move AC_LIBOBJ invocations to module description.
6790         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6791         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6792
6793 2011-05-23  Bruno Haible  <bruno@clisp.org>
6794
6795         crypto/md2: Move AC_LIBOBJ invocations to module description.
6796         * m4/md2.m4: Remove file.
6797         * modules/crypto/md2 (Files): Remove it.
6798         (configure.ac): Remove gl_MD2 call.
6799         (Makefile.am): Augment lib_SOURCES.
6800
6801 2011-05-23  Bruno Haible  <bruno@clisp.org>
6802
6803         long-options: Move AC_LIBOBJ invocations to module description.
6804         * m4/long-options.m4: Remove file.
6805         * modules/long-options (Files): Remove it.
6806         (configure.ac): Remove gl_LONG_OPTIONS call.
6807         (Makefile.am): Augment lib_SOURCES.
6808
6809 2011-05-23  Bruno Haible  <bruno@clisp.org>
6810
6811         i-ring: Move AC_LIBOBJ invocations to module description.
6812         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6813         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6814
6815 2011-05-23  Bruno Haible  <bruno@clisp.org>
6816
6817         idcache: Move AC_LIBOBJ invocations to module description.
6818         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6819         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6820
6821 2011-05-23  Bruno Haible  <bruno@clisp.org>
6822
6823         human: Move AC_LIBOBJ invocations to module description.
6824         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6825         * modules/human (Makefile.am): Augment lib_SOURCES.
6826
6827 2011-05-23  Bruno Haible  <bruno@clisp.org>
6828
6829         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6830         * m4/hmac-sha1.m4: Remove file.
6831         * modules/crypto/hmac-sha1 (Files): Remove it.
6832         (configure.ac): Remove gl_HMAC_SHA1 call.
6833         (Makefile.am): Augment lib_SOURCES.
6834
6835 2011-05-23  Bruno Haible  <bruno@clisp.org>
6836
6837         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6838         * m4/hmac-md5.m4: Remove file.
6839         * modules/crypto/hmac-md5 (Files): Remove it.
6840         (configure.ac): Remove gl_HMAC_MD5 call.
6841         (Makefile.am): Augment lib_SOURCES.
6842
6843 2011-05-23  Bruno Haible  <bruno@clisp.org>
6844
6845         hash: Move AC_LIBOBJ invocations to module description.
6846         * m4/hash.m4: Remove file.
6847         * modules/hash (Files): Remove it.
6848         (configure.ac): Remove gl_HASH call.
6849         (Makefile.am): Augment lib_SOURCES.
6850
6851 2011-05-23  Bruno Haible  <bruno@clisp.org>
6852
6853         hard-locale: Move AC_LIBOBJ invocations to module description.
6854         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6855         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6856
6857 2011-05-23  Bruno Haible  <bruno@clisp.org>
6858
6859         getugroups: Move AC_LIBOBJ invocations to module description.
6860         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6861         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6862
6863 2011-05-23  Bruno Haible  <bruno@clisp.org>
6864
6865         gettime: Move AC_LIBOBJ invocations to module description.
6866         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6867         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6868
6869 2011-05-23  Bruno Haible  <bruno@clisp.org>
6870
6871         getndelim2: Move AC_LIBOBJ invocations to module description.
6872         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6873         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6874
6875 2011-05-23  Bruno Haible  <bruno@clisp.org>
6876
6877         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6878         * m4/gc-pbkdf2-sha1.m4: Remove file.
6879         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6880         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6881         (Makefile.am): Augment lib_SOURCES.
6882
6883 2011-05-23  Bruno Haible  <bruno@clisp.org>
6884
6885         fts: Move AC_LIBOBJ invocations to module description.
6886         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6887         * modules/fts (configure.ac): ... to here.
6888
6889 2011-05-23  Bruno Haible  <bruno@clisp.org>
6890
6891         file-type: Move AC_LIBOBJ invocations to module description.
6892         * m4/file-type.m4: Remove file.
6893         * modules/file-type (Files): Remove it.
6894         (configure.ac): Remove gl_FILE_TYPE call.
6895         (Makefile.am): Augment lib_SOURCES.
6896
6897 2011-05-23  Bruno Haible  <bruno@clisp.org>
6898
6899         filenamecat*: Respect rules for use of AC_LIBOBJ.
6900         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6901         Remove AC_LIBOBJ invocation.
6902         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6903         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6904
6905 2011-05-23  Bruno Haible  <bruno@clisp.org>
6906
6907         filemode: Move AC_LIBOBJ invocations to module description.
6908         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6909         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6910
6911 2011-05-23  Bruno Haible  <bruno@clisp.org>
6912
6913         openat-safer: Move AC_LIBOBJ invocations to module description.
6914         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6915         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6916
6917 2011-05-23  Bruno Haible  <bruno@clisp.org>
6918
6919         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6920         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6921         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6922
6923 2011-05-23  Bruno Haible  <bruno@clisp.org>
6924
6925         exclude: Move AC_LIBOBJ invocations to module description.
6926         * m4/exclude.m4: Remove file.
6927         * modules/exclude (Files): Remove it.
6928         (configure.ac): Remove gl_EXCLUDE call.
6929         (Makefile.am): Augment lib_SOURCES.
6930
6931 2011-05-23  Bruno Haible  <bruno@clisp.org>
6932
6933         dirname*: Respect rules for use of AC_LIBOBJ.
6934         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6935         invocations.
6936         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6937         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6938
6939 2011-05-23  Bruno Haible  <bruno@clisp.org>
6940
6941         dirent-safer: Move AC_LIBOBJ invocations to module description.
6942         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6943         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6944
6945 2011-05-23  Bruno Haible  <bruno@clisp.org>
6946
6947         crypto/des: Move AC_LIBOBJ invocations to module description.
6948         * m4/des.m4: Remove file.
6949         * modules/crypto/des (Files): Remove it.
6950         (configure.ac): Remove gl_DES call.
6951         (Makefile.am): Augment lib_SOURCES.
6952
6953 2011-05-23  Bruno Haible  <bruno@clisp.org>
6954
6955         cycle-check: Move AC_LIBOBJ invocations to module description.
6956         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6957         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6958
6959 2011-05-23  Bruno Haible  <bruno@clisp.org>
6960
6961         c-strtold: Move AC_LIBOBJ invocations to module description.
6962         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6963         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6964
6965 2011-05-23  Bruno Haible  <bruno@clisp.org>
6966
6967         c-strtod: Move AC_LIBOBJ invocations to module description.
6968         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6969         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6970
6971 2011-05-23  Bruno Haible  <bruno@clisp.org>
6972
6973         crc: Move AC_LIBOBJ invocations to module description.
6974         * m4/crc.m4: Remove file.
6975         * modules/crc (Files): Remove it.
6976         (configure.ac): Remove gl_CRC call.
6977         (Makefile.am): Augment lib_SOURCES.
6978
6979 2011-05-23  Bruno Haible  <bruno@clisp.org>
6980
6981         close-stream: Move AC_LIBOBJ invocations to module description.
6982         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6983         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6984
6985 2011-05-23  Bruno Haible  <bruno@clisp.org>
6986
6987         closeout: Move AC_LIBOBJ invocations to module description.
6988         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6989         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6990
6991 2011-05-23  Bruno Haible  <bruno@clisp.org>
6992
6993         closein: Move AC_LIBOBJ invocations to module description.
6994         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6995         * modules/closein (Makefile.am): Augment lib_SOURCES.
6996
6997 2011-05-23  Bruno Haible  <bruno@clisp.org>
6998
6999         cloexec: Move AC_LIBOBJ invocations to module description.
7000         * m4/cloexec.m4: Remove file.
7001         * modules/cloexec (Files): Remove it.
7002         (configure.ac): Remove gl_CLOEXEC call.
7003         (Makefile.am): Augment lib_SOURCES.
7004
7005 2011-05-23  Bruno Haible  <bruno@clisp.org>
7006
7007         check-version: Move AC_LIBOBJ invocations to module description.
7008         * m4/check-version.m4: Remove file.
7009         * modules/check-version (Files): Remove it.
7010         (configure.ac): Remove gl_CHECK_VERSION call.
7011         (Makefile.am): Augment lib_SOURCES.
7012
7013 2011-05-23  Bruno Haible  <bruno@clisp.org>
7014
7015         chdir-safer: Move AC_LIBOBJ invocations to module description.
7016         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
7017         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
7018
7019 2011-05-23  Bruno Haible  <bruno@clisp.org>
7020
7021         canonicalize: Move AC_LIBOBJ invocations to module description.
7022         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
7023         AC_LIBOBJ invocation.
7024         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
7025
7026 2011-05-23  Bruno Haible  <bruno@clisp.org>
7027
7028         canon-host: Move AC_LIBOBJ invocations to module description.
7029         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
7030         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
7031         instead of gl_CANON_HOST.
7032         (Makefile.am): Augment lib_SOURCES.
7033
7034 2011-05-23  Bruno Haible  <bruno@clisp.org>
7035
7036         backupfile: Move AC_LIBOBJ invocations to module description.
7037         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
7038         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
7039
7040 2011-05-23  Bruno Haible  <bruno@clisp.org>
7041
7042         argmatch: Move AC_LIBOBJ invocations to module description.
7043         * m4/argmatch.m4: Remove file.
7044         * modules/argmatch (Files): Remove it.
7045         (configure.ac): Remove gl_ARGMATCH call.
7046         (Makefile.am): Augment lib_SOURCES.
7047
7048 2011-05-23  Bruno Haible  <bruno@clisp.org>
7049
7050         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
7051         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
7052         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
7053
7054 2011-05-23  Bruno Haible  <bruno@clisp.org>
7055
7056         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
7057         * m4/arcfour.m4: Remove file.
7058         * modules/crypto/arcfour (Files): Remove it.
7059         (configure.ac): Remove gl_ARCFOUR call.
7060         (Makefile.am): Augment lib_SOURCES.
7061
7062 2011-05-22  Bruno Haible  <bruno@clisp.org>
7063
7064         write: Move AC_LIBOBJ invocations to module description.
7065         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
7066         * modules/write (configure.ac): ... to here.
7067
7068 2011-05-22  Bruno Haible  <bruno@clisp.org>
7069
7070         wmemset: Move AC_LIBOBJ invocations to module description.
7071         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
7072         here...
7073         * modules/wmemset (configure.ac): ... to here.
7074
7075 2011-05-22  Bruno Haible  <bruno@clisp.org>
7076
7077         wmemmove: Move AC_LIBOBJ invocations to module description.
7078         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
7079         here...
7080         * modules/wmemmove (configure.ac): ... to here.
7081
7082 2011-05-22  Bruno Haible  <bruno@clisp.org>
7083
7084         wmemcpy: Move AC_LIBOBJ invocations to module description.
7085         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
7086         here...
7087         * modules/wmemcpy (configure.ac): ... to here.
7088
7089 2011-05-22  Bruno Haible  <bruno@clisp.org>
7090
7091         wmemcmp: Move AC_LIBOBJ invocations to module description.
7092         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
7093         here...
7094         * modules/wmemcmp (configure.ac): ... to here.
7095
7096 2011-05-22  Bruno Haible  <bruno@clisp.org>
7097
7098         wmemchr: Move AC_LIBOBJ invocations to module description.
7099         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
7100         here...
7101         * modules/wmemchr (configure.ac): ... to here.
7102
7103 2011-05-22  Bruno Haible  <bruno@clisp.org>
7104
7105         wcswidth: Move AC_LIBOBJ invocations to module description.
7106         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
7107         here...
7108         * modules/wcswidth (configure.ac): ... to here.
7109
7110 2011-05-22  Bruno Haible  <bruno@clisp.org>
7111
7112         wcwidth: Respect rules for use of AC_LIBOBJ.
7113         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
7114         invocation from here...
7115         * modules/wcwidth (configure.ac): ... to here.
7116         (Depends-on): Update conditions.
7117
7118 2011-05-22  Bruno Haible  <bruno@clisp.org>
7119
7120         wctype: Move AC_LIBOBJ invocations to module description.
7121         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
7122         invocation from here...
7123         * modules/wctype (configure.ac): ... to here.
7124         (Depends-on): Update conditions.
7125
7126 2011-05-22  Bruno Haible  <bruno@clisp.org>
7127
7128         wctrans: Move AC_LIBOBJ invocations to module description.
7129         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
7130         invocation from here...
7131         * modules/wctrans (configure.ac): ... to here.
7132
7133 2011-05-22  Bruno Haible  <bruno@clisp.org>
7134
7135         wctomb: Move AC_LIBOBJ invocations to module description.
7136         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
7137         invocations from here...
7138         * modules/wctomb (configure.ac): ... to here.
7139
7140 2011-05-22  Bruno Haible  <bruno@clisp.org>
7141
7142         wctob: Move AC_LIBOBJ invocations to module description.
7143         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
7144         gl_PREREQ_WCTOB invocations from here...
7145         * modules/wctob (configure.ac): ... to here.
7146         (Depends-on): Update conditions.
7147
7148 2011-05-22  Bruno Haible  <bruno@clisp.org>
7149
7150         wcsxfrm: Move AC_LIBOBJ invocations to module description.
7151         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
7152         here...
7153         * modules/wcsxfrm (configure.ac): ... to here.
7154
7155 2011-05-22  Bruno Haible  <bruno@clisp.org>
7156
7157         wcstok: Move AC_LIBOBJ invocations to module description.
7158         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
7159         * modules/wcstok (configure.ac): ... to here.
7160
7161 2011-05-22  Bruno Haible  <bruno@clisp.org>
7162
7163         wcsstr: Move AC_LIBOBJ invocations to module description.
7164         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
7165         * modules/wcsstr (configure.ac): ... to here.
7166
7167 2011-05-22  Bruno Haible  <bruno@clisp.org>
7168
7169         wcsspn: Move AC_LIBOBJ invocations to module description.
7170         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7171         * modules/wcsspn (configure.ac): ... to here.
7172
7173 2011-05-22  Bruno Haible  <bruno@clisp.org>
7174
7175         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7176         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7177         gl_PREREQ_WCSRTOMBS invocations from here...
7178         * modules/wcsrtombs (configure.ac): ... to here.
7179
7180 2011-05-22  Bruno Haible  <bruno@clisp.org>
7181
7182         wcsrchr: Move AC_LIBOBJ invocations to module description.
7183         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7184         here...
7185         * modules/wcsrchr (configure.ac): ... to here.
7186
7187 2011-05-22  Bruno Haible  <bruno@clisp.org>
7188
7189         wcspbrk: Move AC_LIBOBJ invocations to module description.
7190         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7191         here...
7192         * modules/wcspbrk (configure.ac): ... to here.
7193
7194 2011-05-22  Bruno Haible  <bruno@clisp.org>
7195
7196         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7197         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7198         gl_PREREQ_WCSNRTOMBS invocations from here...
7199         * modules/wcsnrtombs (configure.ac): ... to here.
7200
7201 2011-05-22  Bruno Haible  <bruno@clisp.org>
7202
7203         wcsnlen: Move AC_LIBOBJ invocations to module description.
7204         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7205         here...
7206         * modules/wcsnlen (configure.ac): ... to here.
7207
7208 2011-05-22  Bruno Haible  <bruno@clisp.org>
7209
7210         wcsncpy: Move AC_LIBOBJ invocations to module description.
7211         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7212         here...
7213         * modules/wcsncpy (configure.ac): ... to here.
7214
7215 2011-05-22  Bruno Haible  <bruno@clisp.org>
7216
7217         wcsncmp: Move AC_LIBOBJ invocations to module description.
7218         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7219         here...
7220         * modules/wcsncmp (configure.ac): ... to here.
7221
7222 2011-05-22  Bruno Haible  <bruno@clisp.org>
7223
7224         wcsncat: Move AC_LIBOBJ invocations to module description.
7225         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7226         here...
7227         * modules/wcsncat (configure.ac): ... to here.
7228
7229 2011-05-22  Bruno Haible  <bruno@clisp.org>
7230
7231         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7232         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7233         from here...
7234         * modules/wcsncasecmp (configure.ac): ... to here.
7235
7236 2011-05-22  Bruno Haible  <bruno@clisp.org>
7237
7238         wcslen: Move AC_LIBOBJ invocations to module description.
7239         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7240         * modules/wcslen (configure.ac): ... to here.
7241
7242 2011-05-22  Bruno Haible  <bruno@clisp.org>
7243
7244         wcsdup: Move AC_LIBOBJ invocations to module description.
7245         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7246         * modules/wcsdup (configure.ac): ... to here.
7247
7248 2011-05-22  Bruno Haible  <bruno@clisp.org>
7249
7250         wcscspn: Move AC_LIBOBJ invocations to module description.
7251         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7252         here...
7253         * modules/wcscspn (configure.ac): ... to here.
7254
7255 2011-05-22  Bruno Haible  <bruno@clisp.org>
7256
7257         wcscpy: Move AC_LIBOBJ invocations to module description.
7258         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7259         * modules/wcscpy (configure.ac): ... to here.
7260
7261 2011-05-22  Bruno Haible  <bruno@clisp.org>
7262
7263         wcscoll: Move AC_LIBOBJ invocations to module description.
7264         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7265         here...
7266         * modules/wcscoll (configure.ac): ... to here.
7267
7268 2011-05-22  Bruno Haible  <bruno@clisp.org>
7269
7270         wcscmp: Move AC_LIBOBJ invocations to module description.
7271         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7272         * modules/wcscmp (configure.ac): ... to here.
7273
7274 2011-05-22  Bruno Haible  <bruno@clisp.org>
7275
7276         wcschr: Move AC_LIBOBJ invocations to module description.
7277         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7278         * modules/wcschr (configure.ac): ... to here.
7279
7280 2011-05-22  Bruno Haible  <bruno@clisp.org>
7281
7282         wcscat: Move AC_LIBOBJ invocations to module description.
7283         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7284         * modules/wcscat (configure.ac): ... to here.
7285
7286 2011-05-22  Bruno Haible  <bruno@clisp.org>
7287
7288         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7289         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7290         here...
7291         * modules/wcscasecmp (configure.ac): ... to here.
7292
7293 2011-05-22  Bruno Haible  <bruno@clisp.org>
7294
7295         wcrtomb: Move AC_LIBOBJ invocations to module description.
7296         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7297         invocations from here...
7298         * modules/wcrtomb (configure.ac): ... to here.
7299
7300 2011-05-22  Bruno Haible  <bruno@clisp.org>
7301
7302         wcpncpy: Move AC_LIBOBJ invocations to module description.
7303         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7304         here...
7305         * modules/wcpncpy (configure.ac): ... to here.
7306
7307 2011-05-22  Bruno Haible  <bruno@clisp.org>
7308
7309         wcpcpy: Move AC_LIBOBJ invocations to module description.
7310         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7311         * modules/wcpcpy (configure.ac): ... to here.
7312
7313 2011-05-22  Bruno Haible  <bruno@clisp.org>
7314
7315         waitpid: Move AC_LIBOBJ invocations to module description.
7316         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7317         invocation from here...
7318         * modules/waitpid (configure.ac): ... to here.
7319
7320 2011-05-22  Bruno Haible  <bruno@clisp.org>
7321
7322         utimensat: Move AC_LIBOBJ invocations to module description.
7323         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7324         here...
7325         * modules/utimensat (configure.ac): ... to here.
7326
7327 2011-05-22  Bruno Haible  <bruno@clisp.org>
7328
7329         usleep: Move AC_LIBOBJ invocations to module description.
7330         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7331         here...
7332         * modules/usleep (configure.ac): ... to here.
7333
7334 2011-05-22  Bruno Haible  <bruno@clisp.org>
7335
7336         unlockpt: Move AC_LIBOBJ invocations to module description.
7337         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7338         gl_PREREQ_UNLOCKPT invocations from here...
7339         * modules/unlockpt (configure.ac): ... to here.
7340
7341 2011-05-22  Bruno Haible  <bruno@clisp.org>
7342
7343         unlink: Respect rules for use of AC_LIBOBJ.
7344         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7345         * modules/unlink (configure.ac): ... to here.
7346
7347 2011-05-22  Bruno Haible  <bruno@clisp.org>
7348
7349         uname: Move AC_LIBOBJ invocations to module description.
7350         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7351         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7352         here...
7353         * modules/uname (configure.ac): ... to here.
7354
7355 2011-05-22  Bruno Haible  <bruno@clisp.org>
7356
7357         ttyname_r: Move AC_LIBOBJ invocations to module description.
7358         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7359         gl_PREREQ_TTYNAME_R invocations from here...
7360         * modules/ttyname_r (configure.ac): ... to here.
7361
7362 2011-05-22  Bruno Haible  <bruno@clisp.org>
7363
7364         tsearch: Move AC_LIBOBJ invocations to module description.
7365         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7366         invocations from here...
7367         * modules/tsearch (configure.ac): ... to here.
7368
7369 2011-05-22  Bruno Haible  <bruno@clisp.org>
7370
7371         towctrans: Move AC_LIBOBJ invocations to module description.
7372         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7373         AC_LIBOBJ invocation from here...
7374         * modules/towctrans (configure.ac): ... to here.
7375
7376 2011-05-22  Bruno Haible  <bruno@clisp.org>
7377
7378         tmpfile: Move AC_LIBOBJ invocations to module description.
7379         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7380         invocations from here...
7381         * modules/tmpfile (configure.ac): ... to here.
7382
7383 2011-05-22  Bruno Haible  <bruno@clisp.org>
7384
7385         times: Move AC_LIBOBJ invocations to module description.
7386         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7387         * modules/times (configure.ac): ... to here.
7388
7389 2011-05-22  Bruno Haible  <bruno@clisp.org>
7390
7391         time_r: Move AC_LIBOBJ invocations to module description.
7392         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7393         invocations from here...
7394         * modules/time_r (configure.ac): ... to here.
7395
7396 2011-05-22  Bruno Haible  <bruno@clisp.org>
7397
7398         timegm: Move AC_LIBOBJ invocations to module description.
7399         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7400         invocations from here...
7401         * modules/timegm (configure.ac): ... to here.
7402
7403 2011-05-22  Bruno Haible  <bruno@clisp.org>
7404
7405         tcgetsid: Move AC_LIBOBJ invocations to module description.
7406         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7407         and gl_PREREQ_TCGETSID invocations from here...
7408         * modules/tcgetsid (configure.ac): ... to here.
7409         (Depends-on): Update conditions.
7410
7411 2011-05-22  Bruno Haible  <bruno@clisp.org>
7412
7413         symlinkat: Move AC_LIBOBJ invocations to module description.
7414         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7415         here...
7416         * modules/symlinkat (configure.ac): ... to here.
7417
7418 2011-05-22  Bruno Haible  <bruno@clisp.org>
7419
7420         symlink: Move AC_LIBOBJ invocations to module description.
7421         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7422         here...
7423         * modules/symlink (configure.ac): ... to here.
7424
7425 2011-05-22  Bruno Haible  <bruno@clisp.org>
7426
7427         strverscmp: Move AC_LIBOBJ invocations to module description.
7428         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7429         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7430         from here...
7431         * modules/strverscmp (configure.ac): ... to here.
7432
7433 2011-05-22  Bruno Haible  <bruno@clisp.org>
7434
7435         strtok_r: Move AC_LIBOBJ invocations to module description.
7436         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7437         and gl_PREREQ_STRTOK_R invocations from here...
7438         * modules/strtok_r (configure.ac): ... to here.
7439         (Depends-on): Update conditions.
7440
7441 2011-05-22  Bruno Haible  <bruno@clisp.org>
7442
7443         strtoumax: Move AC_LIBOBJ invocations to module description.
7444         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7445         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7446         from here...
7447         * modules/strtoumax (configure.ac): ... to here.
7448
7449 2011-05-22  Bruno Haible  <bruno@clisp.org>
7450
7451         strtoimax: Move AC_LIBOBJ invocations to module description.
7452         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7453         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7454         from here...
7455         * modules/strtoimax (configure.ac): ... to here.
7456
7457 2011-05-22  Bruno Haible  <bruno@clisp.org>
7458
7459         strtoull: Move AC_LIBOBJ invocations to module description.
7460         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7461         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7462         from here...
7463         * modules/strtoull (configure.ac): ... to here.
7464
7465 2011-05-22  Bruno Haible  <bruno@clisp.org>
7466
7467         strtoll: Move AC_LIBOBJ invocations to module description.
7468         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7469         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7470         here...
7471         * modules/strtoll (configure.ac): ... to here.
7472
7473 2011-05-22  Bruno Haible  <bruno@clisp.org>
7474
7475         strtoul: Move AC_LIBOBJ invocations to module description.
7476         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7477         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7478         * modules/strtoul (configure.ac): ... to here.
7479
7480 2011-05-22  Bruno Haible  <bruno@clisp.org>
7481
7482         strtol: Move AC_LIBOBJ invocations to module description.
7483         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7484         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7485         * modules/strtol (configure.ac): ... to here.
7486
7487 2011-05-22  Bruno Haible  <bruno@clisp.org>
7488
7489         strtod: Move AC_LIBOBJ invocations to module description.
7490         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7491         invocations from here...
7492         * modules/strtod (configure.ac): ... to here.
7493
7494 2011-05-22  Bruno Haible  <bruno@clisp.org>
7495
7496         strstr*: Move AC_LIBOBJ invocations to module description.
7497         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7498         invocations from here...
7499         * modules/strstr-simple (configure.ac): ... to here.
7500         * modules/strstr (configure.ac): ... and here.
7501
7502 2011-05-22  Bruno Haible  <bruno@clisp.org>
7503
7504         strsignal: Move AC_LIBOBJ invocations to module description.
7505         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7506         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7507         * modules/strsignal (configure.ac): ... to here.
7508         (Depends-on): Update conditions.
7509
7510 2011-05-22  Bruno Haible  <bruno@clisp.org>
7511
7512         strsep: Move AC_LIBOBJ invocations to module description.
7513         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7514         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7515         here...
7516         * modules/strsep (configure.ac): ... to here.
7517
7518 2011-05-22  Bruno Haible  <bruno@clisp.org>
7519
7520         strptime: Move AC_LIBOBJ invocations to module description.
7521         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7522         gl_PREREQ_STRPTIME invocations from here...
7523         * modules/strptime (configure.ac): ... to here.
7524
7525 2011-05-22  Bruno Haible  <bruno@clisp.org>
7526
7527         strpbrk: Move AC_LIBOBJ invocations to module description.
7528         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7529         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7530         here...
7531         * modules/strpbrk (configure.ac): ... to here.
7532
7533 2011-05-22  Bruno Haible  <bruno@clisp.org>
7534
7535         strnlen: Move AC_LIBOBJ invocations to module description.
7536         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7537         invocations from here...
7538         * modules/strnlen (configure.ac): ... to here.
7539
7540 2011-05-22  Bruno Haible  <bruno@clisp.org>
7541
7542         strndup: Move AC_LIBOBJ invocations to module description.
7543         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7544         invocations from here...
7545         * modules/strndup (configure.ac): ... to here.
7546         (Depends-on): Update conditions.
7547
7548 2011-05-22  Bruno Haible  <bruno@clisp.org>
7549
7550         strncat: Move AC_LIBOBJ invocations to module description.
7551         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7552         invocations from here...
7553         * modules/strncat (configure.ac): ... to here.
7554
7555 2011-05-22  Bruno Haible  <bruno@clisp.org>
7556
7557         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7558         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7559         invocations from here...
7560         * modules/strdup (configure.ac): ... to here.
7561         * modules/strdup-posix (configure.ac): ... and here.
7562
7563 2011-05-22  Bruno Haible  <bruno@clisp.org>
7564
7565         strcspn: Move AC_LIBOBJ invocations to module description.
7566         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7567         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7568         here...
7569         * modules/strcspn (configure.ac): ... to here.
7570
7571 2011-05-22  Bruno Haible  <bruno@clisp.org>
7572
7573         strchrnul: Move AC_LIBOBJ invocations to module description.
7574         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7575         gl_PREREQ_STRCHRNUL invocations from here...
7576         * modules/strchrnul (configure.ac): ... to here.
7577
7578 2011-05-22  Bruno Haible  <bruno@clisp.org>
7579
7580         strcasestr*: Move AC_LIBOBJ invocations to module description.
7581         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7582         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7583         * modules/strcasestr-simple (configure.ac): ... to here.
7584         * modules/strcasestr (configure.ac): ... and here.
7585
7586 2011-05-22  Bruno Haible  <bruno@clisp.org>
7587
7588         strcase: Move AC_LIBOBJ invocations to module description.
7589         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7590         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7591         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7592         gl_PREREQ_STRNCASECMP invocations from here...
7593         * modules/strcase (configure.ac): ... to here.
7594
7595 2011-05-22  Bruno Haible  <bruno@clisp.org>
7596
7597         stpncpy: Move AC_LIBOBJ invocations to module description.
7598         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7599         here...
7600         * modules/stpncpy (configure.ac): ... to here.
7601
7602 2011-05-22  Bruno Haible  <bruno@clisp.org>
7603
7604         stpcpy: Move AC_LIBOBJ invocations to module description.
7605         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7606         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7607         here...
7608         * modules/stpcpy (configure.ac): ... to here.
7609
7610 2011-05-21  Bruno Haible  <bruno@clisp.org>
7611
7612         stat: Move AC_LIBOBJ invocations to module description.
7613         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7614         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7615         here...
7616         * modules/stat (configure.ac): ... to here.
7617
7618 2011-05-21  Bruno Haible  <bruno@clisp.org>
7619
7620         sleep: Move AC_LIBOBJ invocations to module description.
7621         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7622         * modules/sleep (configure.ac): ... to here.
7623
7624 2011-05-21  Bruno Haible  <bruno@clisp.org>
7625
7626         signbit: Move AC_LIBOBJ invocations to module description.
7627         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7628         * modules/signbit (configure.ac): ... to here.
7629
7630 2011-05-21  Bruno Haible  <bruno@clisp.org>
7631
7632         sigprocmask: Move AC_LIBOBJ invocations to module description.
7633         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7634         gl_PREREQ_SIGPROMASK invocations from here...
7635         * modules/sigprocmask (configure.ac): ... to here.
7636
7637 2011-05-21  Bruno Haible  <bruno@clisp.org>
7638
7639         sigaction: Move AC_LIBOBJ invocations to module description.
7640         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7641         gl_PREREQ_SIGACTION invocations from here...
7642         * modules/sigaction (configure.ac): ... to here.
7643
7644 2011-05-21  Bruno Haible  <bruno@clisp.org>
7645
7646         sig2str: Move AC_LIBOBJ invocations to module description.
7647         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7648         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7649         here...
7650         * modules/sig2str (configure.ac): ... to here.
7651
7652 2011-05-21  Bruno Haible  <bruno@clisp.org>
7653
7654         setlocale: Move AC_LIBOBJ invocations to module description.
7655         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7656         gl_PREREQ_SETLOCALE invocations from here...
7657         * modules/setlocale (configure.ac): ... to here.
7658
7659 2011-05-21  Bruno Haible  <bruno@clisp.org>
7660
7661         unsetenv: Move AC_LIBOBJ invocations to module description.
7662         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7663         and gl_PREREQ_UNSETENV invocations from here...
7664         * modules/unsetenv (configure.ac): ... to here.
7665         (Depends-on): Update.
7666
7667 2011-05-21  Bruno Haible  <bruno@clisp.org>
7668
7669         setenv: Move AC_LIBOBJ invocations to module description.
7670         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7671         here...
7672         * modules/setenv (configure.ac): ... to here.
7673
7674 2011-05-21  Bruno Haible  <bruno@clisp.org>
7675
7676         selinux-h: Move AC_LIBOBJ invocations to module description.
7677         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7678         AC_LIBOBJ invocation from here...
7679         * modules/selinux-h (configure.ac): ... to here.
7680
7681 2011-05-21  Bruno Haible  <bruno@clisp.org>
7682
7683         select: Respect rules for use of AC_LIBOBJ.
7684         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7685         here...
7686         * modules/select (configure.ac): ... to here.
7687
7688 2011-05-21  Bruno Haible  <bruno@clisp.org>
7689
7690         scandir: Move AC_LIBOBJ invocations to module description.
7691         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7692         invocations from here...
7693         * modules/scandir (configure.ac): ... to here.
7694
7695 2011-05-21  Bruno Haible  <bruno@clisp.org>
7696
7697         rpmatch: Move AC_LIBOBJ invocations to module description.
7698         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7700         here...
7701         * modules/rpmatch (configure.ac): ... to here.
7702
7703 2011-05-21  Bruno Haible  <bruno@clisp.org>
7704
7705         rmdir: Respect rules for use of AC_LIBOBJ.
7706         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7707         * modules/rmdir (configure.ac): ... to here.
7708
7709 2011-05-21  Bruno Haible  <bruno@clisp.org>
7710
7711         renameat: Move AC_LIBOBJ invocations to module description.
7712         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7713         here...
7714         * modules/renameat (configure.ac): ... to here.
7715
7716 2011-05-21  Bruno Haible  <bruno@clisp.org>
7717
7718         rename: Respect rules for use of AC_LIBOBJ.
7719         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7720         here...
7721         * modules/rename (configure.ac): ... to here.
7722
7723 2011-05-21  Bruno Haible  <bruno@clisp.org>
7724
7725         remove: Move AC_LIBOBJ invocations to module description.
7726         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7727         here...
7728         * modules/remove (configure.ac): ... to here.
7729
7730 2011-05-21  Bruno Haible  <bruno@clisp.org>
7731
7732         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7733         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7734         macro.
7735         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7736         * modules/relocatable-lib (configure.ac): ... to here.
7737         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7738         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7739
7740 2011-05-21  Bruno Haible  <bruno@clisp.org>
7741
7742         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7743         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7744         here...
7745         * modules/relocatable-prog (configure.ac): ... to here.
7746
7747 2011-05-21  Bruno Haible  <bruno@clisp.org>
7748
7749         regex: Move AC_LIBOBJ invocations to module description.
7750         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7751         invocations from here...
7752         * modules/regex (configure.ac): ... to here.
7753
7754 2011-05-21  Bruno Haible  <bruno@clisp.org>
7755
7756         realloc-*: Move AC_LIBOBJ invocations to module description.
7757         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7758         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7759         AC_LIBOBJ invocations from here...
7760         * modules/realloc-gnu (configure.ac): ... to here.
7761         * modules/realloc-posix (configure.ac): ... and here.
7762
7763 2011-05-21  Bruno Haible  <bruno@clisp.org>
7764
7765         readutmp: Move AC_LIBOBJ invocations to module description.
7766         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7767         * modules/readutmp (configure.ac): ... to here.
7768
7769 2011-05-21  Bruno Haible  <bruno@clisp.org>
7770
7771         readlinkat: Move AC_LIBOBJ invocations to module description.
7772         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7773         here...
7774         * modules/readlinkat (configure.ac): ... to here.
7775
7776 2011-05-21  Bruno Haible  <bruno@clisp.org>
7777
7778         readlink: Move AC_LIBOBJ invocations to module description.
7779         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7780         gl_PREREQ_READLINK invocations from here...
7781         * modules/readlink (configure.ac): ... to here.
7782
7783 2011-05-21  Bruno Haible  <bruno@clisp.org>
7784
7785         readline: Move AC_LIBOBJ invocations to module description.
7786         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7787         gl_PREREQ_READLINE invocations from here...
7788         * modules/readline (configure.ac): ... to here.
7789
7790 2011-05-21  Bruno Haible  <bruno@clisp.org>
7791
7792         read: Move AC_LIBOBJ invocations to module description.
7793         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7794         * modules/read (configure.ac): ... to here.
7795
7796 2011-05-21  Bruno Haible  <bruno@clisp.org>
7797
7798         rawmemchr: Move AC_LIBOBJ invocations to module description.
7799         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7800         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7801         from here...
7802         * modules/rawmemchr (configure.ac): ... to here.
7803
7804 2011-05-21  Bruno Haible  <bruno@clisp.org>
7805
7806         random_r: Move AC_LIBOBJ invocations to module description.
7807         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7808         gl_PREREQ_RANDOM_R invocations from here...
7809         * modules/random_r (configure.ac): ... to here.
7810
7811 2011-05-21  Bruno Haible  <bruno@clisp.org>
7812
7813         pwrite: Move AC_LIBOBJ invocations to module description.
7814         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7815         * modules/pwrite (configure.ac): ... to here.
7816
7817 2011-05-21  Bruno Haible  <bruno@clisp.org>
7818
7819         putenv: Move AC_LIBOBJ invocations to module description.
7820         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7821         * modules/putenv (configure.ac): ... to here.
7822
7823 2011-05-21  Bruno Haible  <bruno@clisp.org>
7824
7825         login_tty: Move AC_LIBOBJ invocations to module description.
7826         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7827         * modules/login_tty (configure.ac): ... to here.
7828
7829 2011-05-21  Bruno Haible  <bruno@clisp.org>
7830
7831         openpty: Move AC_LIBOBJ invocations to module description.
7832         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7833         * modules/openpty (configure.ac): ... to here.
7834
7835 2011-05-21  Bruno Haible  <bruno@clisp.org>
7836
7837         forkpty: Move AC_LIBOBJ invocations to module description.
7838         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7839         * modules/forkpty (configure.ac): ... to here.
7840
7841 2011-05-21  Bruno Haible  <bruno@clisp.org>
7842
7843         ptsname: Move AC_LIBOBJ invocations to module description.
7844         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7845         invocations from here...
7846         * modules/ptsname (configure.ac): ... to here.
7847
7848 2011-05-21  Bruno Haible  <bruno@clisp.org>
7849
7850         pread: Move AC_LIBOBJ invocations to module description.
7851         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7852         * modules/pread (configure.ac): ... to here.
7853
7854 2011-05-21  Bruno Haible  <bruno@clisp.org>
7855
7856         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7857         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7858         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7859         * modules/posix_spawn (configure.ac): ... to here.
7860         * modules/posix_spawnp (configure.ac): ... and here.
7861
7862 2011-05-21  Bruno Haible  <bruno@clisp.org>
7863
7864         popen: Move AC_LIBOBJ invocations to module description.
7865         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7866         invocations from here...
7867         * modules/popen (configure.ac): ... to here.
7868
7869 2011-05-21  Bruno Haible  <bruno@clisp.org>
7870
7871         poll: Move AC_LIBOBJ invocations to module description.
7872         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7873         invocations from here...
7874         * modules/poll (configure.ac): ... to here.
7875
7876 2011-05-21  Bruno Haible  <bruno@clisp.org>
7877
7878         pipe-posix: Move AC_LIBOBJ invocations to module description.
7879         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7880         * modules/pipe-posix (configure.ac): ... to here.
7881
7882 2011-05-21  Bruno Haible  <bruno@clisp.org>
7883
7884         openat: Respect rules for use of AC_LIBOBJ.
7885         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7886         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7887         * modules/openat (configure.ac): ... to here.
7888
7889 2011-05-21  Bruno Haible  <bruno@clisp.org>
7890
7891         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7892         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7893         invocation from here...
7894         * modules/obstack-printf (configure.ac): ... to here.
7895         * modules/obstack-printf-posix (configure.ac): ... and here.
7896
7897 2011-05-21  Bruno Haible  <bruno@clisp.org>
7898
7899         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7900         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7901         from here...
7902         * modules/nl_langinfo (configure.ac): ... to here.
7903
7904 2011-05-21  Bruno Haible  <bruno@clisp.org>
7905
7906         nanosleep: Move AC_LIBOBJ invocations to module description.
7907         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7908         gl_PREREQ_NANOSLEEP invocations from here...
7909         * modules/nanosleep (configure.ac): ... to here.
7910
7911 2011-05-21  Bruno Haible  <bruno@clisp.org>
7912
7913         mountlist: Move AC_LIBOBJ invocations to module description.
7914         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7915         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7916         * modules/mountlist (configure.ac): ... to here.
7917
7918 2011-05-21  Bruno Haible  <bruno@clisp.org>
7919
7920         mktime: Respect rules for use of AC_LIBOBJ.
7921         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7922         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7923         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7924         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7925         * modules/mktime (configure.ac): ... to here.
7926         * modules/mktime-internal (configure.ac): ... and here.
7927         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7928
7929 2011-05-21  Bruno Haible  <bruno@clisp.org>
7930
7931         mkstemps: Move AC_LIBOBJ invocations to module description.
7932         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7933         here...
7934         * modules/mkstemps (configure.ac): ... to here.
7935
7936 2011-05-21  Bruno Haible  <bruno@clisp.org>
7937
7938         mkstemp: Move AC_LIBOBJ invocations to module description.
7939         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7940         gl_PREREQ_MKSTEMP invocations from here...
7941         * modules/mkstemp (configure.ac): ... to here.
7942
7943 2011-05-21  Bruno Haible  <bruno@clisp.org>
7944
7945         mkostemps: Move AC_LIBOBJ invocations to module description.
7946         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7947         here...
7948         * modules/mkostemps (configure.ac): ... to here.
7949
7950 2011-05-21  Bruno Haible  <bruno@clisp.org>
7951
7952         mkostemp: Move AC_LIBOBJ invocations to module description.
7953         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7954         gl_PREREQ_MKOSTEMP invocations from here...
7955         * modules/mkostemp (configure.ac): ... to here.
7956
7957 2011-05-21  Bruno Haible  <bruno@clisp.org>
7958
7959         mknod: Move AC_LIBOBJ invocations to module description.
7960         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7961         * modules/mknod (configure.ac): ... to here.
7962
7963 2011-05-21  Bruno Haible  <bruno@clisp.org>
7964
7965         mkfifoat: Move AC_LIBOBJ invocations to module description.
7966         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7967         here...
7968         * modules/mkfifoat (configure.ac): ... to here.
7969
7970 2011-05-21  Bruno Haible  <bruno@clisp.org>
7971
7972         mkfifo: Respect rules for use of AC_LIBOBJ.
7973         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7974         here...
7975         * modules/mkfifo (configure.ac): ... to here.
7976
7977 2011-05-21  Bruno Haible  <bruno@clisp.org>
7978
7979         mkdtemp: Move AC_LIBOBJ invocations to module description.
7980         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7981         invocations from here...
7982         * modules/mkdtemp (configure.ac): ... to here.
7983
7984 2011-05-21  Bruno Haible  <bruno@clisp.org>
7985
7986         mkdir: Move AC_LIBOBJ invocations to module description.
7987         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7988         * modules/mkdir (configure.ac): ... to here.
7989
7990 2011-05-21  Bruno Haible  <bruno@clisp.org>
7991
7992         memset: Move AC_LIBOBJ invocations to module description.
7993         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7994         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7995         here...
7996         * modules/memset (configure.ac): ... to here.
7997
7998 2011-05-21  Bruno Haible  <bruno@clisp.org>
7999
8000         memrchr: Move AC_LIBOBJ invocations to module description.
8001         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
8002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
8003         here...
8004         * modules/memrchr (configure.ac): ... to here.
8005
8006 2011-05-21  Bruno Haible  <bruno@clisp.org>
8007
8008         mempcpy: Move AC_LIBOBJ invocations to module description.
8009         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
8010         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
8011         here...
8012         * modules/mempcpy (configure.ac): ... to here.
8013
8014 2011-05-21  Bruno Haible  <bruno@clisp.org>
8015
8016         memmove: Move AC_LIBOBJ invocations to module description.
8017         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
8018         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
8019         here...
8020         * modules/memmove (configure.ac): ... to here.
8021
8022 2011-05-21  Bruno Haible  <bruno@clisp.org>
8023
8024         memmem*: Move AC_LIBOBJ invocations to module description.
8025         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
8026         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
8027         here...
8028         (gl_FUNC_MEMMEM): ... and here...
8029         * modules/memmem-simple (configure.ac): ... to here.
8030         * modules/memmem (configure.ac): ... and here.
8031
8032 2011-05-21  Bruno Haible  <bruno@clisp.org>
8033
8034         memcpy: Move AC_LIBOBJ invocations to module description.
8035         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
8036         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
8037         here...
8038         * modules/memcpy (configure.ac): ... to here.
8039
8040 2011-05-21  Bruno Haible  <bruno@clisp.org>
8041
8042         memcmp: Simplify autoconf macro.
8043         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
8044         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
8045         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
8046
8047 2011-05-21  Bruno Haible  <bruno@clisp.org>
8048
8049         memcmp: Move AC_LIBOBJ invocations to module description.
8050         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
8051         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
8052         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
8053         * modules/memcmp (configure.ac): ... to here.
8054         (Depends-on): Update conditions.
8055
8056 2011-05-21  Bruno Haible  <bruno@clisp.org>
8057
8058         memchr: Respect rules for use of AC_LIBOBJ.
8059         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
8060         invocations from here...
8061         * modules/memchr (configure.ac): ... to here.
8062
8063 2011-05-21  Bruno Haible  <bruno@clisp.org>
8064
8065         mbtowc: Move AC_LIBOBJ invocations to module description.
8066         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
8067         invocations from here...
8068         * modules/mbtowc (configure.ac): ... to here.
8069
8070 2011-05-21  Bruno Haible  <bruno@clisp.org>
8071
8072         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
8073         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
8074         gl_PREREQ_MBSRTOWCS invocations from here...
8075         * modules/mbsrtowcs (configure.ac): ... to here.
8076
8077 2011-05-21  Bruno Haible  <bruno@clisp.org>
8078
8079         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
8080         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
8081         gl_PREREQ_MBSNRTOWCS invocations from here...
8082         * modules/mbsnrtowcs (configure.ac): ... to here.
8083
8084 2011-05-21  Bruno Haible  <bruno@clisp.org>
8085
8086         mbsinit: Move AC_LIBOBJ invocations to module description.
8087         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
8088         invocations from here...
8089         * modules/mbsinit (configure.ac): ... to here.
8090
8091 2011-05-21  Bruno Haible  <bruno@clisp.org>
8092
8093         mbrlen: Move AC_LIBOBJ invocations to module description.
8094         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
8095         invocations from here...
8096         * modules/mbrlen (configure.ac): ... to here.
8097
8098 2011-05-21  Bruno Haible  <bruno@clisp.org>
8099
8100         mbrtowc: Respect rules for use of AC_LIBOBJ.
8101         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
8102         invocations from here...
8103         * modules/mbrtowc (configure.ac): ... to here.
8104
8105 2011-05-21  Bruno Haible  <bruno@clisp.org>
8106
8107         malloc-*: Move AC_LIBOBJ invocations to module description.
8108         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
8109         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
8110         AC_LIBOBJ invocations from here...
8111         * modules/malloc-gnu (configure.ac): ... to here.
8112         * modules/malloc-posix (configure.ac): ... and here.
8113
8114 2011-05-21  Bruno Haible  <bruno@clisp.org>
8115
8116         lstat, openat: Respect rules for use of AC_LIBOBJ.
8117         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
8118         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
8119         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
8120         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
8121         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
8122         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
8123         here.
8124         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
8125
8126 2011-05-21  Bruno Haible  <bruno@clisp.org>
8127
8128         lseek: Move AC_LIBOBJ invocations to module description.
8129         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
8130         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8131         * modules/lseek (configure.ac): ... to here.
8132
8133 2011-05-21  Bruno Haible  <bruno@clisp.org>
8134
8135         linkat: Move AC_LIBOBJ invocations to module description.
8136         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
8137         here...
8138         * modules/linkat (configure.ac): ... to here.
8139
8140 2011-05-21  Bruno Haible  <bruno@clisp.org>
8141
8142         link: Respect rules for use of AC_LIBOBJ.
8143         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
8144         * modules/link (configure.ac): ... to here.
8145
8146 2011-05-21  Bruno Haible  <bruno@clisp.org>
8147
8148         lchown: Move AC_LIBOBJ invocations to module description.
8149         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8150         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
8151         * modules/lchown (configure.ac): ... to here.
8152
8153 2011-05-21  Bruno Haible  <bruno@clisp.org>
8154
8155         iswctype: Move AC_LIBOBJ invocations to module description.
8156         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
8157         here...
8158         * modules/iswctype (configure.ac): ... to here.
8159
8160 2011-05-21  Bruno Haible  <bruno@clisp.org>
8161
8162         iswblank: Move AC_LIBOBJ invocations to module description.
8163         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
8164         here...
8165         * modules/iswblank (configure.ac): ... to here.
8166
8167 2011-05-21  Bruno Haible  <bruno@clisp.org>
8168
8169         atanl: Move AC_LIBOBJ invocations to module description.
8170         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8171         * modules/atanl (configure.ac): ... to here.
8172
8173 2011-05-21  Bruno Haible  <bruno@clisp.org>
8174
8175         acosl: Move AC_LIBOBJ invocations to module description.
8176         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8177         * modules/acosl (configure.ac): ... to here.
8178
8179 2011-05-21  Bruno Haible  <bruno@clisp.org>
8180
8181         asinl: Respect rules for use of AC_LIBOBJ.
8182         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8183         * modules/asinl (configure.ac): ... to here.
8184
8185 2011-05-21  Bruno Haible  <bruno@clisp.org>
8186
8187         tanl: Move AC_LIBOBJ invocations to module description.
8188         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8189         * modules/tanl (configure.ac): ... to here.
8190
8191 2011-05-21  Bruno Haible  <bruno@clisp.org>
8192
8193         cosl: Move AC_LIBOBJ invocations to module description.
8194         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8195         * modules/cosl (configure.ac): ... to here.
8196
8197 2011-05-21  Bruno Haible  <bruno@clisp.org>
8198
8199         sinl: Move AC_LIBOBJ invocations to module description.
8200         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8201         * modules/sinl (configure.ac): ... to here.
8202
8203 2011-05-21  Bruno Haible  <bruno@clisp.org>
8204
8205         logl: Move AC_LIBOBJ invocations to module description.
8206         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8207         * modules/logl (configure.ac): ... to here.
8208
8209 2011-05-21  Bruno Haible  <bruno@clisp.org>
8210
8211         expl: Move AC_LIBOBJ invocations to module description.
8212         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8213         * modules/expl (configure.ac): ... to here.
8214
8215 2011-05-21  Bruno Haible  <bruno@clisp.org>
8216
8217         roundl: Move AC_LIBOBJ invocations to module description.
8218         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8219         * modules/roundl (configure.ac): ... to here.
8220
8221 2011-05-21  Bruno Haible  <bruno@clisp.org>
8222
8223         round: Move AC_LIBOBJ invocations to module description.
8224         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8225         * modules/round (configure.ac): ... to here.
8226
8227 2011-05-21  Bruno Haible  <bruno@clisp.org>
8228
8229         roundf: Move AC_LIBOBJ invocations to module description.
8230         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8231         * modules/roundf (configure.ac): ... to here.
8232
8233 2011-05-21  Bruno Haible  <bruno@clisp.org>
8234
8235         truncl: Move AC_LIBOBJ invocations to module description.
8236         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8237         * modules/truncl (configure.ac): ... to here.
8238
8239 2011-05-21  Bruno Haible  <bruno@clisp.org>
8240
8241         trunc: Move AC_LIBOBJ invocations to module description.
8242         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8243         * modules/trunc (configure.ac): ... to here.
8244
8245 2011-05-21  Bruno Haible  <bruno@clisp.org>
8246
8247         truncf: Move AC_LIBOBJ invocations to module description.
8248         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8249         * modules/truncf (configure.ac): ... to here.
8250
8251 2011-05-21  Bruno Haible  <bruno@clisp.org>
8252
8253         ceill: Move AC_LIBOBJ invocations to module description.
8254         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8255         * modules/ceill (configure.ac): ... to here.
8256
8257 2011-05-21  Bruno Haible  <bruno@clisp.org>
8258
8259         ceil: Move AC_LIBOBJ invocations to module description.
8260         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8261         * modules/ceil (configure.ac): ... to here.
8262
8263 2011-05-21  Bruno Haible  <bruno@clisp.org>
8264
8265         ceilf: Move AC_LIBOBJ invocations to module description.
8266         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8267         * modules/ceilf (configure.ac): ... to here.
8268
8269 2011-05-21  Bruno Haible  <bruno@clisp.org>
8270
8271         floorl: Respect rules for use of AC_LIBOBJ.
8272         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8273         * modules/floorl (configure.ac): ... to here.
8274
8275 2011-05-21  Bruno Haible  <bruno@clisp.org>
8276
8277         floor: Respect rules for use of AC_LIBOBJ.
8278         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8279         * modules/floor (configure.ac): ... to here.
8280
8281 2011-05-21  Bruno Haible  <bruno@clisp.org>
8282
8283         floorf: Move AC_LIBOBJ invocations to module description.
8284         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8285         * modules/floorf (configure.ac): ... to here.
8286
8287 2011-05-20  Bruno Haible  <bruno@clisp.org>
8288
8289         sqrtl: Respect rules for use of AC_LIBOBJ.
8290         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8291         * modules/sqrtl (configure.ac): ... to here.
8292
8293 2011-05-20  Bruno Haible  <bruno@clisp.org>
8294
8295         ldexpl: Respect rules for use of AC_LIBOBJ.
8296         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8297         * modules/ldexpl (configure.ac): ... to here.
8298
8299 2011-05-20  Bruno Haible  <bruno@clisp.org>
8300
8301         frexpl*: Respect rules for use of AC_LIBOBJ.
8302         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8303         invocation from here...
8304         * modules/frexpl (configure.ac): ... to here.
8305         * modules/frexpl-nolibm (configure.ac): ... and here.
8306
8307 2011-05-20  Bruno Haible  <bruno@clisp.org>
8308
8309         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8310         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8311         invocation from here...
8312         * modules/frexp (configure.ac): ... to here.
8313         * modules/frexp-nolibm (configure.ac): ... and here.
8314
8315 2011-05-20  Bruno Haible  <bruno@clisp.org>
8316
8317         isnan: Respect rules for use of AC_LIBOBJ.
8318         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8319         invocations here.
8320         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8321         REPLACE_ISNAN.
8322         * modules/isnand (configure.ac): Likewise.
8323         * modules/isnanl (configure.ac): Likewise.
8324
8325 2011-05-20  Bruno Haible  <bruno@clisp.org>
8326
8327         isnanl*: Respect rules for use of AC_LIBOBJ.
8328         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8329         invocation from here...
8330         * modules/isnanl (configure.ac): ... to here.
8331         * modules/isnanl-nolibm (configure.ac): ... and here.
8332
8333 2011-05-20  Bruno Haible  <bruno@clisp.org>
8334
8335         isnand*: Move AC_LIBOBJ invocations to module description.
8336         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8337         invocation from here...
8338         * modules/isnand (configure.ac): ... to here.
8339         * modules/isnand-nolibm (configure.ac): ... and here.
8340
8341 2011-05-20  Bruno Haible  <bruno@clisp.org>
8342
8343         isnanf*: Move AC_LIBOBJ invocations to module description.
8344         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8345         invocation from here...
8346         * modules/isnanf (configure.ac): ... to here.
8347         * modules/isnanf-nolibm (configure.ac): ... and here.
8348
8349 2011-05-20  Bruno Haible  <bruno@clisp.org>
8350
8351         isnan*: Separate the AC_LIBOBJ invocations.
8352         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8353         AC_LIBOBJ invocation.
8354         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8355         here.
8356         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8357         AC_LIBOBJ invocation.
8358         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8359         here.
8360         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8361         AC_LIBOBJ invocation.
8362         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8363         here.
8364         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8365
8366 2011-05-08  Bruno Haible  <bruno@clisp.org>
8367
8368         isinf: Move AC_LIBOBJ invocations to module description.
8369         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8370         * modules/isinf (configure.ac): ... to here.
8371
8372 2011-05-08  Bruno Haible  <bruno@clisp.org>
8373
8374         isfinite: Move AC_LIBOBJ invocations to module description.
8375         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8376         * modules/isfinite (configure.ac): ... to here.
8377
8378 2011-05-08  Bruno Haible  <bruno@clisp.org>
8379
8380         isblank: Move AC_LIBOBJ invocations to module description.
8381         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8382         here...
8383         * modules/isblank (configure.ac): ... to here.
8384
8385 2011-05-08  Bruno Haible  <bruno@clisp.org>
8386
8387         isapipe: Move AC_LIBOBJ invocations to module description.
8388         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8389         gl_PREREQ_ISAPIPE invocations from here...
8390         * modules/isapipe (configure.ac): ... to here.
8391         (Depends-on): Update condition.
8392
8393 2011-05-08  Bruno Haible  <bruno@clisp.org>
8394
8395         ioctl: Move AC_LIBOBJ invocations to module description.
8396         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8397         invocations from here...
8398         * modules/ioctl (configure.ac): ... to here.
8399         (Depends-on): Update condition.
8400
8401 2011-05-08  Bruno Haible  <bruno@clisp.org>
8402
8403         imaxdiv: Move AC_LIBOBJ invocations to module description.
8404         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8405         invocations from here...
8406         * modules/imaxdiv (configure.ac): ... to here.
8407
8408 2011-05-08  Bruno Haible  <bruno@clisp.org>
8409
8410         imaxabs: Move AC_LIBOBJ invocations to module description.
8411         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8412         invocations from here...
8413         * modules/imaxabs (configure.ac): ... to here.
8414
8415 2011-05-08  Bruno Haible  <bruno@clisp.org>
8416
8417         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8418         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8419         AC_LIBOBJ invocations from here...
8420         * modules/getaddrinfo (configure.ac): ... to here.
8421         (Depends-on): Add conditions.
8422
8423 2011-05-08  Bruno Haible  <bruno@clisp.org>
8424
8425         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8426         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8427         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8428         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8429         (gl_PREREQ_INET_PTON): ... from here.
8430         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8431         gl_PREREQ_INET_PTON here.
8432         (Depends-on): Update condition.
8433
8434 2011-05-08  Bruno Haible  <bruno@clisp.org>
8435
8436         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8437         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8438         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8439         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8440         (gl_PREREQ_INET_NTOP): ... from here.
8441         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8442         gl_PREREQ_INET_NTOP here.
8443         (Depends-on): Update condition.
8444
8445 2011-05-08  Bruno Haible  <bruno@clisp.org>
8446
8447         iconv_open: Move AC_LIBOBJ invocations to module description.
8448         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8449         AC_LIBOBJ invocations from here...
8450         * modules/iconv_open (configure.ac): ... to here.
8451
8452 2011-05-08  Bruno Haible  <bruno@clisp.org>
8453
8454         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8455         If module 'iconv_open' is among the main modules and module
8456         'iconv_open-utf' is among the tests dependencies, then
8457         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8458         return the special iconv_t values. Therefore iconv() and iconv_close()
8459         must support these special iconv_t values, already in lib, not only in
8460         tests.
8461         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8462         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8463         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8464         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8465         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8466         (Depends-on): Add the dependencies of iconv_open-utf.
8467         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8468         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8469         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8470
8471 2011-05-08  Bruno Haible  <bruno@clisp.org>
8472
8473         group-member: Move AC_LIBOBJ invocations to module description.
8474         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8475         gl_PREREQ_GROUP_MEMBER invocations from here...
8476         * modules/group-member (configure.ac): ... to here.
8477
8478 2011-05-08  Bruno Haible  <bruno@clisp.org>
8479
8480         grantpt: Move AC_LIBOBJ invocations to module description.
8481         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8482         invocations from here...
8483         * modules/grantpt (configure.ac): ... to here.
8484
8485 2011-05-08  Bruno Haible  <bruno@clisp.org>
8486
8487         glob: Move AC_LIBOBJ invocations to module description.
8488         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8489         from here...
8490         * modules/glob (configure.ac): ... to here.
8491
8492 2011-05-08  Bruno Haible  <bruno@clisp.org>
8493
8494         getusershell: Move AC_LIBOBJ invocations to module description.
8495         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8496         Move AC_LIBOBJ invocation from here...
8497         * modules/getusershell (configure.ac): ... to here.
8498         (Depends-on): Update condition.
8499
8500 2011-05-08  Bruno Haible  <bruno@clisp.org>
8501
8502         gettimeofday: Move AC_LIBOBJ invocations to module description.
8503         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8504         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8505         gl_PREREQ_GETTIMEOFDAY invocations from here...
8506         * modules/gettimeofday (configure.ac): ... to here.
8507
8508 2011-05-08  Bruno Haible  <bruno@clisp.org>
8509
8510         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8511         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8512         just gl_FUNC_TZSET.
8513         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8514         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8515         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8516         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8517
8518 2011-05-08  Bruno Haible  <bruno@clisp.org>
8519
8520         getsubopt: Move AC_LIBOBJ invocations to module description.
8521         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8522         gl_PREREQ_GETSUBOPT invocations from here...
8523         * modules/getsubopt (configure.ac): ... to here.
8524
8525 2011-05-08  Bruno Haible  <bruno@clisp.org>
8526
8527         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8528         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8529         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8530         * modules/getpass-gnu (configure.ac): ... to here.
8531
8532 2011-05-08  Bruno Haible  <bruno@clisp.org>
8533
8534         getpass: Move AC_LIBOBJ invocations to module description.
8535         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8536         gl_PREREQ_GETPASS invocations from here...
8537         * modules/getpass (configure.ac): ... to here.
8538
8539 2011-05-08  Bruno Haible  <bruno@clisp.org>
8540
8541         getpagesize: Move AC_LIBOBJ invocations to module description.
8542         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8543         from here...
8544         * modules/getpagesize (configure.ac): ... to here.
8545
8546 2011-05-08  Bruno Haible  <bruno@clisp.org>
8547
8548         getopt: Move AC_LIBOBJ invocations to module description.
8549         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8550         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8551         invocations from here...
8552         * modules/getopt-gnu (configure.ac): ... to here.
8553         * modules/getopt-posix (configure.ac): ... and here.
8554         (Depends-on): Update condition.
8555
8556 2011-05-08  Bruno Haible  <bruno@clisp.org>
8557
8558         getopt, argp: Respect rules for use of AC_LIBOBJ.
8559         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8560         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8561         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8562         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8563
8564 2011-05-08  Bruno Haible  <bruno@clisp.org>
8565
8566         getlogin_r: Move AC_LIBOBJ invocations to module description.
8567         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8568         gl_PREREQ_GETLOGIN_R invocations from here...
8569         * modules/getlogin_r (configure.ac): ... to here.
8570
8571 2011-05-08  Bruno Haible  <bruno@clisp.org>
8572
8573         getlogin: Move AC_LIBOBJ invocations to module description.
8574         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8575         here...
8576         * modules/getlogin (configure.ac): ... to here.
8577
8578 2011-05-08  Bruno Haible  <bruno@clisp.org>
8579
8580         getloadavg: Move AC_LIBOBJ invocations to module description.
8581         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8582         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8583         * modules/getloadavg (configure.ac): ... to here.
8584
8585 2011-05-08  Bruno Haible  <bruno@clisp.org>
8586
8587         gethrxtime: Move AC_LIBOBJ invocations to module description.
8588         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8589         LIB_GETHRXTIME from here...
8590         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8591         invocations from here...
8592         * modules/gethrxtime (configure.ac): ... to here.
8593
8594 2011-05-08  Bruno Haible  <bruno@clisp.org>
8595
8596         gethostname: Move AC_LIBOBJ invocations to module description.
8597         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8598         gl_PREREQ_GETHOSTNAME invocations from here...
8599         * modules/gethostname (configure.ac): ... to here.
8600
8601 2011-05-08  Bruno Haible  <bruno@clisp.org>
8602
8603         getgroups: Move AC_LIBOBJ invocations to module description.
8604         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8605         here...
8606         * modules/getgroups (configure.ac): ... to here.
8607
8608 2011-05-08  Bruno Haible  <bruno@clisp.org>
8609
8610         getdtablesize: Move AC_LIBOBJ invocations to module description.
8611         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8612         invocation from here...
8613         * modules/getdtablesize (configure.ac): ... to here.
8614
8615 2011-05-08  Bruno Haible  <bruno@clisp.org>
8616
8617         getdomainname: Move AC_LIBOBJ invocations to module description.
8618         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8619         gl_PREREQ_GETDOMAINNAME invocations from here...
8620         * modules/getdomainname (configure.ac): ... to here.
8621
8622 2011-05-08  Bruno Haible  <bruno@clisp.org>
8623
8624         getline: Move AC_LIBOBJ invocations to module description.
8625         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8626         invocations from here...
8627         * modules/getline (configure.ac): ... to here.
8628
8629 2011-05-08  Bruno Haible  <bruno@clisp.org>
8630
8631         getline: Simplify.
8632         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8633         It's already handled through the module dependency.
8634
8635 2011-05-08  Bruno Haible  <bruno@clisp.org>
8636
8637         getdelim: Move AC_LIBOBJ invocations to module description.
8638         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8639         and gl_PREREQ_GETDELIM invocations from here...
8640         * modules/getdelim (configure.ac): ... to here.
8641         (Depends-on): Fix condition.
8642
8643 2011-05-08  Bruno Haible  <bruno@clisp.org>
8644
8645         getcwd: Move AC_LIBOBJ invocations to module description.
8646         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8647         invocations from here...
8648         * modules/getcwd (configure.ac): ... to here.
8649
8650 2011-05-08  Bruno Haible  <bruno@clisp.org>
8651
8652         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8653         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8654         here...
8655         * modules/getcwd-lgpl (configure.ac): ... to here.
8656
8657 2011-05-07  Bruno Haible  <bruno@clisp.org>
8658
8659         crypto/gc: Move AC_LIBOBJ invocations to module description.
8660         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8661         * modules/crypto/gc (configure.ac): ... to here.
8662
8663 2011-05-07  Bruno Haible  <bruno@clisp.org>
8664
8665         fwriting: Move AC_LIBOBJ invocations to module description.
8666         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8667         here...
8668         * modules/fwriting (configure.ac): ... to here.
8669
8670 2011-05-07  Bruno Haible  <bruno@clisp.org>
8671
8672         fwritable: Move AC_LIBOBJ invocations to module description.
8673         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8674         here...
8675         * modules/fwritable (configure.ac): ... to here.
8676
8677 2011-05-07  Bruno Haible  <bruno@clisp.org>
8678
8679         futimens: Move AC_LIBOBJ invocations to module description.
8680         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8681         here...
8682         * modules/futimens (configure.ac): ... to here.
8683
8684 2011-05-07  Bruno Haible  <bruno@clisp.org>
8685
8686         ftruncate: Move AC_LIBOBJ invocations to module description.
8687         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8688         gl_PREREQ_FTRUNCATE invocations from here...
8689         * modules/ftruncate (configure.ac): ... to here.
8690
8691 2011-05-07  Bruno Haible  <bruno@clisp.org>
8692
8693         fsync: Move AC_LIBOBJ invocations to module description.
8694         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8695         invocations from here...
8696         * modules/fsync (configure.ac): ... to here.
8697
8698 2011-05-07  Bruno Haible  <bruno@clisp.org>
8699
8700         fsusage: Move AC_LIBOBJ invocations to module description.
8701         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8702         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8703         * modules/fsusage (configure.ac): ... to here.
8704
8705 2011-05-07  Bruno Haible  <bruno@clisp.org>
8706
8707         freopen: Move AC_LIBOBJ invocations to module description.
8708         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8709         invocations from here...
8710         * modules/freopen (configure.ac): ... to here.
8711
8712 2011-05-07  Bruno Haible  <bruno@clisp.org>
8713
8714         free: Move AC_LIBOBJ invocations to module description.
8715         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8716         invocations from here...
8717         * modules/free (configure.ac): ... to here.
8718
8719 2011-05-07  Bruno Haible  <bruno@clisp.org>
8720
8721         freadable: Move AC_LIBOBJ invocations to module description.
8722         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8723         here...
8724         * modules/freadable (configure.ac): ... to here.
8725
8726 2011-05-07  Bruno Haible  <bruno@clisp.org>
8727
8728         fpurge: Move AC_LIBOBJ invocations to module description.
8729         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8730         invocations from here...
8731         * modules/fpurge (configure.ac): ... to here.
8732
8733 2011-05-07  Bruno Haible  <bruno@clisp.org>
8734
8735         fpending: Move AC_LIBOBJ invocations to module description.
8736         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8737         gl_FUNC_FPENDING.
8738         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8739         invocations from here...
8740         * modules/fpending (configure.ac): ... to here.
8741
8742 2011-05-07  Bruno Haible  <bruno@clisp.org>
8743
8744         fopen: Move AC_LIBOBJ invocations to module description.
8745         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8746         invocations from here...
8747         * modules/fopen (configure.ac): ... to here.
8748
8749 2011-05-07  Bruno Haible  <bruno@clisp.org>
8750
8751         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8752         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8753         gl_FUNC_FNMATCH_POSIX.
8754         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8755         invocations from here...
8756         * modules/fnmatch (configure.ac): ... to here.
8757         * modules/fnmatch-gnu (configure.ac): ... and here.
8758
8759 2011-05-07  Bruno Haible  <bruno@clisp.org>
8760
8761         flock: Move AC_LIBOBJ invocations to module description.
8762         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8763         invocations from here...
8764         * modules/flock (configure.ac): ... to here.
8765
8766 2011-05-07  Bruno Haible  <bruno@clisp.org>
8767
8768         fileblocks: Move AC_LIBOBJ invocations to module description.
8769         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8770         gl_PREREQ_FILEBLOCKS invocations from here...
8771         * modules/fileblocks (configure.ac): ... to here.
8772
8773 2011-05-06  Bruno Haible  <bruno@clisp.org>
8774
8775         fflush: Move AC_LIBOBJ invocations to module description.
8776         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8777         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8778         invocations from here...
8779         * modules/fflush (configure.ac): ... to here.
8780
8781 2011-05-06  Bruno Haible  <bruno@clisp.org>
8782
8783         fdopendir: Move AC_LIBOBJ invocations to module description.
8784         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8785         here...
8786         * modules/fdopendir (configure.ac): ... to here.
8787         (Depends-on): Improve conditions.
8788
8789 2011-05-06  Bruno Haible  <bruno@clisp.org>
8790
8791         _Exit: Move AC_LIBOBJ invocations to module description.
8792         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8793         invocations from here...
8794         * modules/_Exit (configure.ac): ... to here.
8795
8796 2011-05-21  Bruno Haible  <bruno@clisp.org>
8797
8798         euidaccess: Respect rules for use of AC_LIBOBJ.
8799         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8800         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8801         from here...
8802         * modules/euidaccess (configure.ac): ... to here.
8803
8804 2011-05-06  Bruno Haible  <bruno@clisp.org>
8805
8806         error: Move AC_LIBOBJ invocations to module description.
8807         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8808         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8809         invocations from here...
8810         * modules/error (configure.ac): ... to here.
8811
8812 2011-05-06  Bruno Haible  <bruno@clisp.org>
8813
8814         duplocale: Move AC_LIBOBJ invocations to module description.
8815         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8816         gl_PREREQ_DUPLOCALE invocations from here...
8817         * modules/duplocale (configure.ac): ... to here.
8818
8819 2011-05-05  Bruno Haible  <bruno@clisp.org>
8820
8821         dirfd: Move AC_LIBOBJ invocations to module description.
8822         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8823         gl_FUNC_DIRFD.
8824         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8825         here...
8826         * modules/dirfd (configure.ac): ... to here.
8827         (Depends-on): Fix condition.
8828
8829 2011-05-05  Bruno Haible  <bruno@clisp.org>
8830
8831         chown: Respect rules for use of AC_LIBOBJ.
8832         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8833         * modules/chown (configure.ac): ... to here.
8834
8835 2011-05-05  Bruno Haible  <bruno@clisp.org>
8836
8837         chdir-long: Move AC_LIBOBJ invocations to module description.
8838         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8839         gl_PREREQ_CHDIR_LONG invocations from here...
8840         * modules/chdir-long (configure.ac): ... to here.
8841
8842 2011-05-05  Bruno Haible  <bruno@clisp.org>
8843
8844         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8845         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8846         from here...
8847         * modules/canonicalize-lgpl (configure.ac): ... to here.
8848
8849 2011-05-05  Bruno Haible  <bruno@clisp.org>
8850
8851         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8852         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8853         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8854         REPLACE_CALLOC.
8855         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8856         * modules/calloc-gnu (configure.ac): Likewise.
8857
8858 2011-05-05  Bruno Haible  <bruno@clisp.org>
8859
8860         btowc: Move AC_LIBOBJ invocations to module description.
8861         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8862         invocations from here...
8863         * modules/btowc (configure.ac): ... to here.
8864
8865 2011-05-21  Bruno Haible  <bruno@clisp.org>
8866
8867         atexit: Move AC_LIBOBJ invocations to module description.
8868         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8869         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8870         here...
8871         * modules/atexit (configure.ac): ... to here.
8872
8873 2011-05-05  Bruno Haible  <bruno@clisp.org>
8874
8875         atoll: Move AC_LIBOBJ invocations to module description.
8876         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8877         invocations from here...
8878         * modules/atoll (configure.ac): ... to here.
8879
8880 2011-05-05  Bruno Haible  <bruno@clisp.org>
8881
8882         argz: Move AC_LIBOBJ invocations to module description.
8883         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8884         * modules/argz (configure.ac): ... to here.
8885
8886 2011-05-05  Bruno Haible  <bruno@clisp.org>
8887
8888         alphasort: Move AC_LIBOBJ invocations to module description.
8889         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8890         gl_PREREQ_ALPHASORT invocations from here...
8891         * modules/alphasort (configure.ac): ... to here.
8892
8893 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8894
8895         verify: new macro verify_expr; verify_true deprecated
8896         * NEWS: Mention this.
8897         * doc/verify.texi (Compile-time Assertions): Document this.
8898         * lib/verify.h (verify_true): Deprecate.
8899         (verify_expr): New macro.
8900         * tests/test-verify.c (function): Test verify_expr.
8901
8902 2011-06-14  Jim Meyering  <meyering@redhat.com>
8903
8904         init.sh: give more portable redirection-related advice in a comment
8905         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8906         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8907         for lots of discussion.  Stefano Lattarini suggested the solution
8908         of putting "9>&2" after the command.  Reported by Bruno Haible.
8909
8910 2011-06-13  Bruno Haible  <bruno@clisp.org>
8911
8912         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8913         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8914         'none'.
8915
8916 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8917
8918         ftoastr: use strtof only if HAVE_STRTOF
8919         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8921         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8922         * modules/ftoastr (configure.ac): Check for strtof.
8923
8924 2011-06-13  Bruno Haible  <bruno@clisp.org>
8925
8926         gnulib-tool: Addendum to 2011-06-08 commit.
8927         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8928         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8929
8930 2011-06-13  Bruno Haible  <bruno@clisp.org>
8931
8932         fseeko: Provide a non-inline replacement of fseek().
8933         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8934         * modules/fseeko (Depends-on): Add fseek.
8935         * modules/fseek (License): Change to LGPLv2+.
8936
8937 2011-06-13  Bruno Haible  <bruno@clisp.org>
8938
8939         ftello: Provide a non-inline replacement of ftell().
8940         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8941         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8942         not have ftello() (such as on mingw).
8943         * modules/ftello (Depends-on): Add ftell.
8944         * modules/ftell (License): Change to LGPLv2+.
8945
8946 2011-05-07  Bruno Haible  <bruno@clisp.org>
8947
8948         ftell: Move AC_LIBOBJ invocations to module description.
8949         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8950         * modules/ftell (configure.ac): ... to here.
8951
8952 2011-05-07  Bruno Haible  <bruno@clisp.org>
8953
8954         ftello: Respect rules for use of AC_LIBOBJ.
8955         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8956         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8957         here...
8958         * modules/ftello (configure.ac): ... to here.
8959
8960 2011-05-07  Bruno Haible  <bruno@clisp.org>
8961
8962         fseeko: Simplify.
8963         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8964         (gl_FUNC_FSEEKO): Inline it here.
8965
8966 2011-05-07  Bruno Haible  <bruno@clisp.org>
8967
8968         fseek: Move AC_LIBOBJ invocations to module description.
8969         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8970         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8971         * modules/fseek (configure.ac): ... to here.
8972
8973 2011-05-07  Bruno Haible  <bruno@clisp.org>
8974
8975         fseek: Respect rules for use of AC_LIBOBJ.
8976         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8977         here...
8978         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8979
8980 2011-05-07  Bruno Haible  <bruno@clisp.org>
8981
8982         fseeko: Respect rules for use of AC_LIBOBJ.
8983         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8984         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8985         here...
8986         * modules/fseeko (configure.ac): ... to here.
8987
8988 2011-06-13  Bruno Haible  <bruno@clisp.org>
8989
8990         gnulib-tool: Allow comments in the 'Depends-on' section.
8991         * doc/gnulib.texi (Module description): Mention comment syntax in the
8992         Depends-on section.
8993         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8994
8995 2011-06-13  Bruno Haible  <bruno@clisp.org>
8996
8997         file-set.h: guard __attibute__ use, now that it's not always defined
8998         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8999         versions that support it.  This fixes a coreutils build failure with
9000         the vendor cc on HP-UX 11.31.
9001
9002 2011-06-12  Bruno Haible  <bruno@clisp.org>
9003
9004         acl: Add support for HP-UX >= 11.11 JFS ACLs.
9005         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
9006         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
9007         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
9008         (acl, aclsort): New declarations.
9009         (aclv_nontrivial): New declaration.
9010         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
9011         (file_has_acl): Read also the second kind of HP-UX ACLs.
9012         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
9013         kind of HP-UX ACLs if the first kind fails.
9014         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
9015         second kind of HP-UX ACLs.
9016         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
9017         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
9018         agree.
9019         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9020         hpuxjfs.
9021         Handle hpuxjfs.
9022         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
9023         hpuxjfs.
9024         Handle hpuxjfs.
9025         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9026         (func_test_same_acls): Use both lsacl and getacl.
9027         Handle hpuxjfs.
9028         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
9029         (func_test_same_acls): Use both lsacl and getacl.
9030         Handle hpuxjfs.
9031
9032 2011-06-12  Bruno Haible  <bruno@clisp.org>
9033
9034         acl: Complete the 2010-08-10 fix.
9035         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
9036         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
9037         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
9038         explicitly.
9039         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
9040         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
9041
9042 2011-06-12  Bruno Haible  <bruno@clisp.org>
9043
9044         spawn-pipe tests: Comments.
9045         * tests/test-spawn-pipe-child.c (main): Update comment.
9046         Reported by James Youngman <jay@gnu.org>.
9047
9048 2011-06-11  James Youngman  <jay@gnu.org>
9049
9050         New module 'stat-size'.
9051         * modules/stat-size: New module.  Provides macros for accessing
9052         file size information in instances of struct stat.  Depends on the
9053         fileblocks module because it calls st_blocks.
9054         * lib/stat-size.h: New file, adapted from coreutils' system.h.
9055         * doc/gnulib.texi: Include stat-size.texi.
9056         * doc/stat-size.texi: Documentation for this module.
9057         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
9058         * m4/fileblocks.m4: Mention that stat-size depends on the call to
9059         AC_STRUCT_ST_BLOCKS.
9060
9061 2011-06-09  Bruno Haible  <bruno@clisp.org>
9062
9063         thread: Support pthreads-win32.
9064         * lib/glthread/thread.h (gl_thread_self): Define differently on
9065         pthreads-win32.
9066         (gl_null_thread): New declaration.
9067         (gl_thread_self_pointer): New macro.
9068         * lib/glthread/thread.c (gl_null_thread): New constant.
9069         * tests/test-lock.c: Use gl_thread_self_pointer instead of
9070         gl_thread_self.
9071         * tests/test-tls.c: Likewise.
9072         Suggested by Paul Eggert. Reported by Eric Blake.
9073
9074 2011-06-09  Bruno Haible  <bruno@clisp.org>
9075
9076         thread: Fix confusion between NULL and 0.
9077         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
9078         Reported by Paul Eggert.
9079
9080 2011-06-09  Bruno Haible  <bruno@clisp.org>
9081
9082         spawn-pipe tests: Avoid test failure on HP-UX 11.
9083         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
9084         is closed.
9085
9086 2011-06-09  Bruno Haible  <bruno@clisp.org>
9087
9088         acl tests: Fix compilation error on HP-UX 11.
9089         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
9090
9091 2011-06-09  Bruno Haible  <bruno@clisp.org>
9092
9093         rmdir: Avoid test failure on HP-UX 10.20.
9094         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
9095         EEXIST.
9096
9097 2011-06-08  Eric Blake  <eblake@redhat.com>
9098
9099         perror: fix test on mingw
9100         * modules/perror-tests (Depends-on): Add dup2.
9101
9102         strerror_r-posix: fix on MacOS
9103         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
9104         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
9105         logic bug.
9106         * lib/strerror_r.c (strerror_r): Fix the bug.
9107         * lib/strerror.c (strerror): Likewise.
9108         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9109         problem.
9110         * doc/posix-functions/strerror.texi (strerror): Likewise.
9111         * doc/posix-functions/perror.texi (perror): Likewise.
9112         * tests/test-strerror.c (main): Enhance test.
9113         * tests/test-strerror_r.c (main): Likewise.
9114
9115 2011-06-08  Bruno Haible  <bruno@clisp.org>
9116
9117         gnulib-tool: Better isolation between different gnulib-tool invocations.
9118         * gnulib-tool: New option --witness-c-macro.
9119         (witness_c_macro): New variable.
9120         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
9121         AM_CPPFLAGS define it as a C macro.
9122         (func_emit_tests_Makefile_am): Likewise.
9123         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
9124         read it from there.
9125         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
9126         m4_define, not AC_DEFUN.
9127         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
9128         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
9129         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
9130         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
9131         s|...|...|, to substitute the values of the GNULIB_* module indicator
9132         variables.
9133         * modules/dirent (Makefile.am): Likewise.
9134         * modules/fcntl-h (Makefile.am): Likewise.
9135         * modules/iconv-h (Makefile.am): Likewise.
9136         * modules/langinfo (Makefile.am): Likewise.
9137         * modules/locale (Makefile.am): Likewise.
9138         * modules/math (Makefile.am): Likewise.
9139         * modules/netdb (Makefile.am): Likewise.
9140         * modules/poll-h (Makefile.am): Likewise.
9141         * modules/pty (Makefile.am): Likewise.
9142         * modules/search (Makefile.am): Likewise.
9143         * modules/signal (Makefile.am): Likewise.
9144         * modules/spawn (Makefile.am): Likewise.
9145         * modules/stdio (Makefile.am): Likewise.
9146         * modules/stdlib (Makefile.am): Likewise.
9147         * modules/string (Makefile.am): Likewise.
9148         * modules/sys_ioctl (Makefile.am): Likewise.
9149         * modules/sys_select (Makefile.am): Likewise.
9150         * modules/sys_socket (Makefile.am): Likewise.
9151         * modules/sys_stat (Makefile.am): Likewise.
9152         * modules/sys_times (Makefile.am): Likewise.
9153         * modules/sys_utsname (Makefile.am): Likewise.
9154         * modules/sys_wait (Makefile.am): Likewise.
9155         * modules/termios (Makefile.am): Likewise.
9156         * modules/time (Makefile.am): Likewise.
9157         * modules/unistd (Makefile.am): Likewise.
9158         * modules/wchar (Makefile.am): Likewise.
9159
9160 2011-06-08  Eric Blake  <eblake@redhat.com>
9161
9162         strerror: simplify replacement
9163         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
9164         * modules/strerror (configure.ac): No prereqs needed here...
9165         * modules/strerror-override (configure.ac): ...but this needs it.
9166         (Files): Add file for needed prereq macro.
9167
9168 2011-06-08  Bruno Haible  <bruno@clisp.org>
9169
9170         strerror_r-posix: Tweaks.
9171         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9172         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9173         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9174         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9175         (gl_FUNC_STRERROR_R): ... to here.
9176         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9177
9178 2011-06-07  Eric Blake  <eblake@redhat.com>
9179
9180         perror: document fixed bugs
9181         * doc/posix-functions/perror.texi (perror): Document recent
9182         patches.
9183
9184 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9185
9186         stat-time: get_stat_birthtime failure is better-defined
9187         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9188         return a timestamp whose tv_sec and tv_nsec values are both -1.
9189         Previously, the spec said only that the tv_nsec value was negative.
9190         This upward-compatible change simplifies GNU tar a bit.
9191
9192 2011-06-07  Eric Blake  <eblake@redhat.com>
9193
9194         strerror_r-posix: work around cygwin 1.7.9
9195         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9196         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9197         bug without replacing strerror_r.
9198         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9199         strerror_r is buggy, but without requiring strerror_r compilation.
9200         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9201
9202         test-perror: relax test to ignore cygwin bug
9203         * tests/test-perror2.c (main): Relax test on requiring detection
9204         of stream errors, and use unbuffered stream.
9205         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9206         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9207         * doc/posix-functions/fputc.texi (fputc): Likewise.
9208         * doc/posix-functions/fputs.texi (fputs): Likewise.
9209         * doc/posix-functions/fputws.texi (fputws): Likewise.
9210         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9211         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9212         * doc/posix-functions/getopt.texi (getopt): Likewise.
9213         * doc/posix-functions/perror.texi (perror): Likewise.
9214         * doc/posix-functions/printf.texi (printf): Likewise.
9215         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9216         * doc/posix-functions/psignal.texi (psignal): Likewise.
9217         * doc/posix-functions/putc.texi (putc): Likewise.
9218         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9219         Likewise.
9220         * doc/posix-functions/putchar.texi (putchar): Likewise.
9221         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9222         Likewise.
9223         * doc/posix-functions/puts.texi (puts): Likewise.
9224         * doc/posix-functions/putwc.texi (putwc): Likewise.
9225         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9226         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9227         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9228         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9229         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9230         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9231         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9232         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9233
9234 2011-05-22  Bruno Haible  <bruno@clisp.org>
9235
9236         strerror: Move AC_LIBOBJ invocations to module description.
9237         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9238         gl_PREREQ_STRERROR invocations from here...
9239         * modules/strerror (configure.ac): ... to here.
9240
9241 2011-05-21  Bruno Haible  <bruno@clisp.org>
9242
9243         perror: Use common idiom.
9244         * modules/perror (configure.ac): Reorder statements.
9245
9246 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9247
9248         tests: fix usage message in 'mktempd_'
9249         * tests/init.sh (mktempd_): In the usage message, use literal
9250         'mktempd_', not '$ME' (which is even undefined), as the name of
9251         the subroutine.
9252
9253 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9254
9255         tests init: new function 'fatal_', for hard errors
9256         Before this patch, the only way offered by tests/init.sh to
9257         properly signal a hard error was the `framework_failure_'
9258         function.  But the error message issued by that function,
9259         as its name would suggest, refers to a set-up failure in the
9260         testsuite, while hard errors can obviously also be due to
9261         other reasons.  The best way to fix this inconsistency is to
9262         introduce a new function with a more general error message.
9263         * tests/init.sh (fatal_): New function.
9264
9265 2011-06-06  Eric Blake  <eblake@redhat.com>
9266
9267         canonicalize-lgpl: use common idiom
9268         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9269         over newer POSIX -Rf.
9270         Reported by Bruno Haible.
9271
9272         canonicalize-lgpl: work around AIX realpath bug
9273         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9274         * doc/posix-functions/realpath.texi (realpath): Document it.
9275         Reported by Bruno Haible.
9276
9277         strerror: work around FreeBSD bug
9278         * lib/strerror.c (strerror): Special case 0.
9279         Reported by Bruno Haible.
9280
9281         strerror-override: avoid bloating errno module
9282         * modules/errno (Files, configure.ac): Move replacement strings...
9283         * modules/strerror-override: ...to new module.
9284         * modules/strerror (Depends-on): Add strerror-override.
9285         * modules/strerror_r-posix (Depends-on): Likewise.
9286         * MODULES.html.sh: Document new module.
9287         Reported by Bruno Haible.
9288
9289 2011-06-06  Bruno Haible  <bruno@clisp.org>
9290
9291         spawn-pipe tests: Rename program.
9292         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9293         * tests/test-spawn-pipe-child.c: Update comment.
9294         * tests/test-spawn-pipe.sh: Update.
9295         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9296
9297         spawn-pipe tests: Link the child program only against libc.
9298         * tests/test-spawn-pipe-child.c: New file, extracted from
9299         tests/test-spawn-pipe.c.
9300         (main): Expect only one argument.
9301         (is_open): New function, copied from tests/test-pipe.c.
9302         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9303         (child_main): Remove function.
9304         (test_pipe): Pass only one argument to the child program.
9305         (main): Remove child process code. Expect the child program's name as
9306         first argument.
9307         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9308         argument.
9309         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9310         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9311         test-spawn-pipe-child against no libraries.
9312
9313 2011-06-06  Bruno Haible  <bruno@clisp.org>
9314
9315         careadlinkat: Avoid mismatch between ssize_t and int.
9316         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9317         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9318
9319 2011-06-06  Jim Meyering  <meyering@redhat.com>
9320
9321         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9322         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9323         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9324
9325 2011-06-05  Bruno Haible  <bruno@clisp.org>
9326
9327         ansi-c++-opt: Interoperability with libtool.
9328         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9329         set the variable to "no", not to ":".
9330         * NEWS: Mention the change.
9331
9332 2011-06-05  Bruno Haible  <bruno@clisp.org>
9333
9334         acl: Fix test failure on AIX 7.
9335         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9336         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9337
9338 2011-06-05  Bruno Haible  <bruno@clisp.org>
9339
9340         pipe-filter-ii: Fix test failure on AIX and IRIX.
9341         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9342         with EAGAIN, retry with a smaller buffer size.
9343
9344 2011-06-05  Bruno Haible  <bruno@clisp.org>
9345
9346         localename: Fix link dependencies.
9347         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9348         * modules/localename-tests (Makefile.am): Link test-localename with
9349         $(LIBTHREAD).
9350
9351 2011-06-05  Bruno Haible  <bruno@clisp.org>
9352
9353         error: Avoid gcc warning.
9354         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9355
9356 2011-06-05  Bruno Haible  <bruno@clisp.org>
9357
9358         unsetenv: Avoid gcc warning.
9359         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9360
9361 2011-06-05  Bruno Haible  <bruno@clisp.org>
9362
9363         setenv: Avoid gcc warning.
9364         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9365
9366 2011-06-05  Bruno Haible  <bruno@clisp.org>
9367
9368         sys_select: Ensure memset is declared also on AIX 7.
9369         * lib/sys_select.in.h: Include <string.h> also on AIX.
9370         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9371         self-contained also on AIX 7.1.
9372
9373 2011-06-04  Jim Meyering  <meyering@redhat.com>
9374
9375         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9376         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9377         function name, "error".
9378         (_gl_translatable_diag_func_re): New configurable variable.
9379
9380 2011-06-04  Bruno Haible  <bruno@clisp.org>
9381
9382         getopt: Avoid gcc warning.
9383         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9384
9385 2011-06-04  Bruno Haible  <bruno@clisp.org>
9386
9387         strerror_r: Fix comments.
9388         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9389         commit.
9390
9391 2011-06-04  Bruno Haible  <bruno@clisp.org>
9392
9393         perror: Fix compilation error.
9394         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9395         Undefine fprintf, not sprintf.
9396         * modules/perror (Depends-on): Remove intprops, verify.
9397
9398 2011-06-04  Bruno Haible  <bruno@clisp.org>
9399
9400         setlocale: Enable replacement on Cygwin 1.5.
9401         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9402         Cygwin 1.5.x.
9403         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9404         LC_CTYPE category also exists on Cygwin 1.5.x.
9405
9406 2011-06-04  Bruno Haible  <bruno@clisp.org>
9407
9408         strerror-override: Don't disable symbol renamings.
9409         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9410         * lib/strerror-override.c: Include config.h.
9411         (strerror_override): Don't undefine.
9412
9413 2011-06-03  Bruno Haible  <bruno@clisp.org>
9414
9415         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9416         * lib/localename.h: Update copyright header.
9417         * lib/localename.c: Likewise.
9418         * lib/relocatable.h: Likewise.
9419         * lib/relocatable.c: Likewise.
9420
9421 2011-06-02  Bruno Haible  <bruno@clisp.org>
9422
9423         doc: Fix a module name.
9424         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9425
9426 2011-06-02  Bruno Haible  <bruno@clisp.org>
9427
9428         pipe2: Remove dependency on 'nonblocking' module.
9429         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9430         O_NONBLOCK is defined by gnulib.
9431         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9432         is zero.
9433         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9434         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9435         defined by gnulib.
9436         (get_nonblocking_flag): New function.
9437         (main): Test O_NONBLOCK flag only if it is nonzero.
9438         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9439
9440 2011-06-03  Jim Meyering  <meyering@redhat.com>
9441
9442         maint: three new prohibit-header-without-use rules
9443         Prohibit use of cloexec.h, posixver.h, same.h without use.
9444         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9445         (sc_prohibit_posixver_without_use): Likewise.
9446         (sc_prohibit_same_without_use): Likewise.
9447
9448 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9449
9450         allocator: 'die' routine is now given requested size
9451         * lib/allocator.h (struct allocator.die): New size arg.
9452         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9453         If the actual problem is an ssize_t limitation, not a size_t or
9454         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9455
9456 2011-06-01  Eric Blake  <eblake@redhat.com>
9457
9458         strerror: drop strerror_r dependency
9459         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9460         * lib/strerror-override.c (strerror_override): ...to new file.
9461         * lib/strerror-override.h: Add prototype.
9462         * lib/strerror-impl.h: Delete.
9463         * lib/strerror.c (strerror): New implementation.
9464         * modules/errno (Files): Add new files.
9465         (configure.ac): Compile new file as appropriate.
9466         * modules/strerror (Files): Drop unused file.
9467         (Depends-on): Drop strerror_r-posix.
9468         * MODULES.html.sh: Document strerror_r-posix.
9469         Requested by Sam Steingold.
9470
9471         perror: call strerror_r directly
9472         * modules/perror (Files): Drop strerror-impl.h.
9473         * lib/perror.c (perror): Use our own stack buffer, rather than
9474         calling a wrapper that uses static storage.
9475         * doc/posix-functions/perror.texi (perror): Document a limitation
9476         of our replacement.
9477
9478         strerror_r: fix includes for FreeBSD
9479         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9480         since we use abort on some platforms.
9481         Reported by Matthias Bolte.
9482
9483 2011-05-31  Bruno Haible  <bruno@clisp.org>
9484
9485         Fix link errors in tests: openat-die uses gettext-h.
9486         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9487         against $(LIBINTL).
9488         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9489         against $(LIBINTL).
9490         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9491         $(LIBINTL).
9492         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9493         against $(LIBINTL).
9494         * modules/linkat-tests (Makefile.am): Link test-linkat against
9495         $(LIBINTL).
9496         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9497         $(LIBINTL).
9498         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9499         against $(LIBINTL).
9500         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9501         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9502         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9503         $(LIBINTL).
9504         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9505         $(LIBINTL).
9506         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9507         $(LIBINTL).
9508         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9509
9510 2011-05-31  Bruno Haible  <bruno@clisp.org>
9511
9512         Fix link errors in tests: wait-process uses gettext-h.
9513         * modules/nonblocking-pipe-tests (Makefile.am): Set
9514         test_nonblocking_pipe_main_LDADD.
9515         * modules/nonblocking-socket-tests (Makefile.am): Link
9516         test-nonblocking-socket-main against $(LIBINTL).
9517         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9518
9519 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9520
9521         assert-h: work around 'verify' incompatibility
9522         * lib/verify.h: Use @...@ directives, not ifdef.
9523         * modules/assert-h (assert.h): Implement the directives.
9524         (assert.h): Substitute the symbol-prefix more consistently.
9525
9526 2011-05-29  Jim Meyering  <meyering@redhat.com>
9527
9528         trim: remove three superfluous assignments
9529         * lib/trim.c (trim2): Remove three superfluous assignments
9530         and correct brace positioning.
9531
9532 2011-05-29  Bruno Haible  <bruno@clisp.org>
9533
9534         wctype-h: Avoid namespace pollution on Solaris 2.6.
9535         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9536         identifiers.
9537         * doc/posix-headers/wctype.texi: Mention the problem.
9538         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9539
9540 2011-05-28  Jim Meyering  <meyering@redhat.com>
9541
9542         parse-datetime.y: accommodate -Wstrict-overflow
9543         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9544         placate -Wstrict-overflow.
9545
9546         trim: avoid a warning from -O2 -Wstrict-overflow
9547         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9548
9549 2011-05-29  Bruno Haible  <bruno@clisp.org>
9550
9551         gnulib-tool: Fix bug in yesterday's commit.
9552         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9553         twice.
9554
9555 2011-05-29  Bruno Haible  <bruno@clisp.org>
9556
9557         Allow multiple gnulib generated include files to be combined.
9558         * gnulib-tool (func_compute_include_guard_prefix): New function.
9559         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9560         ${gl_include_guard_prefix} references.
9561         (func_import, func_create_testdir): Invoke
9562         func_compute_include_guard_prefix.
9563         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9564         * lib/ctype.in.h: Likewise.
9565         * lib/dirent.in.h: Likewise.
9566         * lib/errno.in.h: Likewise.
9567         * lib/fcntl.in.h: Likewise.
9568         * lib/float.in.h: Likewise.
9569         * lib/getopt.in.h: Likewise.
9570         * lib/iconv.in.h: Likewise.
9571         * lib/langinfo.in.h: Likewise.
9572         * lib/locale.in.h: Likewise.
9573         * lib/math.in.h: Likewise.
9574         * lib/netdb.in.h: Likewise.
9575         * lib/netinet_in.in.h: Likewise.
9576         * lib/poll.in.h: Likewise.
9577         * lib/pthread.in.h: Likewise.
9578         * lib/pty.in.h: Likewise.
9579         * lib/sched.in.h: Likewise.
9580         * lib/se-selinux.in.h: Likewise.
9581         * lib/search.in.h: Likewise.
9582         * lib/signal.in.h: Likewise.
9583         * lib/spawn.in.h: Likewise.
9584         * lib/stdarg.in.h: Likewise.
9585         * lib/stddef.in.h: Likewise.
9586         * lib/stdint.in.h: Likewise.
9587         * lib/stdio.in.h: Likewise.
9588         * lib/stdlib.in.h: Likewise.
9589         * lib/string.in.h: Likewise.
9590         * lib/strings.in.h: Likewise.
9591         * lib/sys_file.in.h: Likewise.
9592         * lib/sys_ioctl.in.h: Likewise.
9593         * lib/sys_select.in.h: Likewise.
9594         * lib/sys_socket.in.h: Likewise.
9595         * lib/sys_stat.in.h: Likewise.
9596         * lib/sys_time.in.h: Likewise.
9597         * lib/sys_times.in.h: Likewise.
9598         * lib/sys_uio.in.h: Likewise.
9599         * lib/sys_utsname.in.h: Likewise.
9600         * lib/sys_wait.in.h: Likewise.
9601         * lib/sysexits.in.h: Likewise.
9602         * lib/termios.in.h: Likewise.
9603         * lib/time.in.h: Likewise.
9604         * lib/unistd.in.h: Likewise.
9605         * lib/wchar.in.h: Likewise.
9606         * lib/wctype.in.h: Likewise.
9607         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9608         * modules/ctype (Makefile.am): Likewise.
9609         * modules/dirent (Makefile.am): Likewise.
9610         * modules/errno (Makefile.am): Likewise.
9611         * modules/fcntl-h (Makefile.am): Likewise.
9612         * modules/float (Makefile.am): Likewise.
9613         * modules/getopt-posix (Makefile.am): Likewise.
9614         * modules/iconv-h (Makefile.am): Likewise.
9615         * modules/langinfo (Makefile.am): Likewise.
9616         * modules/locale (Makefile.am): Likewise.
9617         * modules/math (Makefile.am): Likewise.
9618         * modules/netdb (Makefile.am): Likewise.
9619         * modules/netinet_in (Makefile.am): Likewise.
9620         * modules/poll-h (Makefile.am): Likewise.
9621         * modules/pthread (Makefile.am): Likewise.
9622         * modules/pty (Makefile.am): Likewise.
9623         * modules/sched (Makefile.am): Likewise.
9624         * modules/search (Makefile.am): Likewise.
9625         * modules/selinux-h (Makefile.am): Likewise.
9626         * modules/signal (Makefile.am): Likewise.
9627         * modules/spawn (Makefile.am): Likewise.
9628         * modules/stdarg (Makefile.am): Likewise.
9629         * modules/stddef (Makefile.am): Likewise.
9630         * modules/stdint (Makefile.am): Likewise.
9631         * modules/stdio (Makefile.am): Likewise.
9632         * modules/stdlib (Makefile.am): Likewise.
9633         * modules/string (Makefile.am): Likewise.
9634         * modules/strings (Makefile.am): Likewise.
9635         * modules/sys_file (Makefile.am): Likewise.
9636         * modules/sys_ioctl (Makefile.am): Likewise.
9637         * modules/sys_select (Makefile.am): Likewise.
9638         * modules/sys_socket (Makefile.am): Likewise.
9639         * modules/sys_stat (Makefile.am): Likewise.
9640         * modules/sys_time (Makefile.am): Likewise.
9641         * modules/sys_times (Makefile.am): Likewise.
9642         * modules/sys_uio (Makefile.am): Likewise.
9643         * modules/sys_utsname (Makefile.am): Likewise.
9644         * modules/sys_wait (Makefile.am): Likewise.
9645         * modules/sysexits (Makefile.am): Likewise.
9646         * modules/termios (Makefile.am): Likewise.
9647         * modules/time (Makefile.am): Likewise.
9648         * modules/unistd (Makefile.am): Likewise.
9649         * modules/wchar (Makefile.am): Likewise.
9650         * modules/wctype-h (Makefile.am): Likewise.
9651         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9652
9653 2011-05-29  Bruno Haible  <bruno@clisp.org>
9654
9655         assert-h: Allow multiple gnulib generated replacements to coexist.
9656         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9657
9658 2011-05-29  Bruno Haible  <bruno@clisp.org>
9659
9660         argp: Allow coexistence with strerror_r-posix module.
9661         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9662         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9663         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9664         not the glibc signature.
9665
9666 2011-05-28  Bruno Haible  <bruno@clisp.org>
9667
9668         gnulib-tool: Alternative structure of testdirs, similar to --import.
9669         * gnulib-tool: New option --single-configure.
9670         (func_usage): Document it.
9671         (single_configure): New variable.
9672         (func_modules_transitive_closure_separately,
9673         func_modules_transitive_closure_separately,
9674         func_determine_use_libtests, func_modules_add_dummy_separately,
9675         func_modules_to_filelist_separately): New functions, extracted from
9676         func_import.
9677         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9678         (func_import): Use the new functions.
9679         (func_create_testdir): Set final_modules. Handle $single_configure =
9680         true case.
9681
9682 2011-05-28  Bruno Haible  <bruno@clisp.org>
9683
9684         getloadavg: Remove an unreliable safety check.
9685         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9686         getloadavg.c is in place.
9687         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9688         Reported by Sam Steingold <sds@gnu.org>.
9689
9690 2011-05-28  Bruno Haible  <bruno@clisp.org>
9691
9692         doc: Cleanup yet another file produced by texinfo.tex.
9693         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9694
9695 2011-05-28  Bruno Haible  <bruno@clisp.org>
9696
9697         Finish the conditional dependencies mechanism.
9698         * gnulib-tool: New option --no-conditional-dependencies.
9699         (func_usage): Document it. Don't mark --conditional-dependencies as
9700         experimental.
9701         (cond_dependencies): The possible values can now be true, false, empty.
9702         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9703         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9704         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9705
9706 2011-05-28  Bruno Haible  <bruno@clisp.org>
9707
9708         doc: Use a recent texinfo.tex.
9709         * doc/Makefile (tex_opts): New variable.
9710         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9711
9712 2011-05-28  Jim Meyering  <meyering@redhat.com>
9713
9714         intprops.h: adjust comment to match code change
9715         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9716         only once, it *may* have side effects.  Also fix an unrelated typo.
9717         (_GL_INT_SIGNED): Likewise.
9718
9719 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9720
9721         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9722
9723 2011-05-26  Bruno Haible  <bruno@clisp.org>
9724
9725         mbsrchr: Avoid collision with system function on Interix.
9726         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9727         Reported by Markus Duft <mduft@gentoo.org>.
9728
9729 2011-05-15  James Youngman  <jay@gnu.org>
9730
9731         getopt: for ambiguous options, enumerate the possibilities.
9732         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9733         the ambiguous options when an ambiguous prefix is given. This was
9734         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9735         glibc change was
9736         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9737
9738 2011-05-25  Eric Blake  <eblake@redhat.com>
9739
9740         getcwd: work around mingw bug
9741         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9742         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9743         Reported by Matthias Bolte.
9744
9745 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9746
9747         test-intprops: disable -Wtype-limits diagnostics
9748         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9749         diagnostics.  Otherwise, the integer overflow macros generate many
9750         diagnostics.  Reported by Jim Meyering in
9751         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9752
9753         intprops: shorten, to pacify gcc -Woverlength-strings
9754         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9755         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9756         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9757         likely to run afoul of C compiler limits for string constant lengths.
9758         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9759
9760 2011-05-24  Eric Blake  <eblake@redhat.com>
9761
9762         docs: document recently fixed glibc printf bug
9763         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9764         * doc/posix-functions/printf.texi (printf): Likewise.
9765         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9766         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9767
9768         closein-tests: convert to init.sh
9769         * modules/closein-tests (Files): Add init.sh
9770         * tests/test-closein.sh Use it.
9771
9772         yesno-tests: convert to init.sh
9773         * modules/yesno-tests (Files): Add init.sh.
9774         * tests/test-yesno.sh: Use it.
9775
9776         atexit-tests: ensure reliable exit status
9777         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9778         Reported by Bruno Haible.
9779
9780 2011-05-24  Bruno Haible  <bruno@clisp.org>
9781
9782         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9783         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9784         gl_PREREQ_STRERROR_R invocations from here...
9785         * modules/strerror_r-posix (configure.ac): ... to here.
9786
9787 2011-05-24  Eric Blake  <eblake@redhat.com>
9788
9789         strerror_r: fix missing header
9790         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9791
9792         strerror_r: fix AIX test failures
9793         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9794         ERANGE failure.
9795
9796         strerror_r: fix Solaris test failures
9797         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9798         failures.
9799         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9800
9801         strerror_r: enforce POSIX recommendations
9802         * lib/strerror_r.c (safe_copy): New helper method.
9803         (strerror_r): Guarantee a non-empty string.
9804         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9805         recent POSIX rulings and to match our strerror guarantees.
9806         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9807
9808 2011-05-24  Jim Meyering  <meyering@redhat.com>
9809
9810         test-perror2.c: avoid warning about unused variable
9811         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9812
9813 2011-05-24  Eric Blake  <eblake@redhat.com>
9814
9815         perror: avoid spurious test failure on HP-UX
9816         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9817
9818         tests: fix logic bug in init.sh
9819         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9820         shell.
9821
9822 2011-05-24  Jim Meyering  <meyering@redhat.com>
9823
9824         utimensat: do not reference an out-of-scope buffer
9825         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9826         declared in an inner scope, yet "times" would be dereferenced outside
9827         the scope in which "ts" was valid.
9828         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9829         of ts[2] "out/up", so that the use of aliased "times" (via
9830         "times = ts;") does not end up referencing an out-of-scope "ts"
9831
9832         opendir-safer.c: don't clobber errno; don't close negative FD
9833         * lib/opendir-safer.c (opendir_safer):
9834         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9835         file descriptor, and more importantly, don't clobber the
9836         offending errno value with EINVAL.  Before, upon failure
9837         of dup_safer, we would pass the negative file descriptor to
9838         fdopendir, which would clobber errno.
9839
9840 2011-05-23  Bruno Haible  <bruno@clisp.org>
9841
9842         idcache: Fix module description.
9843         * modules/idcache (Include): Set to "idcache.h".
9844
9845 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9846
9847         gnulib-tool: fix portability problem with MacOS sed
9848         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9849         before the "}".  Problem reported by Leo in
9850         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9851         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9852         sed_extract_condition1, sed_extract_condition2.
9853
9854 2011-05-23  Bruno Haible  <bruno@clisp.org>
9855
9856         hash: Simplify autoconf macro.
9857         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9858
9859 2011-05-23  Bruno Haible  <bruno@clisp.org>
9860
9861         getugroups: Fix module description.
9862         * modules/getugroups (Include): Set to "getugroups.h".
9863
9864 2011-05-23  Bruno Haible  <bruno@clisp.org>
9865
9866         linkat: Simplify autoconf macro.
9867         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9868
9869 2011-05-23  Bruno Haible  <bruno@clisp.org>
9870             Eric Blake  <eblake@redhat.com>
9871
9872         linkat, renameat: Update dependencies.
9873         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9874         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9875         symlinkat.
9876
9877 2011-05-23  Jim Meyering  <meyering@redhat.com>
9878
9879         maint.mk: more tight_scope improvements
9880         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9881         (_gl_TS_headers): Define only in if-0'd block.
9882         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9883         sometimes we must *not* use it.  Adjust uses accordingly.
9884         (sc_tight_scope): Use much simpler grep-based test to determine
9885         whether we skip this rule.
9886
9887         maint.mk: generalize/improve the tight-scope rule
9888         * top/maint.mk: Emit a warning when the test is skipped.
9889         (_gl_TS_dir): Add $(srcdir)/ prefix.
9890         (_gl_TS_function_match): Simplify, rather than trying
9891         to enumerate common types.  Otherwise, it would fail to match an
9892         "extern unsigned char const *" declaration in idutils.
9893         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9894         a way to support use of that type of macro.
9895         (_gl_TS_var_match): Simplify regexp.
9896         (_gl_TS_obj_files): New configurable variable.
9897         (_gl_TS_headers): Likewise.
9898
9899 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9900
9901         verify: fix bug when gnulib <assert.h> is also included
9902         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9903         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9904         Perhaps there's a better way, but this fixes the immediate problem.
9905         Problem reported by Bruno Haible in
9906         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9907
9908 2011-05-22  Bruno Haible  <bruno@clisp.org>
9909
9910         xgetcwd: Simplify autoconf macro.
9911         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9912
9913 2011-05-22  Bruno Haible  <bruno@clisp.org>
9914
9915         New module 'mktime-internal'.
9916         * modules/mktime-internal: New file.
9917         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9918         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9919         mktime_internal as a C macro if libc has __mktime_internal.
9920         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9921         conditions.
9922         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9923
9924 2011-05-22  Bruno Haible  <bruno@clisp.org>
9925
9926         timegm: Correct mktime replacement statements.
9927         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9928         defining mktime as a C macro. This completes a 2009-07-28 commit.
9929
9930 2011-05-22  Bruno Haible  <bruno@clisp.org>
9931
9932         timegm: Simplify autoconf macro.
9933         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9934
9935 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9936
9937         clock-time: change to LGPLv2+.
9938         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9939         BSD-like but we have no mark for that; this is good enough for now.
9940
9941 2011-05-21  Bruno Haible  <bruno@clisp.org>
9942
9943         strerror_r: Fix comments.
9944         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9945
9946 2011-05-21  Bruno Haible  <bruno@clisp.org>
9947
9948         relocatable-prog-wrapper: Fix possible link error.
9949         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9950         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9951         (gl_FUNC_SETENV): ... to here.
9952         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9953         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9954
9955 2011-05-21  Bruno Haible  <bruno@clisp.org>
9956
9957         relocatable-prog-wrapper: Assume strerror() exists.
9958         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9959         m4/strerror.m4.
9960         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9961         * lib/relocwrapper.c: Remove mention of strerror module.
9962         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9963         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9964         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9965         C macro.
9966
9967 2011-05-21  Bruno Haible  <bruno@clisp.org>
9968
9969         select: Simplify replacement idiom.
9970         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9971         Win32 platforms.
9972         * lib/sys_select.in.h (select): Simplify accordingly.
9973         * modules/select (Depends-on): Likewise.
9974
9975 2011-05-21  Bruno Haible  <bruno@clisp.org>
9976
9977         mkdir-p: Simplify autoconf macro.
9978         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9979         gl_FUNC_LCHOWN.
9980
9981 2011-05-21  Eric Blake  <eblake@redhat.com>
9982
9983         strerror_r: avoid clobbering strerror on cygwin
9984         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9985         fall back instead to sys_errlist.
9986         * modules/strerror (configure.ac): Add witness.
9987         * tests/test-strerror_r.c (main): Enhance test.
9988         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9989         * tests/test-perror2.c (main): Free memory before exit.
9990
9991 2011-05-21  Bruno Haible  <bruno@clisp.org>
9992
9993         mkdtemp: Use gnulib naming conventions.
9994         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9995         * modules/mkdtemp (configure.ac): Update.
9996
9997 2011-05-20  Eric Blake  <eblake@redhat.com>
9998
9999         strerror_r: avoid corrupting errno on Solaris
10000         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
10001         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10002
10003         strerror_r: avoid compiler warning
10004         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
10005
10006         strerror_r: simplify AIX code
10007         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
10008
10009         test-perror: avoid spurious failure on FreeBSD
10010         * modules/perror-tests (Depends-on): Add strerror, now that
10011         strerror_r no longer pulls it in.
10012
10013 2011-05-20  Bruno Haible  <bruno@clisp.org>
10014
10015         strerror_r-posix: Remove unused dependencies.
10016         * modules/strerror_r-posix (Depends-on): Remove strerror.
10017         Reported by Eric Blake.
10018
10019 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10020
10021         intprops: remove assumption about A|B representation
10022         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
10023         is a valid integer if both A and B are.  Although this is true for
10024         all known practical hosts, the C standard doesn't guarantee it,
10025         and the code need not assume it.  Also, this change may work around
10026         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
10027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
10028
10029 2011-05-20  Eric Blake  <eblake@redhat.com>
10030
10031         perror: work around FreeBSD bug
10032         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
10033         is broken.  Move AC_LIBOBJ...
10034         * modules/perror (configure.ac): Here.
10035         * doc/posix-functions/perror.texi (perror): Document this.
10036         * tests/test-perror2.c (main): Enhance test.
10037
10038         test-perror: check for strerror interactions
10039         * tests/macros.h (STREQ): Add macro.
10040         * modules/perror-tests (Files): Add second test.
10041         * tests/test-perror2.c (main): New file.
10042         * doc/posix-functions/perror.texi (perror): Document glibc bug.
10043
10044         test-perror: rewrite to use init script
10045         * modules/perror-tests (Files): Add init.sh.
10046         * tests/test-perror.sh: Use temporary directory.
10047
10048 2011-05-20  Jim Meyering  <meyering@redhat.com>
10049
10050         maint: replace misused "a" with "an"
10051         * doc/intprops.texi: "a integer"
10052         * doc/regex.texi: "a explanation"
10053         * lib/alignof.h: "a object"
10054         * lib/argmatch.h: "a explanation"
10055         * lib/argp-help.c: "a option" and "a OPTION_DOC"
10056         * lib/stdint.in.h: "a integer"
10057         * lib/userspec.c: "a owner"
10058         * doc/gnulib.texi: Fix "a idea", and reword.
10059
10060 2011-05-19  Jim Meyering  <meyering@redhat.com>
10061
10062         maint: correct misuse of "a" and "an"
10063         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
10064         * lib/argp-help.c: "an docum...": s/an/a/
10065         * lib/argp-parse.c: "An vector": s/An/A/
10066         * lib/execute.c: "an native": s/an/a/
10067         * lib/spawn-pipe.c: Likewise.
10068         * lib/gc.h: "an Gc_rc": s/an/a/
10069         * lib/unigbrk.in.h: "an grapheme": s/an/a/
10070         * lib/fts.c: "an stat.st_dev": s/an/a/
10071
10072 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10073
10074         intprops-tests: work around HP-UX 11.23 cc bug with constants
10075         * tests/test-intprops.c (VERIFY): New macro.
10076         (main): Use it, instead of verify, to work around the compiler bug; see
10077         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10078
10079         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
10080         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
10081         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
10082         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
10083         (_GL_REMAINDER_OVERFLOW): Use it.
10084
10085         intprops-tests: revert unsigned part of previous change
10086         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
10087         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
10088         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
10089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
10090
10091 2011-05-19  Bruno Haible  <bruno@clisp.org>
10092
10093         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
10094         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
10095         strerror_r() returned without filling the buffer.
10096         Reported by Eric Blake.
10097
10098 2011-05-19  Eric Blake  <eblake@redhat.com>
10099
10100         strerror_r: guarantee unchanged errno
10101         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
10102         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
10103         failure.
10104         * tests/test-strerror_r.c (main): Enhance test.
10105
10106 2011-05-19  Bruno Haible  <bruno@clisp.org>
10107
10108         strerror_r: Reorder #if blocks.
10109         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
10110         for consistency with the previous commit.
10111
10112 2011-05-19  Bruno Haible  <bruno@clisp.org>
10113
10114         perror: Avoid clobbering the strerror buffer when possible.
10115         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
10116         * lib/strerror.c: Include it.
10117         * modules/strerror (Files): Add lib/strerror-impl.h.
10118         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
10119         (my_strerror): New function, defined through lib/strerror-impl.h.
10120         (perror): Use it instead of strerror.
10121         * modules/perror (Files): Add lib/strerror-impl.h.
10122         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
10123
10124 2011-05-19  Eric Blake  <eblake@redhat.com>
10125
10126         strerror_r: fix on newer cygwin
10127         * lib/strerror_r.c (strerror_r): Cygwin now has
10128         __xpg_strerror_r, use it.
10129
10130 2011-05-19  Bruno Haible  <bruno@clisp.org>
10131
10132         strerror_r: Avoid clobbering the strerror buffer when possible.
10133         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
10134         (sys_nerr, sys_errlist): New declarations.
10135         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
10136         HP-UX, native Win32, IRIX, and 32-bit Solaris.
10137         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
10138
10139 2011-05-19  Bruno Haible  <bruno@clisp.org>
10140
10141         strerror_r: Fix test failure on mingw.
10142         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
10143         EXTEND_STRERROR_R.
10144         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
10145         macros from errno.in.h instead.
10146
10147 2011-05-19  Eric Blake  <eblake@redhat.com>
10148
10149         strerror: relax test for Solaris
10150         * tests/test-strerror.c (main): Permit Solaris behavior.
10151         * tests/test-strerror_r.c (main): Likewise.
10152
10153         strerror: enforce POSIX ruling on strerror(0)
10154         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
10155         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
10156         * lib/strerror_r.c (rpl_strerror_r): Work around it.
10157         * doc/posix-functions/strerror.texi (strerror): Document it.
10158         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
10159         * tests/test-strerror.c (main): Strengthen test.
10160         * tests/test-strerror_r.c (main): Likewise.
10161
10162 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
10163
10164         intprop-tests: port to older and more-pedantic compilers
10165         * modules/intprops-tests (Files): Add tests/macros.h.
10166         * tests/test-intprops.c: Include macros.h.
10167         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
10168         it's no longer documented to expand to an integer constant expression.
10169         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10170         argument is floating point, as it's no longer documented to expand
10171         to an integer constant expression in that case.
10172         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10173         compiler bugs reported by Bruno Haible.  See
10174         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10175         (U0, U1): New constants, to work around the same bugs.  Also,
10176         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10177
10178         intprops: work around C compiler bugs
10179         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10180         bug in Sun C 5.11 2010/08/13 and other compilers; see
10181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10182
10183         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10184         * doc/intprops.texi (Integer Type Determination): Fix
10185         documentation for TYPE_IS_INTEGER: it returns an constant
10186         expression, not an integer constant expression.  Fix doc for
10187         TYPE_SIGNED: it returns an integer constant expression only if its
10188         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10189         hardly worth documented that way....)
10190
10191 2011-05-18  Bruno Haible  <bruno@clisp.org>
10192
10193         strerror_r: Avoid clobbering the strerror buffer when possible.
10194         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10195         Handle gnulib defined errno values here. When strerror() returns NULL
10196         or an empty string, return EINVAL.
10197         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10198         gnulib defined errno values here.
10199         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10200
10201 2011-05-18  Eric Blake  <eblake@redhat.com>
10202
10203         fnmatch: avoid compiler warning
10204         * lib/fnmatch_loop.c (FCT): Use correct type.
10205         Reported by Matthias Bolte.
10206
10207 2011-05-13  Jim Meyering  <meyering@redhat.com>
10208
10209         maint.mk: three new prohibit_<HDR>_without_use rules
10210         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10211         (sc_prohibit_stdio-safer_without_use): Likewise.
10212         (sc_prohibit_xfreopen_without_use): Likewise.
10213
10214 2011-05-17  Jim Meyering  <meyering@redhat.com>
10215
10216         announce-gen: fail if the NEWS delta is empty
10217         If there's nothing noteworthy in NEWS, then either you forgot
10218         or you shouldn't be releasing.
10219         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10220
10221 2011-05-17  Pádraig Brady <P@draigBrady.com>
10222
10223         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10224         reserved symbols starting with double underscore from the check.
10225
10226 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10227
10228         intprops: add doc
10229         * doc/intprops.texi: New file, documenting intprops.
10230         * doc/gnulib.texi (Particular Modules): Include it.
10231
10232         verify: add doc to gnulib manual and fix example
10233         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10234         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10235         (Compile-time Assertions): Fix example so it can't overflow.
10236
10237 2011-05-17  Jim Meyering  <meyering@redhat.com>
10238
10239         warnings.m4: don't usurp save_CPPFLAGS variable name
10240         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10241
10242         doc: fix typo
10243         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10244
10245 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10246             Bruno Haible  <bruno@clisp.org>
10247
10248         doc: Tweak recent change.
10249         * README (Portability guidelines): Tweak new text.
10250         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10251         Interix 6.1.
10252
10253 2011-05-16  Eric Blake  <eblake@redhat.com>
10254
10255         inttypes: avoid autoconf warning
10256         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10257         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10258
10259 2011-05-16  Sam Steingold <sds@gnu.org>
10260         and Eric Blake  <eblake@redhat.com>
10261
10262         vc-list-files: accept multiple directory operands
10263         * build-aux/vc-list-files: Iterate over all remaining operands.
10264
10265 2011-05-16  Bruno Haible  <bruno@clisp.org>
10266
10267         Fix confusion regarding deprecated modules.
10268         * modules/calloc (Status, Notice): Mark module as deprecated, not
10269         obsolete.
10270         * modules/fnmatch-posix (Status, Notice): Likewise.
10271         * modules/getdate (Status, Notice): Likewise.
10272         * modules/getopt (Status, Notice): Likewise.
10273         * modules/malloc (Status, Notice): Likewise.
10274         * modules/pipe (Status, Notice): Likewise.
10275         * modules/realloc (Status, Notice): Likewise.
10276         * modules/rename-dest-slash (Status, Notice): Likewise.
10277         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10278         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10279         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10280         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10281         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10282
10283 2011-05-16  Bruno Haible  <bruno@clisp.org>
10284
10285         doc: List the target platforms.
10286         * doc/gnulib-intro.texi (Target Platforms): New section.
10287         * doc/gnulib.texi (Introduction): Update menu.
10288         * README (Portability guidelines): Refer to the new section. Update
10289         statement about oldest supported environment. Remove rationale why
10290         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10291         unportable C89 function.
10292         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10293         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10294
10295 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10296
10297         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10298
10299 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10300
10301         intprops-tests: new module
10302         * modules/intprops-tests, tests/test-intprops.c: New files.
10303
10304         intprops: add safe, portable integer overflow checking
10305         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10306         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10307         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10308         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10309         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10310         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10311         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10312         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10313         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10314         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10315         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10316
10317 2011-05-12  James Youngman  <jay@gnu.org>
10318
10319         Add a test for glibc's Bugzilla bug #12378.
10320         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10321         doesn't allow the literal matching of a lone "[" (which is
10322         required by POSIX).
10323         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10324
10325 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10326
10327         Sync glibc change fixing Bugzilla bug #12378.
10328         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10329         beginning and fall back to matching as normal character if the
10330         string ends before the matching ']' is found.  This is what POSIX
10331         requires.
10332
10333 2011-05-13  Eric Blake  <eblake@redhat.com>
10334
10335         getcwd-lgpl: relax test for FreeBSD
10336         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10337         issue.
10338         * tests/test-getcwd-lgpl.c (main): Relax test.
10339         Reported by Matthias Bolte.
10340
10341 2011-05-11  Eric Blake  <eblake@redhat.com>
10342
10343         test-fflush: silence compiler warning
10344         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10345
10346 2011-05-11  Bruno Haible  <bruno@clisp.org>
10347
10348         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10349         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10350         * modules/canonicalize (Depends-on): Add 'nocrash'.
10351         * modules/canonicalize-lgpl (Depends-on): Likewise.
10352         * doc/posix-functions/realpath.texi: Update platforms list.
10353         Reported by Ryan Schmidt <ryandesign@macports.org>.
10354
10355 2011-05-11  Bruno Haible  <bruno@clisp.org>
10356
10357         group-member: Declare function in <unistd.h>.
10358         * lib/unistd.in.h (group_member): New declaration.
10359         * lib/group-member.h: Remove file.
10360         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10361         * tests/test-unistd-c++.cc: Check signature of group_member.
10362         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10363         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10364         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10365         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10366         HAVE_GROUP_MEMBER.
10367         * modules/group-member (Files): Remove lib/group-member.h.
10368         (Depends-on): Add unistd. Specify conditions.
10369         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10370         (Include): Change to <unistd.h>.
10371         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10372         HAVE_GROUP_MEMBER.
10373         * NEWS: Mention the change.
10374         * lib/euidaccess.c: Don't include group-member.h.
10375
10376 2011-05-11  Bruno Haible  <bruno@clisp.org>
10377
10378         group-member: Document module.
10379         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10380         module.
10381
10382 2011-05-11  Bruno Haible  <bruno@clisp.org>
10383
10384         fclose: Fix mistake earlier today.
10385         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10386
10387 2011-05-11  Eric Blake  <eblake@redhat.com>
10388
10389         fclose: preserve fflush errors
10390         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10391         Reported by Jim Meyering.
10392
10393         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10394         * build-aux/bootstrap (check_versions): When no specific version
10395         is required, merely check that the app produces an exit status
10396         that indicates its existence.
10397
10398         maint.mk: drop redundant check
10399         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10400         the same but better.
10401
10402 2011-05-11  Bruno Haible  <bruno@clisp.org>
10403
10404         fclose: Fix possible link error.
10405         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10406         unregister_shadow_fd. Improve comments.
10407         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10408         Eric Blake.
10409
10410 2011-05-11  Jim Meyering  <meyering@redhat.com>
10411
10412         maint.mk: improve "can not" detection and generalize rule name
10413         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10414         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10415         Use the same technique as in sc_prohibit_doubled_word, so that
10416         we recognize "can not" also when the words are separated by a newline.
10417         Suggested by Eric Blake.
10418         (perl_filename_lineno_text_): Define.  Factored out of...
10419         (prohibit_doubled_word_): ...here.  Use the new definition.
10420         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10421         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10422         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10423
10424 2011-05-10  Eric Blake  <eblake@redhat.com>
10425
10426         fclose: avoid double close race when possible
10427         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10428         all but WINDOWS_SOCKETS.
10429
10430 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10431
10432         openat: correct new comment
10433         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10434
10435 2011-05-10  Jim Meyering  <meyering@redhat.com>
10436
10437         openat: add comments
10438         * lib/openat-proc.c (openat_proc_name): Add comments,
10439         mostly from Eric Blake.
10440
10441 2011-05-09  Eric Blake  <eblake@redhat.com>
10442
10443         openat: reduce syscalls in first probe of /proc
10444         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10445         be a directory.  Simplify the probe for .. bugs.
10446         * modules/openat (Depends-on): Drop same-inode.
10447         Reported by Bastien ROUCARIES.
10448
10449 2011-05-09  Jim Meyering  <meyering@redhat.com>
10450
10451         maint.mk: change semantics/name of tight_scope variables
10452         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10453         Rename variables to align with semantics that make them more useful.
10454
10455         maint.mk: tweak new rule's name not to impinge
10456         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10457         (sc_tight_scope): Use new rule name rather than $@-0.
10458
10459         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10460         * top/maint.mk (sc_tight_scope): New rule.
10461         (sc_tight_scope-0): New rule, ifdef'd out.
10462         (_gl_TS_dir): Default.
10463         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10464         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10465
10466 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10467
10468         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10469         Haible <bruno@clisp.org>.
10470
10471 2011-05-08  Bruno Haible  <bruno@clisp.org>
10472
10473         Comments.
10474         * m4/isnanf.m4: Add comment.
10475         * m4/isnanl.m4: Likewise.
10476
10477 2011-05-08  Bruno Haible  <bruno@clisp.org>
10478
10479         glob: Remove obsolete macro.
10480         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10481
10482 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10483
10484         intprops: Sun C 5.11 supports __typeof__
10485         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10486         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10487         which is new.
10488         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10489
10490         intprops: switch to usual gnulib indenting and naming
10491         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10492         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10493
10494         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10495
10496 2011-05-08  Jim Meyering  <meyering@redhat.com>
10497
10498         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10499         * top/maint.mk (release-prep): Use make's --no-print-directory
10500         option when generating the announcement.  This eliminates the
10501         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10502         generated announcement template.
10503
10504 2011-05-08  Bruno Haible  <bruno@clisp.org>
10505
10506         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10507         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10508         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10509
10510 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10511
10512         ignore-value, verify: Omit include files from lib_SOURCES.
10513         * modules/ignore-value, modules/verify (Makefile.am):
10514         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10515         that leads Automake to duplicate use of am__objects_... variables
10516         in Makefile.in.  See
10517         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10518
10519 2011-05-07  Bruno Haible  <bruno@clisp.org>
10520
10521         fclose: Simplify autoconf macro.
10522         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10523         defined.
10524
10525 2011-05-07  Bruno Haible  <bruno@clisp.org>
10526
10527         canonicalize-lgpl: Fix autoconf macro ordering bug.
10528         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10529         gl_STDLIB_H_DEFAULTS.
10530
10531 2011-05-06  Eric Blake  <eblake@redhat.com>
10532
10533         maintainer-makefile: make sc_po_check easier to tune
10534         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10535         to probe for strings, such as an alternate location for gnulib.
10536
10537         fclose: guarantee behavior on seekable stdin
10538         * modules/fclose (Depends-on): Add fflush.
10539         * doc/posix-functions/fclose.texi (fclose): Document this.
10540         * tests/test-fclose.c (main): Make test for this unconditional.
10541
10542 2011-05-06  Bruno Haible  <bruno@clisp.org>
10543
10544         fflush, fpurge: Relicense under LGPLv2+.
10545         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10546         * modules/fpurge (License): Likewise.
10547         With permission from Eric Blake and Jim Meyering.
10548         Suggested by Eric Blake.
10549
10550 2011-05-06  Karl Berry  <karl@gnu.org>
10551
10552         * MODULES.html.sh (func_all_modules): remove exit.
10553
10554 2011-05-06  Jim Meyering  <meyering@redhat.com>
10555
10556         maint.mk: use info-gnu@ as the default only for a stable release
10557         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10558         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10559         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10560         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10561
10562 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10563
10564         assert-h: new module, which supports C1X-style static_assert
10565         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10566         * lib/verify.h: Revamp so that this can be copied into assert.h,
10567         while retaining the ability to use it standalone as before.
10568         Rename private identifiers so as not to encroach on the
10569         standard C namespace, since this is now used by assert.h.
10570         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10571         the old verify_true.
10572         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10573         the old verify_true.  Use _GL_VERIFY_TYPE.
10574         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10575         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10576         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10577         defined when this file is copied into the replacement assert.h.
10578         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10579         and _Static_assert is not built in.
10580         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10581         defined, and use the new macros mentioned above.
10582         * doc/posix-headers/assert.texi: Document this.
10583
10584 2011-05-05  Bruno Haible  <bruno@clisp.org>
10585
10586         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10587         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10588         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10589         gl_REPLACE_FCLOSE here.
10590         * modules/fflush (Depends-on): Remove fclose.
10591         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10592         combination with module 'fclose'.
10593
10594 2011-05-05  Bruno Haible  <bruno@clisp.org>
10595
10596         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10597         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10598         gl_FUNC_FFLUSH.
10599         (gl_FUNC_FFLUSH): Use it.
10600         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10601         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10602         gl_REPLACE_FSEEKO here.
10603
10604 2011-05-05  Bruno Haible  <bruno@clisp.org>
10605
10606         tzset: Relicense under LGPL.
10607         * modules/tzset (License): Change to LGPL.
10608         No agreement needed; it's a no-op.
10609
10610         strtoimax, strtoumax: Relicense under LGPL.
10611         * modules/strtoimax (License): Change to LGPL.
10612         * modules/strtoumax (License): Likewise.
10613         With permission from Jim Meyering, Paul Eggert:
10614         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10615         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10616
10617         getgroups: Relicense under LGPL.
10618         * modules/getgroups (License): Change to LGPL.
10619         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10620         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10621         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10622         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10623
10624         nanosleep: Relicense under LGPL.
10625         * modules/nanosleep (License): Change to LGPL.
10626         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10627         Haible:
10628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10629         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10631         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10632
10633         futimens: Relicense under LGPL.
10634         * modules/futimens (License): Change to LGPL.
10635         With permission from Eric Blake:
10636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10637
10638         fflush: Relicense under LGPL.
10639         * modules/fflush (License): Change to LGPL.
10640         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10644
10645         tmpfile: Relicense under LGPL.
10646         * modules/tmpfile (License): Change to LGPL.
10647         With permission from Ben Pfaff:
10648         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10649
10650         isfinite: Relicense under LGPL.
10651         * modules/isfinite (License): Change to LGPL.
10652         With permission from Ben Pfaff, Bruno Haible:
10653         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10655
10656         acosl..tanl: Relicense under LGPL.
10657         * modules/acosl (License): Change to LGPL.
10658         * modules/asinl (License): Likewise.
10659         * modules/atanl (License): Likewise.
10660         * modules/cosl (License): Likewise.
10661         * modules/expl (License): Likewise.
10662         * modules/logl (License): Likewise.
10663         * modules/sinl (License): Likewise.
10664         * modules/sqrtl (License): Likewise.
10665         * modules/tanl (License): Likewise.
10666         Source code originally from glibc and Paolo Bonzini. Agreements:
10667         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10669
10670 2011-05-05  Bruno Haible  <bruno@clisp.org>
10671
10672         signal: Define sighandler_t.
10673         * lib/signal.in.h (sighandler_t): New type.
10674         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10675         whether sighandler_t is defined.
10676         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10677         * modules/signal (Depends-on): Add extensions.
10678         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10679         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10680         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10681
10682 2011-05-05  Eric Blake  <eblake@redhat.com>
10683
10684         maint: remove useless REPLACE_*_H macros
10685         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10686         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10687         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10688         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10689         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10690         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10691         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10692         * m4/btowc.m4: Update callers.
10693         * m4/dirfd.m4: Likewise.
10694         * m4/duplocale.m4: Likewise.
10695         * m4/fchdir.m4: Likewise.
10696         * m4/fdopendir.m4: Likewise.
10697         * m4/inet_ntop.m4: Likewise.
10698         * m4/inet_pton.m4: Likewise.
10699         * m4/ioctl.m4: Likewise.
10700         * m4/mbrlen.m4: Likewise.
10701         * m4/mbrtowc.m4: Likewise.
10702         * m4/mbsinit.m4: Likewise.
10703         * m4/mbsnrtowcs.m4: Likewise.
10704         * m4/mbsrtowcs.m4: Likewise.
10705         * m4/poll.m4: Likewise.
10706         * m4/setlocale.m4: Likewise.
10707         * m4/wcrtomb.m4: Likewise.
10708         * m4/wcsnrtombs.m4: Likewise.
10709         * m4/wcsrtombs.m4: Likewise.
10710         * m4/wctob.m4: Likewise.
10711         * m4/wcwidth.m4: Likewise.
10712         * modules/posix_spawn: Likewise.
10713         * modules/posix_spawn_file_actions_addclose: Likewise.
10714         * modules/posix_spawn_file_actions_adddup2: Likewise.
10715         * modules/posix_spawn_file_actions_addopen: Likewise.
10716         * modules/posix_spawn_file_actions_destroy: Likewise.
10717         * modules/posix_spawn_file_actions_init: Likewise.
10718         * modules/posix_spawnattr_destroy: Likewise.
10719         * modules/posix_spawnattr_getflags: Likewise.
10720         * modules/posix_spawnattr_getpgroup: Likewise.
10721         * modules/posix_spawnattr_getschedparam: Likewise.
10722         * modules/posix_spawnattr_getschedpolicy: Likewise.
10723         * modules/posix_spawnattr_getsigdefault: Likewise.
10724         * modules/posix_spawnattr_getsigmask: Likewise.
10725         * modules/posix_spawnattr_init: Likewise.
10726         * modules/posix_spawnattr_setflags: Likewise.
10727         * modules/posix_spawnattr_setpgroup: Likewise.
10728         * modules/posix_spawnattr_setschedparam: Likewise.
10729         * modules/posix_spawnattr_setschedpolicy: Likewise.
10730         * modules/posix_spawnattr_setsigdefault: Likewise.
10731         * modules/posix_spawnattr_setsigmask: Likewise.
10732         * modules/posix_spawnp: Likewise.
10733
10734 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10735
10736         Add option to do-release-commit-and-tag to specify branch.
10737         * build-aux/do-release-commit-and-tag: Add --branch.
10738
10739 2011-05-03  Bruno Haible  <bruno@clisp.org>
10740
10741         Avoid unnecessary compilation units, through conditional dependencies.
10742         * modules/accept (Depends-on): Add conditions to the dependencies.
10743         * modules/acosl (Depends-on): Likewise.
10744         * modules/argz (Depends-on): Likewise.
10745         * modules/asinl (Depends-on): Likewise.
10746         * modules/atanl (Depends-on): Likewise.
10747         * modules/atoll (Depends-on): Likewise.
10748         * modules/bind (Depends-on): Likewise.
10749         * modules/btowc (Depends-on): Likewise.
10750         * modules/canonicalize-lgpl (Depends-on): Likewise.
10751         * modules/ceil (Depends-on): Likewise.
10752         * modules/ceilf (Depends-on): Likewise.
10753         * modules/ceill (Depends-on): Likewise.
10754         * modules/chdir-long (Depends-on): Likewise.
10755         * modules/chown (Depends-on): Likewise.
10756         * modules/close (Depends-on): Likewise.
10757         * modules/connect (Depends-on): Likewise.
10758         * modules/cosl (Depends-on): Likewise.
10759         * modules/dirfd (Depends-on): Likewise.
10760         * modules/dprintf (Depends-on): Likewise.
10761         * modules/dprintf-posix (Depends-on): Likewise.
10762         * modules/error (Depends-on): Likewise.
10763         * modules/euidaccess (Depends-on): Likewise.
10764         * modules/expl (Depends-on): Likewise.
10765         * modules/faccessat (Depends-on): Likewise.
10766         * modules/fchdir (Depends-on): Likewise.
10767         * modules/fclose (Depends-on): Likewise.
10768         * modules/fcntl (Depends-on): Likewise.
10769         * modules/fdopendir (Depends-on): Likewise.
10770         * modules/fflush (Depends-on): Likewise.
10771         * modules/floor (Depends-on): Likewise.
10772         * modules/floorf (Depends-on): Likewise.
10773         * modules/floorl (Depends-on): Likewise.
10774         * modules/fnmatch (Depends-on): Likewise.
10775         * modules/fopen (Depends-on): Likewise.
10776         * modules/fprintf-posix (Depends-on): Likewise.
10777         * modules/frexp (Depends-on): Likewise.
10778         * modules/frexp-nolibm (Depends-on): Likewise.
10779         * modules/frexpl (Depends-on): Likewise.
10780         * modules/frexpl-nolibm (Depends-on): Likewise.
10781         * modules/fseek (Depends-on): Likewise.
10782         * modules/fsusage (Depends-on): Likewise.
10783         * modules/ftell (Depends-on): Likewise.
10784         * modules/ftello (Depends-on): Likewise.
10785         * modules/futimens (Depends-on): Likewise.
10786         * modules/getcwd (Depends-on): Likewise.
10787         * modules/getcwd-lgpl (Depends-on): Likewise.
10788         * modules/getdelim (Depends-on): Likewise.
10789         * modules/getdomainname (Depends-on): Likewise.
10790         * modules/getgroups (Depends-on): Likewise.
10791         * modules/gethostname (Depends-on): Likewise.
10792         * modules/getline (Depends-on): Likewise.
10793         * modules/getlogin_r (Depends-on): Likewise.
10794         * modules/getopt-posix (Depends-on): Likewise.
10795         * modules/getpeername (Depends-on): Likewise.
10796         * modules/getsockname (Depends-on): Likewise.
10797         * modules/getsockopt (Depends-on): Likewise.
10798         * modules/getsubopt (Depends-on): Likewise.
10799         * modules/getusershell (Depends-on): Likewise.
10800         * modules/glob (Depends-on): Likewise.
10801         * modules/grantpt (Depends-on): Likewise.
10802         * modules/iconv_open (Depends-on): Likewise.
10803         * modules/iconv_open-utf (Depends-on): Likewise.
10804         * modules/inet_ntop (Depends-on): Likewise.
10805         * modules/inet_pton (Depends-on): Likewise.
10806         * modules/ioctl (Depends-on): Likewise.
10807         * modules/isapipe (Depends-on): Likewise.
10808         * modules/isfinite (Depends-on): Likewise.
10809         * modules/isinf (Depends-on): Likewise.
10810         * modules/lchown (Depends-on): Likewise.
10811         * modules/ldexpl (Depends-on): Likewise.
10812         * modules/link (Depends-on): Likewise.
10813         * modules/linkat (Depends-on): Likewise.
10814         * modules/listen (Depends-on): Likewise.
10815         * modules/logl (Depends-on): Likewise.
10816         * modules/lstat (Depends-on): Likewise.
10817         * modules/mbrlen (Depends-on): Likewise.
10818         * modules/mbrtowc (Depends-on): Likewise.
10819         * modules/mbsinit (Depends-on): Likewise.
10820         * modules/mbsnrtowcs (Depends-on): Likewise.
10821         * modules/mbsrtowcs (Depends-on): Likewise.
10822         * modules/mbtowc (Depends-on): Likewise.
10823         * modules/memcmp (Depends-on): Likewise.
10824         * modules/mkdir (Depends-on): Likewise.
10825         * modules/mkdtemp (Depends-on): Likewise.
10826         * modules/mkfifo (Depends-on): Likewise.
10827         * modules/mkfifoat (Depends-on): Likewise.
10828         * modules/mknod (Depends-on): Likewise.
10829         * modules/mkostemp (Depends-on): Likewise.
10830         * modules/mkostemps (Depends-on): Likewise.
10831         * modules/mkstemp (Depends-on): Likewise.
10832         * modules/mkstemps (Depends-on): Likewise.
10833         * modules/mktime (Depends-on): Likewise.
10834         * modules/nanosleep (Depends-on): Likewise.
10835         * modules/open (Depends-on): Likewise.
10836         * modules/openat (Depends-on): Likewise.
10837         * modules/perror (Depends-on): Likewise.
10838         * modules/poll (Depends-on): Likewise.
10839         * modules/popen (Depends-on): Likewise.
10840         * modules/posix_spawn (Depends-on): Likewise.
10841         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10842         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10843         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10844         * modules/posix_spawnp (Depends-on): Likewise.
10845         * modules/pread (Depends-on): Likewise.
10846         * modules/printf-posix (Depends-on): Likewise.
10847         * modules/ptsname (Depends-on): Likewise.
10848         * modules/putenv (Depends-on): Likewise.
10849         * modules/pwrite (Depends-on): Likewise.
10850         * modules/readline (Depends-on): Likewise.
10851         * modules/readlink (Depends-on): Likewise.
10852         * modules/readlinkat (Depends-on): Likewise.
10853         * modules/recv (Depends-on): Likewise.
10854         * modules/recvfrom (Depends-on): Likewise.
10855         * modules/regex (Depends-on): Likewise.
10856         * modules/remove (Depends-on): Likewise.
10857         * modules/rename (Depends-on): Likewise.
10858         * modules/renameat (Depends-on): Likewise.
10859         * modules/rmdir (Depends-on): Likewise.
10860         * modules/round (Depends-on): Likewise.
10861         * modules/roundf (Depends-on): Likewise.
10862         * modules/roundl (Depends-on): Likewise.
10863         * modules/rpmatch (Depends-on): Likewise.
10864         * modules/select (Depends-on): Likewise.
10865         * modules/send (Depends-on): Likewise.
10866         * modules/sendto (Depends-on): Likewise.
10867         * modules/setenv (Depends-on): Likewise.
10868         * modules/setlocale (Depends-on): Likewise.
10869         * modules/setsockopt (Depends-on): Likewise.
10870         * modules/shutdown (Depends-on): Likewise.
10871         * modules/sigaction (Depends-on): Likewise.
10872         * modules/signbit (Depends-on): Likewise.
10873         * modules/sigprocmask (Depends-on): Likewise.
10874         * modules/sinl (Depends-on): Likewise.
10875         * modules/sleep (Depends-on): Likewise.
10876         * modules/snprintf (Depends-on): Likewise.
10877         * modules/snprintf-posix (Depends-on): Likewise.
10878         * modules/socket (Depends-on): Likewise.
10879         * modules/sprintf-posix (Depends-on): Likewise.
10880         * modules/sqrtl (Depends-on): Likewise.
10881         * modules/stat (Depends-on): Likewise.
10882         * modules/strchrnul (Depends-on): Likewise.
10883         * modules/strdup-posix (Depends-on): Likewise.
10884         * modules/strerror (Depends-on): Likewise.
10885         * modules/strerror_r-posix (Depends-on): Likewise.
10886         * modules/strndup (Depends-on): Likewise.
10887         * modules/strnlen (Depends-on): Likewise.
10888         * modules/strptime (Depends-on): Likewise.
10889         * modules/strsep (Depends-on): Likewise.
10890         * modules/strsignal (Depends-on): Likewise.
10891         * modules/strstr-simple (Depends-on): Likewise.
10892         * modules/strtod (Depends-on): Likewise.
10893         * modules/strtoimax (Depends-on): Likewise.
10894         * modules/strtok_r (Depends-on): Likewise.
10895         * modules/strtoumax (Depends-on): Likewise.
10896         * modules/symlink (Depends-on): Likewise.
10897         * modules/symlinkat (Depends-on): Likewise.
10898         * modules/tanl (Depends-on): Likewise.
10899         * modules/tcgetsid (Depends-on): Likewise.
10900         * modules/tmpfile (Depends-on): Likewise.
10901         * modules/trunc (Depends-on): Likewise.
10902         * modules/truncf (Depends-on): Likewise.
10903         * modules/truncl (Depends-on): Likewise.
10904         * modules/uname (Depends-on): Likewise.
10905         * modules/unlink (Depends-on): Likewise.
10906         * modules/unlockpt (Depends-on): Likewise.
10907         * modules/unsetenv (Depends-on): Likewise.
10908         * modules/usleep (Depends-on): Likewise.
10909         * modules/utimensat (Depends-on): Likewise.
10910         * modules/vasprintf (Depends-on): Likewise.
10911         * modules/vdprintf (Depends-on): Likewise.
10912         * modules/vdprintf-posix (Depends-on): Likewise.
10913         * modules/vfprintf-posix (Depends-on): Likewise.
10914         * modules/vprintf-posix (Depends-on): Likewise.
10915         * modules/vsnprintf (Depends-on): Likewise.
10916         * modules/vsnprintf-posix (Depends-on): Likewise.
10917         * modules/vsprintf-posix (Depends-on): Likewise.
10918         * modules/wcrtomb (Depends-on): Likewise.
10919         * modules/wcscasecmp (Depends-on): Likewise.
10920         * modules/wcscspn (Depends-on): Likewise.
10921         * modules/wcsdup (Depends-on): Likewise.
10922         * modules/wcsncasecmp (Depends-on): Likewise.
10923         * modules/wcsnrtombs (Depends-on): Likewise.
10924         * modules/wcspbrk (Depends-on): Likewise.
10925         * modules/wcsrtombs (Depends-on): Likewise.
10926         * modules/wcsspn (Depends-on): Likewise.
10927         * modules/wcsstr (Depends-on): Likewise.
10928         * modules/wcstok (Depends-on): Likewise.
10929         * modules/wcswidth (Depends-on): Likewise.
10930         * modules/wctob (Depends-on): Likewise.
10931         * modules/wctomb (Depends-on): Likewise.
10932         * modules/wctype (Depends-on): Likewise.
10933         * modules/wcwidth (Depends-on): Likewise.
10934         * modules/write (Depends-on): Likewise.
10935
10936 2011-05-03  Bruno Haible  <bruno@clisp.org>
10937
10938         Support for conditional dependencies.
10939         * doc/gnulib.texi (Module description): Document the syntax of
10940         conditional dependencies.
10941         * gnulib-tool: New option --conditional-dependencies.
10942         (func_usage): Document it.
10943         (cond_dependencies): New variable.
10944         (func_get_automake_snippet_conditional,
10945         func_get_automake_snippet_unconditional): New functions, extracted from
10946         func_get_automake_snippet.
10947         (func_get_automake_snippet): Use them.
10948         (sed_first_32_chars): New variable.
10949         (func_module_shellfunc_name): New function.
10950         (func_module_shellvar_name): New function.
10951         (func_module_conditional_name): New function.
10952         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10953         func_cond_module_condition): New functions.
10954         (func_modules_transitive_closure): Add support for conditional
10955         dependencies.
10956         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10957         conditional automake snippet in an automake conditional.
10958         (func_emit_autoconf_snippets): Emit shell functions that contain the
10959         code for conditional modules.
10960         (func_import, func_create_testdir): Update specification.
10961
10962 2011-05-03  Eric Blake  <eblake@redhat.com>
10963
10964         test-getaddrinfo: report error information
10965         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10966
10967 2011-05-03  Jim Meyering  <meyering@redhat.com>
10968
10969         bootstrap: avoid build failure when $GZIP is set
10970         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10971         program name.  If defined at all, it is supposed to list gzip options.
10972         Reported by Alan Curry in http://debbugs.gnu.org/8609
10973
10974 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10975
10976         readme-release: new module with release instructions
10977         * modules/readme-release: New module.
10978         * top/README-release: New file, from coreutils, grep, diffutils.
10979         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10980
10981 2011-05-02  Eric Blake  <eblake@redhat.com>
10982
10983         fflush: also replace fclose when fixing fflush
10984         * modules/fflush (Depends-on): Add fclose.
10985         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10986         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10987         memstreams with no backing fd.
10988         * doc/posix-functions/fclose.texi (fclose): Document the use of
10989         fflush module to fix the bug.
10990         * tests/test-fclose.c (main): Relax test when fclose is used in
10991         isolation.
10992
10993         fclose: add some tests
10994         * modules/fclose-tests: New test module.
10995         * tests/test-fclose.c: New file.
10996         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10997
10998         fclose: reduced dependencies
10999         * modules/fclose (Depends-on): Switch from fflush/fseeko to
11000         simpler lseek.
11001         * lib/fclose.c (rpl_fclose): Likewise.
11002         Reported by Simon Josefsson.
11003
11004         exit: drop remaining clients
11005         * modules/argmatch (Depends-on): Replace exit with stdlib.
11006         * modules/copy-file (Depends-on): Likewise.
11007         * modules/execute (Depends-on): Likewise.
11008         * modules/exitfail (Depends-on): Likewise.
11009         * modules/obstack (Depends-on): Likewise.
11010         * modules/pagealign_alloc (Depends-on): Likewise.
11011         * modules/pipe-filter-gi (Depends-on): Likewise.
11012         * modules/pipe-filter-ii (Depends-on): Likewise.
11013         * modules/savewd (Depends-on): Likewise.
11014         * modules/spawn-pipe (Depends-on): Likewise.
11015         * modules/wait-process (Depends-on): Likewise.
11016         * modules/xsetenv (Depends-on): Likewise.
11017         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
11018         * modules/git-merge-changelog (Depends-on): Likewise.
11019         * modules/long-options (Depends-on): Likewise.
11020         * modules/pt_chown (Depends-on): Likewise.
11021         * modules/sysexits (Depends-on): Likewise.
11022
11023         freading: relax license from LGPLv3+ to LGPLv2+
11024         * modules/freading (License): Relax LGPL version.
11025
11026 2011-05-02  Bruno Haible  <bruno@clisp.org>
11027
11028         fchdir: Remove unused dependencies.
11029         * modules/fchdir (Depends-on): Remove include_next.
11030
11031 2011-05-02  Bruno Haible  <bruno@clisp.org>
11032
11033         gnulib-tool: Refactor.
11034         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
11035         from func_emit_autoconf_snippets.
11036         (func_emit_autoconf_snippets): Use it.
11037
11038 2011-05-02  Simon Josefsson  <simon@josefsson.org>
11039
11040         * NEWS: Document removal of 'exit'.
11041         * modules/exit: Remove file.
11042
11043 2011-05-01  Bruno Haible  <bruno@clisp.org>
11044
11045         Update DEPENDENCIES.
11046         * DEPENDENCIES (gettext): Recommend the newest release.
11047         Reported by Simon Josefsson.
11048
11049 2011-05-01  Bruno Haible  <bruno@clisp.org>
11050
11051         gnulib-tool: Reduce code duplication.
11052         * gnulib-tool (func_emit_autoconf_snippets): New function.
11053         (func_import, func_create_testdir): Use it.
11054
11055 2011-04-30  Eric Blake  <eblake@redhat.com>
11056
11057         fclose: don't fail on non-seekable input stream
11058         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
11059         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
11060         since fflush is allowed to fail in that case.
11061
11062 2011-04-30  Bruno Haible  <bruno@clisp.org>
11063
11064         dup3: cleanup
11065         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
11066
11067 2011-04-30  Bruno Haible  <bruno@clisp.org>
11068
11069         netdb: Make it work in C++ mode.
11070         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
11071         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
11072         module.
11073         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
11074         gl_MODULE_INDICATOR_FOR_TESTS.
11075         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
11076         * modules/netdb-c++-tests: New file.
11077         * tests/test-netdb-c++.cc: New file.
11078
11079 2011-04-30  Bruno Haible  <bruno@clisp.org>
11080
11081         New modules 'vfscanf', 'vscanf'.
11082         * modules/vfscanf: New file.
11083         * modules/vscanf: New file.
11084         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
11085         here.
11086         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
11087         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
11088
11089 2011-04-30  Bruno Haible  <bruno@clisp.org>
11090
11091         passfd: Add comments.
11092         * lib/passfd.c: Add comments about platforms.
11093
11094 2011-04-30  Bruno Haible  <bruno@clisp.org>
11095
11096         sys_uio: Make <sys/uio.h> self-contained.
11097         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
11098         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
11099
11100 2011-04-30  Bruno Haible  <bruno@clisp.org>
11101
11102         sys_socket: Ensure 'struct iovec' definition.
11103         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11104         <sys/socket.h>.
11105         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
11106
11107 2011-04-30  Bruno Haible  <bruno@clisp.org>
11108
11109         sys_uio: Protect definition of 'struct iovec'.
11110         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
11111         it as a C struct.
11112
11113 2011-04-30  Bruno Haible  <bruno@clisp.org>
11114
11115         manywarnings: fix indentation
11116         * m4/manywarnings.m4: Indent by 2 spaces consistently.
11117
11118 2011-04-30  Pádraig Brady <P@draigBrady.com>
11119
11120         manywarnings: add -Wno-missing-field-initializers if needed.
11121         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
11122         option if it's needed to allow initialization with { 0, }
11123
11124 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
11125
11126         announce-gen: cosmetic improvement
11127         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
11128
11129 2011-04-29  Jim Meyering  <meyering@redhat.com>
11130
11131         vc-list-files: indent with spaces, not TABs
11132         * build-aux/vc-list-files: Convert leading TABs to spaces,
11133         to match the style of most other files in gnulib.
11134
11135         announce-gen: indent with spaces, not TABs
11136         * build-aux/announce-gen: Convert all TABs to spaces, to match
11137         the style of most other files in gnulib.
11138
11139 2011-04-29  Eric Blake  <eblake@redhat.com>
11140
11141         quotearg: avoid uninitialized variable use
11142         * lib/quotearg.c (quoting_options_from_style): Initialize
11143         remaining fields, and ensure that custom styles are only used via
11144         quoting_options rather than quoting_style.
11145
11146 2011-04-29  Jim Meyering  <meyering@redhat.com>
11147
11148         maint.mk: remove unused VC-tag variable
11149         * top/maint.mk (VC-tag): Remove unused variable.
11150
11151 2011-04-29  Bruno Haible  <bruno@clisp.org>
11152
11153         netdb: fix gai_strerror replacements
11154         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
11155         * modules/netdb: Substitute it.
11156
11157 2011-04-29  Jim Meyering  <meyering@redhat.com>
11158
11159         test-getcwd.c: avoid new set-but-not-used warning
11160         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
11161         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
11162         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
11163         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
11164
11165         test-hash.c: avoid a new shadowing warning
11166         * tests/test-hash.c (main): Don't shadow "dup".
11167
11168 2011-04-28  Eric Blake  <eblake@redhat.com>
11169
11170         getaddrinfo: fix gai_strerror signature
11171         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11172         and work around mingw with UNICODE defined.
11173         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11174         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11175         * modules/netdb (Makefile.am): Substitute it.
11176         * lib/netdb.in.h (gai_strerror): Declare replacement.
11177         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11178         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11179         the fix.
11180
11181         getsockopt: avoid compiler warning
11182         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11183         Reported by Matthias Bolte.
11184
11185         tests: drop unused link dependency
11186         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11187         * modules/dirent-safer-tests (Makefile.am): Likewise.
11188         * modules/fdopendir-tests (Makefile.am): Likewise.
11189         * modules/mkfifoat-tests (Makefile.am): Likewise.
11190         * modules/openat-safer-tests (Makefile.am): Likewise.
11191         * modules/openat-tests (Makefile.am): Likewise.
11192         * modules/readlinkat-tests (Makefile.am): Likewise.
11193         * modules/symlinkat-tests (Makefile.am): Likewise.
11194         * modules/linkat-tests (Makefile.am): Likewise.
11195         (Depends-on): Switch to filenamecat-lgpl.
11196         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11197         LIBINTL.
11198         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11199         * tests/test-linkat.c (main): Don't require xalloc.
11200
11201         hash, mgetgroups: drop xalloc dependency
11202         * lib/hash.c (includes): Adjust includes.
11203         * lib/mgetgroups.c (includes): Likewise.
11204         (xgetgroups): Move...
11205         * lib/xgetgroups.c: ...to new file.
11206         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11207         * modules/xgetgroups: New file, split from...
11208         * modules/mgetgroups: ...here.
11209         (Depends-on): Add xalloc-oversized.
11210         * modules/hash (Depends-on): Likewise.
11211         * modules/hash-tests (Depends-on): Drop xalloc.
11212         (test_hash_LDADD): Drop unused library.
11213         * tests/test-hash.c (main): Break xalloc dependency.
11214         (includes): Drop unused include.
11215
11216         xalloc-oversized: new module
11217         * modules/xalloc-oversized: New module.
11218         * modules/xalloc (Depends-on): Add it.
11219         * lib/xalloc.h (xalloc_oversized): Move...
11220         * lib/xalloc-oversized.h: ...into new file.
11221
11222         utimecmp: drop dependency on xmalloc
11223         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11224         due to memory pressure.
11225         * modules/utimecmp (Depends-on): Drop xalloc.
11226
11227 2011-04-27  Eric Blake  <eblake@redhat.com>
11228
11229         getcwd: fix mingw bugs
11230         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11231         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11232         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11233
11234 2011-04-27  Bruno Haible  <bruno@clisp.org>
11235
11236         mkstemps: Ensure declaration on MacOS X 10.5.
11237         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11238         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11239         MacOS X.
11240
11241 2011-04-27  Bruno Haible  <bruno@clisp.org>
11242
11243         mkstemp: More documentation.
11244         * doc/posix-functions/mkstemp.texi: Document header file problem on
11245         MacOS X.
11246
11247 2011-04-27  Bruno Haible  <bruno@clisp.org>
11248
11249         mkstemp: Tweak configure message when cross-compiling.
11250         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11251         result as a guess.
11252
11253 2011-04-27  Bruno Haible  <bruno@clisp.org>
11254
11255         clean-temp: Clarify what it does.
11256         * lib/clean-temp.h: Add more comments.
11257         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11258         module.
11259         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11260         * doc/glibc-functions/mkstemps.texi: Likewise.
11261         * doc/glibc-functions/mkostemps.texi: Likewise.
11262
11263 2011-04-27  Eric Blake  <eblake@redhat.com>
11264
11265         fchdir: avoid extra chdir and fix test
11266         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11267         getcwd-lgpl.
11268         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11269         have to be canonical.
11270         (canonicalize_file_name): Drop unused macro.
11271         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11272
11273         filenamecat-lgpl: fix licence
11274         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11275         when it was first created.
11276
11277         linkat, renameat: add missing dependency
11278         * modules/linkat (Depends-on): Require getcwd-lgpl.
11279         * modules/renameat (Depends-on): Likewise.
11280
11281         tests: reduce dependencies
11282         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11283         * tests/test-renameat.c (main): Likewise.
11284         * modules/linkat-tests (Depends-on): Relax dependency.
11285         * modules/renameat-tests (Depends-on): Likewise.
11286         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11287         dependency explicit.
11288
11289         save-cwd: reduce default dependency
11290         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11291         * lib/save-cwd.c: Update comments.
11292         * NEWS: Document the semantic change.
11293
11294         getcwd: enhance tests
11295         * tests/test-getcwd-lgpl.c: New file, taken from...
11296         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11297         repeat long path stress tests from m4 probe.
11298         * modules/getcwd-lgpl-tests: New module.
11299         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11300         * m4/getcwd-abort-bug.m4: Update comment.
11301         * m4/getcwd-path-max.m4: Likewise.
11302
11303         getcwd-lgpl: new module
11304         * modules/getcwd-lgpl: New module.
11305         * lib/getcwd-lgpl.c: New file.
11306         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11307         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11308         * modules/getcwd (configure.ac): Set C witness.
11309         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11310
11311         getcwd: tweak comments
11312         * m4/getcwd-abort-bug.m4: Fix comments.
11313         * m4/getcwd-path-max.m4: Likewise.
11314         * m4/getcwd.m4: Likewise.
11315
11316 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11317         and Eric Blake  <eblake@redhat.com>
11318
11319         mkstemp: replace if system version uses wrong permissions
11320         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11321         read/write mode bits set in file created by mkstemp.
11322         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11323
11324 2011-04-27  Eric Blake  <eblake@redhat.com>
11325
11326         passfd: avoid compiler warning
11327         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11328         Reported by Laine Stump.
11329
11330 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11331
11332         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11333         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11334
11335 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11336         and Eric Blake  <eblake@redhat.com>
11337
11338         mkstemp: mention clean-temp module
11339         * lib/mkstemp.c: Add comment.
11340         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11341
11342 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11343
11344         inttypes: also provide default values for 32-bit tests
11345         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11346         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11347
11348 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11349
11350         strtoumax: remove dependency on strtoimax
11351         This is like the strtoull change of yesterday.
11352         * modules/strtoumax (Files): Add lib/strtoimax.c.
11353         (Depends-on): Remove strtoimax and add verify.
11354
11355         inttypes-incomplete: new module
11356         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11357         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11358         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11359         of gl_INTTYPES_H.
11360         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11361         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11362         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11363         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11364         * modules/strtoumax, modules/xstrtol (Depends-on):
11365         Depend on inttypes-incomplete, not inttypes.
11366         * modules/inttypes-incomplete: New module, containing the contents
11367         of the old modules/inttypes module, except that the Files: section
11368         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11369         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11370         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11371         (Depends-on): Depend only on inttypes-incomplete.
11372         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11373
11374         inttypes: omit now-redundant strtoimax and strtoumax work
11375         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11376         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11377
11378         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11379         This supports apps that need pointers to strtoimax and strtoumax,
11380         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11381         nonexistent functions.  See
11382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11383         et seq.
11384         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11385         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11386         a macro.
11387         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11388
11389 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11390
11391         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11392
11393 2011-04-25  Bruno Haible  <bruno@clisp.org>
11394
11395         strtol, strtoul: Mark modules as obsolete.
11396         * modules/strtol (Status, Notice): New sections.
11397         * modules/strtoul (Status, Notice): New sections.
11398
11399 2011-04-25  Bruno Haible  <bruno@clisp.org>
11400
11401         strtod: Remove check for strtod, unless supporting old platforms.
11402         * modules/strtod-obsolete: New file.
11403         * m4/strtod-obsolete.m4: New file.
11404         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11405         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11406         * modules/strtod (Depends-on): Add strtod-obsolete.
11407         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11408
11409 2011-04-25  Bruno Haible  <bruno@clisp.org>
11410
11411         strcase: Make module obsolete.
11412         * modules/strcase (Status, Notice): New sections.
11413
11414 2011-04-25  Bruno Haible  <bruno@clisp.org>
11415
11416         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11417         * modules/dup2-obsolete: New file.
11418         * m4/dup2-obsolete.m4: New file.
11419         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11420         gl_FUNC_DUP2_OBSOLETE is not also defined.
11421         * modules/dup2 (Depends-on): Add dup2-obsolete.
11422         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11423
11424 2011-04-25  Bruno Haible  <bruno@clisp.org>
11425
11426         strnlen: Avoid memchr related link error on old obsolete platforms.
11427         * modules/memchr-obsolete: New file.
11428         * m4/memchr-obsolete.m4: New file.
11429         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11430         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11431         * modules/memchr (Depends-on): Add memchr-obsolete.
11432         * modules/strnlen (Depends-on): Likewise.
11433         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11434
11435 2011-04-25  Jim Meyering  <meyering@redhat.com>
11436
11437         maint.mk: makefile_at_at_check extend and clean up
11438         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11439         in addition to */Makefile.am.
11440         Exempt legitimate uses of @VAR@ notation, e.g.,
11441         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11442         Remove obsolete coreutils-specific comment.
11443         Prompted by discussion here:
11444         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11445
11446 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11447
11448         strtoul: remove dependency on strtol
11449         This is so that 'configure' need not check for strtol merely because
11450         the application needs strtoul.
11451         * modules/strtoul (Files): Add lib/strtol.c.
11452         (Depends-on): Remove strtol.
11453
11454         strtoull: remove dependency on strtoul
11455         This is like the strtoll change.
11456         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11457         (Depends-on): Remove strtoul.
11458
11459         strtoll: remove dependency on strtol
11460         This is so that 'configure' need not check for strtol merely because
11461         the application needs strtoll.
11462         * modules/strtoll (Files): Add lib/strtol.c.
11463         (Depends-on): Remove strtol.
11464
11465 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11466
11467         inttypes: Move some configure check to module 'imaxdiv'.
11468         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11469         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11470         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11471
11472 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11473
11474         inttypes: Move some configure check to module 'imaxabs'.
11475         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11476         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11477         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11478
11479 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11480
11481         inttypes: Remove configure tests that are not needed since 2009-12-31.
11482         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11483         gl_cv_header_working_inttypes_h.
11484
11485 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11486
11487         * modules/strnlen (Depends-on): Remove memchr.
11488         The strnlen implementation doesn't need the memchr module's fixes; see
11489         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11490
11491         strtol: remove dependency on wchar
11492         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11493         * modules/strtol (Depends-on): Remove wchar.
11494
11495 2011-04-21  Eric Blake  <eblake@redhat.com>
11496
11497         passfd: fix test regression on Linux
11498         * modules/passfd-tests (configure.ac): Correct socketpair check.
11499
11500         passfd: speed up configure and drop unused code
11501         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11502         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11503         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11504         Instead of probing at configure for unix_scm_rights_bsd44_way,
11505         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11506         check to a struct member probe.
11507         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11508         (sendfd, recvfd): Update preprocessor checks.
11509         * modules/passfd (Files): Reflect rename, and drop unused file.
11510         (Depends-on): Drop unused dependency.
11511
11512         passfd: allow compilation on mingw
11513         * modules/sys_socket (Depends-on): Add sys_uio.
11514         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11515         iovec and a minimal struct msghdr.
11516         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11517         * tests/test-sys_socket.c (main): Enhance test.
11518         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11519         guaranteed to provide what we need.
11520         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11521         * modules/passfd-tests (Depends-on): Add sys_wait.
11522         * tests/test-passfd.c (main): Skip test on mingw, for now.
11523         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11524         partial 'struct msghdr' implementation.
11525
11526         sys_uio: new module
11527         * modules/sys_uio: New module.
11528         * modules/sys_uio-tests: Likewise.
11529         * lib/sys_uio.in.h: New file.
11530         * m4/sys_uio_h.m4: Likewise.
11531         * tests/test-sys_uio.c: Likewise.
11532         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11533         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11534
11535 2011-04-20  Jim Meyering  <meyering@redhat.com>
11536
11537         useless-if-before-free: avoid false-positive
11538         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11539         disjunct so that it too requires a terminating ";".  Without that,
11540         this script would identify as useless one statement from gcc that
11541         was not:
11542           if (aligned_ptr)
11543             free (((void **) aligned_ptr) [-1]);
11544
11545 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11546
11547         doc: update users.txt.
11548         * users.txt: Add barcode.
11549
11550 2011-04-19  Bruno Haible  <bruno@clisp.org>
11551
11552         ioctl: Remove link dependency on native Windows.
11553         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11554         (gl_close_fn, gl_ioctl_fn): New types.
11555         (struct fd_hook): Renamed from struct close_hook. Change type of
11556         private_close_fn field. Add private_ioctl_fn field.
11557         (close_hook_fn): Add parameter for primary close method.
11558         (execute_close_hooks, execute_all_close_hooks): Likewise.
11559         (ioctl_hook_fn): New type.
11560         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11561         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11562         argument.
11563         (unregister_fd_hook): Renamed from unregister_close_hook.
11564         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11565         Don't include <unistd.h>.
11566         (close): Remove undef.
11567         (anchor): Update.
11568         (execute_close_hooks): Add argument for primary close method.
11569         (execute_all_close_hooks): Likewise.
11570         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11571         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11572         argument. Allow each argument to be NULL.
11573         (unregister_fd_hook): Renamed from unregister_close_hook.
11574         * lib/close.c (rpl_close): Pass 'close' function pointer to
11575         execute_all_close_hooks.
11576         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11577         (primary_ioctl): New function.
11578         (ioctl): Don't call ioctlsocket here. Instead, call
11579         execute_all_ioctl_hooks.
11580         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11581         close method.
11582         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11583         (fd_sockets_hook): Renamed from close_sockets_hook.
11584         (gl_sockets_startup, gl_sockets_cleanup): Update.
11585         * modules/fd-hook: Renamed from modules/close-hook. Update.
11586         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11587         * modules/sockets (Depends-on): Likewise.
11588         * modules/ioctl (Depends-on): Add fd-hook.
11589         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11590         GNULIB_SOCKET.
11591
11592 2011-04-19  Bruno Haible  <bruno@clisp.org>
11593
11594         Move the support of O_NONBLOCK in open() to the 'open' module.
11595         * modules/nonblocking (Depends-on): Remove 'open'.
11596         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11597         gl_cv_have_open_O_NONBLOCK.
11598         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11599         O_NONBLOCK support.
11600         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11601
11602 2011-04-17  Bruno Haible  <bruno@clisp.org>
11603
11604         pipe2: Simplify code.
11605         * lib/pipe2.c (pipe2): Reduce code duplication.
11606
11607 2011-04-17  Bruno Haible  <bruno@clisp.org>
11608
11609         nonblocking: Add comment.
11610         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11611
11612 2011-04-17  Bruno Haible  <bruno@clisp.org>
11613
11614         nonblocking: Add tests for sockets.
11615         * tests/test-nonblocking-socket.sh: New file.
11616         * tests/test-nonblocking-socket-main.c: New file.
11617         * tests/test-nonblocking-socket-child.c: New file.
11618         * tests/test-nonblocking-socket.h: New file.
11619         * tests/socket-server.h: New file.
11620         * tests/socket-client.h: New file.
11621         * modules/nonblocking-socket-tests: New file.
11622         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11623
11624 2011-04-17  Bruno Haible  <bruno@clisp.org>
11625
11626         nonblocking: Add tests for pipes.
11627         * tests/test-nonblocking-pipe.sh: New file.
11628         * tests/test-nonblocking-pipe-main.c: New file.
11629         * tests/test-nonblocking-pipe-child.c: New file.
11630         * tests/test-nonblocking-pipe.h: New file.
11631         * tests/test-nonblocking-writer.h: New file.
11632         * tests/test-nonblocking-reader.h: New file.
11633         * tests/test-nonblocking-misc.h: New file.
11634         * modules/nonblocking-pipe-tests: New file.
11635         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11636
11637 2011-04-16  Bruno Haible  <bruno@clisp.org>
11638
11639         gettext: Clarify the needed programmer actions.
11640         * modules/gettext (Notice): New field.
11641         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11642
11643 2011-04-16  Bruno Haible  <bruno@clisp.org>
11644
11645         strchrnul: Tweak last commit.
11646         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11647         bug.
11648         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11649         as in _GL_FUNCDECL_SYS.
11650         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11651         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11652
11653 2011-04-15  Eric Blake  <eblake@redhat.com>
11654
11655         strchrnul: work around cygwin bug
11656         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11657         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11658         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11659         * modules/string (Makefile.am): Substitute it.
11660         * lib/string.in.h (strchrnul): Use it.
11661
11662 2011-04-15  Bruno Haible  <bruno@clisp.org>
11663
11664         Don't require lib/stdio-write.c when only module 'stdio' is used.
11665         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11666         invocation.
11667         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11668
11669 2011-04-14  Bruno Haible  <bruno@clisp.org>
11670
11671         Support non-blocking pipe I/O in read() on native Windows.
11672         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11673         (read): New declaration.
11674         * lib/read.c: New file.
11675         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11676         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11677         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11678         vscanf): New declarations.
11679         * lib/stdio-read.c: New file.
11680         * m4/read.m4: New file.
11681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11682         REPLACE_READ.
11683         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11684         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11685         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11686         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11687         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11688         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11689         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11690         * modules/read: New file.
11691         * modules/nonblocking (Files): Add lib/stdio-read.c.
11692         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11693         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11694         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11695         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11696         * modules/pread (Depends-on): Add read.
11697         * modules/safe-read (Depends-on): Likewise.
11698         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11699         gets, scanf, vfscanf, vscanf): Verify signatures.
11700         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11701         problem with non-blocking pipes.
11702         * doc/posix-functions/fgetc.texi: Likewise.
11703         * doc/posix-functions/fgets.texi: Likewise.
11704         * doc/posix-functions/fread.texi: Likewise.
11705         * doc/posix-functions/fscanf.texi: Likewise.
11706         * doc/posix-functions/getc.texi: Likewise.
11707         * doc/posix-functions/getchar.texi: Likewise.
11708         * doc/posix-functions/gets.texi: Likewise.
11709         * doc/posix-functions/scanf.texi: Likewise.
11710         * doc/posix-functions/vfscanf.texi: Likewise.
11711         * doc/posix-functions/vscanf.texi: Likewise.
11712
11713 2011-04-14  Bruno Haible  <bruno@clisp.org>
11714
11715         Support non-blocking pipe I/O in write() on native Windows.
11716         * lib/write.c (rpl_write): Split a write request that failed merely
11717         because the byte count was larger than the pipe buffer's size.
11718         * doc/posix-functions/write.texi: Mention the problem with large byte
11719         counts.
11720
11721 2011-04-14  Bruno Haible  <bruno@clisp.org>
11722
11723         wchar: Ensure that wchar_t gets defined on uClibc.
11724         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11725         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11726
11727 2011-04-13  Bruno Haible  <bruno@clisp.org>
11728
11729         safe-write, full-read: Avoid unnecessary compilation units.
11730         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11731         (Depends-on): Remove safe-read. Add ssize_t.
11732         * modules/full-read (Files): Add lib/full-write.c.
11733         (Depends-on): Add full-write.
11734
11735 2011-04-13  Bruno Haible  <bruno@clisp.org>
11736
11737         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11738         * modules/pwrite (Depends-on): Add 'write'.
11739
11740 2011-04-13  Bruno Haible  <bruno@clisp.org>
11741
11742         Support non-blocking pipe I/O in write() on native Windows.
11743         * lib/unistd.in.h (write): Enable replacement also if
11744         GNULIB_UNISTD_H_NONBLOCKING is 1.
11745         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11746         (rpl_write): When failing to write on a non-blocking pipe, change
11747         errno from ENOSPC to EAGAIN.
11748         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11749         putchar, puts, vfprintf, vprintf): Enable replacement also if
11750         GNULIB_STDIO_H_NONBLOCKING is 1.
11751         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11752         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11753         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11754         CALL_WITH_SIGPIPE_EMULATION.
11755         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11756         * m4/nonblocking.m4: New file.
11757         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11758         for non-blocking I/O support.
11759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11760         GNULIB_UNISTD_H_NONBLOCKING.
11761         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11762         required for non-blocking I/O support.
11763         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11764         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11765         lib/stdio-write.c, m4/asm-underscore.m4.
11766         (Depends-on): Add stdio, unistd.
11767         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11768         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11769         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11770         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11771         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11772         problem with non-blocking pipes.
11773         * doc/posix-functions/fputc.texi: Likewise.
11774         * doc/posix-functions/fputs.texi: Likewise.
11775         * doc/posix-functions/fwrite.texi: Likewise.
11776         * doc/posix-functions/printf.texi: Likewise.
11777         * doc/posix-functions/putc.texi: Likewise.
11778         * doc/posix-functions/putchar.texi: Likewise.
11779         * doc/posix-functions/puts.texi: Likewise.
11780         * doc/posix-functions/vfprintf.texi: Likewise.
11781         * doc/posix-functions/vprintf.texi: Likewise.
11782         * doc/posix-functions/write.texi: Likewise.
11783
11784 2011-04-10  Jim Meyering  <meyering@redhat.com>
11785
11786         maint.mk: prohibit doubled words
11787         Detect them also when they're separated by a newline.
11788         There are 3 ways to customize it:
11789           - disable the test on a per file basis, as usual with rules using
11790             $(VC_LIST_EXCEPT)
11791           - replace the default doubled-word-selecting regexp (affects all files)
11792           - ignore a particular file-vs-doubled-word match
11793         I nearly used that last one to ignore the "is is" match in
11794         coreutils' NEWS file, since the text was "ls -is is ..."
11795         To do that, I would have added this line to cfg.mk:
11796           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11797         but it would have ignored any "is is" match in NEWS.
11798         Low probability, but still...
11799         Instead, I changed the text, slightly:
11800           -  ls -is is now consistent with ls -lis in ignoring values returned
11801           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11802         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11803         (prohibit_doubled_word_): Define.
11804         (sc_prohibit_doubled_word): New rule.
11805         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11806
11807 2011-04-10  Jim Meyering  <meyering@redhat.com>
11808
11809         maint: fix doubled-word typo in comment
11810         * m4/gethostname.m4: s/is is/it is/
11811         * m4/getdomainname.m4: Likewise.
11812
11813 2011-04-10  Jim Meyering  <meyering@redhat.com>
11814
11815         maint: remove doubled word: s/it it/it/
11816         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11817
11818 2011-04-10  Jim Meyering  <meyering@redhat.com>
11819
11820         maint.mk: remove useless semicolon and backslash
11821         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11822         semicolon and backslash.
11823
11824 2011-04-10  Bruno Haible  <bruno@clisp.org>
11825
11826         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11827         * modules/stdint-tests (Depends-on): Add wchar.
11828
11829 2011-04-10  Jim Meyering  <meyering@redhat.com>
11830
11831         maint: remove doubled words in comments, e.g., s/a a/a/
11832         * lib/strptime.c (day_of_the_week): s/the the/the/
11833         * tests/test-chown.h (test_chown): s/a a/a/
11834
11835         test-chown.h: correct a cast
11836         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11837         when the destination is a stat.st_gid.
11838
11839 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11840
11841         getaddrinfo: Fix test for sa_len member.
11842         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11843         include <sys/types.h> before <sys/socket.h>.
11844
11845 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11846
11847         maint: change "can not" to "cannot"
11848         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11849         boundaries.
11850
11851 2011-04-09  Jim Meyering  <meyering@redhat.com>
11852
11853         maint: change "a a" to "a"
11854         * tests/test-lchown.h (test_lchown): s/a a/a/
11855
11856         maint.mk: prohibit \<the the\>
11857         * top/maint.mk (sc_prohibit_the_the): New rule.
11858
11859         maint: fix "the the" in comment
11860         * lib/count-one-bits.h: s/the the/the/
11861
11862         maint: change "can not" to "cannot"
11863         But do not change the occurrences in maintain.texi or in
11864         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11865         * doc/gnulib-tool.texi: s/can not/cannot/
11866         * doc/posix-functions/accept.texi (accept): Likewise.
11867         * doc/posix-functions/socket.texi (socket): Likewise.
11868         * lib/mbrtowc.c: Likewise.
11869
11870         maint.mk: prohibit use of "can not"
11871         * top/maint.mk (sc_prohibit_can_not): New rule.
11872         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11873
11874 2011-04-09  Bruno Haible  <bruno@clisp.org>
11875
11876         careadlinkat: Guard against misuse of careadlinkatcwd.
11877         * lib/careadlinkat.c: Include <stdlib.h>.
11878         (careadlinkatcwd): Check that the fd argument is as expected.
11879
11880 2011-04-09  Bruno Haible  <bruno@clisp.org>
11881
11882         careadlinkat: Use common coding style.
11883         * lib/careadlinkat.c: Move gnulib includes after system includes.
11884
11885 2011-04-09  Bruno Haible  <bruno@clisp.org>
11886
11887         careadlinkat: Clarify specification.
11888         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11889         (careadlinkatcwd): Add comment.
11890         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11891
11892 2011-04-09  Bruno Haible  <bruno@clisp.org>
11893
11894         areadlinkat: Avoid link error on many platforms.
11895         * modules/areadlinkat (Depends-on): Add areadlink.
11896
11897 2011-04-09  Bruno Haible  <bruno@clisp.org>
11898
11899         allocator, careadlinkat: Fix double-inclusion guard.
11900         * lib/allocator.h: Fix double-inclusion guard.
11901         * lib/careadlinkat.h: Likewise.
11902
11903 2011-04-09  Bruno Haible  <bruno@clisp.org>
11904
11905         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11906         * lib/relocwrapper.c: Update dependencies hierarchy.
11907         * build-aux/install-reloc: Update list of files to be compiled.
11908         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11909         lib/allocator.[hc].
11910
11911 2011-04-08  Eric Blake  <eblake@redhat.com>
11912
11913         strftime: silence gnulib-tool warning
11914         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11915
11916 2011-04-08  Bruno Haible  <bruno@clisp.org>
11917
11918         verify: Fix syntax error with GCC 4.6 in C++ mode.
11919         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11920         (HAVE_STATIC_ASSERT): New macro.
11921         (verify_true, verify): Use 'static_assert' if it is supported and
11922         '_Static_assert' is not supported.
11923
11924 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11925
11926         allocator: New module.
11927         * modules/allocator, lib/allocator.c: New files.
11928         * lib/allocator.h (stdlib_allocator): New decl.
11929         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11930         Remove.  Do not include <stdlib.h>.
11931         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11932         * modules/careadlinkat (Files): Remove lib/allocator.h.
11933         (Depends-on): Add allocator.
11934
11935         stdlib: let modules use system malloc, realloc
11936         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11937         if !_GL_USE_STDLIB_ALLOC.
11938         (malloc, realloc): Limit this change to a smaller scope.
11939
11940         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11941         (malloc, realloc): Don't #undef; no longer needed.
11942         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11943         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11944         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11945         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11946         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11947         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11948         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11949         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11950
11951         careadlinkat: rename members to avoid problem
11952         * lib/allocator.h (struct allocator): Rename members from
11953         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11954         and realloc are #define'd.  Reported by Eric Blake in
11955         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11956         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11957
11958 2011-04-08  Eric Blake  <eblake@redhat.com>
11959
11960         nonblocking: reduce dependency
11961         * tests/test-nonblocking.c: Only test sockets when in use.
11962         * modules/nonblocking-tests (Depends-on): Drop socket.
11963         (Makefile.am): Link even if sockets are not present.
11964         * modules/pipe2-tests (Makefile.am): Likewise.
11965         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11966
11967         pipe2: fix O_NONBLOCK support on mingw
11968         * modules/pipe2 (Depends-on): Add nonblocking.
11969         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11970         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11971         * tests/test-nonblocking.c (main): Likewise.
11972         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11973
11974         fcntl-h: fix O_ACCMODE on cygwin
11975         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11976         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11977
11978         pipe-filter: drop O_NONBLOCK workarounds
11979         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11980         * modules/pipe-filter-ii (Depends-on): Likewise.
11981         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11982
11983         nonblocking: provide O_NONBLOCK for mingw
11984         * modules/nonblocking (Depends-on): Add open.
11985         (configure.ac): Set new witness macro.
11986         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11987         * modules/fcntl-h (Makefile.am): Substitute it.
11988         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11989         nonblocking module is in use.
11990         * lib/nonblocking.c: Adjust portability test.
11991         * lib/open.c (open): Don't let native open see gnulib flag.
11992         * tests/test-fcntl-h.c (main): Enhance test.
11993         * tests/test-open.h (test_open): Likewise.
11994         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11995
11996         careadlinkat: fix compilation error on mingw
11997         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11998         within struct allocator.
11999
12000 2011-04-06  Eric Blake  <eblake@redhat.com>
12001
12002         binary-io: relicense under LGPLv2+
12003         * modules/binary-io (License): Relax to LGPLv2+.
12004         Requested for libvirt, and required by pipe2.
12005
12006 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
12007
12008         verify: use _Static_assert if available
12009         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
12010         (verify_true, verify): Use it if available.  This generates better
12011         diagnostics with GCC 4.6.0 and later.
12012
12013 2011-04-05  Bruno Haible  <bruno@clisp.org>
12014
12015         Remove leftover generated .h files after config.status changed.
12016
12017         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
12018         GL_GENERATE_ALLOCA_H.
12019         * modules/alloca-opt (Makefile.am): Remove alloca.h if
12020         GL_GENERATE_ALLOCA_H evaluates to false.
12021
12022         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
12023         GL_GENERATE_ARGZ_H.
12024         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
12025         evaluates to false.
12026
12027         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
12028         GL_GENERATE_BYTESWAP_H.
12029         * modules/byteswap (Makefile.am): Remove byteswap.h if
12030         GL_GENERATE_BYTESWAP_H evaluates to false.
12031
12032         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
12033         GL_GENERATE_ERRNO_H.
12034         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
12035         evaluates to false.
12036
12037         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
12038         GL_GENERATE_FLOAT_H.
12039         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
12040         evaluates to false.
12041
12042         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
12043         GL_GENERATE_FNMATCH_H.
12044         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
12045         GL_GENERATE_FNMATCH_H evaluates to false.
12046
12047         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
12048         GL_GENERATE_GLOB_H.
12049         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
12050         evaluates to false.
12051
12052         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
12053         automake conditional GL_GENERATE_ICONV_H.
12054         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
12055         evaluates to false.
12056
12057         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
12058         GL_GENERATE_NETINET_IN_H.
12059         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
12060         GL_GENERATE_NETINET_IN_H evaluates to false.
12061
12062         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
12063         conditional GL_GENERATE_PTHREAD_H.
12064         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
12065         * modules/pthread (Makefile.am): Remove pthread.h if
12066         GL_GENERATE_PTHREAD_H evaluates to false.
12067
12068         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
12069         GL_GENERATE_SCHED_H.
12070         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
12071         evaluates to false.
12072
12073         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
12074         conditional GL_GENERATE_SELINUX_CONTEXT_H.
12075         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
12076         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
12077
12078         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
12079         GL_GENERATE_STDARG_H.
12080         * modules/stdarg (Makefile.am): Remove stdarg.h if
12081         GL_GENERATE_STDARG_H evaluates to false.
12082
12083         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
12084         GL_GENERATE_STDBOOL_H.
12085         * modules/stdbool (Makefile.am): Remove stdbool.h if
12086         GL_GENERATE_STDBOOL_H evaluates to false.
12087
12088         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
12089         conditional GL_GENERATE_STDDEF_H.
12090         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
12091         * modules/stddef (Makefile.am): Remove stddef.h if
12092         GL_GENERATE_STDDEF_H evaluates to false.
12093
12094         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
12095         GL_GENERATE_STDINT_H.
12096         * modules/stdint (Makefile.am): Remove stdint.h if
12097         GL_GENERATE_STDINT_H evaluates to false.
12098
12099         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
12100         GL_GENERATE_SYSEXITS_H.
12101         * modules/sysexits (Makefile.am): Remove sysexits.h if
12102         GL_GENERATE_SYSEXITS_H evaluates to false.
12103
12104         Reported by Karl Berry and Ralf Wildenhues.
12105
12106 2011-04-05  Bruno Haible  <bruno@clisp.org>
12107
12108         Ensure to rebuild generated .h files when config.status has changed.
12109         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
12110         config.status.
12111         * modules/ctype (Makefile.am): Likewise.
12112         * modules/dirent (Makefile.am): Likewise.
12113         * modules/errno (Makefile.am): Likewise.
12114         * modules/fcntl-h (Makefile.am): Likewise.
12115         * modules/float (Makefile.am): Likewise.
12116         * modules/getopt-posix (Makefile.am): Likewise.
12117         * modules/glob (Makefile.am): Likewise.
12118         * modules/iconv-h (Makefile.am): Likewise.
12119         * modules/inttypes (Makefile.am): Likewise.
12120         * modules/langinfo (Makefile.am): Likewise.
12121         * modules/locale (Makefile.am): Likewise.
12122         * modules/math (Makefile.am): Likewise.
12123         * modules/netdb (Makefile.am): Likewise.
12124         * modules/netinet_in (Makefile.am): Likewise.
12125         * modules/poll-h (Makefile.am): Likewise.
12126         * modules/pthread (Makefile.am): Likewise.
12127         * modules/pty (Makefile.am): Likewise.
12128         * modules/sched (Makefile.am): Likewise.
12129         * modules/search (Makefile.am): Likewise.
12130         * modules/selinux-h (Makefile.am): Likewise.
12131         * modules/signal (Makefile.am): Likewise.
12132         * modules/spawn (Makefile.am): Likewise.
12133         * modules/stdarg (Makefile.am): Likewise.
12134         * modules/stdbool (Makefile.am): Likewise.
12135         * modules/stddef (Makefile.am): Likewise.
12136         * modules/stdint (Makefile.am): Likewise.
12137         * modules/stdio (Makefile.am): Likewise.
12138         * modules/stdlib (Makefile.am): Likewise.
12139         * modules/string (Makefile.am): Likewise.
12140         * modules/strings (Makefile.am): Likewise.
12141         * modules/sys_file (Makefile.am): Likewise.
12142         * modules/sys_ioctl (Makefile.am): Likewise.
12143         * modules/sys_select (Makefile.am): Likewise.
12144         * modules/sys_socket (Makefile.am): Likewise.
12145         * modules/sys_stat (Makefile.am): Likewise.
12146         * modules/sys_time (Makefile.am): Likewise.
12147         * modules/sys_times (Makefile.am): Likewise.
12148         * modules/sys_utsname (Makefile.am): Likewise.
12149         * modules/sys_wait (Makefile.am): Likewise.
12150         * modules/sysexits (Makefile.am): Likewise.
12151         * modules/termios (Makefile.am): Likewise.
12152         * modules/time (Makefile.am): Likewise.
12153         * modules/unistd (Makefile.am): Likewise.
12154         * modules/wchar (Makefile.am): Likewise.
12155         * modules/wctype-h (Makefile.am): Likewise.
12156         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
12157
12158 2011-04-05  Bruno Haible  <bruno@clisp.org>
12159
12160         pipe2: Relicense under LGPLv2+.
12161         * modules/pipe2 (License): Change to LGPLv2+.
12162         Requested by Eric Blake, for libvirt.
12163
12164 2011-04-05  Bruce Korb  <bkorb@gnu.org>
12165
12166         bootstrap: compute gnulib_extra_files after updating build_aux
12167         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
12168         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12169
12170 2011-04-05  Eric Blake  <eblake@redhat.com>
12171
12172         bootstrap: preserve git whitelist item sorting
12173         * build-aux/bootstrap (sort_patterns): New function.
12174         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12175
12176 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12177
12178         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12179         sc_space_tab check.
12180
12181 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12182
12183         areadlink, areadlinkat: rewrite in terms of careadlinkat
12184         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12185         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12186         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12187         (malloc, realloc): Remove #undefs.
12188         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12189         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12190         readlink, ssize_t, stdint, unistd.
12191         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12192         areadlink, stdint.
12193
12194         careadlinkat: new module
12195         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12196         * modules/careadlinkat: New files, written by me with
12197         a review and feedback from Ben Pfaff in
12198         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12199
12200 2011-04-01  Bruno Haible  <bruno@clisp.org>
12201
12202         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12203         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12204         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12205         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12206         Reported by Bruce Korb <bruce.korb@gmail.com>.
12207
12208 2011-04-01  Bruno Haible  <bruno@clisp.org>
12209
12210         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12211         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12212         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12213         * modules/wcpcpy (Depends-on): Add extensions.
12214         * modules/wcpncpy (Depends-on): Likewise.
12215         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12216         systems.
12217         * doc/posix-functions/wcpncpy.texi: Likewise.
12218         * doc/posix-functions/wcwidth.texi: Likewise.
12219
12220 2011-03-31  Eric Blake  <eblake@redhat.com>
12221
12222         nonblocking: fix mingw test failures
12223         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12224         non-blocking flag on regular file.
12225         (get_nonblocking_flag): Set errno on invalid fd.
12226         * tests/test-nonblocking.c (main): Avoid test failure on
12227         directories if fchdir is not active.
12228         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12229
12230 2011-03-31  Bruno Haible  <bruno@clisp.org>
12231
12232         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12233         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12234         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12235         Reported by Simon Josefsson <simon@josefsson.org>.
12236
12237 2011-03-31  Bruno Haible  <bruno@clisp.org>
12238         and Eric Blake  <eblake@redhat.com>
12239
12240         nonblocking: new module
12241         * modules/nonblocking: New module.
12242         * modules/nonblocking-tests: Likewise.
12243         * lib/nonblocking.h: New file.
12244         * lib/nonblocking.c: Likewise.
12245         * tests/test-nonblocking.c: New test.
12246         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12247
12248 2011-03-30  Bruno Haible  <bruno@clisp.org>
12249
12250         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12251         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12252         instead of 'printf' format for GCC >= 4.4.
12253         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12254         (fprintf, printf, vfprintf, vprintf): Declare with
12255         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12256         the system's vfprintf() function.
12257         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12258
12259 2011-03-30  Eric Blake  <eblake@redhat.com>
12260
12261         passfd: fix scoping bug
12262         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12263         before sendmsg/recvmsg.
12264
12265         passfd: standardize coding conventions
12266         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12267         can be learned at compile time.
12268         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12269         ifdefs.
12270         (sendfd, recvfd): Follow gnulib code conventions.
12271
12272         passfd: fix incorrect sendmsg arguments
12273         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12274         incorrect msg_controllen value.
12275         * modules/passfd-tests (Depends-on): Check for alarm.
12276         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12277         Reported by Bastien ROUCARIES.
12278
12279 2011-03-30  Bruno Haible  <bruno@clisp.org>
12280
12281         c-strcasestr: Relicense under LGPLv2+.
12282         * modules/c-strcasestr (License): Change to LGPLv2+.
12283         Requested by Eric Blake, for libvirt.
12284
12285 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12286
12287         * users.txt: Add libidn2.  Fix libtasn1 link.
12288
12289 2011-03-30  Jim Meyering  <meyering@redhat.com>
12290
12291         tests: readlink* ("",... fails with EINVAL on newer kernels
12292         readlink and readlinkat have typically failed with ENOENT for
12293         the invalid, empty file name,  "".  However, with the advent
12294         of linux-2.6.39, they fail with EINVAL.
12295         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12296         when operating on the empty file name.
12297         * tests/test-readlink.h (test_readlink): Likewise.
12298
12299 2011-03-29  Bruno Haible  <bruno@clisp.org>
12300
12301         Relicense some modules under LGPLv2+, for libidn2.
12302         * modules/array-mergesort (License): Change to LGPLv2+.
12303         * modules/c-strcaseeq (License): Likewise.
12304         * modules/striconveh (License): Likewise.
12305         * modules/striconveha (License): Likewise.
12306         * modules/uniconv/base (License): Likewise.
12307         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12308         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12309         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12310         * modules/unictype/base (License): Likewise.
12311         * modules/unictype/bidiclass-of (License): Likewise.
12312         * modules/unictype/category-M (License): Likewise.
12313         * modules/unictype/category-none (License): Likewise.
12314         * modules/unictype/category-of (License): Likewise.
12315         * modules/unictype/category-test (License): Likewise.
12316         * modules/unictype/category-test-withtable (License): Likewise.
12317         * modules/unictype/combining-class (License): Likewise.
12318         * modules/unictype/joiningtype-of (License): Likewise.
12319         * modules/unictype/scripts (License): Likewise.
12320         * modules/uninorm/base (License): Likewise.
12321         * modules/uninorm/canonical-decomposition (License): Likewise.
12322         * modules/uninorm/composition (License): Likewise.
12323         * modules/uninorm/decompose-internal (License): Likewise.
12324         * modules/uninorm/decomposition-table (License): Likewise.
12325         * modules/uninorm/nfc (License): Likewise.
12326         * modules/uninorm/nfd (License): Likewise.
12327         * modules/uninorm/u32-normalize (License): Likewise.
12328         * modules/unistr/base (License): Likewise.
12329         * modules/unistr/u32-cpy (License): Likewise.
12330         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12331         * modules/unistr/u32-to-u8 (License): Likewise.
12332         * modules/unistr/u32-uctomb (License): Likewise.
12333         * modules/unistr/u8-check (License): Likewise.
12334         * modules/unistr/u8-mblen (License): Likewise.
12335         * modules/unistr/u8-mbtouc (License): Likewise.
12336         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12337         * modules/unistr/u8-mbtoucr (License): Likewise.
12338         * modules/unistr/u8-prev (License): Likewise.
12339         * modules/unistr/u8-strlen (License): Likewise.
12340         * modules/unistr/u8-to-u32 (License): Likewise.
12341         * modules/unistr/u8-uctomb (License): Likewise.
12342         * modules/unitypes (License): Likewise.
12343         Requested by Simon Josefsson.
12344
12345 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12346
12347         lib-symbol-visibility: Add a notice.
12348         * modules/lib-symbol-visibility (Notice): New field.
12349
12350 2011-03-29  Bruno Haible  <bruno@clisp.org>
12351
12352         getaddrinfo: Doc fix.
12353         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12354         section "fixed in Gnulib".
12355
12356 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12357
12358         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12359         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12360
12361 2011-03-26  Bruno Haible  <bruno@clisp.org>
12362
12363         unictype/property-byname: Reduce the number of load-time relocations.
12364         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12365         (UC_PROPERTY_INDEX_*): New enumeration values.
12366         (uc_property_byname): Convert an index from the lookup table to an
12367         uc_property_t.
12368         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12369         values.
12370
12371 2011-03-26  Bruno Haible  <bruno@clisp.org>
12372
12373         unictype/property-byname: Allow omitted word separators and aliases.
12374         * lib/unictype/pr_byname.gperf: Add property names without word
12375         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12376         for 'space'.
12377
12378 2011-03-26  Bruno Haible  <bruno@clisp.org>
12379
12380         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12381         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12382         also hyphens to space.
12383         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12384         without spaces.
12385         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12386
12387 2011-03-26  Bruno Haible  <bruno@clisp.org>
12388
12389         unictype/joiningtype-byname: Recognize long names as well.
12390         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12391         a long name.
12392         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12393         unictype/joiningtype_byname.h.
12394         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12395         * lib/unictype/joiningtype_byname.gperf: New file.
12396         * modules/unictype/joiningtype-byname (Files): Add
12397         lib/unictype/joiningtype_byname.gperf.
12398         (Depends-on): Add gperf.
12399         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12400         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12401         long names.
12402
12403         Tests for module 'unictype/joiningtype-longname'.
12404         * modules/unictype/joiningtype-longname-tests: New file.
12405         * tests/unictype/test-joiningtype_longname.c: New file.
12406
12407         New module 'unictype/joiningtype-longname'.
12408         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12409         * lib/unictype/joiningtype_longname.c: New file.
12410         * modules/unictype/joiningtype-longname: New file.
12411         * modules/unictype/joiningtype-all (Depends-on): Add
12412         unictype/joiningtype-longname.
12413
12414 2011-03-26  Bruno Haible  <bruno@clisp.org>
12415
12416         unictype/bidiclass-byname: Recognize long names as well.
12417         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12418         name.
12419         * lib/unictype/bidi_byname.c: Include <string.h>,
12420         unictype/bidi_byname.h.
12421         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12422         * lib/unictype/bidi_byname.gperf: New file.
12423         * modules/unictype/bidiclass-byname (Files): Add
12424         lib/unictype/bidi_byname.gperf.
12425         (Depends-on): Add gperf.
12426         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12427         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12428         long names.
12429
12430         Tests for module 'unictype/bidiclass-longname'.
12431         * modules/unictype/bidiclass-longname-tests: New file.
12432         * tests/unictype/test-bidi_longname.c: New file.
12433
12434         New module 'unictype/bidiclass-longname'.
12435         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12436         * lib/unictype/bidi_longname.c: New file.
12437         * modules/unictype/bidiclass-longname: New file.
12438         * modules/unictype/bidiclass-all (Depends-on): Add
12439         unictype/bidiclass-longname.
12440
12441 2011-03-26  Bruno Haible  <bruno@clisp.org>
12442
12443         unictype/bidi*: Rename modules.
12444         * modules/unictype/bidiclass-all: Renamed from
12445         modules/unictype/bidicategory-all.
12446         * modules/unictype/bidiclass-name: Renamed from
12447         modules/unictype/bidiclass-name.
12448         (Description): Update.
12449         * modules/unictype/bidiclass-name-tests: Renamed from
12450         modules/unictype/bidicategory-name-tests.
12451         * modules/unictype/bidiclass-byname: Renamed from
12452         modules/unictype/bidicategory-byname.
12453         (Description): Update.
12454         * modules/unictype/bidiclass-byname-tests: Renamed from
12455         modules/unictype/bidicategory-byname-tests.
12456         * modules/unictype/bidiclass-of: Renamed from
12457         modules/unictype/bidicategory-of.
12458         (Description): Update.
12459         * modules/unictype/bidiclass-of-tests: Renamed from
12460         modules/unictype/bidicategory-of-tests.
12461         * modules/unictype/bidiclass-test: Renamed from
12462         modules/unictype/bidicategory-test.
12463         (Description): Update.
12464         * modules/unictype/bidiclass-test-tests: Renamed from
12465         modules/unictype/bidicategory-test-tests.
12466         * modules/unictype/bidicategory-all: New file, a simple redirection.
12467         * modules/unictype/bidicategory-name: Likewise.
12468         * modules/unictype/bidicategory-byname: Likewise.
12469         * modules/unictype/bidicategory-of: Likewise.
12470         * modules/unictype/bidicategory-test: Likewise.
12471         * modules/unictype/property-bidi-* (Dependencies): Update.
12472         * lib/unictype/bidi_*.c: Update comment.
12473
12474 2011-03-26  Bruno Haible  <bruno@clisp.org>
12475
12476         unictype/bidi*: Rename functions, part 2.
12477         * modules/unictype/bidicategory-name (configure.ac): Update required
12478         libunistring version.
12479         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12480
12481 2011-03-25  Bruno Haible  <bruno@clisp.org>
12482
12483         New module 'unictype/combining-class-all'.
12484         * modules/unictype/combining-class-all: New file.
12485
12486         Tests for module 'unictype/combining-class-byname'.
12487         * modules/unictype/combining-class-byname-tests: New file.
12488         * tests/unictype/test-combiningclass_byname.c: New file.
12489
12490         New module 'unictype/combining-class-byname'.
12491         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12492         * lib/unictype/combiningclass_byname.c: New file.
12493         * lib/unictype/combiningclass_byname.gperf: New file.
12494         * modules/unictype/combining-class-byname: New file.
12495
12496         Tests for module 'unictype/combining-class-longname'.
12497         * modules/unictype/combining-class-longname-tests: New file.
12498         * tests/unictype/test-combiningclass_longname.c: New file.
12499
12500         New module 'unictype/combining-class-longname'.
12501         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12502         * lib/unictype/combiningclass_longname.c: New file.
12503         * modules/unictype/combining-class-longname: New file.
12504
12505         Tests for module 'unictype/combining-class-name'.
12506         * modules/unictype/combining-class-name-tests: New file.
12507         * tests/unictype/test-combiningclass_name.c: New file.
12508
12509         New module 'unictype/combining-class-name'.
12510         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12511         * lib/unictype/combiningclass_name.c: New file.
12512         * modules/unictype/combining-class-name: New file.
12513
12514 2011-03-25  Bruno Haible  <bruno@clisp.org>
12515
12516         unictype/combining-class: Rename source files.
12517         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12518         of unictype/combining.h.
12519         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12520         Update.
12521         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12522         * modules/unictype/combining-class (Description): Fix.
12523         (Files, Makefile.am): Update.
12524         * tests/unictype/test-combiningclass.c: Renamed from
12525         tests/unictype/test-combining.c.
12526         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12527
12528 2011-03-25  Bruno Haible  <bruno@clisp.org>
12529
12530         unictype: Update list of canonical combining classes.
12531         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12532
12533 2011-03-25  Bruno Haible  <bruno@clisp.org>
12534
12535         unictype/category-byname: Recognize long names as well.
12536         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12537         a long name.
12538         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12539         unictype/categ_byname.h.
12540         (UC_CATEGORY_INDEX_*): New enumeration values.
12541         (uc_general_category_byname): Use uc_general_category_lookup and
12542         convert from index to value.
12543         * lib/unictype/categ_byname.gperf: New file.
12544         * modules/unictype/category-byname (Files): Add
12545         lib/unictype/categ_byname.gperf.
12546         (Depends-on): Add gperf.
12547         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12548         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12549         long names.
12550
12551         Tests for module 'unictype/category-longname'.
12552         * modules/unictype/category-longname-tests: New file.
12553         * tests/unictype/test-categ_longname.c: New file.
12554
12555         New module 'unictype/category-longname'.
12556         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12557         * lib/unictype/categ_longname.c: New file.
12558         * modules/unictype/category-longname: New file.
12559         * modules/unictype/category-all (Depends-on): Add it.
12560
12561 2011-03-25  Bruno Haible  <bruno@clisp.org>
12562
12563         Tests for module 'unictype/category-LC'.
12564         * modules/unictype/category-LC-tests: New file.
12565         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12566
12567         New module 'unictype/category-LC'.
12568         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12569         (UC_CATEGORY_LC): New declaration.
12570         (UC_CASED_LETTER): New macro.
12571         * lib/gen-uni-tables.c (is_category_LC): New function.
12572         (output_categories): Also handle category LC.
12573         (UC_CATEGORY_MASK_LC): New enumeration value.
12574         (general_category_byname): Also handle category LC.
12575         * lib/unictype/categ_LC.c: New file.
12576         * lib/unictype/categ_LC.h: New file, automatically generated.
12577         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12578         category LC.
12579         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12580         * modules/unictype/category-LC: New file.
12581         * modules/unictype/category-byname (Depends-on): Add
12582         unictype/category-LC.
12583         * modules/unictype/category-all (Depends-on): Likewise.
12584
12585 2011-03-25  Eric Blake  <eblake@redhat.com>
12586
12587         xmalloc: revert yesterday's regression
12588         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12589         realloc's underlying behavior (allowing allocation of zero-size
12590         objects, especially if malloc-gnu is also in use).
12591
12592 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12593
12594         maint.mk: add missing version to VC-tag
12595         * top/maint.mk: git tag was missing actual tag name; add it.
12596
12597         valgrind: do leak checking, and exit with code 1 on error (not 0)
12598         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12599         to VALGRIND.
12600
12601 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12602
12603         posix-modules: say what it does.
12604         * posix-modules: Add a line to the --help output saying what it does.
12605
12606 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12607
12608         xmalloc: Do not leak if underlying realloc is C99 compatible.
12609         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12610         This avoids a leak on C99-based systems.  See
12611         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12612
12613 2011-03-24  Eric Blake  <eblake@redhat.com>
12614
12615         realloc: document portability problem
12616         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12617         passing 0 size to realloc.
12618
12619 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12620
12621         doc: update users.txt
12622         * users.txt: Add cvsps, tmpwatch
12623
12624 2011-03-23  Matt Rice  <ratmice@gmail.com>
12625
12626         doc: update users.txt
12627         * users.txt: Add gdb.
12628
12629 2011-03-23  Jim Meyering  <meyering@redhat.com>
12630
12631         doc: update users.txt
12632         Looking through matches up to the following URL (there are still
12633         several more pages), I found several projects that use gnulib:
12634         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12635         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12636         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12637
12638 2011-03-22  Bruno Haible  <bruno@clisp.org>
12639
12640         unictype/bidi*: Rename functions.
12641         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12642         uc_bidi_class, uc_is_bidi_class): New declarations.
12643         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12644         uc_bidi_category_byname.
12645         (uc_bidi_category_byname): New function.
12646         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12647         u_bidi_category_name.
12648         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12649         (uc_bidi_category_name): New function.
12650         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12651         uc_bidi_category.
12652         (uc_bidi_category): New function.
12653         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12654         uc_is_bidi_category. Invoke uc_bidi_class.
12655         (uc_is_bidi_category): New function.
12656         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12657         instead of uc_bidi_category_byname.
12658         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12659         instead of uc_bidi_category_name.
12660         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12661         uc_bidi_category.
12662         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12663         instead of uc_is_bidi_category.
12664
12665 2011-03-21  Bruno Haible  <bruno@clisp.org>
12666
12667         New module 'unictype/joininggroup-all'.
12668         * modules/unictype/joininggroup-all: New file.
12669
12670         Tests for module 'unictype/joininggroup-of'.
12671         * modules/unictype/joininggroup-of-tests: New file.
12672         * tests/unictype/test-joininggroup_of.c: New file.
12673         * tests/unictype/test-joininggroup_of.h: New file, automatically
12674         generated by gen-uni-tables.
12675
12676         New module 'unictype/joininggroup-of'.
12677         * modules/unictype/joininggroup-of: New file.
12678         * lib/unictype/joininggroup_of.c: New file.
12679         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12680         gen-uni-tables.
12681
12682         Tests for module 'unictype/joininggroup-byname'.
12683         * modules/unictype/joininggroup-byname-tests: New file.
12684         * tests/unictype/test-joininggroup_byname.c: New file.
12685
12686         New module 'unictype/joininggroup-byname'.
12687         * modules/unictype/joininggroup-byname: New file.
12688         * lib/unictype/joininggroup_byname.c: New file.
12689         * lib/unictype/joininggroup_byname.gperf: New file.
12690
12691         Tests for module 'unictype/joininggroup-name'.
12692         * modules/unictype/joininggroup-name-tests: New file.
12693         * tests/unictype/test-joininggroup_name.c: New file.
12694
12695         New module 'unictype/joininggroup-name'.
12696         * modules/unictype/joininggroup-name: New file.
12697         * lib/unictype/joininggroup_name.c: New file.
12698         * lib/unictype/joininggroup_name.h: New file.
12699
12700         New module 'unictype/joiningtype-all'.
12701         * modules/unictype/joiningtype-all: New file.
12702
12703         Tests for module 'unictype/joiningtype-of'.
12704         * modules/unictype/joiningtype-of-tests: New file.
12705         * tests/unictype/test-joiningtype_of.c: New file.
12706         * tests/unictype/test-joiningtype_of.h: New file, automatically
12707         generated by gen-uni-tables.
12708
12709         New module 'unictype/joiningtype-of'.
12710         * modules/unictype/joiningtype-of: New file.
12711         * lib/unictype/joiningtype_of.c: New file.
12712         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12713         gen-uni-tables.
12714
12715         Tests for module 'unictype/joiningtype-byname'.
12716         * modules/unictype/joiningtype-byname-tests: New file.
12717         * tests/unictype/test-joiningtype_byname.c: New file.
12718
12719         New module 'unictype/joiningtype-byname'.
12720         * modules/unictype/joiningtype-byname: New file.
12721         * lib/unictype/joiningtype_byname.c: New file.
12722
12723         Tests for module 'unictype/joiningtype-name'.
12724         * modules/unictype/joiningtype-name-tests: New file.
12725         * tests/unictype/test-joiningtype_name.c: New file.
12726
12727         New module 'unictype/joiningtype-name'.
12728         * modules/unictype/joiningtype-name: New file.
12729         * lib/unictype/joiningtype_name.c: New file.
12730
12731         unictype: Add support for Arabic shaping properties.
12732         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12733         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12734         declarations.
12735         (UC_JOINING_GROUP_*): New enumeration values.
12736         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12737         declarations.
12738         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12739         (unicode_joining_type): New variable.
12740         (UC_JOINING_GROUP_*): New enumeration values.
12741         (unicode_joining_group): New variable.
12742         (fill_arabicshaping, joining_type_as_c_identifier,
12743         output_joining_type_test, output_joining_type,
12744         joining_group_as_c_identifier, output_joining_group_test,
12745         output_joining_group): New functions.
12746         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12747         fill_arabicshaping and output_joining_type_test, output_joining_type,
12748         output_joining_group_test, output_joining_group.
12749         Reported by Simon Josefsson.
12750
12751 2011-03-21  Jim Meyering  <meyering@redhat.com>
12752
12753         strftime: fix a bug in yesterday's change
12754         * lib/strftime.c (add): Accommodate width's initial value of -1.
12755         Otherwise, nstrftime would copy uninitialized data into
12756         the result buffer.
12757
12758 2011-03-21  Jim Meyering  <meyering@redhat.com>
12759
12760         tests: add strftime-tests module
12761         * tests/test-strftime.c: New file.
12762         * modules/strftime-tests: New module.
12763
12764 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12765
12766         strftime: don't assume a byte count fits in 'int'
12767         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12768         found this problem by static analysis, using gcc -Wstrict-overflow
12769         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12770         on an integer overflow having undefined behavior, but it turns out
12771         that the argument is a size, which might not fit in 'int' anyway,
12772
12773 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12774
12775         stdio: don't require ignore_value around fwrite
12776
12777         This patch works around libc bug 11959
12778         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12779         Without this patch, applications must often write
12780         ignore_value (fwrite (...)) even though the ignore_value is
12781         not helpful here.  It's common to write many objects, using
12782         fwrite/printf/etc., and then use ferror to detect output error.
12783
12784         I considered making this patch optional, but decided against it,
12785         because libc is obviously being inconsistent here: there is no
12786         reason libc should insist that user code must inspect fwrite
12787         return's value without also insisting that it inspect printf's,
12788         putchar's, etc.  If user code wants to have a strict style where
12789         all these functions' values are checked (so that ferror need not
12790         be checked), we could add support for that style in a new gnulib
12791         module, but in the meantime it's better to be consistent and to
12792         support common usage.
12793
12794         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12795         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12796         that we are compiling in checking mode, and if not C++, and
12797         if not already wrapping fwrite for some other reason.
12798         (fwrite): #define to rpl_fwrite if the latter is defined.
12799
12800 2011-03-20  Bruno Haible  <bruno@clisp.org>
12801
12802         verror: Fix compilation error introduced on 2011-02-13.
12803         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12804         instead of __attribute__.
12805         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12806
12807 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12808             Bruno Haible  <bruno@clisp.org>
12809
12810         socklen: do not depend on sys_socket
12811         While trying to modify Emacs to use gnulib's socklen module,
12812         I discovered a circular dependency: socklen depends on sys_socket
12813         and vice versa.  Emacs can use socklen, but it does not need
12814         sys_socket because it has its own substitute for sys/socket.h.
12815         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12816         gl_TYPE_SOCKLEN_T.
12817         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12818         gl_PREREQ_SYS_H_SOCKET.
12819         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12820         gl_PREREQ_SYS_H_SOCKET.
12821         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12822         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12823         * modules/socklen (Depends-on): Do not depend on sys_socket.
12824         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12825
12826 2011-03-20  Jim Meyering  <meyering@redhat.com>
12827
12828         maint.mk: sort file names *after* new transformation
12829         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12830         prefix would have led to an unwarranted failure in GNU parted.
12831         Sort after that transformation.
12832
12833 2011-03-19  Jim Meyering  <meyering@redhat.com>
12834
12835         maint.mk: fix po-file syntax-check rule
12836         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12837         Patch by Bruno Haible.
12838
12839 2011-03-19  Bruno Haible  <bruno@clisp.org>
12840
12841         socklen: Update comment.
12842         * m4/socklen.m4: Update comment about platforms.
12843
12844 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12845             Bruno Haible  <bruno@clisp.org>
12846
12847         inet_ntop, inet_pton: Simplify.
12848         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12849         documented to provide socklen_t and we already depend on sys_socket.
12850         * modules/inet_pton (Depends-on): Likewise.
12851         * lib/arpa_inet.in.h: Adjust comment.
12852
12853 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12854             Bruno Haible  <bruno@clisp.org>
12855
12856         netdb: Simplify.
12857         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12858         documented to provide socklen_t and we already depend on sys_socket.
12859         * lib/netdb.in.h: Adjust comment.
12860
12861 2011-03-19  Bruno Haible  <bruno@clisp.org>
12862
12863         sys_socket, netdb: Document problem with socklen_t.
12864         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12865         platforms.
12866         * doc/posix-headers/netdb.texi: Likewise.
12867
12868 2011-03-18  Eric Blake  <eblake@redhat.com>
12869
12870         maint.mk: let po check work in VPATH build
12871         * top/maint.mk (po_file): Allow cfg.mk override.
12872         (sc_po_check): Allow VPATH use.
12873         Reported by Jiri Denemark.
12874
12875 2011-03-16  Jim Meyering  <meyering@redhat.com>
12876
12877         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12878         Before, you would have had to create one .x-sc_ file per rule in order
12879         to exempt offending files.  Now, you may instead use a Make variable --
12880         usually defined in cfg.mk -- whose name identifies the affected rule.
12881         * top/maint.mk (_sc_excl): Define.
12882         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12883         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12884
12885 2011-03-13  Bruno Haible  <bruno@clisp.org>
12886
12887         ignore-value tests: Avoid warnings.
12888         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12889         empty for gcc < 3.4.
12890
12891 2011-03-13  Bruno Haible  <bruno@clisp.org>
12892
12893         passfd: Fix link error on Solaris.
12894         * modules/passfd (Description): Correct.
12895         (Depends-on): Add socketlib.
12896         (Link): New section.
12897         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12898
12899 2011-03-13  Bruno Haible  <bruno@clisp.org>
12900
12901         passfd: Fix link error on AIX 5.2.
12902         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12903
12904 2011-03-13  Bruno Haible  <bruno@clisp.org>
12905
12906         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12907         * lib/sys_socket.in.h: Include <stddef.h>.
12908         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12909         CMSG_FIRSTHDR. Remove unused variable.
12910
12911 2011-03-13  Bruno Haible  <bruno@clisp.org>
12912
12913         passfd: Fix compilation error on OpenBSD.
12914         * lib/passfd.c: Include <sys/uio.h>.
12915
12916 2011-03-13  Bruno Haible  <bruno@clisp.org>
12917
12918         passfd test: Fix warnings.
12919         * tests/test-passfd.c: Include <sys/wait.h>.
12920         (main): Fix typo.
12921
12922 2011-03-13  Bruno Haible  <bruno@clisp.org>
12923
12924         passfd module, part 4, tweaks.
12925         * tests/test-passfd.c: Reorder includes.
12926         (main): Fix perror and printf calls.
12927
12928 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12929
12930         passfd module, part 4.
12931         * modules/passfd-tests: New file.
12932         * tests/test-passfd.c: New file.
12933
12934 2011-03-13  Jim Meyering  <meyering@redhat.com>
12935
12936         Makefile: rely on GNU make; derive syntax-check rule names
12937         Rather than requiring that each sc_ rule be listed as a dependent
12938         of "check", use features of GNU make to derive the list.
12939         * Makefile (syntax-check-rules): Define.
12940         (check): Depend on the new variable, not the hard-coded list.
12941
12942 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12943             Bruno Haible  <bruno@clisp.org>
12944
12945         passfd module, part 3.
12946         * lib/passfd.h (recvfd): Add a flags argument.
12947         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12948         (recvfd): Add a flags argument.
12949         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12950         exists.
12951         * modules/passfd (Depends-on): Add cloexec.
12952         Suggested by Eric Blake.
12953
12954 2011-03-13  Bruno Haible  <bruno@clisp.org>
12955
12956         passfd module, part 2, tweaks.
12957         * modules/passfd (Files): Reorder.
12958         (Depends-on): Remove errno.
12959         (Include): Remove <sys/socket.h>, <sys/un.h>.
12960         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12961         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12962         specification header. Include <sys/socket.h> always. Don't include
12963         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12964         (sendfd): Clarify that it sets errno when it fails.
12965         (recvfd): Fix specification.
12966
12967 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12968
12969         passfd module, part 2.
12970         * modules/passfd: New file.
12971         * lib/passfd.h: New file.
12972         * lib/passfd.c: New file.
12973
12974 2011-03-12  Bruno Haible  <bruno@clisp.org>
12975
12976         wcswidth, mbswidth: Avoid integer overflow.
12977         * lib/wcswidth.c: Include <limits.h>.
12978         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12979         * lib/mbswidth.c: Include <limits.h>.
12980         (mbsnwidth): Avoid 'int' overflow.
12981         Reported by Jim Meyering.
12982
12983 2011-03-12  Bruno Haible  <bruno@clisp.org>
12984
12985         futimens, utimensat: Avoid endless recursion on Solaris 10.
12986         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12987         Solaris.
12988         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12989         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12990
12991 2011-03-11  Jim Meyering  <meyering@redhat.com>
12992
12993         maint.mk: relax a regexp to accommodate other formatting styles
12994         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12995         between "ngettext" and the following "(".
12996
12997 2011-03-11  Pádraig Brady <P@draigBrady.com>
12998
12999         maint.mk: suppress a false positive warning
13000         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
13001         diagnostics are marked with ngettext.
13002
13003 2011-03-10  Eric Blake  <eblake@redhat.com>
13004
13005         wchar: add explicit dependencies, for Tru64
13006         * modules/mbmemcasecoll (Depends-on): Add wchar.
13007         * modules/mbtowc (Depends-on): Likewise.
13008         * modules/vasnprintf (Depends-on): Likewise.
13009         * modules/unistdio/u-printf-args (Depends-on): Likewise.
13010         * modules/wctomb (Depends-on): Likewise.
13011         Reported by Peter O'Gorman.
13012
13013 2011-03-08  Bruno Haible  <bruno@clisp.org>
13014
13015         passfd module, part 1, tweaks.
13016         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
13017         Improve indentation. Improve AC_MSG_CHECKING messages.
13018         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
13019         gl_SOCKET_FAMILIES.
13020
13021 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
13022
13023         passfd module, part 1.
13024         * m4/afunix.m4: New file.
13025         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
13026         sockets.
13027
13028 2011-03-08  Bruno Haible  <bruno@clisp.org>
13029
13030         regex-quote: New API.
13031         * lib/regex-quote.h: Include <stdbool.h>.
13032         (struct regex_quote_spec): New type.
13033         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13034         New declarations.
13035         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13036         'const struct regex_quote_spec *' argument.
13037         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
13038         (pcre_special): New constant.
13039         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
13040         New functions.
13041         (regex_quote_length, regex_quote_copy, regex_quote): Take a
13042         'const struct regex_quote_spec *' argument.
13043         * modules/regex-quote (Depends-on): Add stdbool.
13044         * tests/test-regex-quote.c (check): Update for new API. Add test for
13045         anchored results.
13046         * NEWS: Mention the API change.
13047         Reported by Reuben Thomas and Eric Blake.
13048
13049 2011-03-06  Bruno Haible  <bruno@clisp.org>
13050
13051         regex-quote: Fix creation of POSIX extended regular expressions.
13052         * lib/regex-quote.c (ere_special): Add grouping and alternation
13053         operators.
13054
13055 2011-03-05  Bruno Haible  <bruno@clisp.org>
13056
13057         doc: Improve doc regarding autopoint vs. gnulib.
13058         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
13059         disable autopoint while running autoreconf.
13060         Suggested by Ralf Wildenhues.
13061
13062 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13063
13064         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
13065         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
13066
13067 2011-03-03  Bruce Korb  <bkorb@gnu.org>
13068
13069         parse-duration: remove xalloc.h dependency
13070         * lib/parse-duration.c (parse_period): handle NULL return from
13071         strdup instead of calling xstrdup().
13072         * modules/parse-duration: remove "xalloc" dependency
13073
13074 2011-03-03  Matthew Booth  <mbooth@redhat.com>
13075
13076         bootstrap: honor m4_base when running aclocal
13077         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
13078
13079 2011-03-02  Jim Meyering  <meyering@redhat.com>
13080
13081         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
13082         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
13083         on request from Matt Booth.
13084
13085 2011-03-01  Eric Blake  <eblake@redhat.com>
13086
13087         test-link: work on Hurd
13088         * tests/test-link.h (test_link): Hurd rejects linking directories
13089         with EISDIR instead of the POSIX-mandated EPERM.
13090
13091 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
13092
13093         stdio: simplify by moving files to printf-posix, sigpipe
13094         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
13095         since this symbol is needed only if printf is replaced.
13096         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
13097         Require gl_ASM_SYMBOL_PREFIX.
13098         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
13099         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
13100         (Depends-on): Add 'raise'.
13101         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
13102         * modules/stdio (Files): Remove lib/stdio-write.c,
13103         m4/asm-underscore.m4.
13104         (Depends-on): Remove 'raise'.
13105
13106         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
13107         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
13108         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
13109         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
13110
13111 2011-02-28  Bruno Haible  <bruno@clisp.org>
13112
13113         localcharset: Assume ANSI C behaviour of free().
13114         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
13115         calling free().
13116         Suggested by Simon Josefsson <simon@josefsson.org>.
13117
13118 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
13119             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
13120             Bruno Haible  <bruno@clisp.org>  (tiny change)
13121
13122         On Cygwin, use /proc file system instead of win32 API.
13123         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
13124         Win32 file names.
13125         (DllMain): Simplify by removing Cygwin specific code.
13126         (find_shared_library_fullname): Use Linux specific implementation also
13127         for Cygwin.
13128         (get_shared_library_fullname): Update accordingly.
13129         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
13130         Win32 file names.
13131         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
13132         Cygwin specific code.
13133
13134 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
13135             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
13136
13137         Fix OpenMP flag detection for various Fortran compilers.
13138         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
13139         OpenMP-conditional compilation construct, to force compile
13140         failure with missing OpenMP flag.
13141         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
13142
13143 2011-02-25  Eric Blake  <eblake@redhat.com>
13144
13145         strstr: expand test coverage
13146         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
13147         compilation.
13148         * tests/test-memmem.c (main): Duplicate tests.
13149         * tests/test-strcasestr.c (main): Likewise.
13150         * tests/test-c-strcasestr.c (main): Likewise.
13151
13152 2011-02-25  Jim Meyering  <meyering@redhat.com>
13153
13154         maint.mk: detect missing-NL-at-EOF, too
13155         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
13156         it also detects when a file lacks a newline at EOF.
13157         (require_exactly_one_NL_at_EOF_): Renamed from
13158         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
13159         since people may well have .x-sc_... file names tied to the
13160         existing name.  Suggested by Eric Blake.
13161
13162 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13163
13164         dirname: move m4/dos.m4 functionality into lib/dosname.h
13165
13166         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
13167         extracts symbols from it, puts them into config.h; but it's much
13168         easier to use the symbols directly.  filename.h already does this,
13169         but it disagrees with dos.m4 in some respects.  This patch
13170         introduces a different include file dosname.h that packages up
13171         dos.m4, and then later we can work on merging filename.h and
13172         dosname.h.  Applications that need only the easy-to-configure
13173         symbols should consider including dosname.h rather than dirname.h.
13174         * NEWS: Mention incompatible changes.
13175         * m4/dos.m4: Remove.
13176         * lib/dosname.h, modules/dosname: New files.
13177         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13178         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13179         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13180         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13181         Include dosname.h, not dirname.h.
13182         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13183         Include dosname.h, for definitions of symbols like ISSLASH
13184         that used to be in config.h.
13185         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13186         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13187         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13188         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13189         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13190         * modules/rmdir (Files): Likewise.
13191         * modules/stat (Files): Likewise.
13192         * modules/unlink (Files): Likewise.
13193         * modules/dirname-lgpl (Depends-on): Add dosname.
13194         * modules/lstat (Depends-on): Likewise.
13195         * modules/openat (Depends-on): Likewise.
13196         * modules/rmdir (Depends-on): Likewise.
13197         * modules/savewd (Depends-on): Likewise.
13198         * modules/stat (Depends-on): Likewise.
13199         * modules/unlink (Depends-on): Likewise.
13200         * modules/openat (Depends-on): Remove dirname-lgpl.
13201         * modules/savewd (Depends-on): Likewise.
13202         * tests/test-dirname.c: Do not use removed symbols like
13203         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13204         the remaining symbols, e.g., ISSLASH ('\\').
13205
13206 2011-02-25  Eric Blake  <eblake@redhat.com>
13207
13208         strstr: revert patches that introduced bug and pessimization
13209         * lib/str-two-way.h: Add another reference.
13210         (two_way_short_needle, two_way_long_needle): Revert changes from
13211         2011-02-24; they pessimize search speed.
13212         (critical_factorization): Partially revert changes from
13213         2010-06-22; they violate the requirement that the left half of the
13214         needle be smaller than the period of the needle.
13215
13216 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13217
13218         filenamecat: remove unnecessary dependency on dirname-lgpl
13219         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13220         is no direct dependency, just an indirect one via filenamecat-lgpl.
13221
13222         remove: remove unnecessary use of m4/dos.m4
13223         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13224         * modules/remove (FILES): Remove m4/dos.m4.
13225
13226         * lib/openat-proc.c: Don't include dirname.h; not needed.
13227
13228         backupfile: remove unnecessary use of m4/dos.m4
13229         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13230         of its symbols are used by the backupfile code.  backupfile.c does
13231         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13232         for the rare case of programs that want all their backup file
13233         names to live within 8+3 limits, and dos.m4 doesn't address that.
13234         * modules/backupfile (Files): Remove m4/dos.m4.
13235
13236 2011-02-24  Jim Meyering  <meyering@redhat.com>
13237
13238         strstr: fix a bug whereby strstr would mistakenly return NULL
13239         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13240         in period calculation.
13241         (two_way_long_needle): Likewise.
13242         The original problem was reported by Mike Stump in
13243         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13244         Ralf Wildenhues provided the short needle and haystack.
13245         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13246         Add a more involved test to trigger the bug in two_way_long_needle.
13247
13248 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13249
13250         gnulib-tool: remove use of bold display in help screen
13251         * gnulib-tool (func_usage): Do not use bold display anymore in the
13252         help screen.  That was just meant to be a temporary emphasis for a
13253         backward-incompatible change.
13254
13255 2011-02-23  Bruno Haible  <bruno@clisp.org>
13256
13257         Fix misindentation of preprocessor directives.
13258         * lib/argp-namefrob.h: Reindent preprocessor directives.
13259         * lib/getopt_int.h (struct _getopt_data): Likewise.
13260         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13261         * lib/vasnprintf.c (decode_long_double): Likewise.
13262         * tests/test-argmatch.c: Insert blank lines, for clarity.
13263         * tests/test-exclude.c: Likewise.
13264
13265 2011-02-22  Bruno Haible  <bruno@clisp.org>
13266
13267         ioctl: Fix for MacOS X in 64-bit mode.
13268         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13269         value.
13270         Suggested by Eric Blake.
13271         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13272
13273 2011-02-22  Jim Meyering  <meyering@redhat.com>
13274
13275         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13276         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13277         in lib/.
13278
13279 2011-02-22  Eric Blake  <eblake@redhat.com>
13280
13281         maint: avoid any CDPATH issue
13282         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13283
13284         maint: adjust cpp indentation for my modules, as well
13285         * Makefile (sc_cpp_indent_check): Add my name.
13286         * lib/fbufmode.c: Filter through cppi.
13287         * lib/fpurge.c: Likewise.
13288         * lib/freadable.c: Likewise.
13289         * lib/freading.c: Likewise.
13290         * lib/fwritable.c: Likewise.
13291         * lib/fwriting.c: Likewise.
13292         * lib/sigaction.c: Likewise.
13293
13294 2011-02-22  Jim Meyering  <meyering@redhat.com>
13295
13296         maint: adjust cpp indentation to reflect nesting depth
13297         I.e., in a block of code that begins with an unnested "#if",
13298         put one space between the "#" in column 1 and following token.
13299         For example,
13300         -#include <sys/vfs.h>
13301         +# include <sys/vfs.h>
13302         Do this only in .c files that are part of a module I maintain.
13303         * lib/linkat.c: Filter through cppi.
13304         * lib/nanosleep.c: Likewise.
13305         * lib/openat.c: Likewise.
13306         * lib/openat-die.c: Likewise.
13307         * lib/dup3.c: Likewise.
13308         * lib/fchownat.c: Likewise.
13309         * lib/flock.c: Likewise.
13310         * lib/fsync.c: Likewise.
13311         * lib/fts.c: Likewise.
13312         * lib/getpass.c: Likewise.
13313         * lib/gettimeofday.c: Likewise.
13314         * lib/userspec.c: Likewise.
13315         * Makefile (sc_cpp_indent_check): New rule, to check this.
13316
13317 2011-02-22  Bruno Haible  <bruno@clisp.org>
13318
13319         New module 'wctomb'.
13320         * lib/stdlib.in.h (wctomb): New declaration.
13321         * lib/wctomb.c: New file.
13322         * lib/wctomb-impl.h: New file.
13323         * m4/wctomb.m4: New file.
13324         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13325         REPLACE_WCTOMB.
13326         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13327         REPLACE_WCTOMB.
13328         * modules/wctomb: New file.
13329         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13330         * doc/posix-functions/wctomb.texi: Mention the new module.
13331         * modules/wctob (Depends-on): Add wctomb.
13332
13333 2011-02-22  Bruno Haible  <bruno@clisp.org>
13334
13335         New module 'mbtowc'.
13336         * lib/stdlib.in.h (mbtowc): New declaration.
13337         * lib/mbtowc.c: New file.
13338         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13339         * m4/mbtowc.m4: New file.
13340         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13341         REPLACE_MBTOWC.
13342         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13343         REPLACE_MBTOWC.
13344         * modules/mbtowc: New file.
13345         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13346         * doc/posix-functions/mbtowc.texi: Mention the new module.
13347         * modules/btowc (Depends-on): Add mbtowc.
13348
13349 2011-02-22  Bruno Haible  <bruno@clisp.org>
13350
13351         wcrtomb: Add more tests for native Windows platforms.
13352         * tests/test-wcrtomb-w32-1.sh: New file.
13353         * tests/test-wcrtomb-w32-2.sh: New file.
13354         * tests/test-wcrtomb-w32-3.sh: New file.
13355         * tests/test-wcrtomb-w32-4.sh: New file.
13356         * tests/test-wcrtomb-w32-5.sh: New file.
13357         * tests/test-wcrtomb-w32.c: New file.
13358         * modules/wcrtomb-tests (Files): Add them.
13359         (Makefile.am): Arrange to run these tests.
13360         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13361         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13362
13363 2011-02-20  Bruno Haible  <bruno@clisp.org>
13364
13365         wcrtomb: Enhance test.
13366         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13367
13368 2011-02-20  Bruno Haible  <bruno@clisp.org>
13369
13370         mbrtowc: Tiny optimization.
13371         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13372
13373 2011-02-20  Jim Meyering  <meyering@redhat.com>
13374
13375         test-exclude.c: remove unmatched #endif
13376         * tests/test-exclude.c: Remove stray #endif, left over from
13377         the change of a week ago.
13378
13379 2011-02-19  Jim Meyering  <meyering@redhat.com>
13380
13381         git-version-gen: skip "-dirty" check when appropriate
13382         * build-aux/git-version-gen: Don't run any git commands when the
13383         version string comes from .tarball-version.  Prior to this, we
13384         would run git update-index --refresh even from a just-unpacked
13385         tarball directory, and that could affect a .git/ directory in a
13386         parent of the build directory.  Reported by Mike Frysinger.
13387
13388 2011-02-19  Bruno Haible  <bruno@clisp.org>
13389
13390         unictype/property-byname: Reduce the size of the 'data' segment.
13391         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13392
13393 2011-02-19  Bruno Haible  <bruno@clisp.org>
13394
13395         unictype/scripts: Reduce the size of the 'data' segment.
13396         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13397         '%pic'.
13398         * lib/unictype/scripts_byname.gperf: Regenerated.
13399
13400 2011-02-19  Bruno Haible  <bruno@clisp.org>
13401
13402         stdint: Update documentation.
13403         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13404
13405 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13406
13407         stdint: omit redundant check for wchar.h
13408         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13409         always tests whether wchar.h exists, so remove the now-redundant test.
13410
13411 2011-02-18  Bruno Haible  <bruno@clisp.org>
13412
13413         stdint: Cut dependency to module 'wchar'.
13414         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13415         include the necessary prerequisites.
13416         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13417         * modules/stdint (Depends-on): Remove wchar.
13418         (Makefile.am): Substitute HAVE_WCHAR_H.
13419         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13420
13421 2011-02-18  Eric Blake  <eblake@redhat.com>
13422
13423         longlong: skip, rather than fail, on cross-compilation
13424         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13425         when cross-compiling; regression from 2011-02-16.
13426
13427 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13428
13429         * NEWS: Mention 2011-02-08 change to stdlib.
13430
13431 2011-02-17  Bruno Haible  <bruno@clisp.org>
13432
13433         getloadavg: Add comments about platforms.
13434         * m4/getloadavg.m4: Add comment.
13435         * lib/getloadavg.c: Likewise.
13436
13437 2011-02-17  Bruno Haible  <bruno@clisp.org>
13438
13439         getloadavg: Fix link error on Solaris 2.6.
13440         * modules/getloadavg (Link): New section.
13441         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13442         linking test-getloadavg.
13443         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13444         getloadavg.
13445
13446 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13447
13448         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13449         It was 'int', but this doesn't match the IRIX 6.5 manual.
13450         Suggested by Bruno Haible in
13451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13452
13453 2011-02-17  Bruno Haible  <bruno@clisp.org>
13454
13455         havelib: Fix comments.
13456         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13457         change.
13458
13459 2011-02-17  Bruno Haible  <bruno@clisp.org>
13460
13461         havelib: Update config.rpath.
13462         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13463
13464 2011-02-17  Bruno Haible  <bruno@clisp.org>
13465
13466         getloadavg test: Add some plausibility checks.
13467         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13468         is improbable.
13469
13470 2011-02-16  Eric Blake  <eblake@redhat.com>
13471
13472         maintainer-makefile: make syntax-check a no-op from tarballs
13473         * top/maint.mk (no-vc-detected): New rule.
13474         (local-checks-available): Use it to avoid hanging if someone tries
13475         'make syntax-check' from a tarball.  Also append to any non-syntax
13476         checks already defined in cfg.mk.
13477
13478 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13479
13480         longlong: tune, particularly for common case of c99
13481
13482         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13483         or running anything if c99, or if unsigned long long int does not
13484         work.  In either case, we know the answer without further tests.
13485         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13486         it at most once, and use its results for both long long int and
13487         unsigned long long int.  This is more likely to be efficient in
13488         the common case where the program wants to check for both long
13489         long int and unsigned long long int.
13490         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13491         since the answer is already known.
13492
13493 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13494
13495         getloadavg: set errno
13496         * lib/getloadavg.c: Set errno when returning -1.  If no other
13497         error number looks appropriate, set it to ENOSYS if the getloadavg
13498         looks like it can't possibly ever work, ENOTSUP otherwise.
13499         Suggested by Bruno Haible in
13500         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13501
13502         getloadavg: trim unused parts and speed up 'configure'
13503         * NEWS: Document this.
13504         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13505         always compiled if getloadavg is absent.
13506         Move test code to ...
13507         * tests/test-getloadavg.c: New file, containing previous
13508         contents of test from lib/getloadavg.c.  It also contains
13509         suggestions by Bruno Haible in
13510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13511         * modules/getloadavg-tests: New file.
13512         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13513         Do tests in the same order as they're needed for getloadavg.c.
13514         Omit setgid-related tests that generate symbols KMEM_GROUP,
13515         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13516         Do only the tests that are needed to see whether the system has
13517         getloadavg, moving the other tests into ...
13518         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13519         NLIST_NAME_UNION; nobody should be using it.  Do not define
13520         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13521         relevant, as the user of this module shouldn't care how getloadavg
13522         is implemented.
13523
13524         getloadavg: omit unused var
13525         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13526
13527 2011-02-15  Jim Meyering  <meyering@redhat.com>
13528
13529         doc: update users.txt
13530         * users.txt: Update iwhd's URL.
13531
13532 2011-02-13  Bruno Haible  <bruno@clisp.org>
13533
13534         Consistent macro naming for macros that use GCC __attribute__.
13535         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13536         _ATTRIBUTE_NONNULL_.
13537         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13538         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13539         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13540         ATTRIBUTE_DEPRECATED.
13541         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13542         ATTRIBUTE_NORETURN.
13543         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13544         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13545         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13546         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13547         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13548         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13549         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13550         ATTRIBUTE_SENTINEL.
13551         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13552         ATTRIBUTE_RETURN_CHECK.
13553         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13554         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13555         ATTRIBUTE_NORETURN.
13556         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13557         Reported by Paul Eggert.
13558
13559 2011-02-13  Bruno Haible  <bruno@clisp.org>
13560
13561         Don't interfere with a program's definition of __attribute__.
13562         * lib/argp.h (__attribute__): Remove definition.
13563         (_GL_ATTRIBUTE_FORMAT): New macro.
13564         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13565         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13566         (_GL_ATTRIBUTE_FORMAT): New macro.
13567         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13568         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13569         GCC 3 or newer.
13570         * lib/error.h (__attribute__): Remove definition.
13571         (_GL_ATTRIBUTE_FORMAT): New macro.
13572         (error, error_at_line): Use it.
13573         * lib/hash.h (__attribute__): Remove definition.
13574         (ATTRIBUTE_WUR): Update definition. Define always.
13575         * lib/openat.h (__attribute__): Remove definition.
13576         (ATTRIBUTE_NORETURN): Update definition. Define always.
13577         * lib/sigpipe-die.h (__attribute__): Remove definition.
13578         (ATTRIBUTE_NORETURN): Update definition. Define always.
13579         * lib/vasnprintf.h (__attribute__): Remove definition.
13580         (_GL_ATTRIBUTE_FORMAT): New macro.
13581         (asnprintf, vasnprintf): Use it.
13582         * lib/xalloc.h (__attribute__): Remove definition.
13583         (ATTRIBUTE_NORETURN): Update definition. Define always.
13584         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13585         * lib/xmemdup0.h (__attribute__): Remove definition.
13586         (ATTRIBUTE_NORETURN): Update definition. Define always.
13587         * lib/xprintf.h (__attribute__): Remove definition.
13588         (_GL_ATTRIBUTE_FORMAT): New macro.
13589         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13590         * lib/xstrtol.h (__attribute__): Remove definition.
13591         (ATTRIBUTE_NORETURN): Update definition. Define always.
13592         * lib/xvasprintf.h (__attribute__): Remove definition.
13593         (_GL_ATTRIBUTE_FORMAT): New macro.
13594         (xasprintf, xvasprintf): Use it.
13595         * tests/test-argmatch.c (__attribute__): Remove definition.
13596         (ATTRIBUTE_NORETURN): Update definition. Define always.
13597         * tests/test-exclude.c (__attribute__): Remove definition.
13598         (ATTRIBUTE_NORETURN): Update definition. Define always.
13599         Reported by Paul Eggert.
13600
13601 2011-02-13  Bruno Haible  <bruno@clisp.org>
13602
13603         mbrtowc: Add more tests for native Windows platforms.
13604         * tests/test-mbrtowc-w32-1.sh: New file.
13605         * tests/test-mbrtowc-w32-2.sh: New file.
13606         * tests/test-mbrtowc-w32-3.sh: New file.
13607         * tests/test-mbrtowc-w32-4.sh: New file.
13608         * tests/test-mbrtowc-w32-5.sh: New file.
13609         * tests/test-mbrtowc-w32.c: New file.
13610         * modules/mbrtowc-tests (Files): Add them.
13611         (Makefile.am): Arrange to run these tests.
13612         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13613         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13614
13615 2011-02-13  Bruno Haible  <bruno@clisp.org>
13616
13617         mbrtowc: Work around native Windows bug.
13618         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13619         guess when no suitable locale for testing was found.
13620         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13621
13622 2011-02-13  Bruno Haible  <bruno@clisp.org>
13623
13624         mbsinit: Work around mingw bug.
13625         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13626         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13627         Windows.
13628         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13629
13630 2011-02-13  Bruno Haible  <bruno@clisp.org>
13631
13632         mbsinit: Don't crash for a NULL argument.
13633         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13634         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13635
13636 2011-02-13  Bruno Haible  <bruno@clisp.org>
13637
13638         Don't interfere with a program's definition of __attribute__.
13639         * lib/stdio.in.h (__attribute__): Remove definition.
13640         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13641         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13642         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13643         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13644         * lib/string.in.h (__attribute__): Remove definition.
13645         Reported by Paul Eggert.
13646
13647 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13648
13649         stdlib: don't get in the way of non-GCC __attribute__
13650         See thread starting at
13651         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13652         Revert previous stdlib change, installing the following instead:
13653         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13654         to get in the way of a non-GCC compiler that supports __attribute__.
13655         (_GL_ATTRIBUTE_RETURN): New macro.
13656         (_Exit): Use it instead of __attribute__.
13657
13658 2011-02-12  Bruno Haible  <bruno@clisp.org>
13659
13660         quotearg test: Avoid test failure on mingw.
13661         * tests/test-quotearg.sh: Convert the locale identifier from native
13662         Windows syntax to Unix syntax.
13663
13664 2011-02-12  Bruno Haible  <bruno@clisp.org>
13665
13666         setlocale: Prefer gnulib's override over libintl's override.
13667         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13668         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13669         GNULIB_defined_setlocale is set.
13670
13671 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13672
13673         stdlib: support non-GCC __attribute__
13674
13675         Fix a serious and tricky problem encountered when attempting to
13676         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13677         5.5, but it crashed due to memory corruption on Solaris 10 with
13678         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13679         bits that are otherwise zero.  This tagging is optional inside
13680         Emacs but is preferred and is used when __attribute__ ((__aligned
13681         (8))) works, as it does with both recent-enough GCC and with Sun C
13682         5.11.  However, Sun C 5.11 is not GCC and does not #define
13683         __GNUC__ and __GNUC_MINOR__.
13684
13685         When I added the getloadavg module to Emacs, it brought in
13686         stdlib.in.h, which contained this fragment:
13687
13688            #ifndef __attribute__
13689            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13690            #  define __attribute__(Spec)   /* empty */
13691            # endif
13692            #endif
13693
13694         When files that include <stdlib.h> were compiled with Sun C 5.11,
13695         the above code disabled __attribute__ ((__aligned (8))), which
13696         caused variables to not be properly aligned, which eventually led
13697         to the pointer corruption mentioned above.  (This was a bit hard
13698         to diagnose, unfortunately.)
13699
13700         Several "#define __attribute__(X) /* empty */" code snippets need
13701         to be eradicated from Gnulib to work with non-GCC compilers that
13702         support __attribute__.  The Autoconf way to do this is to test for
13703         each kind of attribute that we want support for, and selectively
13704         enable that in source code.
13705
13706         Fix this problem just for stdlib.h, by adding a test for the
13707         __noreturn__ attribute, and change stdlib.in.h to use that test
13708         when needed.  This technique can be easily generalized to the
13709         other *.in.h files and attributes, and a similar technique can be
13710         used for *.h and *.c files.  This patch is enough to solve the
13711         problem for Emacs + getloadavg, and I thought I'd publish it for
13712         feedback before undertaking further, similar fixes in other
13713         modules.
13714
13715         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13716         because it's not needed for stdlib.h.  It merely substitutes the
13717         value directly into stdlib.h.  We may well need to #define it, or
13718         similar symbols, for other modules, but it's nice to also have an
13719         option to not #define it for applications like Emacs that do not
13720         need it.
13721
13722         * lib/stdlib.in.h (__attribute__): Do not #define.
13723         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13724         be defined only if the _Exit module is also used.
13725         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13727         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13728         platforms.
13729         * modules/_Exit (Files): Add m4/attribute.m4.
13730         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13731         * m4/attribute.m4: New file.
13732
13733 2011-02-12  Bruno Haible  <bruno@clisp.org>
13734
13735         wcsrtombs: Work around bug on native Windows.
13736         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13737         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13738         instead of len.
13739         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13740
13741 2011-02-12  Bruno Haible  <bruno@clisp.org>
13742
13743         mbsrtowcs: Work around bug on native Windows.
13744         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13745         against mingw bug.
13746         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13747
13748 2011-02-12  Bruno Haible  <bruno@clisp.org>
13749
13750         Avoid setlocale bugs in tests.
13751         * modules/btowc (Dependencies): Add setlocale.
13752         * modules/c-strcase (Dependencies): Likewise.
13753         * modules/mbmemcasecmp (Dependencies): Likewise.
13754         * modules/mbmemcasecoll (Dependencies): Likewise.
13755         * modules/mbrtowc (Dependencies): Likewise.
13756         * modules/mbscasecmp (Dependencies): Likewise.
13757         * modules/mbscasestr (Dependencies): Likewise.
13758         * modules/mbschr (Dependencies): Likewise.
13759         * modules/mbscspn (Dependencies): Likewise.
13760         * modules/mbsinit (Dependencies): Likewise.
13761         * modules/mbsncasecmp (Dependencies): Likewise.
13762         * modules/mbsnrtowcs (Dependencies): Likewise.
13763         * modules/mbspbrk (Dependencies): Likewise.
13764         * modules/mbspcasecmp (Dependencies): Likewise.
13765         * modules/mbsrchr (Dependencies): Likewise.
13766         * modules/mbsrtowcs (Dependencies): Likewise.
13767         * modules/mbsspn (Dependencies): Likewise.
13768         * modules/mbsstr (Dependencies): Likewise.
13769         * modules/nl_langinfo (Dependencies): Likewise.
13770         * modules/quotearg (Dependencies): Likewise.
13771         * modules/unicase/locale-language (Dependencies): Likewise.
13772         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13773         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13774         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13775         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13776         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13777         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13778         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13779         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13780         * modules/vasnprintf-posix (Dependencies): Likewise.
13781         * modules/wcrtomb (Dependencies): Likewise.
13782         * modules/wcsnrtombs (Dependencies): Likewise.
13783         * modules/wcsrtombs (Dependencies): Likewise.
13784
13785 2011-02-12  Bruno Haible  <bruno@clisp.org>
13786
13787         setlocale: Workaround native Windows bug.
13788         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13789         succeeds but sets LC_CTYPE to "C", report a failure.
13790         * tests/test-setlocale2.sh: New file.
13791         * tests/test-setlocale2.c: New file.
13792         * modules/setlocale-tests (Files): Add the new files.
13793         (Makefile.am): Enable test-setlocale2.sh test.
13794         * doc/posix-functions/setlocale.texi: Mention workaround.
13795
13796 2011-02-11  Bruno Haible  <bruno@clisp.org>
13797
13798         Tests for module 'setlocale'.
13799         * modules/setlocale-tests: New file.
13800         * tests/test-setlocale1.sh: New file.
13801         * tests/test-setlocale1.c: New file.
13802
13803         New module 'setlocale'.
13804         * lib/locale.in.h (setlocale): New declaration.
13805         * lib/setlocale.c: New file, based on
13806         gettext/gettext-runtime/intl/setlocale.c.
13807         * m4/setlocale.m4: New file.
13808         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13809         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13810         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13811         REPLACE_SETLOCALE.
13812         * modules/setlocale: New file.
13813         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13814         * doc/posix-functions/setlocale.texi: Mention the new module.
13815
13816 2011-02-11  Bruno Haible  <bruno@clisp.org>
13817
13818         Prepare for locale dependent tests on mingw.
13819         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13820         because it has the wrong locale encoding.
13821         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13822         French_France.1252 instead of "fr".
13823         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13824         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13825         because it has the wrong locale encoding.
13826         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13827         native Windows, try Turkish_Turkey.65001.
13828         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13829         Chinese_China.54936.
13830
13831         Prepare for locale dependent tests on mingw.
13832         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13833         differently.
13834         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13835         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13836         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13837         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13838
13839 2011-02-11  Eric Blake  <eblake@redhat.com>
13840
13841         strptime: avoid compiler warnings
13842         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13843         compiler warnings about dead code.
13844         Reported by Daniel P. Berrange.
13845
13846 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13847
13848         doc: update users.txt
13849         * users.txt: Add rcs.
13850
13851 2011-02-10  John W. Eaton  <jwe@gnu.org>
13852
13853         doc: update users.txt
13854         * users.txt: Add octave.
13855
13856 2011-02-10  Jim Meyering  <meyering@redhat.com>
13857
13858         doc: update users.txt
13859         * users.txt: Add iwhd.
13860
13861 2011-02-09  Bruno Haible  <bruno@clisp.org>
13862
13863         gnulib-tool: Make copyright notice adjustment more robust.
13864         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13865         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13866         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13867         License".
13868         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13869
13870 2011-02-06  Bruno Haible  <bruno@clisp.org>
13871
13872         New module 'towctrans'.
13873         * modules/towctrans: New file.
13874         * lib/wctype.in.h (towctrans): New declaration.
13875         * lib/towctrans.c: New file.
13876         * lib/towctrans-impl.h: New file.
13877         * m4/towctrans.m4: New file.
13878         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13879         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13880         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13881         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13882         * doc/posix-functions/towctrans.texi: Mention the new module.
13883
13884 2011-02-06  Bruno Haible  <bruno@clisp.org>
13885
13886         New module 'wctrans'.
13887         * modules/wctrans: New file.
13888         * lib/wctype.in.h (wctrans): New declaration.
13889         * lib/wctrans.c: New file.
13890         * lib/wctrans-impl.h: New file.
13891         * m4/wctrans.m4: New file.
13892         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13893         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13894         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13895         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13896         * doc/posix-functions/wctrans.texi: Mention the new module.
13897
13898 2011-02-06  Bruno Haible  <bruno@clisp.org>
13899
13900         New module 'iswctype'.
13901         * modules/iswctype: New file.
13902         * lib/wctype.in.h (iswctype): New declaration.
13903         * lib/iswctype.c: New file.
13904         * lib/iswctype-impl.h: New file.
13905         * m4/iswctype.m4: New file.
13906         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13907         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13908         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13909         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13910         * doc/posix-functions/iswctype.texi: Mention the new module and the
13911         HP-UX 11.00 problem.
13912
13913 2011-02-06  Bruno Haible  <bruno@clisp.org>
13914
13915         New module 'wctype'.
13916         * modules/wctype: Change to represent the wctype() substitute.
13917         * lib/wctype.in.h (wctype): New declaration.
13918         * lib/wctype.c: New file.
13919         * lib/wctype-impl.h: New file.
13920         * m4/wctype.m4: New file.
13921         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13922         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13923         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13924         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13925         * doc/posix-functions/wctype.texi: Mention the new module and the
13926         HP-UX 11.00 problem.
13927
13928 2011-02-06  Bruno Haible  <bruno@clisp.org>
13929
13930         wctype-h: Ensure wctype_t and wctrans_t are defined.
13931         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13932         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13933         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13934         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13935         HAVE_WCTRANS_T.
13936         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13937
13938 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13939
13940         flock: fix license typo
13941
13942         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13943         omitted.
13944
13945 2011-02-08  Bruno Haible  <bruno@clisp.org>
13946
13947         Split large sed scripts, for HP-UX sed.
13948         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13949         to avoid HP-UX limit of 99 commands, in the near future.
13950         * modules/stdlib (Makefile.am): Likewise.
13951         * modules/unistd (Makefile.am): Likewise.
13952         * modules/wchar (Makefile.am): Likewise.
13953         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13954         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13955         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13956
13957 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13958             Bruno Haible  <bruno@clisp.org>
13959
13960         stdlib: improve random_r modularization
13961         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13962         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13963         you also need the random_r module to get this material right.
13964         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13965         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13966         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13967
13968 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13969
13970         stdlib: don't depend on stdint
13971         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13972         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13973         be independent of whether stdint.h is needed.
13974         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13975         here, instead of ...
13976         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13977         struct random_data should be using the random_r module, not just
13978         the stdlib module (which wouldn't make sense: what package needs
13979         just struct random_data without also needing random_r?).
13980         * modules/stdlib (Depends-on): Remove stdint.
13981
13982         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13983         See the thread rooted at
13984         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13985         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13986         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13987         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13988         __VMS)); previously it was always included (via fcntl--.h).
13989         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13990         hand; this is good enough for load averages.  Also, do not use
13991         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13992         flags directly if available and don't bother otherwise.  (Packages
13993         that need the extra reliability should use the modules that define
13994         these flags on older platforms that lack them.)
13995         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13996         fcntl-safer.
13997
13998 2011-02-08  Jim Meyering  <meyering@redhat.com>
13999
14000         di-set.h, ino-map.h: add multiple-inclusion guard
14001         Technically, the guard is required only for ino-map.h, due to its
14002         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
14003         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
14004         * lib/ino-map.h: Likewise.
14005
14006 2011-02-06  Bruno Haible  <bruno@clisp.org>
14007
14008         iswblank: Ensure declaration on glibc systems.
14009         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
14010         * modules/iswblank (Dependencies): Add 'extensions'.
14011         * doc/posix-functions/iswblank.texi: Document the glibc problem.
14012
14013 2011-02-06  Bruno Haible  <bruno@clisp.org>
14014
14015         New module 'iswblank'.
14016         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
14017         * modules/iswblank: New file.
14018         * modules/wctype-h (Files): Remove lib/iswblank.c.
14019         (Makefile.am): Substitute GNULIB_ISWBLANK.
14020         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
14021         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
14022         (gl_WCTYPE_H_DEFAULTS): New macro.
14023         (gl_WCTYPE_H): Require it. Remove iswblank related code.
14024         * modules/iswblank-tests: New file.
14025         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
14026         * tests/test-wctype-h.c (main): Remove iswblank tests.
14027         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
14028         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
14029         of 'wctype-h'.
14030         * NEWS: Mention the change.
14031         * modules/mbchar (Depends-on): Add iswblank.
14032
14033 2011-02-08  Bruno Haible  <bruno@clisp.org>
14034
14035         di-set tests: Refactor.
14036         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
14037         unnecessary includes.
14038         (ASSERT): Remove macro.
14039         (main): Make C90 compliant by avoiding variable declaration after
14040         statement.
14041         * modules/di-set-tests (Files): Add tests/macros.h.
14042
14043 2011-02-08  Bruno Haible  <bruno@clisp.org>
14044
14045         ino-map tests: Refactor.
14046         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
14047         unnecessary includes.
14048         (ASSERT): Remove macro.
14049         (main): Make C90 compliant by avoiding variable declaration after
14050         statement.
14051         * modules/ino-map-tests (Files): Add tests/macros.h.
14052
14053 2011-02-08  Jim Meyering  <meyering@redhat.com>
14054
14055         di-set: add "const" to a cast
14056         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
14057         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
14058
14059 2011-02-06  Bruno Haible  <bruno@clisp.org>
14060
14061         Rename module 'wctype' to 'wctype-h'.
14062         * modules/wctype-h: Renamed from modules/wctype.
14063         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
14064         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
14065         (Files, Depends-on, Makefile.am): Update.
14066         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
14067         (Files, Makefile.am): Update.
14068         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
14069         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
14070         * doc/posix-headers/wctype.texi: Update.
14071         * doc/posix-functions/iswalnum.texi: Update.
14072         * doc/posix-functions/iswalpha.texi: Update.
14073         * doc/posix-functions/iswblank.texi: Update.
14074         * doc/posix-functions/iswcntrl.texi: Update.
14075         * doc/posix-functions/iswdigit.texi: Update.
14076         * doc/posix-functions/iswgraph.texi: Update.
14077         * doc/posix-functions/iswlower.texi: Update.
14078         * doc/posix-functions/iswprint.texi: Update.
14079         * doc/posix-functions/iswpunct.texi: Update.
14080         * doc/posix-functions/iswspace.texi: Update.
14081         * doc/posix-functions/iswupper.texi: Update.
14082         * doc/posix-functions/iswxdigit.texi: Update.
14083         * doc/posix-functions/towlower.texi: Update.
14084         * doc/posix-functions/towupper.texi: Update.
14085         * NEWS: Mention the change.
14086         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
14087         * modules/mbchar (Dependencies): Likewise.
14088         * modules/mbswidth (Dependencies): Likewise.
14089         * modules/quotearg (Dependencies): Likewise.
14090         * modules/regex (Dependencies): Likewise.
14091         * modules/wcscasecmp (Dependencies): Likewise.
14092         * modules/wcsncasecmp (Dependencies): Likewise.
14093         * modules/wcwidth (Dependencies): Likewise.
14094
14095 2011-02-06  Bruno Haible  <bruno@clisp.org>
14096
14097         New module 'wcswidth'.
14098         * modules/wcswidth: New file.
14099         * lib/wchar.in.h (wcswidth): New declaration.
14100         * lib/wcswidth.c: New file.
14101         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
14102         * m4/wcswidth.m4: New file.
14103         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
14104         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
14105         REPLACE_WCSWIDTH.
14106         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
14107         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
14108         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
14109         * doc/posix-functions/wcswidth.texi: Mention the new module.
14110
14111 2011-02-06  Bruno Haible  <bruno@clisp.org>
14112
14113         New module 'wcstok'.
14114         * modules/wcstok: New file.
14115         * lib/wchar.in.h (wcstok): New declaration.
14116         * lib/wcstok.c: New file.
14117         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
14118         * m4/wcstok.m4: New file.
14119         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
14120         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
14121         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
14122         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
14123         * doc/posix-functions/wcstok.texi: Mention the new module.
14124
14125 2011-02-06  Bruno Haible  <bruno@clisp.org>
14126
14127         New module 'wcsstr'.
14128         * modules/wcsstr: New file.
14129         * lib/wchar.in.h (wcsstr): New declaration.
14130         * lib/wcsstr.c: New file.
14131         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
14132         * m4/wcsstr.m4: New file.
14133         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
14134         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
14135         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
14136         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
14137         * doc/posix-functions/wcsstr.texi: Mention the new module.
14138
14139 2011-02-06  Bruno Haible  <bruno@clisp.org>
14140
14141         New module 'wcspbrk'.
14142         * modules/wcspbrk: New file.
14143         * lib/wchar.in.h (wcspbrk): New declaration.
14144         * lib/wcspbrk.c: New file.
14145         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
14146         * m4/wcspbrk.m4: New file.
14147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
14148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
14149         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
14150         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
14151         * doc/posix-functions/wcspbrk.texi: Mention the new module.
14152
14153 2011-02-06  Bruno Haible  <bruno@clisp.org>
14154
14155         New module 'wcsspn'.
14156         * modules/wcsspn: New file.
14157         * lib/wchar.in.h (wcsspn): New declaration.
14158         * lib/wcsspn.c: New file.
14159         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
14160         * m4/wcsspn.m4: New file.
14161         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
14162         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
14163         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
14164         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
14165         * doc/posix-functions/wcsspn.texi: Mention the new module.
14166
14167 2011-02-06  Bruno Haible  <bruno@clisp.org>
14168
14169         New module 'wcscspn'.
14170         * modules/wcscspn: New file.
14171         * lib/wchar.in.h (wcscspn): New declaration.
14172         * lib/wcscspn.c: New file.
14173         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14174         * m4/wcscspn.m4: New file.
14175         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14176         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14177         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14178         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14179         * doc/posix-functions/wcscspn.texi: Mention the new module.
14180
14181 2011-02-06  Bruno Haible  <bruno@clisp.org>
14182
14183         New module 'wcsrchr'.
14184         * modules/wcsrchr: New file.
14185         * lib/wchar.in.h (wcsrchr): New declaration.
14186         * lib/wcsrchr.c: New file.
14187         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14188         * m4/wcsrchr.m4: New file.
14189         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14190         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14191         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14192         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14193         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14194
14195 2011-02-06  Bruno Haible  <bruno@clisp.org>
14196
14197         New module 'wcschr'.
14198         * modules/wcschr: New file.
14199         * lib/wchar.in.h (wcschr): New declaration.
14200         * lib/wcschr.c: New file.
14201         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14202         * m4/wcschr.m4: New file.
14203         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14204         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14205         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14206         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14207         * doc/posix-functions/wcschr.texi: Mention the new module.
14208
14209 2011-02-06  Bruno Haible  <bruno@clisp.org>
14210
14211         New module 'wcsdup'.
14212         * modules/wcsdup: New file.
14213         * lib/wchar.in.h (wcsdup): New declaration.
14214         * lib/wcsdup.c: New file.
14215         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14216         * m4/wcsdup.m4: New file.
14217         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14218         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14219         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14220         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14221         * doc/posix-functions/wcsdup.texi: Mention the new module.
14222
14223 2011-02-06  Bruno Haible  <bruno@clisp.org>
14224
14225         New module 'wcsxfrm'.
14226         * modules/wcsxfrm: New file.
14227         * lib/wchar.in.h (wcsxfrm): New declaration.
14228         * lib/wcsxfrm.c: New file.
14229         * lib/wcsxfrm-impl.h: New file.
14230         * m4/wcsxfrm.m4: New file.
14231         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14232         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14233         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14234         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14235         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14236
14237 2011-02-06  Bruno Haible  <bruno@clisp.org>
14238
14239         New module 'wcscoll'.
14240         * modules/wcscoll: New file.
14241         * lib/wchar.in.h (wcscoll): New declaration.
14242         * lib/wcscoll.c: New file.
14243         * lib/wcscoll-impl.h: New file.
14244         * m4/wcscoll.m4: New file.
14245         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14246         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14247         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14248         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14249         * doc/posix-functions/wcscoll.texi: Mention the new module.
14250
14251 2011-02-06  Bruno Haible  <bruno@clisp.org>
14252
14253         New module 'wcsncasecmp'.
14254         * modules/wcsncasecmp: New file.
14255         * lib/wchar.in.h (wcsncasecmp): New declaration.
14256         * lib/wcsncasecmp.c: New file.
14257         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14258         * m4/wcsncasecmp.m4: New file.
14259         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14260         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14261         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14262         HAVE_WCSNCASECMP.
14263         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14264         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14265
14266 2011-02-06  Bruno Haible  <bruno@clisp.org>
14267
14268         New module 'wcscasecmp'.
14269         * modules/wcscasecmp: New file.
14270         * lib/wchar.in.h (wcscasecmp): New declaration.
14271         * lib/wcscasecmp.c: New file.
14272         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14273         * m4/wcscasecmp.m4: New file.
14274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14276         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14277         HAVE_WCSCASECMP.
14278         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14279         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14280
14281 2011-02-05  Bruno Haible  <bruno@clisp.org>
14282
14283         New module 'wcsncmp'.
14284         * modules/wcsncmp: New file.
14285         * lib/wchar.in.h (wcsncmp): New declaration.
14286         * lib/wcsncmp.c: New file.
14287         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14288         * m4/wcsncmp.m4: New file.
14289         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14290         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14291         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14292         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14293         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14294
14295 2011-02-05  Bruno Haible  <bruno@clisp.org>
14296
14297         New module 'wcscmp'.
14298         * modules/wcscmp: New file.
14299         * lib/wchar.in.h (wcscmp): New declaration.
14300         * lib/wcscmp.c: New file.
14301         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14302         * m4/wcscmp.m4: New file.
14303         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14304         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14305         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14306         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14307         * doc/posix-functions/wcscmp.texi: Mention the new module.
14308
14309 2011-02-05  Bruno Haible  <bruno@clisp.org>
14310
14311         New module 'wcsncat'.
14312         * modules/wcsncat: New file.
14313         * lib/wchar.in.h (wcsncat): New declaration.
14314         * lib/wcsncat.c: New file.
14315         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14316         * m4/wcsncat.m4: New file.
14317         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14318         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14319         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14320         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14321         * doc/posix-functions/wcsncat.texi: Mention the new module.
14322
14323 2011-02-05  Bruno Haible  <bruno@clisp.org>
14324
14325         New module 'wcscat'.
14326         * modules/wcscat: New file.
14327         * lib/wchar.in.h (wcscat): New declaration.
14328         * lib/wcscat.c: New file.
14329         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14330         * m4/wcscat.m4: New file.
14331         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14332         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14333         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14334         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14335         * doc/posix-functions/wcscat.texi: Mention the new module.
14336
14337 2011-02-05  Bruno Haible  <bruno@clisp.org>
14338
14339         New module 'wcpncpy'.
14340         * modules/wcpncpy: New file.
14341         * lib/wchar.in.h (wcpncpy): New declaration.
14342         * lib/wcpncpy.c: New file.
14343         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14344         * m4/wcpncpy.m4: New file.
14345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14347         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14348         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14349         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14350
14351 2011-02-05  Bruno Haible  <bruno@clisp.org>
14352
14353         New module 'wcsncpy'.
14354         * modules/wcsncpy: New file.
14355         * lib/wchar.in.h (wcsncpy): New declaration.
14356         * lib/wcsncpy.c: New file.
14357         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14358         * m4/wcsncpy.m4: New file.
14359         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14360         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14361         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14362         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14363         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14364
14365 2011-02-05  Bruno Haible  <bruno@clisp.org>
14366
14367         New module 'wcpcpy'.
14368         * modules/wcpcpy: New file.
14369         * lib/wchar.in.h (wcpcpy): New declaration.
14370         * lib/wcpcpy.c: New file.
14371         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14372         * m4/wcpcpy.m4: New file.
14373         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14374         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14375         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14376         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14377         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14378
14379 2011-02-05  Bruno Haible  <bruno@clisp.org>
14380
14381         New module 'wcscpy'.
14382         * modules/wcscpy: New file.
14383         * lib/wchar.in.h (wcscpy): New declaration.
14384         * lib/wcscpy.c: New file.
14385         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14386         * m4/wcscpy.m4: New file.
14387         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14388         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14389         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14390         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14391         * doc/posix-functions/wcscpy.texi: Mention the new module.
14392
14393 2011-02-05  Bruno Haible  <bruno@clisp.org>
14394
14395         New module 'wcsnlen'.
14396         * modules/wcsnlen: New file.
14397         * lib/wchar.in.h (wcsnlen): New declaration.
14398         * lib/wcsnlen.c: New file.
14399         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14400         * m4/wcsnlen.m4: New file.
14401         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14402         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14403         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14404         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14405         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14406
14407 2011-02-05  Bruno Haible  <bruno@clisp.org>
14408
14409         New module 'wcslen'.
14410         * modules/wcslen: New file.
14411         * lib/wchar.in.h (wcslen): New declaration.
14412         * lib/wcslen.c: New file.
14413         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14414         * m4/wcslen.m4: New file.
14415         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14416         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14417         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14418         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14419         * doc/posix-functions/wcslen.texi: Mention the new module.
14420
14421 2011-02-05  Bruno Haible  <bruno@clisp.org>
14422
14423         New module 'wmemset'.
14424         * modules/wmemset: New file.
14425         * lib/wchar.in.h (wmemset): New declaration.
14426         * lib/wmemset.c: New file.
14427         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14428         * m4/wmemset.m4: New file.
14429         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14430         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14431         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14432         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14433         * doc/posix-functions/wmemset.texi: Mention the new module.
14434
14435 2011-02-05  Bruno Haible  <bruno@clisp.org>
14436
14437         New module 'wmemmove'.
14438         * modules/wmemmove: New file.
14439         * lib/wchar.in.h (wmemmove): New declaration.
14440         * lib/wmemmove.c: New file.
14441         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14442         * m4/wmemmove.m4: New file.
14443         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14444         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14445         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14446         HAVE_WMEMMOVE.
14447         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14448         * doc/posix-functions/wmemmove.texi: Mention the new module.
14449
14450 2011-02-05  Bruno Haible  <bruno@clisp.org>
14451
14452         New module 'wmemcpy'.
14453         * modules/wmemcpy: New file.
14454         * lib/wchar.in.h (wmemcpy): New declaration.
14455         * lib/wmemcpy.c: New file.
14456         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14457         * m4/wmemcpy.m4: New file.
14458         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14459         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14460         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14461         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14462         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14463
14464 2011-02-05  Bruno Haible  <bruno@clisp.org>
14465
14466         New module 'wmemcmp'.
14467         * modules/wmemcmp: New file.
14468         * lib/wchar.in.h (wmemcmp): New declaration.
14469         * lib/wmemcmp.c: New file.
14470         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14471         * m4/wmemcmp.m4: New file.
14472         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14473         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14474         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14475         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14476         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14477
14478 2011-02-07  Jim Meyering  <meyering@redhat.com>
14479
14480         di-set, ino-map: new modules, from coreutils
14481         * lib/di-set.c: New file.
14482         * lib/di-set.h: Likewise.
14483         * lib/ino-map.c: Likewise.
14484         * lib/ino-map.h: Likewise.
14485         * modules/di-set: Likewise.
14486         * modules/di-set-tests: Likewise.
14487         * modules/ino-map: Likewise.
14488         * modules/ino-map-tests: Likewise.
14489         * tests/test-di-set.c: Likewise.
14490         * tests/test-ino-map.c: Likewise.
14491
14492 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14493
14494         getloadavg: merge minor changes from Emacs
14495
14496         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14497         (getloadavg): Use memset, not bzero.
14498
14499         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14500         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14501         clash (bug#86).
14502
14503 2010-11-14  Bruno Haible  <bruno@clisp.org>
14504
14505         Allow multiple gnulib generated replacements to coexist.
14506         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14507         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14508         * lib/langinfo.in.h (nl_item): Likewise.
14509         * lib/math.in.h (_NaN, NAN): Likewise.
14510         * lib/netdb.in.h (struct addrinfo): Likewise.
14511         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14512         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14513         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14514         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14515         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14516         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14517         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14518         pthread_mutexattr_init, pthread_mutexattr_settype,
14519         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14520         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14521         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14522         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14523         * lib/sched.in.h (struct sched_param): Likewise.
14524         * lib/se-selinux.in.h (security_class_t, security_context_t,
14525         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14526         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14527         lsetfilecon, fsetfilecon, security_check_context,
14528         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14529         Likewise.
14530         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14531         Likewise.
14532         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14533         _gl_function_taking_int_returning_void_t, union sigval,
14534         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14535         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14536         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14537         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14538         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14539         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14540         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14541         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14542         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14543         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14544         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14545         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14546         socklen_t, rpl_fd_isset): Likewise.
14547         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14548         * lib/sys_time.in.h (struct timeval): Likewise.
14549         * lib/sys_times.in.h (struct tms): Likewise.
14550         * lib/sys_utsname.in.h (struct utsname):
14551         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14552         * lib/unistd.in.h (getpagesize): Likewise.
14553         * lib/wchar.in.h (mbstate_t): Likewise.
14554         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14555         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14556         towlower, towupper): Likewise.
14557         Reported by Sam Steingold <sds@gnu.org>.
14558
14559 2011-02-05  Eric Blake  <eblake@redhat.com>
14560
14561         unsetenv: work around Haiku issues
14562         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14563         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14564
14565 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14566
14567         libposix: avoid calling error() within libposix
14568         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14569         is defined.
14570
14571 2011-02-05  Eric Blake  <eblake@redhat.com>
14572
14573         strerror_r-posix: port to cygwin
14574         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14575         implementation.
14576         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14577         * tests/test-strerror_r.c (main): Fix test.
14578         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14579         issue.
14580
14581 2011-02-05  Bruno Haible  <bruno@clisp.org>
14582
14583         New module 'wmemchr'.
14584         * modules/wmemchr: New file.
14585         * lib/wchar.in.h (wmemchr): New declaration.
14586         * lib/wmemchr.c: New file.
14587         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14588         * m4/wmemchr.m4: New file.
14589         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14590         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14591         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14592         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14593         * doc/posix-functions/wmemchr.texi: Mention the new module.
14594
14595 2011-02-04  Eric Blake  <eblake@redhat.com>
14596
14597         fdopendir: detect FreeBSD bug
14598         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14599         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14600
14601 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14602
14603         stdbool: do not define HAVE_STDBOOL_H
14604         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14605         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14606         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14607         imported from the latest Autoconf git.  It was motivated by Emacs,
14608         which uses gnulib but does not need HAVE_STDBOOL_H.
14609
14610 2011-02-04  Bruno Haible  <bruno@clisp.org>
14611
14612         wcsnrtombs: Prepare for new module wwcsnrtombs.
14613         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14614         * lib/wcsnrtombs.c: Include it.
14615         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14616
14617         wcsrtombs: Prepare for new module wwcsrtombs.
14618         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14619         * lib/wcsrtombs.c: Include it.
14620         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14621
14622         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14623         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14624         * lib/mbsnrtowcs.c: Include it.
14625         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14626
14627         mbsrtowcs: Prepare for new module mbsrtowwcs.
14628         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14629         * lib/mbsrtowcs.c: Include it.
14630         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14631
14632 2011-02-04  Bruno Haible  <bruno@clisp.org>
14633
14634         vasnprintf: Reduce use of malloc for small format strings.
14635         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14636         (arguments): Add room for the first 7 arguments.
14637         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14638         (char_directives, u8_directives, u16_directives, u32_directives): Add
14639         room for the first 7 directives.
14640         * lib/printf-parse.c: Include <string.h>.
14641         (PRINTF_PARSE): Change memory handling code so that it uses the first
14642         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14643         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14644         Reported by Pádraig Brady <P@draigbrady.com>.
14645
14646 2011-01-31  Eric Blake  <eblake@redhat.com>
14647
14648         dup2: work around Haiku bug
14649         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14650         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14651         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14652         * tests/test-dup2.c (main): Enhance test.
14653
14654 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14655
14656         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14657         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14658         declared by eglibc 2.11.2.
14659         * lib/stdio.in.h: Likewise.
14660
14661 2011-01-31  Eric Blake  <eblake@redhat.com>
14662
14663         ignore-value: add missing test dependency
14664         * tests/test-ignore-value.c: Revert previous change; stdio.h
14665         provides off_t.
14666         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14667
14668 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14669
14670         mktime: clarify long_int width checking
14671         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14672         the top level, to make it clearer that the assumption about
14673         long_int width is being checked.  See
14674         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14675
14676 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14677
14678         ignore-value: Fix self-test.
14679         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14680
14681 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14682
14683         TYPE_MAXIMUM: avoid theoretically undefined behavior
14684         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14685         negative number, which the C Standard says has undefined behavior.
14686         In practice this is not a problem, but might as well do it by the book.
14687         Reported by Rich Felker and Eric Blake; see
14688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14689         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14690         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14692         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14693         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14694         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14695
14696         mktime: #undef mktime before #defining it
14697         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14698
14699         mktime: systematically normalize tm_isdst comparisons
14700         * lib/mktime.c (isdst_differ): New function.
14701         (__mktime_internal): Use it systematically for all isdst comparisons.
14702         This completes the fix for libc BZ #6723, and removes the need for
14703         normalizing tm_isdst.  See
14704         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14705         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14706
14707         mktime: fix some integer overflow issues and sidestep the rest
14708
14709         This was prompted by a bug report by Benjamin Lindner for MinGW
14710         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14711         His bug is due to signed integer overflow (0 - INT_MIN), and I
14712         I scanned through mktime.c looking for other integer overflow
14713         problems, fixing all the bugs I found.
14714
14715         Although the C Standard says the resulting code is still not safe
14716         in the presence of integer overflow, in practice it should be good
14717         enough for all real-world two's-complement implementations, except
14718         for debugging environments that deliberately trap on integer
14719         overflow (e.g., gcc -ftrapv).
14720
14721         * lib/mktime.c (WRAPV): New macro.
14722         (SHR): Also check that long_int and time_t shift right in the
14723         usual way, before using the fast-but-unportable method.
14724         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14725         used.  The code already assumed two's complement, so there's
14726         no need to test for alternatives.  All uses removed.
14727         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14728         the C standard.  Problem reported by Rich Felker in
14729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14730         (twos_complement_arithmetic): Also check long_int and time_t.
14731         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14732         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14733         (__mktime_internal): Avoid integer overflow with unary subtraction
14734         in two instances where -1 - X is an adequate replacement for -X,
14735         since the calculations are approximate.
14736
14737 2011-01-29  Eric Blake  <eblake@redhat.com>
14738
14739         mktime: avoid infinite loop
14740         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14741         type; behavior is still undefined but portable to all known targets.
14742         Reported by Rich Felker.
14743
14744 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14745
14746         rename, unlink, same-inode: Relicense.
14747         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14748         * modules/unlink (License): Likewise.
14749         * modules/same-inode (License): Likewise.
14750
14751 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14752
14753         mktime: avoid problems on NetBSD 5 / i386
14754         * lib/mktime.c (long_int): New type.  This works around a problem
14755         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14756         but time_t is 64 bits, and where I expect the existing code is
14757         wrong in some cases.
14758         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14759         (ydhms_diff): Bring back the compile-time check for wide-enough
14760         year and yday.
14761
14762         mktime: fix misspelling in comment
14763         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14764         This merges all recent glibc changes of importance.
14765
14766 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14767
14768         move-if-change: cope with concurrent mv of identical file.
14769         * build-aux/move-if-change (CMPPROG): Accept environment
14770         variable as an override for `cmp'.
14771         (usage): Document CMPPROG.
14772         Adjust comparison to drop stdout.  Cope with failure of mv if
14773         the target file exists and is identical to the source, for
14774         parallel builds.
14775         Report from H.J. Lu against binutils in PR binutils/12283.
14776
14777 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14778
14779         * users.txt: Mention sharutils.
14780
14781 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14782
14783         * users.txt: Mention OATH Toolkit.
14784
14785 2011-01-27  Bruno Haible  <bruno@clisp.org>
14786
14787         Prepare for supporting FreeBSD 10.
14788         * build-aux/config.libpath: Remove handling of freebsd1*.
14789
14790 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14791
14792         Prepare for supporting FreeBSD 10.
14793         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14794         match FreeBSD 10.0.
14795
14796 2011-01-27  Bruno Haible  <bruno@clisp.org>
14797
14798         vma-iter, get-rusage-as: Add OpenBSD support.
14799         * modules/vma-iter (configure.ac): Test for mquery.
14800         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14801         * lib/vma-iter.c: Include <sys/mman.h>.
14802         (vma_iterate): Add an implementation based on mquery().
14803         * lib/resource-ext.h (get_rusage_as): Update comments.
14804         * lib/get-rusage-as.c: Likewise.
14805         * lib/get-rusage-data.c: Likewise.
14806
14807 2011-01-26  Karl Berry  <karl@gnu.org>
14808
14809         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14810         variables to make it easier to override the makeinfo program used.
14811
14812 2011-01-26  Eric Blake  <eblake@redhat.com>
14813
14814         fcntl: work around Haiku F_DUPFD bugs
14815         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14816         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14817         cloexec bit on duplication.
14818         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14819
14820 2011-01-26  Bruno Haible  <bruno@clisp.org>
14821
14822         Enable memory leak tests on AIX.
14823         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14824         * tests/test-fprintf-posix3.c (main): Likewise.
14825
14826 2011-01-26  Bruno Haible  <bruno@clisp.org>
14827
14828         Tests for module 'get-rusage-data'.
14829         * modules/get-rusage-data-tests: New file.
14830         * tests/test-get-rusage-data.c: New file.
14831
14832         New module 'get-rusage-data'.
14833         * lib/resource-ext.h (get_rusage_data): New declaration.
14834         * lib/get-rusage-data.c: New file.
14835         * modules/get-rusage-data: New file.
14836
14837 2011-01-25  Bruno Haible  <bruno@clisp.org>
14838
14839         get-rusage-as: Allow for easier testing.
14840         * lib/resource-ext.h (get_rusage_as): Add comment.
14841         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14842         (main): New function for interactive testing.
14843
14844 2011-01-25  Bruno Haible  <bruno@clisp.org>
14845
14846         vma-iter: Treat Haiku like BeOS.
14847         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14848         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14849
14850 2011-01-25  Eric Blake  <eblake@redhat.com>
14851
14852         c-stack: fix regression on cygwin when libsigsegv is present
14853         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14854
14855 2011-01-24  Bruno Haible  <bruno@clisp.org>
14856
14857         vma-iter: Avoid empty intervals.
14858         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14859         on an empty interval.
14860
14861 2011-01-24  Jim Meyering  <meyering@redhat.com>
14862
14863         u64: remove unnecessary #include
14864         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14865
14866 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14867
14868         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14869         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14870
14871 2011-01-23  Bruno Haible  <bruno@clisp.org>
14872
14873         New module 'vma-iter'.
14874         * lib/vma-iter.h: New file.
14875         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14876         * modules/vma-iter: New file.
14877         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14878         for get_rusage_as_via_iterator.
14879         (vma_iterate_callback): New function.
14880         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14881         * modules/get-rusage-as (Depends-on): Add vma-iter.
14882
14883 2011-01-23  Bruno Haible  <bruno@clisp.org>
14884
14885         uninorm: Tweak includes.
14886         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14887         Reported by Jim Meyering.
14888
14889 2011-01-23  Bruno Haible  <bruno@clisp.org>
14890
14891         get-rusage-as: Improve on NetBSD.
14892         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14893         /proc, like on FreeBSD.
14894
14895 2011-01-23  Jim Meyering  <meyering@redhat.com>
14896
14897         xreadlink.h: remove unnecessary #include
14898         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14899
14900         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14901         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14902
14903 2011-01-23  Bruno Haible  <bruno@clisp.org>
14904
14905         get-rusage-as: Fix bug.
14906         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14907         original limit when aborting the first loop.
14908
14909 2011-01-23  Bruno Haible  <bruno@clisp.org>
14910
14911         wctype: Ensure valid C syntax.
14912         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14913         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14914
14915 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14916
14917         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14918         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14919         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14920         as they are needed only for configure's test case.
14921         This removes two unnecessary symbols from config.h.
14922
14923         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14924         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14925         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14926         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14927         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14928         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14929         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14930         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14931         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14932         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14933         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14934         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14935         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14936         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14937         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14938         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14939         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14940         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14941
14942 2011-01-21  Eric Blake  <eblake@redhat.com>
14943
14944         maintainer-makefile: work with older git for submodule check
14945         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14946         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14947         Reported by Matthias Bolte.
14948
14949         bootstrap: minor portability fixes
14950         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14951         (usage): Omit leading capital and trailing . on help phrases, per
14952         GNU Coding Standards.
14953         (check_versions, top level): Prefix messages with script name.
14954
14955 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14956
14957         bootstrap: support --no-git option
14958         * build-aux/bootstrap: Add --no-git option, to be used when
14959         --gnulib-srcdir points to the exact desired checkout.
14960
14961 2011-01-21  Eric Blake  <eblake@redhat.com>
14962
14963         strerror_r-posix: work with glibc 2.13
14964         * lib/strerror_r.c (strerror_r): Fix return type.
14965
14966 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14967             Bruno Haible  <bruno@clisp.org>
14968
14969         uN_strstr: New unit tests.
14970         * modules/unistr/u8-strstr-tests: New file.
14971         * modules/unistr/u16-strstr-tests: New file.
14972         * modules/unistr/u32-strstr-tests: New file.
14973         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14974         * tests/unistr/test-u8-strstr.c: New file.
14975         * tests/unistr/test-u16-strstr.c: New file.
14976         * tests/unistr/test-u32-strstr.c: New file.
14977
14978 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14979             Bruno Haible  <bruno@clisp.org>
14980
14981         Make uN_strstr functions O(n) worst-case.
14982         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14983         16-bit and 32-bit unit cases, use the unibyte algorithm from
14984         lib/mbsstr.c.
14985         * lib/unistr/u8-strstr.c: Include <string.h>.
14986         (UNIT_IS_UINT8_T): New macro.
14987         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14988         (U_STRLEN, U_STRNLEN): New macros.
14989         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14990         (U_STRLEN, U_STRNLEN): New macros.
14991         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14992         (configure.ac): Update required libunistring version.
14993         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14994         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14995         malloca.
14996         (configure.ac): Update required libunistring version.
14997         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14998         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14999         malloca.
15000         (configure.ac): Update required libunistring version.
15001
15002 2011-01-21  Pádraig Brady  <P@draigBrady.com>
15003             Bruno Haible  <bruno@clisp.org>
15004
15005         Prepare for faster uN_strstr functions.
15006         * lib/str-kmp.h: Support definable UNITs.
15007         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
15008         needle_len argument.
15009         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
15010         * lib/mbscasestr.c (mbscasestr): Likewise.
15011
15012 2011-01-21  Pádraig Brady <P@draigBrady.com>
15013
15014         malloca-tests: make faster by unsetting MALLOC_PERTURB_
15015         * tests/test-malloca.c (main): Unset the environment variable
15016         to greatly speed up the test.
15017         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
15018         * modules/malloca-tests: Depend on unsetenv.
15019
15020 2011-01-21  Pádraig Brady <P@draigBrady.com>
15021
15022         ignore-value: remove stdint dependency
15023         * lib/ignore-value.h: Remove <stdint.h>
15024         * modules/ignore-value: Remove stdint dependency.
15025
15026 2011-01-21  Jim Meyering  <meyering@redhat.com>
15027
15028         maint.mk: adjust variable name to be consistent with other gl_ vars
15029         * top/maint.mk (gl_public_submodule_commit): Rename the variable
15030         to be lower case.
15031
15032 2011-01-20  Jim Meyering  <meyering@redhat.com>
15033
15034         maint.mk: make "check" depend on public-submodule-commit by default
15035         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
15036
15037 2011-01-20  Bruno Haible  <bruno@clisp.org>
15038
15039         mbfile, mbiter: Complete change from 2008-12-21.
15040         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
15041         * m4/mbiter.m4 (gl_MBITER): Likewise.
15042
15043 2011-01-20  Jim Meyering  <meyering@redhat.com>
15044
15045         init.sh: insert space between each function name and "()"
15046         * tests/init.sh: Make it a little easier to see that a function's
15047         name is "warn_", and not "warn" when looking at the first part of
15048         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
15049
15050 2011-01-20  Jim Meyering  <meyering@redhat.com>
15051
15052         mountlist: clean up code formatting
15053         * lib/mountlist.c (read_file_system_list): Split a long line,
15054         correct bracing style, use NULL in place of "(struct statfs *)0",
15055         don't parenthesize return value, add spaces around "=" and after
15056         ";-in-for-stmt".
15057
15058 2011-01-14  Markus Duft <mduft@gentoo.org>
15059
15060         mountlist: add support for Interix
15061         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
15062         Apply statvfs to all entries of /dev/fs.
15063         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
15064         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
15065
15066 2011-01-20  Jim Meyering  <meyering@redhat.com>
15067
15068         maint.mk: improve the public-submodule-commit rule
15069         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
15070         to suppress printing of its commands... unless V=1.
15071         Add git submodule's --quiet option to suppress printing of e.g.,
15072         "Entering gnulib" output.
15073         "cd" into $(srcdir) before running git submodule.
15074
15075 2011-01-20  Bruno Haible  <bruno@clisp.org>
15076
15077         include_next: Fix bug introduced on 2011-01-18.
15078         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
15079         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
15080         ac_cv_header_... variable if the second argument is not 'check'.
15081         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
15082         gl_NEXT_HEADERS_INTERNAL.
15083
15084 2011-01-20  Bruno Haible  <bruno@clisp.org>
15085
15086         Allow the user to avoid the GNULIB_TEST_* macros.
15087         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
15088         Suggested by Paul Eggert.
15089
15090 2011-01-14  Jim Meyering  <meyering@redhat.com>
15091
15092         bootstrap: avoid failure when there is no .gitmodules file
15093         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
15094         has been assigned to, even when its value is the empty string.
15095         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
15096         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
15097         Reported by John W. Eaton <jwe@gnu.org>.
15098
15099 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15100
15101         assume <ctype.h>, ..., <time.h> exist
15102         For years gnulib has been assuming the existence of the headers
15103         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
15104         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
15105         them, since they don't appear to be needed.
15106         * README (Portability guidelines): Document this.
15107         * lib/flock.c: Assume <fcntl.h> exists.
15108         * lib/regex_internal.h: Assume <locale.h> exists.
15109         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
15110         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
15111         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
15112         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
15113         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
15114         * m4/regex.m4 (gl_REGEX): Likewise.
15115         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
15116         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
15117         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
15118         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
15119         * tests/test-argp.c: Likewise.
15120         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
15121
15122         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
15123         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
15124         AA_APPLE_UNIVERSAL_BUILD.  See
15125         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
15126         * NEWS: Document this.
15127
15128 2011-01-19  Eric Blake  <eblake@redhat.com>
15129
15130         c-stack: assume stack overflow if SA_SIGINFO unsupported
15131         * lib/c-stack.c (SIGACTION_WORKS): Rename...
15132         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
15133         sigaction will work.
15134         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
15135         behavior match Linux.
15136         * tests/test-c-stack.c (main): Prefer NULL for pointers.
15137
15138         stdbool-tests: accomodate Haiku
15139         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
15140
15141         binary-io: fix O_TEXT on Haiku
15142         * modules/binary-io (Depends-on): Add fcntl-h.
15143         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
15144         than blindly undefining O_TEXT.
15145         Reported by Scott McCreary.
15146
15147 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15148
15149         include_next: do not check for standard headers like stddef.h
15150
15151         I found this problem when modifying Emacs to use gnulib.
15152         I noticed that it added HAVE_STDDEF_H to config.h, even though
15153         gnulib always assumes <stddef.h> exists as per README and this
15154         symbol is unnecessary.
15155         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
15156         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
15157         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
15158         faster for headers like stddef.h that are known to exist.
15159         (gl_CHECK_NEXT_HEADERS): Use it.
15160         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
15161         rather than gl_CHECK_NEXT_HEADERS.
15162         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
15163         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
15164
15165 2011-01-18  Eric Blake  <eblake@redhat.com>
15166
15167         ansi-c++-opt: skip C++ dependency style if C++ is unused
15168         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15169         tests when we know C++ compilation is not desired.
15170         Reported by Scott McCreary.
15171
15172 2011-01-18  Bruno Haible  <bruno@clisp.org>
15173
15174         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15175         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15176         (main): Perform test also when getrlimit and setrlimit don't exist or
15177         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15178         limiting the address space size using setrlimit, compare the address
15179         space size before and after the the test.
15180         * tests/test-dprintf-posix2.c: Likewise.
15181         * tests/test-fprintf-posix3.sh: Update skip messages.
15182         * tests/test-dprintf-posix2.sh: Likewise.
15183         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15184         * modules/dprintf-posix-tests (Depends-on): Likewise.
15185         Reported by Bruce Korb <bkorb@gnu.org> and
15186         Gary V. Vaughan <gary@gnu.org>.
15187
15188 2011-01-18  Bruno Haible  <bruno@clisp.org>
15189
15190         get-rusage-as: Improvement for Cygwin.
15191         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15192         areas that are merely reserved.
15193
15194 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15195
15196         strftime: remove dependencies on multibyte modules
15197
15198         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15199         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15200         only if __osf__ is defined, and I suspect OSF doesn't need these
15201         other modules.  If my guess is wrong, we'll need to come up with a
15202         variant of strftime that doesn't need the multibyte modules.
15203
15204         I discovered this problem when attempting modify Emacs to use the
15205         strftime module.  With the previous gnulib, this caused Emacs to
15206         need 31 new files, ranging from lib/config.charset to
15207         m4/wint_t.m4.  This was overkill and I expect would be offputting
15208         to the Emacs maintainers.  After this change, only 6 new files are
15209         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15210         stdbool.m4, and tm_gmtoff.m4.
15211
15212         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15213         Suggested by Bruno Haible in
15214         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15215         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15216         and do not check for wchar.h.
15217         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15218         (Depends-on): Remove mbrlen, mbsinit, wchar.
15219
15220 2011-01-18  Bruno Haible  <bruno@clisp.org>
15221
15222         Tests for module 'get-rusage-as'.
15223         * modules/get-rusage-as-tests: New file.
15224         * tests/test-get-rusage-as.c: New file.
15225
15226         New module 'get-rusage-as'.
15227         * modules/get-rusage-as: New file.
15228         * lib/resource-ext.h: New file.
15229         * lib/get-rusage-as.c: New file.
15230
15231 2011-01-17  Eric Blake  <eblake@redhat.com>
15232
15233         sigaction: relax license from LGPLv3+ to LGPLv2+
15234         * modules/sigaction (License): Relax to LGPLv2+.
15235
15236 2011-01-14  Bruno Haible  <bruno@clisp.org>
15237
15238         filemode: Make function declarations usable in C++ mode.
15239         * lib/filemode.h: Enclose function declarations in extern "C" block.
15240         Reported by John W. Eaton <jwe@gnu.org>.
15241
15242 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15243
15244         save-cwd: no longer include "xgetcwd.h"
15245         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15246         This avoids a compilation failure in projects that use save-cwd
15247         without also using the xgetcwd module.
15248
15249 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15250
15251         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15252         This is so that a program like Emacs, which needs only dtoastr,
15253         does not have to bother with distributing and compiling ftoastr
15254         and ldtoastr.
15255         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15256         * modules/dtoastr, modules/ldtoastr: New files.
15257         * modules/ftoastr: Now works just for 'float'.
15258         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15259         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15260         dtoastr.c, ldtoastr.c.
15261
15262 2011-01-11  Jim Meyering  <meyering@redhat.com>
15263
15264         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15265         There is no need to work around the lack of the fchdir function,
15266         since gnulib can now provide a replacement when required.
15267         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15268         * modules/save-cwd (Depends-on): Add fchdir.
15269
15270 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15271
15272         openat, save-cwd: avoid xmalloc
15273
15274         This removes a direct (but undocumented) dependency of openat on
15275         xalloc, along with an indirect dependency via save-cwd.  It also
15276         removes a dependency of save-cwd on xgetcwd, and thereby
15277         indirectly on xalloc.  This change causes the openat substitute
15278         to fall back on save_cwd when memory is tight, and for save_cwd to
15279         fail instead of dying when memory is tight, but that's good enough.
15280         Problem and initial idea for fix reported by Bastien Roucaries in
15281         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15282
15283         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15284         xalloc.h (for xmalloc).
15285         (openat_proc_name): Use malloc, not xmalloc.
15286         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15287         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15288
15289         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15290         This avoids heap allocation for file names whose lengths are in
15291         the range 512..1023, with the upper bound increasing to at most
15292         4031 depending on the platform's PATH_MAX.  (We do not want
15293         pathmax.h here as it might supply a non-constant PATH_MAX.)
15294         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15295         Perhaps they should be moved to malloca.h?
15296         (OPENAT_BUFFER_SIZE): Use them.
15297
15298 2011-01-10  Bruno Haible  <bruno@clisp.org>
15299
15300         doc: Update users.txt.
15301         * users.txt: Add recutils.
15302
15303 2011-01-09  Karl Berry  <karl@gnu.org>
15304
15305         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15306
15307         * doc/configmake.texi: New file.
15308         * doc/gnulib.texi: Include it.
15309         * modules/configmake: Move documentation from here.
15310
15311 2011-01-09  Bruno Haible  <bruno@clisp.org>
15312
15313         Update to Unicode 6.0.0.
15314         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15315         (get_lbp): Update for Unicode 6.0.0.
15316         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15317         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15318         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15319         U+11001, U+11038..U+11046. Remove U+06DE.
15320         (uc_width): Fix bounds of planes.
15321         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15322         lib/uniwidth/width.c.
15323         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15324         trailing whitespace removed.
15325         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15326         without comments, but with the original copyright notice.
15327         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15328         * lib/unicase/ignorable.h: Likewise.
15329         * lib/unicase/tocasefold.h: Likewise.
15330         * lib/unicase/tolower.h: Likewise.
15331         * lib/unicase/totitle.h: Likewise.
15332         * lib/unicase/toupper.h: Likewise.
15333         * lib/unictype/bidi_of.h: Likewise.
15334         * lib/unictype/blocks.h: Likewise.
15335         * lib/unictype/categ_C.h: Likewise.
15336         * lib/unictype/categ_Cn.h: Likewise.
15337         * lib/unictype/categ_L.h: Likewise.
15338         * lib/unictype/categ_Ll.h: Likewise.
15339         * lib/unictype/categ_Lm.h: Likewise.
15340         * lib/unictype/categ_Lo.h: Likewise.
15341         * lib/unictype/categ_Lu.h: Likewise.
15342         * lib/unictype/categ_M.h: Likewise.
15343         * lib/unictype/categ_Mc.h: Likewise.
15344         * lib/unictype/categ_Me.h: Likewise.
15345         * lib/unictype/categ_Mn.h: Likewise.
15346         * lib/unictype/categ_N.h: Likewise.
15347         * lib/unictype/categ_Nd.h: Likewise.
15348         * lib/unictype/categ_No.h: Likewise.
15349         * lib/unictype/categ_P.h: Likewise.
15350         * lib/unictype/categ_Po.h: Likewise.
15351         * lib/unictype/categ_S.h: Likewise.
15352         * lib/unictype/categ_Sc.h: Likewise.
15353         * lib/unictype/categ_Sk.h: Likewise.
15354         * lib/unictype/categ_Sm.h: Likewise.
15355         * lib/unictype/categ_So.h: Likewise.
15356         * lib/unictype/categ_of.h: Likewise.
15357         * lib/unictype/combining.h: Likewise.
15358         * lib/unictype/ctype_alnum.h: Likewise.
15359         * lib/unictype/ctype_alpha.h: Likewise.
15360         * lib/unictype/ctype_graph.h: Likewise.
15361         * lib/unictype/ctype_lower.h: Likewise.
15362         * lib/unictype/ctype_print.h: Likewise.
15363         * lib/unictype/ctype_punct.h: Likewise.
15364         * lib/unictype/ctype_upper.h: Likewise.
15365         * lib/unictype/decdigit.h: Likewise.
15366         * lib/unictype/digit.h: Likewise.
15367         * lib/unictype/numeric.h: Likewise.
15368         * lib/unictype/pr_alphabetic.h: Likewise.
15369         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15370         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15371         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15372         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15373         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15374         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15375         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15376         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15377         * lib/unictype/pr_case_ignorable.h: Likewise.
15378         * lib/unictype/pr_cased.h: Likewise.
15379         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15380         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15381         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15382         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15383         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15384         * lib/unictype/pr_combining.h: Likewise.
15385         * lib/unictype/pr_composite.h: Likewise.
15386         * lib/unictype/pr_currency_symbol.h: Likewise.
15387         * lib/unictype/pr_decimal_digit.h: Likewise.
15388         * lib/unictype/pr_deprecated.h: Likewise.
15389         * lib/unictype/pr_format_control.h: Likewise.
15390         * lib/unictype/pr_grapheme_base.h: Likewise.
15391         * lib/unictype/pr_grapheme_extend.h: Likewise.
15392         * lib/unictype/pr_grapheme_link.h: Likewise.
15393         * lib/unictype/pr_id_continue.h: Likewise.
15394         * lib/unictype/pr_id_start.h: Likewise.
15395         * lib/unictype/pr_ideographic.h: Likewise.
15396         * lib/unictype/pr_lowercase.h: Likewise.
15397         * lib/unictype/pr_math.h: Likewise.
15398         * lib/unictype/pr_numeric.h: Likewise.
15399         * lib/unictype/pr_other_alphabetic.h: Likewise.
15400         * lib/unictype/pr_other_id_continue.h: Likewise.
15401         * lib/unictype/pr_other_math.h: Likewise.
15402         * lib/unictype/pr_punctuation.h: Likewise.
15403         * lib/unictype/pr_sentence_terminal.h: Likewise.
15404         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15405         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15406         * lib/unictype/pr_unified_ideograph.h: Likewise.
15407         * lib/unictype/pr_uppercase.h: Likewise.
15408         * lib/unictype/pr_xid_continue.h: Likewise.
15409         * lib/unictype/pr_xid_start.h: Likewise.
15410         * lib/unictype/scripts.h: Likewise.
15411         * lib/unictype/scripts_byname.gperf: Likewise.
15412         * lib/unictype/sy_java_ident.h: Likewise.
15413         * lib/unigbrk/gbrkprop.h: Likewise.
15414         * lib/unilbrk/lbrkprop1.h: Likewise.
15415         * lib/unilbrk/lbrkprop2.h: Likewise.
15416         * lib/uninorm/decomposition-table2.h: Likewise.
15417         * lib/uniwbrk/wbrkprop.h: Likewise.
15418         * tests/unicase/test-cased.c: Likewise.
15419         * tests/unicase/test-ignorable.c: Likewise.
15420         * tests/unicase/test-uc_tolower.c: Likewise.
15421         * tests/unicase/test-uc_totitle.c: Likewise.
15422         * tests/unicase/test-uc_toupper.c: Likewise.
15423         * tests/unictype/test-categ_C.c: Likewise.
15424         * tests/unictype/test-categ_Cn.c: Likewise.
15425         * tests/unictype/test-categ_L.c: Likewise.
15426         * tests/unictype/test-categ_Ll.c: Likewise.
15427         * tests/unictype/test-categ_Lm.c: Likewise.
15428         * tests/unictype/test-categ_Lo.c: Likewise.
15429         * tests/unictype/test-categ_Lu.c: Likewise.
15430         * tests/unictype/test-categ_M.c: Likewise.
15431         * tests/unictype/test-categ_Mc.c: Likewise.
15432         * tests/unictype/test-categ_Me.c: Likewise.
15433         * tests/unictype/test-categ_Mn.c: Likewise.
15434         * tests/unictype/test-categ_N.c: Likewise.
15435         * tests/unictype/test-categ_Nd.c: Likewise.
15436         * tests/unictype/test-categ_No.c: Likewise.
15437         * tests/unictype/test-categ_P.c: Likewise.
15438         * tests/unictype/test-categ_Po.c: Likewise.
15439         * tests/unictype/test-categ_S.c: Likewise.
15440         * tests/unictype/test-categ_Sc.c: Likewise.
15441         * tests/unictype/test-categ_Sk.c: Likewise.
15442         * tests/unictype/test-categ_Sm.c: Likewise.
15443         * tests/unictype/test-categ_So.c: Likewise.
15444         * tests/unictype/test-ctype_alnum.c: Likewise.
15445         * tests/unictype/test-ctype_alpha.c: Likewise.
15446         * tests/unictype/test-ctype_graph.c: Likewise.
15447         * tests/unictype/test-ctype_lower.c: Likewise.
15448         * tests/unictype/test-ctype_print.c: Likewise.
15449         * tests/unictype/test-ctype_punct.c: Likewise.
15450         * tests/unictype/test-ctype_upper.c: Likewise.
15451         * tests/unictype/test-decdigit.h: Likewise.
15452         * tests/unictype/test-digit.h: Likewise.
15453         * tests/unictype/test-numeric.h: Likewise.
15454         * tests/unictype/test-pr_alphabetic.c: Likewise.
15455         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15456         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15457         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15458         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15459         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15460         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15461         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15462         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15463         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15464         * tests/unictype/test-pr_cased.c: Likewise.
15465         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15466         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15467         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15468         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15469         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15470         * tests/unictype/test-pr_combining.c: Likewise.
15471         * tests/unictype/test-pr_composite.c: Likewise.
15472         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15473         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15474         * tests/unictype/test-pr_deprecated.c: Likewise.
15475         * tests/unictype/test-pr_format_control.c: Likewise.
15476         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15477         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15478         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15479         * tests/unictype/test-pr_id_continue.c: Likewise.
15480         * tests/unictype/test-pr_id_start.c: Likewise.
15481         * tests/unictype/test-pr_ideographic.c: Likewise.
15482         * tests/unictype/test-pr_lowercase.c: Likewise.
15483         * tests/unictype/test-pr_math.c: Likewise.
15484         * tests/unictype/test-pr_numeric.c: Likewise.
15485         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15486         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15487         * tests/unictype/test-pr_other_math.c: Likewise.
15488         * tests/unictype/test-pr_punctuation.c: Likewise.
15489         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15490         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15491         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15492         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15493         * tests/unictype/test-pr_uppercase.c: Likewise.
15494         * tests/unictype/test-pr_xid_continue.c: Likewise.
15495         * tests/unictype/test-pr_xid_start.c: Likewise.
15496         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15497         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15498         changes.
15499         * lib/unictype/categ_Cc.h: Likewise.
15500         * lib/unictype/categ_Cf.h: Likewise.
15501         * lib/unictype/categ_Co.h: Likewise.
15502         * lib/unictype/categ_Cs.h: Likewise.
15503         * lib/unictype/categ_Lt.h: Likewise.
15504         * lib/unictype/categ_Nl.h: Likewise.
15505         * lib/unictype/categ_Pc.h: Likewise.
15506         * lib/unictype/categ_Pd.h: Likewise.
15507         * lib/unictype/categ_Pe.h: Likewise.
15508         * lib/unictype/categ_Pf.h: Likewise.
15509         * lib/unictype/categ_Pi.h: Likewise.
15510         * lib/unictype/categ_Ps.h: Likewise.
15511         * lib/unictype/categ_Z.h: Likewise.
15512         * lib/unictype/categ_Zl.h: Likewise.
15513         * lib/unictype/categ_Zp.h: Likewise.
15514         * lib/unictype/categ_Zs.h: Likewise.
15515         * lib/unictype/ctype_blank.h: Likewise.
15516         * lib/unictype/ctype_cntrl.h: Likewise.
15517         * lib/unictype/ctype_digit.h: Likewise.
15518         * lib/unictype/ctype_space.h: Likewise.
15519         * lib/unictype/ctype_xdigit.h: Likewise.
15520         * lib/unictype/mirror.h: Likewise.
15521         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15522         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15523         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15524         * lib/unictype/pr_bidi_control.h: Likewise.
15525         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15526         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15527         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15528         * lib/unictype/pr_bidi_pdf.h: Likewise.
15529         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15530         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15531         * lib/unictype/pr_dash.h: Likewise.
15532         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15533         * lib/unictype/pr_diacritic.h: Likewise.
15534         * lib/unictype/pr_extender.h: Likewise.
15535         * lib/unictype/pr_hex_digit.h: Likewise.
15536         * lib/unictype/pr_hyphen.h: Likewise.
15537         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15538         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15539         * lib/unictype/pr_ignorable_control.h: Likewise.
15540         * lib/unictype/pr_iso_control.h: Likewise.
15541         * lib/unictype/pr_join_control.h: Likewise.
15542         * lib/unictype/pr_left_of_pair.h: Likewise.
15543         * lib/unictype/pr_line_separator.h: Likewise.
15544         * lib/unictype/pr_logical_order_exception.h: Likewise.
15545         * lib/unictype/pr_non_break.h: Likewise.
15546         * lib/unictype/pr_not_a_character.h: Likewise.
15547         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15548         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15549         * lib/unictype/pr_other_id_start.h: Likewise.
15550         * lib/unictype/pr_other_lowercase.h: Likewise.
15551         * lib/unictype/pr_other_uppercase.h: Likewise.
15552         * lib/unictype/pr_paired_punctuation.h: Likewise.
15553         * lib/unictype/pr_paragraph_separator.h: Likewise.
15554         * lib/unictype/pr_pattern_syntax.h: Likewise.
15555         * lib/unictype/pr_pattern_white_space.h: Likewise.
15556         * lib/unictype/pr_private_use.h: Likewise.
15557         * lib/unictype/pr_quotation_mark.h: Likewise.
15558         * lib/unictype/pr_radical.h: Likewise.
15559         * lib/unictype/pr_soft_dotted.h: Likewise.
15560         * lib/unictype/pr_space.h: Likewise.
15561         * lib/unictype/pr_titlecase.h: Likewise.
15562         * lib/unictype/pr_variation_selector.h: Likewise.
15563         * lib/unictype/pr_white_space.h: Likewise.
15564         * lib/unictype/pr_zero_width.h: Likewise.
15565         * lib/unictype/sy_c_ident.h: Likewise.
15566         * lib/unictype/sy_c_whitespace.h: Likewise.
15567         * lib/unictype/sy_java_whitespace.h: Likewise.
15568         * lib/uninorm/composition-table.gperf: Likewise.
15569         * lib/uninorm/decomposition-table1.h: Likewise.
15570         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15571         LB8.
15572         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15573         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15574         * modules/unictype/*: Bump version number of expected libunistring
15575         version.
15576
15577 2011-01-09  Bruno Haible  <bruno@clisp.org>
15578
15579         Update to Unicode 5.2.0.
15580         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15581         trailing whitespace removed.
15582
15583 2011-01-09  Bruno Haible  <bruno@clisp.org>
15584
15585         New Unicode character properties, from Unicode 5.2.0.
15586         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15587         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15588         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15589         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15590         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15591         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15592         uc_is_property_cased, uc_is_property_case_ignorable,
15593         uc_is_property_changes_when_lowercased,
15594         uc_is_property_changes_when_uppercased,
15595         uc_is_property_changes_when_titlecased,
15596         uc_is_property_changes_when_casefolded,
15597         uc_is_property_changes_when_casemapped): New declarations.
15598         * lib/unictype/pr_byname.gperf: Add the new properties.
15599         * modules/unictype/property-byname (Depends-on): Depend on the new
15600         properties modules.
15601         * modules/unictype/property-all (Depends-on): Likewise.
15602         * MODULES.html.sh (Unicode string functions): Add
15603         unictype/property-case-ignorable, unictype/property-cased,
15604         unictype/property-changes-when-casefolded,
15605         unictype/property-changes-when-casemapped,
15606         unictype/property-changes-when-lowercased,
15607         unictype/property-changes-when-titlecased,
15608         unictype/property-changes-when-uppercased.
15609
15610         New module 'unictype/property-changes-when-casemapped'.
15611         * modules/unictype/property-changes-when-casemapped: New file.
15612         * lib/unictype/pr_changes_when_casemapped.c: New file.
15613         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15614         generated by gen-uni-tables.
15615         * modules/unictype/property-changes-when-casemapped-tests: New file.
15616         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15617         automatically generated by gen-uni-tables.
15618
15619         New module 'unictype/property-changes-when-casefolded'.
15620         * modules/unictype/property-changes-when-casefolded: New file.
15621         * lib/unictype/pr_changes_when_casefolded.c: New file.
15622         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15623         generated by gen-uni-tables.
15624         * modules/unictype/property-changes-when-casefolded-tests: New file.
15625         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15626         automatically generated by gen-uni-tables.
15627
15628         New module 'unictype/property-changes-when-titlecased'.
15629         * modules/unictype/property-changes-when-titlecased: New file.
15630         * lib/unictype/pr_changes_when_titlecased.c: New file.
15631         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15632         generated by gen-uni-tables.
15633         * modules/unictype/property-changes-when-titlecased-tests: New file.
15634         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15635         automatically generated by gen-uni-tables.
15636
15637         New module 'unictype/property-changes-when-uppercased'.
15638         * modules/unictype/property-changes-when-uppercased: New file.
15639         * lib/unictype/pr_changes_when_uppercased.c: New file.
15640         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15641         generated by gen-uni-tables.
15642         * modules/unictype/property-changes-when-uppercased-tests: New file.
15643         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15644         automatically generated by gen-uni-tables.
15645
15646         New module 'unictype/property-changes-when-lowercased'.
15647         * modules/unictype/property-changes-when-lowercased: New file.
15648         * lib/unictype/pr_changes_when_lowercased.c: New file.
15649         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15650         generated by gen-uni-tables.
15651         * modules/unictype/property-changes-when-lowercased-tests: New file.
15652         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15653         automatically generated by gen-uni-tables.
15654
15655         New module 'unictype/property-case-ignorable'.
15656         * modules/unictype/property-case-ignorable: New file.
15657         * lib/unictype/pr_case_ignorable.c: New file.
15658         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15659         by gen-uni-tables.
15660         * modules/unictype/property-case-ignorable-tests: New file.
15661         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15662         generated by gen-uni-tables.
15663
15664         New module 'unictype/property-cased'.
15665         * modules/unictype/property-cased: New file.
15666         * lib/unictype/pr_cased.c: New file.
15667         * lib/unictype/pr_cased.h: New file, automatically generated by
15668         gen-uni-tables.
15669         * modules/unictype/property-cased-tests: New file.
15670         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15671         gen-uni-tables.
15672
15673 2011-01-09  Bruno Haible  <bruno@clisp.org>
15674
15675         Update to Unicode 5.2.0.
15676         * lib/gen-uni-tables.c (output_predicate, output_category,
15677         output_combclass, output_bidi_category, output_decimal_digit_test,
15678         output_decimal_digit, output_digit_test, output_digit,
15679         output_numeric_test, output_numeric, output_mirror, output_scripts,
15680         output_scripts_byname, output_blocks, output_ident_category): Fix
15681         comment header.
15682         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15683         get_wbp.
15684         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15685         items.
15686         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15687         Changes_When_Lowercased, Changes_When_Uppercased,
15688         Changes_When_Titlecased, Changes_When_Casefolded,
15689         Changes_When_Casemapped.
15690         (is_property_alphabetic, is_property_default_ignorable_code_point):
15691         Update for Unicode 5.2.0.
15692         (is_property_cased, is_property_case_ignorable,
15693         is_property_changes_when_lowercased,
15694         is_property_changes_when_uppercased,
15695         is_property_changes_when_titlecased,
15696         is_property_changes_when_casefolded,
15697         is_property_changes_when_casemapped): New functions.
15698         (output_properties): Output also the properties cased, case_ignorable,
15699         changes_when_lowercased, changes_when_uppercased,
15700         changes_when_titlecased, changes_when_casefolded,
15701         changes_when_casemapped.
15702         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15703         Unicode TR#11 revision 17 -> 19.
15704         (LBP_CP): New enumeration value.
15705         (LBP_*): Adjust values accordingly.
15706         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15707         TR#14 revision 22 -> 24.
15708         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15709         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15710         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15711         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15712         is_WBP_MIDLETTER.
15713         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15714         the code1 and code2 of each composition rule.
15715         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15716         * lib/unicase/ignorable.h: Likewise.
15717         * lib/unicase/tocasefold.h: Likewise.
15718         * lib/unicase/tolower.h: Likewise.
15719         * lib/unicase/totitle.h: Likewise.
15720         * lib/unicase/toupper.h: Likewise.
15721         * lib/unictype/bidi_of.h: Likewise.
15722         * lib/unictype/blocks.h: Likewise.
15723         * lib/unictype/categ_C.h: Likewise.
15724         * lib/unictype/categ_Cf.h: Likewise.
15725         * lib/unictype/categ_Cn.h: Likewise.
15726         * lib/unictype/categ_L.h: Likewise.
15727         * lib/unictype/categ_Ll.h: Likewise.
15728         * lib/unictype/categ_Lm.h: Likewise.
15729         * lib/unictype/categ_Lo.h: Likewise.
15730         * lib/unictype/categ_Lu.h: Likewise.
15731         * lib/unictype/categ_M.h: Likewise.
15732         * lib/unictype/categ_Mc.h: Likewise.
15733         * lib/unictype/categ_Mn.h: Likewise.
15734         * lib/unictype/categ_N.h: Likewise.
15735         * lib/unictype/categ_Nd.h: Likewise.
15736         * lib/unictype/categ_Nl.h: Likewise.
15737         * lib/unictype/categ_No.h: Likewise.
15738         * lib/unictype/categ_P.h: Likewise.
15739         * lib/unictype/categ_Pd.h: Likewise.
15740         * lib/unictype/categ_Po.h: Likewise.
15741         * lib/unictype/categ_S.h: Likewise.
15742         * lib/unictype/categ_Sc.h: Likewise.
15743         * lib/unictype/categ_So.h: Likewise.
15744         * lib/unictype/categ_of.h: Likewise.
15745         * lib/unictype/combining.h: Likewise.
15746         * lib/unictype/ctype_alnum.h: Likewise.
15747         * lib/unictype/ctype_alpha.h: Likewise.
15748         * lib/unictype/ctype_graph.h: Likewise.
15749         * lib/unictype/ctype_lower.h: Likewise.
15750         * lib/unictype/ctype_print.h: Likewise.
15751         * lib/unictype/ctype_punct.h: Likewise.
15752         * lib/unictype/ctype_upper.h: Likewise.
15753         * lib/unictype/decdigit.h: Likewise.
15754         * lib/unictype/digit.h: Likewise.
15755         * lib/unictype/numeric.h: Likewise.
15756         * lib/unictype/pr_alphabetic.h: Likewise.
15757         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15758         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15759         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15760         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15761         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15762         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15763         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15764         * lib/unictype/pr_combining.h: Likewise.
15765         * lib/unictype/pr_composite.h: Likewise.
15766         * lib/unictype/pr_currency_symbol.h: Likewise.
15767         * lib/unictype/pr_dash.h: Likewise.
15768         * lib/unictype/pr_decimal_digit.h: Likewise.
15769         * lib/unictype/pr_deprecated.h: Likewise.
15770         * lib/unictype/pr_diacritic.h: Likewise.
15771         * lib/unictype/pr_extender.h: Likewise.
15772         * lib/unictype/pr_grapheme_base.h: Likewise.
15773         * lib/unictype/pr_grapheme_extend.h: Likewise.
15774         * lib/unictype/pr_grapheme_link.h: Likewise.
15775         * lib/unictype/pr_id_continue.h: Likewise.
15776         * lib/unictype/pr_id_start.h: Likewise.
15777         * lib/unictype/pr_ideographic.h: Likewise.
15778         * lib/unictype/pr_ignorable_control.h: Likewise.
15779         * lib/unictype/pr_logical_order_exception.h: Likewise.
15780         * lib/unictype/pr_lowercase.h: Likewise.
15781         * lib/unictype/pr_numeric.h: Likewise.
15782         * lib/unictype/pr_other_alphabetic.h: Likewise.
15783         * lib/unictype/pr_punctuation.h: Likewise.
15784         * lib/unictype/pr_sentence_terminal.h: Likewise.
15785         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15786         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15787         * lib/unictype/pr_unified_ideograph.h: Likewise.
15788         * lib/unictype/pr_uppercase.h: Likewise.
15789         * lib/unictype/pr_xid_continue.h: Likewise.
15790         * lib/unictype/pr_xid_start.h: Likewise.
15791         * lib/unictype/pr_zero_width.h: Likewise.
15792         * lib/unictype/scripts.h: Likewise.
15793         * lib/unictype/scripts_byname.gperf: Likewise.
15794         * lib/unictype/sy_java_ident.h: Likewise.
15795         * lib/unigbrk/gbrkprop.h: Likewise.
15796         * lib/unilbrk/lbrkprop1.h: Likewise.
15797         * lib/unilbrk/lbrkprop2.h: Likewise.
15798         * lib/unilbrk/lbrktables.h: Likewise.
15799         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15800         LBP_CP. Implement rule LB30.
15801         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15802         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15803         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15804         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15805         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15806         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15807         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15808         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15809         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15810         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15811         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15812         bits instead of 16 bits in the code1 and code2 of each composition
15813         rule.
15814         (uc_composition): Update for Unicode 5.2.0.
15815         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15816         * lib/uninorm/decomposition-table2.h: Likewise.
15817         * lib/uniwbrk/wbrkprop.h: Likewise.
15818         * tests/unicase/test-cased.c: Likewise.
15819         * tests/unicase/test-ignorable.c: Likewise.
15820         * tests/unicase/test-uc_tolower.c: Likewise.
15821         * tests/unicase/test-uc_totitle.c: Likewise.
15822         * tests/unicase/test-uc_toupper.c: Likewise.
15823         * tests/unictype/test-categ_C.c: Likewise.
15824         * tests/unictype/test-categ_Cf.c: Likewise.
15825         * tests/unictype/test-categ_Cn.c: Likewise.
15826         * tests/unictype/test-categ_L.c: Likewise.
15827         * tests/unictype/test-categ_Ll.c: Likewise.
15828         * tests/unictype/test-categ_Lm.c: Likewise.
15829         * tests/unictype/test-categ_Lo.c: Likewise.
15830         * tests/unictype/test-categ_Lu.c: Likewise.
15831         * tests/unictype/test-categ_M.c: Likewise.
15832         * tests/unictype/test-categ_Mc.c: Likewise.
15833         * tests/unictype/test-categ_Mn.c: Likewise.
15834         * tests/unictype/test-categ_N.c: Likewise.
15835         * tests/unictype/test-categ_Nd.c: Likewise.
15836         * tests/unictype/test-categ_Nl.c: Likewise.
15837         * tests/unictype/test-categ_No.c: Likewise.
15838         * tests/unictype/test-categ_P.c: Likewise.
15839         * tests/unictype/test-categ_Pd.c: Likewise.
15840         * tests/unictype/test-categ_Po.c: Likewise.
15841         * tests/unictype/test-categ_S.c: Likewise.
15842         * tests/unictype/test-categ_Sc.c: Likewise.
15843         * tests/unictype/test-categ_So.c: Likewise.
15844         * tests/unictype/test-ctype_alnum.c: Likewise.
15845         * tests/unictype/test-ctype_alpha.c: Likewise.
15846         * tests/unictype/test-ctype_graph.c: Likewise.
15847         * tests/unictype/test-ctype_lower.c: Likewise.
15848         * tests/unictype/test-ctype_print.c: Likewise.
15849         * tests/unictype/test-ctype_punct.c: Likewise.
15850         * tests/unictype/test-ctype_upper.c: Likewise.
15851         * tests/unictype/test-decdigit.h: Likewise.
15852         * tests/unictype/test-digit.h: Likewise.
15853         * tests/unictype/test-numeric.h: Likewise.
15854         * tests/unictype/test-pr_alphabetic.c: Likewise.
15855         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15856         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15857         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15858         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15859         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15860         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15861         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15862         * tests/unictype/test-pr_combining.c: Likewise.
15863         * tests/unictype/test-pr_composite.c: Likewise.
15864         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15865         * tests/unictype/test-pr_dash.c: Likewise.
15866         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15867         * tests/unictype/test-pr_deprecated.c: Likewise.
15868         * tests/unictype/test-pr_diacritic.c: Likewise.
15869         * tests/unictype/test-pr_extender.c: Likewise.
15870         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15871         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15872         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15873         * tests/unictype/test-pr_id_continue.c: Likewise.
15874         * tests/unictype/test-pr_id_start.c: Likewise.
15875         * tests/unictype/test-pr_ideographic.c: Likewise.
15876         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15877         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15878         * tests/unictype/test-pr_lowercase.c: Likewise.
15879         * tests/unictype/test-pr_numeric.c: Likewise.
15880         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15881         * tests/unictype/test-pr_punctuation.c: Likewise.
15882         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15883         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15884         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15885         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15886         * tests/unictype/test-pr_uppercase.c: Likewise.
15887         * tests/unictype/test-pr_xid_continue.c: Likewise.
15888         * tests/unictype/test-pr_xid_start.c: Likewise.
15889         * tests/unictype/test-pr_zero_width.c: Likewise.
15890         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15891         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15892         changed behaviour: line breaking is now disallowed between a letter
15893         or '=' and '('.
15894         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15895         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15896         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15897         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15898         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15899         lib/uniwidth/width.c.
15900         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15901         without comments, but with the original copyright notice.
15902         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15903         changes.
15904         * lib/unictype/categ_Cc.h: Likewise.
15905         * lib/unictype/categ_Co.h: Likewise.
15906         * lib/unictype/categ_Cs.h: Likewise.
15907         * lib/unictype/categ_Lt.h: Likewise.
15908         * lib/unictype/categ_Me.h: Likewise.
15909         * lib/unictype/categ_Pc.h: Likewise.
15910         * lib/unictype/categ_Pe.h: Likewise.
15911         * lib/unictype/categ_Pf.h: Likewise.
15912         * lib/unictype/categ_Pi.h: Likewise.
15913         * lib/unictype/categ_Ps.h: Likewise.
15914         * lib/unictype/categ_Sk.h: Likewise.
15915         * lib/unictype/categ_Sm.h: Likewise.
15916         * lib/unictype/categ_Z.h: Likewise.
15917         * lib/unictype/categ_Zl.h: Likewise.
15918         * lib/unictype/categ_Zp.h: Likewise.
15919         * lib/unictype/categ_Zs.h: Likewise.
15920         * lib/unictype/ctype_blank.h: Likewise.
15921         * lib/unictype/ctype_cntrl.h: Likewise.
15922         * lib/unictype/ctype_digit.h: Likewise.
15923         * lib/unictype/ctype_space.h: Likewise.
15924         * lib/unictype/ctype_xdigit.h: Likewise.
15925         * lib/unictype/mirror.h: Likewise.
15926         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15927         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15928         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15929         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15930         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15931         * lib/unictype/pr_bidi_control.h: Likewise.
15932         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15933         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15934         * lib/unictype/pr_bidi_pdf.h: Likewise.
15935         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15936         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15937         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15938         * lib/unictype/pr_format_control.h: Likewise.
15939         * lib/unictype/pr_hex_digit.h: Likewise.
15940         * lib/unictype/pr_hyphen.h: Likewise.
15941         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15942         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15943         * lib/unictype/pr_iso_control.h: Likewise.
15944         * lib/unictype/pr_join_control.h: Likewise.
15945         * lib/unictype/pr_left_of_pair.h: Likewise.
15946         * lib/unictype/pr_line_separator.h: Likewise.
15947         * lib/unictype/pr_math.h: Likewise.
15948         * lib/unictype/pr_non_break.h: Likewise.
15949         * lib/unictype/pr_not_a_character.h: Likewise.
15950         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15951         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15952         * lib/unictype/pr_other_id_continue.h: Likewise.
15953         * lib/unictype/pr_other_id_start.h: Likewise.
15954         * lib/unictype/pr_other_lowercase.h: Likewise.
15955         * lib/unictype/pr_other_math.h: Likewise.
15956         * lib/unictype/pr_other_uppercase.h: Likewise.
15957         * lib/unictype/pr_paired_punctuation.h: Likewise.
15958         * lib/unictype/pr_paragraph_separator.h: Likewise.
15959         * lib/unictype/pr_pattern_syntax.h: Likewise.
15960         * lib/unictype/pr_pattern_white_space.h: Likewise.
15961         * lib/unictype/pr_private_use.h: Likewise.
15962         * lib/unictype/pr_quotation_mark.h: Likewise.
15963         * lib/unictype/pr_radical.h: Likewise.
15964         * lib/unictype/pr_soft_dotted.h: Likewise.
15965         * lib/unictype/pr_space.h: Likewise.
15966         * lib/unictype/pr_titlecase.h: Likewise.
15967         * lib/unictype/pr_variation_selector.h: Likewise.
15968         * lib/unictype/pr_white_space.h: Likewise.
15969         * lib/unictype/sy_c_ident.h: Likewise.
15970         * lib/unictype/sy_c_whitespace.h: Likewise.
15971         * lib/unictype/sy_java_whitespace.h: Likewise.
15972         * modules/uni*/*: Bump version number of expected libunistring version.
15973         Reported by Simon Josefsson.
15974
15975 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15976
15977         useless-if-before-free: fix typo in --help and make the internal,
15978         automatic version date update process work once again.
15979         --help output contained a NUL character instead of the
15980         backslash-zero that was intended.  Also, the "must lie within
15981         the first 8 lines" line is on line 9, and hence not getting
15982         automatically updated.
15983         * build-aux/useless-if-before-free: Fix the former by adding a
15984         backslash, and the latter by condensing the three lines of what-it-does
15985         to a single line, leaving one line of slack for the future.
15986
15987 2011-01-09  Bruno Haible  <bruno@clisp.org>
15988
15989         uniwidth/width: Fix width of U+1D173..U+1D17A.
15990         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15991         symbolic_width, output_width_property_test): New functions.
15992         (main): Invoke output_nonspacing_property, output_width_property_test.
15993         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15994         U+1D173..U+1D17A.
15995         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15996         1.
15997         * modules/uniwidth/*: Bump version number of expected libunistring
15998         version.
15999         * modules/unilbrk/*: Likewise.
16000
16001 2011-01-08  Bruno Haible  <bruno@clisp.org>
16002
16003         uninorm tests: Preserve copyright of Unicode data file.
16004         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
16005         Mention modifications.
16006
16007 2011-01-08  Bruno Haible  <bruno@clisp.org>
16008
16009         gen-uni-tables: Prepare for Unicode 5.2.0.
16010         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
16011         (debug_output_lbp, output_lbp): Update.
16012
16013 2011-01-08  Bruno Haible  <bruno@clisp.org>
16014
16015         unilbrk: Clarify gen-uni-tables.c code.
16016         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
16017         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
16018         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
16019
16020 2011-01-07  Bruno Haible  <bruno@clisp.org>
16021
16022         strtod: Restore errno when successfully parsing Infinity or NaN.
16023         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
16024         restore the original errno.
16025
16026 2011-01-07  Bruno Haible  <bruno@clisp.org>
16027
16028         remove test: Avoid failure on HP-UX 11.
16029         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
16030
16031 2011-01-07  Bruno Haible  <bruno@clisp.org>
16032
16033         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
16034         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
16035         error code.
16036
16037 2011-01-07  Pádraig Brady <P@draigBrady.com>
16038
16039         ignore-value: fixup comments, and add Eric Blake
16040         as an author since he rewrote the macros.
16041         * lib/ignore-value.h (ignore_value):  State that
16042         we now support aggregates.  Also specify exactly
16043         when the GCC warn_unused_result feature was added.
16044
16045 2011-01-06  Eric Blake  <eblake@redhat.com>
16046
16047         ignore-value: support aggregate types
16048         * lib/ignore-value.h (ignore_value): Provide separate gcc
16049         definition.
16050         * modules/ignore-value-tests: New test module.
16051         * tests/test-ignore-value.c: New test.
16052
16053         maint.mk: improve sc_prohibit_strcmp regex
16054         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
16055         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
16056         definition of STRNEQ.
16057
16058         signal: work around Haiku issue with SIGBUS
16059         * lib/siglist.h: Add comment.
16060         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
16061         strsignal's favoring of SIGSEGV.
16062         * tests/test-signal.c (main): Avoid test failure.
16063         * doc/posix-headers/signal.texi (signal.h): Document the issue.
16064         Reported by Scott McCreary.
16065
16066         maint.mk: add pre-release check to ensure submodule commits are public
16067         * top/maint.mk (public-submodule-commit): New rule.
16068         (submodule-checks): New variable.
16069         (alpha beta stable): Depend on the variable.
16070
16071 2011-01-05  Pádraig Brady <P@draigBrady.com>
16072         and Jim Meyering  <meyering@redhat.com>
16073
16074         ignore-value: make ignore_value more generic; deprecate ignore_ptr
16075         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
16076         (ATTRIBUTE_DEPRECATED): Define.
16077         (_ignore_case): New function.
16078         (ignore_value): New macro, to replace the old function.
16079         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
16080         * modules/ignore-value (Depends-on): Add stdint.
16081
16082 2011-01-04  Eric Blake  <eblake@redhat.com>
16083
16084         doc: regenerate INSTALL
16085         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
16086         @firstparagraphindent support, now that autoconf dropped it.
16087         (INSTALL_PRELUDE): Reinstate old macro.
16088         * doc/install.texi: Resync from autoconf.
16089         * doc/INSTALL: Reflect recent autoconf update.
16090         * doc/INSTALL.ISO: Likewise.
16091         * doc/INSTALL.UTF-8: Likewise.
16092         Reported by Karl Berry.
16093
16094 2011-01-04  Bruce Korb  <address@hidden>
16095
16096         git-version-gen: avoid a sub-shell
16097         * build-aux/git-version-gen: Redirect stderr in `...` via
16098         "exec 2>...", rather than via an added sub-shell.
16099
16100 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
16101
16102         git-version-gen: use (...) rather than sh -c '...'
16103         * build-aux/git-version-gen: Rather than hard-coding a shell's name
16104         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
16105
16106 2011-01-03  Jim Meyering  <meyering@redhat.com>
16107
16108         git-version-gen: convert leading TABs to spaces
16109         * build-aux/git-version-gen: Expand leading TABs.
16110
16111         git-version-gen: handle failed "git rev-list"
16112         * build-aux/git-version-gen: Rather than leaking a "fatal" error
16113         from git and proceeding as if it had succeeded but printed no SHA1
16114         checksums, suppress the diagnostic and handle the failure.
16115         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
16116
16117         git-version-gen: include command name in one more diagnostic
16118         * build-aux/git-version-gen: When the required .tarball-version file
16119         was missing or unreadable, you might see the diagnostic from "cat",
16120         but no trace of the name of the invoking script.  Now, you still see
16121         the diagnostic from cat, but also get one from "git-version-gen: ".
16122         Inspired by a patch from Bruce Korb.
16123
16124         update-copyright: adjust test to match changed code
16125         * tests/test-update-copyright.sh: Change test's expected output
16126         to match new actual output.
16127
16128 2011-01-02  Bruno Haible  <bruno@clisp.org>
16129
16130         getlogin_r: Avoid test failure on HP-UX 11.
16131         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
16132         ERANGE when the second argument is zero.
16133         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
16134         portability problem.
16135
16136 2011-01-02  Bruce Korb  <bkorb@gnu.org>
16137
16138         * build-aux/update-copyright: doc Simon's changes
16139
16140 2011-01-02  Simon Josefsson  <simon@josefsson.org>
16141
16142         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
16143         environment variable.
16144
16145 2011-01-02  Bruno Haible  <bruno@clisp.org>
16146
16147         unigbrk: Avoid gcc warnings.
16148         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
16149         unused variable.
16150         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
16151         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
16152         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
16153         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
16154         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
16155         Change type of first argument to 'const char *'.
16156         (main): Remove unused variable.
16157         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
16158         type of first argument to 'const char *'.
16159         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
16160         Likewise.
16161         (main): Change type of variable 's'.
16162         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
16163         to 'int'.
16164
16165 2011-01-02  Bruno Haible  <bruno@clisp.org>
16166
16167         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
16168         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16169         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16170         bug.
16171         * lib/pwrite.c: Undo 2010-12-31 patch.
16172         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16173
16174 2011-01-02  Bruno Haible  <bruno@clisp.org>
16175
16176         pread: Fix test whether it works.
16177         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16178
16179 2011-01-02  Bruno Haible  <bruno@clisp.org>
16180
16181         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16182         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16183         ends in "6". Don't require a specific month name. Try also the locale
16184         names found on HP-UX 11 and Solaris 7.
16185
16186 2011-01-02  Bruno Haible  <bruno@clisp.org>
16187
16188         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16189         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16190         C linkage.
16191         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16192
16193 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16194
16195         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16196         for consistency, since the "cluster" term is not used elsewhere.
16197         * lib/unigbrk.in.h: Update name.
16198         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16199         * lib/unigbrk/u16-grapheme-next.c: Update name.
16200         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16201         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16202         * lib/unigbrk/u32-grapheme-next.c: Update name.
16203         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16204         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16205         * lib/unigbrk/u8-grapheme-next.c: Update name.
16206         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16207         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16208         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16209         Suggested by Bruno Haible.
16210
16211 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16212
16213         Remove module 'u8-grapheme-len' as too redundant with
16214         'u8-grapheme-next'.
16215         * modules/unigbrk/u8-grapheme-len: Delete file.
16216         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16217         * lib/unigbrk.in.h: Remove prototype for deleted function.
16218         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16219         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16220
16221         Remove module 'u16-grapheme-len' as too redundant with
16222         'u16-grapheme-next'.
16223         * modules/unigbrk/u16-grapheme-len: Delete file.
16224         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16225         * lib/unigbrk.in.h: Remove prototype for deleted function.
16226         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16227         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16228
16229         Remove module 'u32-grapheme-len' as too redundant with
16230         'u32-grapheme-next'.
16231         * modules/unigbrk/u32-grapheme-len: Delete file.
16232         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16233         * lib/unigbrk.in.h: Remove prototype for deleted function.
16234         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16235         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16236
16237         Suggested by Bruno Haible.
16238
16239 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16240
16241         * unigbrk.in.h: Fix typo: "ben" => "been".
16242         Reported by Bruno Haible.
16243
16244 2011-01-01  Jim Meyering  <meyering@redhat.com>
16245
16246         maint: update almost all copyright ranges to include 2011
16247         Run the new "make update-copyright" rule.
16248
16249 2011-01-01  Jim Meyering  <meyering@redhat.com>
16250
16251         maint: update-copyright: exempt doc/INSTALL*
16252         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16253         since they are generated.  Suggested by Bruno Haible.
16254
16255 2011-01-01  Jim Meyering  <meyering@redhat.com>
16256
16257         maint: refine the update-copyright rule
16258         * Makefile (update-copyright): Also exclude any file that includes
16259         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16260         code that merely generates the comment.
16261
16262 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16263
16264         New module 'u8-grapheme-len'.
16265         * modules/unigbrk/u8-grapheme-len: New file.
16266         * modules/unigbrk/u8-grapheme-len-tests: New file.
16267         * lib/unigbrk.in.h: Add prototype for new function.
16268         * lib/unigbrk/u8-grapheme-len.c: New file.
16269         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16270
16271         New module 'u16-grapheme-len'.
16272         * modules/unigbrk/u16-grapheme-len: New file.
16273         * modules/unigbrk/u16-grapheme-len-tests: New file.
16274         * lib/unigbrk.in.h: Add prototype for new function.
16275         * lib/unigbrk/u16-grapheme-len.c: New file.
16276         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16277
16278         New module 'u32-grapheme-len'.
16279         * modules/unigbrk/u32-grapheme-len: New file.
16280         * modules/unigbrk/u32-grapheme-len-tests: New file.
16281         * lib/unigbrk.in.h: Add prototype for new function.
16282         * lib/unigbrk/u32-grapheme-len.c: New file.
16283         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16284
16285         New module 'u8-grapheme-next'.
16286         * modules/unigbrk/u8-grapheme-next: New file.
16287         * modules/unigbrk/u8-grapheme-next-tests: New file.
16288         * lib/unigbrk.in.h: Add prototype for new function.
16289         * lib/unigbrk/u8-grapheme-next.c: New file.
16290         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16291
16292         New module 'u16-grapheme-next'.
16293         * modules/unigbrk/u16-grapheme-next: New file.
16294         * modules/unigbrk/u16-grapheme-next-tests: New file.
16295         * lib/unigbrk.in.h: Add prototype for new function.
16296         * lib/unigbrk/u16-grapheme-next.c: New file.
16297         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16298
16299         New module 'u32-grapheme-next'.
16300         * modules/unigbrk/u32-grapheme-next: New file.
16301         * modules/unigbrk/u32-grapheme-next-tests: New file.
16302         * lib/unigbrk.in.h: Add prototype for new function.
16303         * lib/unigbrk/u32-grapheme-next.c: New file.
16304         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16305
16306         New module 'u8-grapheme-prev'.
16307         * modules/unigbrk/u8-grapheme-prev: New file.
16308         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16309         * lib/unigbrk.in.h: Add prototype for new function.
16310         * lib/unigbrk/u8-grapheme-prev.c: New file.
16311         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16312
16313         New module 'u16-grapheme-prev'.
16314         * modules/unigbrk/u16-grapheme-prev: New file.
16315         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16316         * lib/unigbrk.in.h: Add prototype for new function.
16317         * lib/unigbrk/u16-grapheme-prev.c: New file.
16318         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16319
16320         New module 'u32-grapheme-prev'.
16321         * modules/unigbrk/u32-grapheme-prev: New file.
16322         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16323         * lib/unigbrk.in.h: Add prototype for new function.
16324         * lib/unigbrk/u32-grapheme-prev.c: New file.
16325         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16326
16327         New module 'u8-grapheme-breaks'.
16328         * modules/unigbrk/u8-grapheme-breaks: New file.
16329         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16330         * lib/unigbrk.in.h: Add prototype for new function.
16331         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16332         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16333
16334         New module 'u16-grapheme-breaks'.
16335         * modules/unigbrk/u16-grapheme-breaks: New file.
16336         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16337         * lib/unigbrk.in.h: Add prototype for new function.
16338         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16339         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16340
16341         New module 'u32-grapheme-breaks'.
16342         * modules/unigbrk/u32-grapheme-breaks: New file.
16343         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16344         * lib/unigbrk.in.h: Add prototype for new function.
16345         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16346         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16347
16348         New module 'ulc-grapheme-breaks'.
16349         * modules/unigbrk/ulc-grapheme-breaks: New file.
16350         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16351         * m4/locale-ar.m4: New file.
16352         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16353         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16354         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16355
16356 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16357
16358         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16359         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16360         modified how this file was generated before I initially submitted
16361         the module, but failed to regenerate it.  This meant that several
16362         of the level2 entries were wrong.
16363         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16364         Remove the division-by-2 that is folded into the table now that
16365         gbrkprop.h has been regenerated properly.  Now -1 entries are
16366         handled correctly.
16367
16368         New module 'unigbrk/uc-gbrk-prop-tests'.
16369         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16370         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16371         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16372         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16373
16374 2011-01-01  Bruno Haible  <bruno@clisp.org>
16375
16376         Avoid use of hexadecimal escapes.
16377         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16378         instead of hexadecimal escapes.
16379
16380 2011-01-01  Jim Meyering  <meyering@redhat.com>
16381
16382         maint: new rule to update copyright year ranges
16383         * Makefile (update-copyright): New rule.
16384
16385         maint: indent with TABs in Makefile
16386         * Makefile: Expand leading sequences of spaces to TABs
16387
16388         version-etc: update the copyright year it reports
16389         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16390
16391 2010-12-31  Bruno Haible  <bruno@clisp.org>
16392
16393         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16394         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16395         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16396         zero.
16397
16398 2010-12-31  Bruno Haible  <bruno@clisp.org>
16399
16400         pwrite: Work around HP-UX 11.11 bug.
16401         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16402         works and set REPLACE_PWRITE if not.
16403         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16404         function.
16405         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16406
16407 2010-12-31  Bruno Haible  <bruno@clisp.org>
16408
16409         pread: Work around HP-UX 11 bugs.
16410         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16411         and set REPLACE_PREAD if not.
16412         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16413
16414 2010-12-31  Eric Blake  <eblake@redhat.com>
16415
16416         nl_langinfo: fix YESEXPR on Irix 6.5
16417         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16418         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16419         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16420         it.
16421
16422 2010-12-31  Bruno Haible  <bruno@clisp.org>
16423
16424         iconv: Document HP-UX 11 bug.
16425         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16426
16427 2010-12-31  Bruno Haible  <bruno@clisp.org>
16428
16429         ldexpl: Fix link error on HP-UX 11.
16430         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16431         LDEXPL_LIBM, using $ISNANL_LIBM.
16432
16433 2010-12-31  Eric Blake  <eblake@redhat.com>
16434
16435         ftello: avoid compilation failure with SunStudio c89
16436         * lib/ftello.c (ftello): Use lseek, not llseek.
16437
16438         tests: avoid failing coreutils tests on cygwin
16439         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16440         (create_exe_shims_): Return 0 when skipping.
16441
16442 2010-12-31  Bruno Haible  <bruno@clisp.org>
16443
16444         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16445         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16446
16447 2010-12-31  Bruno Haible  <bruno@clisp.org>
16448
16449         waitpid: Fix link error in C++ mode.
16450         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16451
16452 2010-12-31  Bruno Haible  <bruno@clisp.org>
16453
16454         isnan: Use GCC built-ins when possible.
16455         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16456         __builtin_isnan.
16457         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16458         (isnan): Define using GCC built-ins for GCC >= 4.0.
16459
16460 2010-12-31  Bruno Haible  <bruno@clisp.org>
16461
16462         isnand: Fix mistake.
16463         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16464         __builtin_isnand.
16465
16466 2010-12-31  Bruno Haible  <bruno@clisp.org>
16467
16468         open: Avoid C++ error on HP-UX 11.
16469         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16470
16471 2010-12-31  Bruno Haible  <bruno@clisp.org>
16472
16473         time_r: Add missing declarations on HP-UX 11.
16474         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16475         instead of HAVE_LOCALTIME_R.
16476         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16477         HAVE_LOCALTIME_R always.
16478         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16479         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16480         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16481         HAVE_LOCALTIME_R.
16482         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16483         * doc/posix-functions/localtime_r.texi: Likewise.
16484
16485 2010-12-29  Eric Blake  <eblake@redhat.com>
16486
16487         mountlist: tweak previous commit
16488         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16489         Reported by Paul Eggert.
16490
16491         mountlist: fix local drive detection on cygwin
16492         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16493         that works for cygwin.
16494
16495 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16496
16497         ftoastr, snprintf: ftoastr + snprintf module
16498         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16499         since the snprintf module now should be good enough here.
16500         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16501         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16502         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16503         GNULIB_SNPRINTF only for the test directory, and the latter
16504         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16505         seems to suffice by itself.
16506
16507 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16508
16509         alloca: one step towards thread-safety
16510         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16511         need for a static variable.  All callers changed.  This does not
16512         make the alloca replacement thread-safe, but it's one step.
16513
16514         tests: minor indenting change
16515         * tests/init.sh: Sync from coreutils housekeeping patch
16516         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16517         to keep lines within 80 columns.
16518
16519 2010-12-28  Jim Meyering  <meyering@redhat.com>
16520
16521         regex: don't infloop on persistent failing calloc
16522         * lib/regexec.c (build_trtable): Return failure indication upon
16523         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16524         In glibc, this was fixed for version 2.13:
16525         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16526
16527 2010-12-28  Bruno Haible  <bruno@clisp.org>
16528             Paul Eggert <eggert@cs.ucla.edu>
16529
16530         linkat: Make implementation robust against system behaviour variations.
16531         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16532         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16533         way, and to -2 if it needs a generic runtime test.
16534         * lib/linkat.c (solaris_optimized_link_immediate,
16535         solaris_optimized_link_follow): New functions.
16536         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16537         (check_same_link): Use it.
16538
16539 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16540
16541         New module 'unigbrk/base'.
16542         * modules/unigbrk/base: New file.
16543         * lib/unigbrk.in.h: New file.
16544
16545         New module 'unigbrk/uc-gbrk-prop'.
16546         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16547         * modules/unigbrk/uc-gbrk-prop: New file.
16548         * lib/unigbrk/gbrkprop.h: New file.
16549         * lib/unigbrk/uc-gbrk-prop.c: New file.
16550
16551         New module 'unigbrk/uc-is-grapheme-break'.
16552         * modules/unigbrk/uc-is-grapheme-break: New file.
16553         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16554         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16555         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16556         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16557         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16558
16559         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16560
16561 2010-12-27  Bruno Haible  <bruno@clisp.org>
16562
16563         linkat test: Avoid failure on Solaris 11 2010-11.
16564         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16565
16566 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16567
16568         utimens: work around glibc rounding bug on more platforms
16569         * lib/utimens.c (fdutimens): Work around rounding bug even if
16570         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16571         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16572
16573 2010-12-27  Bruno Haible  <bruno@clisp.org>
16574
16575         select tests: Improve comments.
16576         * tests/test-select.c (do_select): Add comments.
16577
16578 2010-12-27  Bruno Haible  <bruno@clisp.org>
16579
16580         select tests: Safer way of handling timeout.
16581         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16582         at every invocation.
16583
16584 2010-12-27  Bruno Haible  <bruno@clisp.org>
16585
16586         select tests: Use 'bool' where appropriate.
16587         * tests/test-select.c (connect_to_socket): Change argument type to
16588         'bool'.
16589
16590 2010-12-27  Bruno Haible  <bruno@clisp.org>
16591
16592         select tests: Use existing modules.
16593         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16594         (configure.ac): Don't test for unistd.h.
16595         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16596         declared in <unistd.h>.
16597
16598 2010-12-27  Bruno Haible  <bruno@clisp.org>
16599
16600         mbrtowc: Work around a Solaris 7 bug.
16601         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16602         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16603         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16604         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16605         MBRTOWC_NULL_ARG1_BUG.
16606         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16607         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16608         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16609         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16610
16611 2010-12-27  Jim Meyering  <meyering@redhat.com>
16612
16613         read-file.c: tweak syntax
16614         * lib/read-file.c (fread_file): Remove space after "*" in function
16615         definitions.
16616
16617 2010-12-27  Bruno Haible  <bruno@clisp.org>
16618
16619         times test: Avoid gcc warnings on OSF/1.
16620         * tests/test-times.c (main): Cast printf arguments from clock_t to
16621         'long int'.
16622
16623 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16624
16625         utimens: work around glibc rounding bug on older Linux kernels
16626         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16627         on Linux with a glibc whose utimes might not work, then work
16628         around a longstanding glibc bug involving rounding rather than
16629         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16630         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16631
16632 2010-12-26  Bruno Haible  <bruno@clisp.org>
16633
16634         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16635         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16636         _GL_CXXALIAS_SYS.
16637         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16638
16639 2010-12-26  Bruno Haible  <bruno@clisp.org>
16640
16641         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16642         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16643         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16644         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16645         looking for the declaration.
16646         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16647         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16648         problem.
16649         * doc/posix-functions/inet_pton.texi: Likewise.
16650
16651 2010-12-26  Bruno Haible  <bruno@clisp.org>
16652
16653         arpa_inet: Use the common idioms with C++ support.
16654         * lib/arpa_inet.in.h: Include c++defs.h.
16655         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16656         support.
16657         * modules/arpa_inet (Depends-on): Add c++defs.
16658         (Makefile.am): Substitute the contents of c++defs.h.
16659         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16660         * modules/arpa_inet-c++-tests: New file.
16661         * tests/test-arpa_inet-c++.cc: New file.
16662
16663 2010-12-25  Bruno Haible  <bruno@clisp.org>
16664
16665         Fix more C++ link errors on Solaris 8.
16666         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16667         $(LIB_EACCESS).
16668         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16669         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16670         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16671         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16672         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16673
16674 2010-12-25  Bruno Haible  <bruno@clisp.org>
16675
16676         printf-posix: Fix link error when a non-GCC compiler is used.
16677         * lib/stdio.in.h (printf): When not using GCC, override printf
16678         correctly.
16679         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16680
16681 2010-12-25  Bruno Haible  <bruno@clisp.org>
16682
16683         strerror_r-posix: Update doc.
16684         * doc/posix-functions/strerror_r.texi: Update doc about the return
16685         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16686
16687 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16688
16689         utimens: simplify the logic of the previous change
16690         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16691         This should not affect whether the test succeeds or fails.
16692
16693         utimens: configure better on hosts with NFS clock skew
16694         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16695         uses the clock of the local host.  It might use the clock of the
16696         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16697         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16698
16699 2010-12-25  Bruno Haible  <bruno@clisp.org>
16700
16701         ptsname test: Avoid failure on Solaris.
16702         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16703         open a pseudo-terminal; don't use BSD-style ptys.
16704         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16705
16706 2010-12-25  Bruno Haible  <bruno@clisp.org>
16707
16708         ptsname: Avoid ERANGE failure on some systems.
16709         * lib/ptsname.c (buffer): Increase size.
16710
16711 2010-12-25  Bruno Haible  <bruno@clisp.org>
16712
16713         rename, renameat: Avoid test failures at NFS mounted locations.
16714         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16715         so that subsequent mkdir calls succeed.
16716
16717 2010-12-25  Bruno Haible  <bruno@clisp.org>
16718
16719         iswblank: Fix C++ link error on Solaris 8.
16720         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16721         _GL_FUNCDECL_SYS.
16722
16723 2010-12-25  Bruno Haible  <bruno@clisp.org>
16724
16725         unistd: Fix C++ link error on Solaris 8.
16726         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16727
16728 2010-12-25  Bruno Haible  <bruno@clisp.org>
16729
16730         readlink doc: Mention an old glibc bug.
16731         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16732
16733 2010-12-25  Bruno Haible  <bruno@clisp.org>
16734
16735         fcntl-h: Fix for use of C++ on glibc systems.
16736         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16737         also on glibc systems in C++ mode.
16738         Reported by Gary V. Vaughan <gary@gnu.org>.
16739
16740 2010-12-25  Bruno Haible  <bruno@clisp.org>
16741
16742         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16743         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16744
16745 2010-12-25  Bruno Haible  <bruno@clisp.org>
16746
16747         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16748         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16749         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16750         test whether truncl works according to ISO C 99 with IEC 60559.
16751         * m4/truncl-ieee.m4: New file.
16752         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16753         m4/signbit.m4.
16754         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16755
16756 2010-12-25  Bruno Haible  <bruno@clisp.org>
16757
16758         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16759         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16760         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16761         test whether ceill works according to ISO C 99 with IEC 60559.
16762         * m4/ceill-ieee.m4: New file.
16763         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16764         m4/signbit.m4.
16765         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16766
16767 2010-12-25  Bruno Haible  <bruno@clisp.org>
16768
16769         Ensure all prerequisites of <wchar.h> are included.
16770         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16771         before <wchar.h>.
16772         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16773         gl_MBRLEN_NUL_RETVAL): Likewise.
16774         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16775         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16776         AC_FUNC_MBRTOWC): Likewise.
16777         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16778         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16779         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16780         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16781         Likewise.
16782         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16783         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16784         (gl_WCHAR_H): Improve comments.
16785         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16786
16787 2010-12-25  Bruno Haible  <bruno@clisp.org>
16788
16789         strtok_r: Fix C syntax error in autoconf macro.
16790         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16791         characters in test program.
16792
16793 2010-12-24  Bruno Haible  <bruno@clisp.org>
16794
16795         ceil, trunc, round: Fix gcc warnings.
16796         * lib/ceil.c (MIN): Undefine before redefining.
16797         * lib/trunc.c (MIN): Likewise.
16798         * lib/round.c (MIN): Likewise.
16799         Include <math.h> first.
16800
16801 2010-12-24  Bruno Haible  <bruno@clisp.org>
16802
16803         select tests: Avoid failures on OSF/1 5.1.
16804         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16805         failure of closing the last socket; it may fail with ECONNRESET.
16806
16807 2010-12-24  Eric Blake  <eblake@redhat.com>
16808
16809         stdint: avoid HP-UX 10.20 preprocessor bug
16810         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16811         than #if.
16812         * tests/test-floor2.c (main): Likewise.
16813         Reported by Peter O'Gorman.
16814
16815         pipe: make obsoletion transition easier
16816         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16817         * modules/pipe (Files): Include revived file.
16818         (Include): Drop reference, to mirror getdate's behavior.
16819
16820 2010-12-24  Bruno Haible  <bruno@clisp.org>
16821
16822         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16823         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16824         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16825         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16826
16827 2010-12-24  Bruno Haible  <bruno@clisp.org>
16828
16829         gethostname: Ensure declaration on NonStop Kernel.
16830         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16831         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16832
16833 2010-12-24  Bruno Haible  <bruno@clisp.org>
16834
16835         sys_select: Ensure all necessary types on NonStop Kernel.
16836         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16837         include <sys/time.h>.
16838         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16839         NonStop Kernel.
16840         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16841
16842 2010-12-24  Bruno Haible  <bruno@clisp.org>
16843
16844         sys_select: Remove unneeded include.
16845         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16846         have <sys/select.h>.
16847
16848 2010-12-24  Bruno Haible  <bruno@clisp.org>
16849
16850         gethostname: Provide a fallback for HOST_NAME_MAX.
16851         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16852         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16853         instead.
16854         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16855
16856 2010-12-24  Bruno Haible  <bruno@clisp.org>
16857
16858         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16859         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16860         (SA_RESTART): Likewise.
16861         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16862
16863 2010-12-24  Bruno Haible  <bruno@clisp.org>
16864
16865         signal: Define NSIG.
16866         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16867         * tests/test-signal.c (nsig): New variable.
16868         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16869
16870 2010-12-24  Bruno Haible  <bruno@clisp.org>
16871
16872         rename, renameat: Avoid test failures on OSF/1 5.1.
16873         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16874         alternative error codes.
16875         * tests/test-renameat.c (main): Likewise.
16876
16877 2010-12-24  Bruno Haible  <bruno@clisp.org>
16878
16879         *printf: Detect large precisions bug on Solaris 10/SPARC.
16880         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16881         by Paul Eggert.
16882         * tests/test-snprintf-posix.h (test_function): Add this test code here
16883         too.
16884         * tests/test-sprintf-posix.h (test_function): Likewise.
16885         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16886         * tests/test-vasprintf-posix.c (test_function): Likewise.
16887         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16888         around by gnulib.
16889         * doc/posix-functions/printf.texi: Likewise.
16890         * doc/posix-functions/snprintf.texi: Likewise.
16891         * doc/posix-functions/sprintf.texi: Likewise.
16892         * doc/posix-functions/vfprintf.texi: Likewise.
16893         * doc/posix-functions/vprintf.texi: Likewise.
16894         * doc/posix-functions/vsnprintf.texi: Likewise.
16895         * doc/posix-functions/vsprintf.texi: Likewise.
16896         * doc/posix-functions/dprintf.texi: Undo last commit.
16897         * doc/posix-functions/vdprintf.texi: Likewise.
16898
16899 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16900
16901         tests: port test-fdutimensat.c to Solaris 8
16902         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16903         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16904         On Solaris 8, it fails with errno == ENOSYS, because there is no
16905         futimens (so it can't use the fd), and there is no lutimens (so it
16906         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16907
16908         vsnprintf: make more consistent with snprintf; doc fixes
16909
16910         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16911         the byte count return problem was promoted from the snprintf-posix
16912         to the snprintf module.
16913         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16914         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16915         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16916         * tests/test-snprintf.c (main): Check the byte count returned.
16917         * tests/test-vsnprintf.c (main): Likewise.
16918
16919 2010-12-23  Eric Blake  <eblake@redhat.com>
16920
16921         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16922         * modules/sigpipe (License): Relax license.
16923
16924 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16925
16926         doc: document Solaris printf bug with large float precisions
16927         * doc/posix-functions/dprintf.texi (dprintf):
16928         * doc/posix-functions/fprintf.texi (fprintf):
16929         * doc/posix-functions/printf.texi (printf):
16930         * doc/posix-functions/snprintf.texi (snprintf):
16931         * doc/posix-functions/sprintf.texi (sprintf):
16932         * doc/posix-functions/vdprintf.texi (vdprintf):
16933         * doc/posix-functions/vfprintf.texi (vfprintf):
16934         * doc/posix-functions/vprintf.texi (vprintf):
16935         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16936         * doc/posix-functions/vsprintf.texi (vsprintf):
16937         Mention that these functions mishandle large floating point
16938         precisions on Solaris 10.  The same bug is also present in Solaris
16939         8, and I assume earlier.  This causes "cd gnulib-tests; make
16940         check" to fail on Solaris 8 (and I assume, later) when building
16941         the latest coreutils, in test-vasprintf-posix's call to
16942         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16943         the wide flavors (e.g., wprintf) so this patch just updates the
16944         documentation for the narrow ones.
16945
16946         test-posixtm.c: add two tests
16947         * tests/test-posixtm.c: Add two tests, to highlight the
16948         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16949         around this bug; this is merely to document it.
16950
16951 2010-12-22  Bruno Haible  <bruno@clisp.org>
16952
16953         getlogin_r: Work around portability problem on OSF/1.
16954         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16955         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16956         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16957         test for a truncated result.
16958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16959         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16960         * modules/getlogin_r (Depends-on): Add memchr.
16961         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16962
16963 2010-12-22  Bruno Haible  <bruno@clisp.org>
16964
16965         ptsname: Avoid test failure on OSF/1 5.1.
16966         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16967         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16968         (same_slave): New function.
16969         (main): Use it to compare ptsname's result with the expected file name.
16970
16971 2010-12-22  Bruno Haible  <bruno@clisp.org>
16972
16973         Port extended stdio modules to HP NonStop Kernel.
16974         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16975         macros.
16976         * lib/fbufmode.c: Update comments.
16977         * lib/fflush.c: Likewise.
16978         * lib/fpurge.c: Likewise.
16979         * lib/freadable.c: Likewise.
16980         * lib/freadahead.c: Likewise.
16981         * lib/freading.c: Likewise.
16982         * lib/freadptr.c: Likewise.
16983         * lib/freadseek.c: Likewise.
16984         * lib/fseeko.c: Likewise.
16985         * lib/fseterr.c: Likewise.
16986         * lib/fwritable.c: Likewise.
16987         * lib/fwriting.c: Likewise.
16988         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16989
16990 2010-12-22  Bruno Haible  <bruno@clisp.org>
16991
16992         ttyname_r: Work around bug on OSF/1 5.1.
16993         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16994         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16995         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16996         present.
16997         * lib/ttyname_r.c (ttyname_r): Update comments.
16998
16999 2010-12-22  Bruno Haible  <bruno@clisp.org>
17000
17001         round: Implement result sign according to IEEE 754.
17002         * lib/round.c (MIN, MINUS_ZERO): New macros.
17003         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
17004         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
17005         * tests/test-round-ieee.c (main): Likewise.
17006         * tests/test-roundl-ieee.c (main): Likewise.
17007
17008         trunc: Implement result sign according to IEEE 754.
17009         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
17010         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
17011         * tests/test-trunc2.c: Include minus-zero.h.
17012         (MINUS_ZERO): New macro.
17013         (trunc_reference): Keep in sync with lib/trunc.c.
17014         * tests/test-truncf2.c: Include minus-zero.h.
17015         (MINUS_ZERO): New macro.
17016         (truncf_reference): Keep in sync with lib/trunc.c.
17017         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
17018         * tests/test-trunc-ieee.c (main): Likewise.
17019         * tests/test-truncl-ieee.c (main): Likewise.
17020
17021         ceil: Implement result sign according to IEEE 754.
17022         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
17023         (FUNC): Return -0.0 for -1 < x < 0.
17024         * tests/test-ceil2.c: Include minus-zero.h.
17025         (MINUS_ZERO): New macro.
17026         (ceil_reference): Keep in sync with lib/ceil.c.
17027         * tests/test-ceilf2.c: Include minus-zero.h.
17028         (MINUS_ZERO): New macro.
17029         (ceilf_reference): Keep in sync with lib/ceil.c.
17030         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
17031         * tests/test-ceil-ieee.c (main): Likewise.
17032         * tests/test-ceill-ieee.c (main): Likewise.
17033
17034         floor: Implement result sign according to IEEE 754.
17035         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
17036         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
17037         * tests/test-floorf2.c (floorf_reference): Likewise.
17038         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
17039         * tests/test-floor-ieee.c (main): Likewise.
17040         * tests/test-floorl-ieee.c (main): Likewise.
17041
17042 2010-12-22  Bruno Haible  <bruno@clisp.org>
17043
17044         getaddrinfo: Update doc.
17045         * doc/posix-functions/gai_strerror.texi: Return type is also different
17046         on AIX and HP-UX.
17047
17048 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17049
17050         getaddrinfo, inet_ntop: Update doc for Solaris.
17051         * doc/posix-functions/gai_strerror.texi: Return type is also an
17052         issue on Solaris 9 and earlier.
17053         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
17054         on Solaris 10 and earlier.
17055
17056 2010-12-21  Bruno Haible  <bruno@clisp.org>
17057
17058         New module 'roundl-ieee'.
17059         * modules/roundl-ieee: New file.
17060         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
17061         test whether roundl works according to ISO C 99 with IEC 60559.
17062         * m4/roundl-ieee.m4: New file.
17063         * modules/roundl-ieee-tests: New file.
17064         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
17065         * tests/test-roundl.c (main): Remove signbit tests.
17066         * modules/roundl-tests (Depends-on): Remove signbit.
17067         * doc/posix-functions/roundl.texi: Mention the new module.
17068
17069 2010-12-21  Bruno Haible  <bruno@clisp.org>
17070
17071         New module 'truncl-ieee'.
17072         * modules/truncl-ieee: New file.
17073         * modules/truncl-ieee-tests: New file.
17074         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
17075         * tests/test-truncl.c (main): Remove signbit tests.
17076         * modules/truncl-tests (Depends-on): Remove signbit.
17077         * doc/posix-functions/truncl.texi: Mention the new module.
17078
17079 2010-12-21  Bruno Haible  <bruno@clisp.org>
17080
17081         New module 'ceill-ieee'.
17082         * modules/ceill-ieee: New file.
17083         * modules/ceill-ieee-tests: New file.
17084         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
17085         * tests/test-ceill.c (main): Remove signbit tests.
17086         * modules/ceill-tests (Depends-on): Remove signbit.
17087         * doc/posix-functions/ceill.texi: Mention the new module.
17088
17089 2010-12-21  Bruno Haible  <bruno@clisp.org>
17090
17091         New module 'floorl-ieee'.
17092         * modules/floorl-ieee: New file.
17093         * modules/floorl-ieee-tests: New file.
17094         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
17095         * tests/test-floorl.c (main): Remove signbit tests.
17096         * modules/floorl-tests (Depends-on): Remove signbit.
17097         * doc/posix-functions/floorl.texi: Mention the new module.
17098
17099 2010-12-21  Bruno Haible  <bruno@clisp.org>
17100
17101         New module 'round-ieee'.
17102         * modules/round-ieee: New file.
17103         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
17104         whether round works according to ISO C 99 with IEC 60559.
17105         * m4/round-ieee.m4: New file.
17106         * modules/round-ieee-tests: New file.
17107         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
17108         * tests/test-round1.c (main): Remove signbit tests.
17109         * modules/round-tests (Depends-on): Remove 'signbit'.
17110         * doc/posix-functions/round.texi: Mention the new module.
17111
17112 2010-12-21  Bruno Haible  <bruno@clisp.org>
17113
17114         New module 'trunc-ieee'.
17115         * modules/trunc-ieee: New file.
17116         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
17117         whether trunc works according to ISO C 99 with IEC 60559.
17118         * m4/trunc-ieee.m4: New file.
17119         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
17120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
17121         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
17122         * modules/trunc-ieee-tests: New file.
17123         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
17124         * tests/test-trunc1.c (main): Remove signbit tests.
17125         * modules/trunc-tests (Depends-on): Remove 'signbit'.
17126         * doc/posix-functions/trunc.texi: Mention the new module.
17127
17128 2010-12-21  Bruno Haible  <bruno@clisp.org>
17129
17130         New module 'ceil-ieee'.
17131         * modules/ceil-ieee: New file.
17132         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
17133         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
17134         ISO C 99 with IEC 60559.
17135         * m4/ceil-ieee.m4: New file.
17136         * modules/ceil (Files): Add lib/ceil.c.
17137         (Depends-on): Add 'float'.
17138         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17139         * lib/math.in.h (ceil): New declaration.
17140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
17141         REPLACE_CEIL.
17142         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
17143         * modules/ceil-ieee-tests: New file.
17144         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
17145         * tests/test-math-c++.cc: Check the signature of 'ceil'.
17146         * doc/posix-functions/ceil.texi: Mention the new module.
17147
17148 2010-12-21  Bruno Haible  <bruno@clisp.org>
17149
17150         New module 'floor-ieee'.
17151         * modules/floor-ieee: New file.
17152         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
17153         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
17154         ISO C 99 with IEC 60559.
17155         * m4/floor-ieee.m4: New file.
17156         * modules/floor (Files): Add lib/floor.c.
17157         (Depends-on): Add 'float'.
17158         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17159         * lib/math.in.h (floor): New declaration.
17160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
17161         REPLACE_FLOOR.
17162         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
17163         * modules/floor-ieee-tests: New file.
17164         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
17165         * tests/test-math-c++.cc: Check the signature of 'floor'.
17166         * doc/posix-functions/floor.texi: Mention the new module.
17167
17168 2010-12-21  Bruno Haible  <bruno@clisp.org>
17169
17170         New module 'roundf-ieee'.
17171         * modules/roundf-ieee: New file.
17172         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17173         test whether roundf works according to ISO C 99 with IEC 60559.
17174         * m4/roundf-ieee.m4: New file.
17175         * modules/roundf-ieee-tests: New file.
17176         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17177         * tests/test-roundf1.c (main): Remove signbit tests.
17178         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17179         * doc/posix-functions/roundf.texi: Mention the new module.
17180
17181 2010-12-21  Bruno Haible  <bruno@clisp.org>
17182
17183         New module 'truncf-ieee'.
17184         * modules/truncf-ieee: New file.
17185         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17186         test whether truncf works according to ISO C 99 with IEC 60559.
17187         * m4/truncf-ieee.m4: New file.
17188         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17190         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17191         * modules/truncf-ieee-tests: New file.
17192         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17193         * tests/test-truncf1.c (main): Remove signbit tests.
17194         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17195         * doc/posix-functions/truncf.texi: Mention the new module.
17196
17197 2010-12-21  Bruno Haible  <bruno@clisp.org>
17198
17199         New module 'ceilf-ieee'.
17200         * modules/ceilf-ieee: New file.
17201         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17202         test whether ceilf works according to ISO C 99 with IEC 60559.
17203         * m4/ceilf-ieee.m4: New file.
17204         * modules/ceilf-ieee-tests: New file.
17205         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17206         * tests/test-ceilf1.c (main): Remove signbit tests.
17207         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17208         * doc/posix-functions/ceilf.texi: Mention the new module.
17209
17210 2010-12-21  Bruno Haible  <bruno@clisp.org>
17211
17212         New module 'floorf-ieee'.
17213         * modules/floorf-ieee: New file.
17214         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17215         test whether floorf works according to ISO C 99 with IEC 60559.
17216         * m4/floorf-ieee.m4: New file.
17217         * modules/floorf-ieee-tests: New file.
17218         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17219         * tests/test-floorf1.c (main): Remove signbit tests.
17220         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17221         * doc/posix-functions/floorf.texi: Mention the new module.
17222
17223 2010-12-21  Bruno Haible  <bruno@clisp.org>
17224
17225         Support for minus zero in autoconf macros.
17226         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17227         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17228         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17229         * tests/minus-zero.h: Update comments.
17230
17231 2010-12-21  Bruno Haible  <bruno@clisp.org>
17232
17233         Tests for module 'ceil'.
17234         * modules/ceil-tests: New file.
17235         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17236         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17237
17238 2010-12-21  Bruno Haible  <bruno@clisp.org>
17239
17240         Tests for module 'floor'.
17241         * modules/floor-tests: New file.
17242         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17243         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17244
17245 2010-12-21  Bruno Haible  <bruno@clisp.org>
17246
17247         math: Fix indentation.
17248         * lib/math.in.h (floorf): Fix indentation.
17249
17250 2010-12-21  Bruno Haible  <bruno@clisp.org>
17251
17252         Fix cross-compilation guesses on Solaris.
17253         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17254         not match "solaris2.10".
17255         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17256         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17257         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17258
17259 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17260
17261         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17262         This fixes a problem observed with the latest coreutils snapshot
17263         that caused a test to fail on Solaris 8.  src/csplit.c's call
17264         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17265         earlier, instead of returning the number of bytes that would have
17266         been generated; this causes csplit to incorrectly report memory
17267         exhaustion.
17268         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17269         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17270         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17271         comments to match.
17272         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17273         Fix typo in matching older versions of Solaris: "solaris2.10"
17274         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17275         only for guessing while cross-compiling.
17276         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17277
17278 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17279
17280         ftoastr: fix comment again
17281         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17282         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17283         Also, simplify example a bit by using flags = 0.
17284
17285 2010-12-20  Bruno Haible  <bruno@clisp.org>
17286
17287         round*, trunc*: Update documentation regarding glibc.
17288         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17289         * doc/posix-functions/round.texi: Likewise.
17290         * doc/posix-functions/roundl.texi: Likewise.
17291         * doc/posix-functions/truncf.texi: Likewise.
17292         * doc/posix-functions/trunc.texi: Likewise.
17293         * doc/posix-functions/truncl.texi: Likewise.
17294
17295 2010-12-20  Bruno Haible  <bruno@clisp.org>
17296
17297         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17298         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17299         * doc/posix-functions/round.texi: Likewise.
17300         * doc/posix-functions/roundl.texi: Likewise.
17301
17302 2010-12-20  Bruno Haible  <bruno@clisp.org>
17303
17304         ttyname_r: Add missing declaration on HP-UX 11.
17305         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17306         HAVE_TTYNAME_R.
17307         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17308         declared. Set HAVE_TTYNAME_R always.
17309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17310         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17311         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17312         HAVE_TTYNAME_R.
17313         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17314
17315 2010-12-20  Bruno Haible  <bruno@clisp.org>
17316
17317         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17318         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17319         * doc/posix-functions/getlogin_r.texi: Likewise.
17320         * tests/test-getlogin.c: Include <errno.h>.
17321         (main): Avoid test failure on HP-UX 11.11.
17322         * tests/test-getlogin_r.c (main): Likewise.
17323
17324 2010-12-20  Bruno Haible  <bruno@clisp.org>
17325
17326         getlogin_r: Add missing declaration on HP-UX 11.
17327         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17328         declared also when it exists as a function.
17329         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17330
17331 2010-12-20  Bruno Haible  <bruno@clisp.org>
17332
17333         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17334         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17335         through wcrtomb.
17336
17337 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17338
17339         ftoastr: fix comment
17340         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17341         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17342
17343 2010-12-19  Bruno Haible  <bruno@clisp.org>
17344
17345         isnan: Ensure it is a macro.
17346         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17347         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17348         Solaris.
17349
17350 2010-12-19  Bruno Haible  <bruno@clisp.org>
17351
17352         ldexpl test: Fix link error on OSF/1 5.1.
17353         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17354
17355 2010-12-19  Bruno Haible  <bruno@clisp.org>
17356
17357         wctype: Make it work in C++ mode on OSF/1 5.1.
17358         * lib/wctype.in.h (iswblank): Declare but not define here.
17359         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17360         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17361         * modules/wctype (Files): Add lib/iswblank.c.
17362
17363 2010-12-19  Bruno Haible  <bruno@clisp.org>
17364
17365         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17366         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17367         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17368
17369 2010-12-19  Bruno Haible  <bruno@clisp.org>
17370
17371         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17372         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17373         _POSIX_PII_SOCKET.
17374         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17375         * doc/posix-functions/recvfrom.texi: Likewise.
17376         * doc/posix-functions/send.texi: Likewise.
17377         * doc/posix-functions/sendto.texi: Likewise.
17378
17379 2010-12-19  Bruno Haible  <bruno@clisp.org>
17380
17381         tcgetsid: Add missing declaration on OSF/1 5.1.
17382         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17383         HAVE_TCGETSID.
17384         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17385         Don't set HAVE_TCGETSID.
17386         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17387         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17388         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17389         HAVE_TCGETSID.
17390         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17391
17392 2010-12-19  Bruno Haible  <bruno@clisp.org>
17393
17394         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17395         * lib/stdio.in.h: During the include_next statement, let recursive
17396         includes of this file include only the system header file.
17397
17398 2010-12-19  Bruno Haible  <bruno@clisp.org>
17399
17400         iconv_open: Fix regression from 2010-12-04.
17401         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17402         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17403
17404 2010-12-19  Bruno Haible  <bruno@clisp.org>
17405
17406         stdbool test: Avoid a gcc warning.
17407         * tests/test-stdbool.c (main): Fail if e1 is false.
17408         Reported by Jim Meyering.
17409
17410 2010-12-19  Jim Meyering  <meyering@redhat.com>
17411
17412         setenv: restore to working order
17413         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17414         mistakenly removed.
17415         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17416         HAVE_SETENV.
17417         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17418         HAVE_SETENV.
17419
17420 2010-12-19  Bruno Haible  <bruno@clisp.org>
17421
17422         Document some different function declarations on OSF/1 5.1.
17423         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17424         * doc/posix-functions/inet_ntop.texi: Likewise.
17425         * doc/posix-functions/gethostname.texi: Likewise.
17426         * lib/unistd.in.h (gethostname): Update comment.
17427
17428 2010-12-19  Bruno Haible  <bruno@clisp.org>
17429
17430         doc: Mention vasprintf-posix module.
17431         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17432         the 'vasprintf-posix' module.
17433         * doc/glibc-functions/vasprintf.texi: Likewise.
17434
17435 2010-12-19  Bruno Haible  <bruno@clisp.org>
17436
17437         unsetenv: Add missing declaration on OSF/1 5.1.
17438         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17439         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17440         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17441         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17442         not HAVE_UNSETENV.
17443         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17444         HAVE_UNSETENV.
17445         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17446
17447 2010-12-19  Bruno Haible  <bruno@clisp.org>
17448
17449         setenv: Add missing declaration on OSF/1 5.1.
17450         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17451         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17452         declared. Don't set HAVE_SETENV.
17453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17454         not HAVE_SETENV.
17455         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17456         HAVE_SETENV.
17457         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17458
17459 2010-12-19  Bruno Haible  <bruno@clisp.org>
17460
17461         nl_langinfo tests: Avoid gcc warning.
17462         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17463
17464 2010-12-19  Bruno Haible  <bruno@clisp.org>
17465
17466         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17467         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17468         _GL_CXXALIAS_SYS.
17469
17470 2010-12-19  Bruno Haible  <bruno@clisp.org>
17471
17472         stdbool: Relax test.
17473         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17474         address to 'bool' work in static initializer, for compilers other than
17475         GCC.
17476
17477 2010-12-19  Bruno Haible  <bruno@clisp.org>
17478
17479         ftello: Add missing declaration on OSF/1 5.1.
17480         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17481         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17482         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17483         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17484         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17485
17486 2010-12-19  Bruno Haible  <bruno@clisp.org>
17487
17488         fseeko: Add missing declaration on OSF/1 5.1.
17489         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17490         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17492         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17493         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17494
17495 2010-12-19  Bruno Haible  <bruno@clisp.org>
17496
17497         fchdir: Add missing declaration on OSF/1 5.1.
17498         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17501         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17502         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17503
17504 2010-12-19  Bruno Haible  <bruno@clisp.org>
17505
17506         relocatable-prog-wrapper: Separate from relocatable-prog.
17507         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17508         uninstall-relocwrapper rule here.
17509         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17510         Reported by Ian Beckwith <ianb@erislabs.net>.
17511
17512 2010-12-19  Bruno Haible  <bruno@clisp.org>
17513
17514         unistr/u8-mbsnlen: Add missing dependency.
17515         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17516         Reported by Ian Beckwith <ianb@erislabs.net>.
17517
17518 2010-12-19  Bruno Haible  <bruno@clisp.org>
17519
17520         iconv: Make it possible again to use this module without 'iconv-h'.
17521         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17522         if it is not defined.
17523         Reported by Ian Beckwith <ianb@erislabs.net>.
17524
17525 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17526
17527         acl: port to Solaris 8 when copying from tmpfs to ufs
17528         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17529         error number.  Problem observed on Solaris 8 with latest
17530         coreutils, with "mv A B", where A is on a tmpfs file system and B
17531         is on a ufs file system.  This caused coreutils' mv/part-symlink
17532         test to fail.
17533
17534         tests: set fail=0 at start
17535         * tests/init.sh (setup_): Move fail=0 initialization here ...
17536         (mktempd_): ... from here, so that tests can rely on fail being
17537         set to 0 initially.  This fixes a problem in coreutils; see:
17538         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17539
17540 2010-12-18  Bruno Haible  <bruno@clisp.org>
17541
17542         memmem-simple: Stylistic changes.
17543         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17544         Fix preprocessor directive indentation.
17545
17546 2010-12-15  Pádraig Brady <P@draigBrady.com>
17547
17548         memmem, memmem-simple: reorganize and expand empty needle check
17549         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17550         functional checks to memmem-simple so that one has a fully functional
17551         memmem by using just this module.
17552         Restrict the performance only check to the memmem module.
17553         Also expand the empty needle check to ensure the correct
17554         pointer is returned, not just a non NULL pointer.
17555         * doc/glibc-functions/memmem.texi: Rearrange the portability
17556         documentation to correlate with the rearranged checks.
17557         Clarify exactly how the memmem and memmem-simple modules
17558         relate to each other.
17559
17560 2010-12-15  Pádraig Brady <P@draigBrady.com>
17561             Bruno Haible  <bruno@clisp.org>
17562
17563         Improve cross-compilation guesses for uClibc.
17564         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17565         that uClibc does not have the glibc bug.
17566         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17567         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17568
17569 2010-12-14  Eric Blake  <eblake@redhat.com>
17570
17571         configmake: provide fallbacks for oldest supported autotools
17572         * m4/configmake.m4: New file.
17573         * modules/configmake (Files): Ship it.
17574         (configure.ac): Use it to guarantee fallbacks.
17575
17576 2010-12-13  Pádraig Brady <P@draigBrady.com>
17577
17578         read-file: Improve handling of large files
17579         * lib/read-file.c (fread_file): Minimize realloc()s
17580         for regular files, and better manage sizes around SIZE_MAX.
17581
17582 2010-12-13  Eric Blake  <eblake@redhat.com>
17583
17584         cloexec, fcntl: relax license
17585         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17586         consent from all contributors.
17587         * modules/fcntl (License): Likewise.
17588
17589 2010-12-10  Bruno Haible  <bruno@clisp.org>
17590
17591         Tests for module 'pipe-posix'.
17592         * modules/pipe-posix-tests: New file.
17593         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17594
17595 2010-12-10  Bruno Haible  <bruno@clisp.org>
17596
17597         pipe-posix: Make it work in C++ mode.
17598         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17599         (pipe): Use common idiom, not a macro definition.
17600         * lib/pipe.c: New file.
17601         * m4/pipe.m4: New file.
17602         * modules/pipe-posix (Description): Enhance.
17603         (Files): Add lib/pipe.c, m4/pipe.m4.
17604         (configure.ac): Invoke gl_FUNC_PIPE.
17605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17606         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17607         * tests/test-unistd-c++.cc: Check the signature of pipe.
17608
17609 2010-12-10  Bruno Haible  <bruno@clisp.org>
17610
17611         Rename module 'pipe' to 'spawn-pipe'.
17612         * modules/spawn-pipe: New file, renamed from modules/pipe.
17613         (Files, configure.ac, Makefile.am): Update.
17614         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17615         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17616         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17617         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17618         "spawn-pipe.h" instead of "pipe.h".
17619         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17620         to gl_SPAWN_PIPE.
17621         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17622         (Files, Makefile.am): Update.
17623         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17624         Update.
17625         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17626         Include "spawn-pipe.h" instead of "pipe.h".
17627         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17628         * lib/javacomp.c: Likewise.
17629         * lib/javaversion.c: Likewise.
17630         * lib/pipe-filter-gi.c: Likewise.
17631         * lib/pipe-filter-ii.c: Likewise.
17632         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17633         * modules/javacomp (Depends-on): Likewise.
17634         * modules/javaversion (Depends-on): Likewise.
17635         * modules/pipe-filter-gi (Depends-on): Likewise.
17636         * modules/pipe-filter-ii (Depends-on): Likewise.
17637         * MODULES.html.sh (Executing programs): Update.
17638         * NEWS: Mention the change.
17639
17640 2010-12-10  Eric Blake  <eblake@redhat.com>
17641
17642         pipe-posix: new module
17643         * modules/pipe-posix: New file.
17644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17645         (gl_UNISTD_H): Check for declaration.
17646         * modules/unistd (Makefile.am): Substitute it.
17647         * lib/unistd.in.h (pipe): Provide it for mingw.
17648         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17649         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17650
17651 2010-12-07  Bruno Haible  <bruno@clisp.org>
17652
17653         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17654         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17655         u8_strcmp_gnu.
17656         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17657
17658 2010-12-06  Bruno Haible  <bruno@clisp.org>
17659
17660         Update internal documentation.
17661         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17662
17663 2010-12-04  Bruno Haible  <bruno@clisp.org>
17664
17665         Put more information about failed tests into the test return codes.
17666         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17667         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17668         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17669         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17670         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17671         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17672         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17673         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17674         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17676         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17677         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17678         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17679         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17680         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17681         returns a bit mask.
17682         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17683         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17684         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17685         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17686         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17687         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17688         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17689         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17690         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17691         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17692         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17693         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17694         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17695         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17696         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17697         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17698         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17699         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17700         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17701         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17702         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17703         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17704         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17705         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17706         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17707         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17708         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17709         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17710         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17711         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17712         gl_PRINTF_PRECISION): Likewise.
17713         * m4/regex.m4 (gl_REGEX): Likewise.
17714         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17715         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17716         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17717         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17718         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17719         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17720         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17721         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17722         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17723         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17724         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17725         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17726         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17727         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17728         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17729         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17730         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17731         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17732         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17733         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17734         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17735         enumerated value.
17736         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17737
17738 2010-12-04  Bruno Haible  <bruno@clisp.org>
17739
17740         Update for Solaris 11 2010-11.
17741         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17742         Express, released in November 2010.
17743
17744 2010-12-04  Bruno Haible  <bruno@clisp.org>
17745
17746         nproc: Relax license.
17747         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17748         and Paul Eggert.
17749         Requested by Ludovic Courtès <ludo@gnu.org>.
17750
17751 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17752
17753         utimecmp: fine-grained src to nearby coarse-grained dest
17754
17755         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17756         and the source is on a file system with higher-resolution time
17757         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17758         not work, and the time stamps are close together, the algorithm to
17759         determine the exact resolution from the read-back mtime was buggy:
17760         it had a "!=" where it should have had an "==".  This bug has been
17761         in the code ever since it was introduced to gnulib.
17762         Problem reported by Dan Jacobson in
17763         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17764
17765 2010-11-30  Bruno Haible  <bruno@clisp.org>
17766
17767         strerror_r-posix: Fix autoconf test.
17768         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17769
17770 2010-11-28  Bruno Haible  <bruno@clisp.org>
17771             Paul Eggert  <eggert@cs.ucla.edu>
17772
17773         Tests for module 'getdomainname'.
17774         * modules/getdomainname-tests: New file.
17775         * tests/test-getdomainname.c: New file, based on
17776         tests/test-gethostname.c.
17777
17778 2010-11-28  Bruno Haible  <bruno@clisp.org>
17779             Paul Eggert  <eggert@cs.ucla.edu>
17780
17781         getdomainname: Use the system function when possible.
17782         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17783         (getdomainname): Replace if needed. Provide the declaration if it is
17784         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17785         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17786         (getdomainname): When the system has getdomainname, call the system
17787         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17788         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17789         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17790         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17791         the function if its second argument is of type 'int' or if it is found
17792         in libnsl.
17793         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17794         <sys/systeminfo.h> and sysinfo().
17795         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17797         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17798         HAVE_GETDOMAINNAME.
17799         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17800         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17801         * doc/glibc-functions/getdomainname.texi: Document the problems with
17802         the getdomainname declaration.
17803
17804 2010-11-28  Bruno Haible  <bruno@clisp.org>
17805
17806         sys_socket: Ensure ss_family field on AIX.
17807         * lib/sys_socket.in.h (ss_family): New macro definition.
17808         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17809         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17810         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17811         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17812         * modules/sys_socket (Makefile.am): Substitute
17813         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17814         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17815
17816 2010-11-27  Bruno Haible  <bruno@clisp.org>
17817
17818         readline: Improve configure output.
17819         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17820         "checking for readline..." result understandable.
17821
17822 2010-11-27  Bruno Haible  <bruno@clisp.org>
17823
17824         *printf-posix: Detect a bug on Solaris 10/x86.
17825         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17826         for floating-point output.
17827         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17828         directive.
17829         * tests/test-snprintf-posix.h (test_function): Likewise.
17830         * tests/test-sprintf-posix.h (test_function): Likewise.
17831         * tests/test-vasprintf-posix.c (test_function): Likewise.
17832         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17833         * doc/posix-functions/printf.texi: Likewise.
17834         * doc/posix-functions/snprintf.texi: Likewise.
17835         * doc/posix-functions/sprintf.texi: Likewise.
17836         * doc/posix-functions/vfprintf.texi: Likewise.
17837         * doc/posix-functions/vprintf.texi: Likewise.
17838         * doc/posix-functions/vsnprintf.texi: Likewise.
17839         * doc/posix-functions/vsprintf.texi: Likewise.
17840         * doc/glibc-functions/obstack_printf.texi: Likewise.
17841         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17842
17843 2010-11-27  Bruno Haible  <bruno@clisp.org>
17844
17845         Fix link error when module libunistring-optional is in use.
17846         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17847         * modules/striconveha-tests (Makefile.am): Likewise.
17848
17849 2010-11-27  Bruno Haible  <bruno@clisp.org>
17850
17851         regex: Mention link dependencies.
17852         * modules/regex (Link): New section.
17853         * modules/rpmatch (Link): Likewise.
17854         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17855
17856 2010-11-27  Bruno Haible  <bruno@clisp.org>
17857
17858         ftoastr: Fix compilation error on Solaris.
17859         * lib/ftoastr.c: Include <config.h>.
17860
17861 2010-11-27  Bruno Haible  <bruno@clisp.org>
17862
17863         getloadavg: Update documentation.
17864         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17865
17866 2010-11-27  Bruno Haible  <bruno@clisp.org>
17867
17868         sys_socket: Fix test whether the functions are declared.
17869         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17870         not <sys/select.h>.
17871
17872 2010-11-27  Bruno Haible  <bruno@clisp.org>
17873
17874         getpass: Make sure to get system declaration on some platforms.
17875         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17876         gl_USE_SYSTEM_EXTENSIONS.
17877         * modules/getpass (Depends-on): Add extensions.
17878
17879 2010-11-26  Bruno Haible  <bruno@clisp.org>
17880
17881         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17882         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17883         'iconv' module is present.
17884         (ICONV_CONST): New macro.
17885         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17886         ICONV_CONST.
17887         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17888         set ICONV_CONST.
17889         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17890         here.
17891         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17892         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17893         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17894         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17895         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17896         present.
17897
17898 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17899
17900         ftoastr: comment fix
17901         * lib/ftoastr.c: "little" -> "little or no" in comment
17902
17903 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17904
17905         stdint: port to GCC 4.3 + OSX + Octave
17906         On this platform, stdint.h is buggy and defines int64_t to long
17907         long int.  The replacement defined it to long int, causing
17908         problems with C++ style name mangling.  Instead, trust the system
17909         definition if INT64_MAX is defined, and likewise for the unsigned
17910         variant.   Problem reported by Jarno Rajahalme in
17911         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17912         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17913         and don't mess with int64_t and INT64_MAX in this case.
17914         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17915
17916 2010-11-24  Bruno Haible  <bruno@clisp.org>
17917
17918         doc: Corrections regarding MacOS X 10.4 and 10.5.
17919         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17920         MacOS X.
17921         Reported by Simon Josefsson.
17922
17923 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17924
17925         Uninstall ".bin" files installed by relocwrapper.
17926         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17927         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17928         unless it is already there.
17929
17930 2010-11-21  Bruno Haible  <bruno@clisp.org>
17931
17932         Update for NetBSD 5.0.
17933         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17934         NetBSD; the test fails on NetBSD 5.0.
17935         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17936         about NetBSD.
17937
17938 2010-11-21  Bruno Haible  <bruno@clisp.org>
17939
17940         Update for HP-UX 11.23 and HP-UX 11.31.
17941         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17942         HP-UX.
17943
17944 2010-11-21  Bruno Haible  <bruno@clisp.org>
17945
17946         Update for MacOS X 10.5.
17947         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17948         MacOS X; the test fails on MacOS X 10.5.8.
17949         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17950         about MacOS X.
17951
17952 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17953
17954         bootstrap: add bootstrap_sync option.
17955         See discussion at
17956         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17957         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17958         * build-aux/bootstrap: Accept --bootstrap-sync to update
17959         bootstrap if it is not identical to the local gnulib's
17960         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17961         enable this by default.  Accept --no-bootstrap-sync to disable
17962         it.
17963
17964 2010-11-20  Bruno Haible  <bruno@clisp.org>
17965
17966         Ensure that <features.h> is included before __GLIBC__ is tested.
17967         * lib/printf-parse.h: Include <features.h>.
17968         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17969         Reported by Mike Frysinger <vapier@gentoo.org>.
17970
17971         Ensure that <features.h> is included before __GLIBC__ is tested.
17972         * lib/wchar.in.h: Include <features.h>.
17973         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17974         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17975         Reported by Mike Frysinger <vapier@gentoo.org>.
17976
17977         Ensure that <features.h> is included before __GLIBC__ is tested.
17978         * lib/arpa_inet.in.h: Include <features.h>.
17979         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17980         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17981         Reported by Mike Frysinger <vapier@gentoo.org>.
17982
17983         Ensure that <features.h> is included before __GLIBC__ is tested.
17984         * build-aux/link-warning.h: Include <features.h>.
17985         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17986         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17987         Reported by Mike Frysinger <vapier@gentoo.org>.
17988
17989         Ensure that <features.h> is included before __GLIBC__ is tested.
17990         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17991         Reported by Mike Frysinger <vapier@gentoo.org>.
17992
17993 2010-11-20  Bruno Haible  <bruno@clisp.org>
17994
17995         memmem: Fix autoconf test.
17996         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17997
17998 2010-11-20  Bruno Haible  <bruno@clisp.org>
17999
18000         Port to uClibc.
18001         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
18002         * lib/fcntl.in.h: Likewise.
18003         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
18004         * lib/mbrtowc.c (mbrtowc): Likewise.
18005         * lib/relocatable.c (find_shared_library_fullname): Likewise.
18006         * lib/strerror_r.c: Likewise.
18007         * lib/unistr/u8-strnlen.c: Likewise.
18008         * lib/vasnprintf.c (decimal_point_char): Likewise.
18009         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18010         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18011         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
18012         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18013         * tests/test-sigaction.c (handler, main): Likewise.
18014         * lib/freading.h: Treat uClibc like a non-glibc platform.
18015         * lib/freading.c: Likewise.
18016         * lib/gettext.h: Likewise.
18017         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
18018         Likewise.
18019         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
18020         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
18021         * lib/propername.c (proper_name_utf8): Likewise.
18022         * lib/spawn.in.h: Likewise.
18023         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
18024         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
18025         mem_cd_iconveh_internal): Likewise.
18026         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
18027         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
18028         strstr, strcasestr): Likewise.
18029         * lib/unicodeio.c (unicode_to_mb): Likewise.
18030         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
18031         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
18032         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
18033         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
18034         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
18035         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
18036         * lib/unistr/u8-stpncpy.c: Likewise.
18037         * lib/vasnprintf.c (VASNPRINTF): Likewise.
18038         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
18039         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
18040         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18041         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18042         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
18043         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
18044         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
18045         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18046         Likewise.
18047         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18048         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18049         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18050         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18051         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18052         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18053         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18054         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18055         * tests/test-getopt.h (OPTIND_MIN): Likewise.
18056         * tests/test-striconveha.c (main): Likewise.
18057         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18058         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
18059         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
18060         * doc/posix-functions/getline.texi: Likewise.
18061         Reported by Mike Frysinger <vapier@gentoo.org>.
18062
18063 2010-11-20  Bruno Haible  <bruno@clisp.org>
18064
18065         nproc: Fix condition.
18066         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
18067         HAVE_PTHREAD_AFFINITY_NP.
18068
18069 2010-11-20  Bruno Haible  <bruno@clisp.org>
18070
18071         Fix a comment.
18072         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
18073
18074 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
18075
18076         ftoastr: don't assume snprintf
18077         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
18078         Implement a subset of snprintf here, by using sprintf safely.
18079         * modules/ftoastr (Depends-on): Remove snprintf.
18080
18081 2010-11-19  Jim Meyering  <meyering@redhat.com>
18082
18083         test-rename.h: fix compilation failure
18084         * tests/test-rename.h (test_rename): Add omitted "}".
18085
18086 2010-11-17  Jim Meyering  <meyering@redhat.com>
18087
18088         maint.mk: add a URL discussing the no-@acronym policy
18089         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
18090
18091 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
18092
18093         ftoastr: depend on snprintf, improve comments
18094         * lib/ftoastr.c: Also mention Loitsch's draft.
18095         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
18096         needed in the current implementation, but it might simplify
18097         speeding up the code later.
18098         * modules/ftoastr: Depend on snprintf; this improves portability.
18099         Suggested by Bruno Haible in the same email.
18100
18101         ftoastr: port to hosts lacking strtof and strtold
18102         Problem reported by Bruno Haible in
18103         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
18104         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
18105         environment and strtold (and presumably strtof) are not available.
18106         * modules/ftoastr (Files): Add m4/c-strtod.m4.
18107         (configure.ac): Require gl_C99_STRTOLD.
18108
18109 2010-11-18  Bruno Haible  <bruno@clisp.org>
18110
18111         c-strtold: Avoid link error on AIX 7.
18112         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
18113         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
18114         (gl_C_STRTOLD): Test whether strtold_l exists.
18115         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18116
18117 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
18118
18119         intprops: new macro INT_BITS_STRLEN_BOUND
18120         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
18121         ftoastr.h.  This exposes an internal of intprops.h that was formerly
18122         not exposed.  Also, it uses a slightly tighter bound than before;
18123         though this makes no practical difference, we might as well be as
18124         tight as we easily can.
18125
18126         ftoastr: new module, for lossless conversion of floats to short strings
18127         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
18128         * modules/ftoastr: New files.
18129
18130 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18131
18132         bootstrap: port to Solaris sed
18133         * build-aux/bootstrap (get_version): Port to Solaris sed.
18134         See Ralf Wildenhues's note in
18135         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
18136
18137 2010-11-14  Jim Meyering  <meyering@redhat.com>
18138
18139         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
18140         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
18141         and move definition closer to sole use.
18142
18143 2010-11-13  Jim Meyering  <meyering@redhat.com>
18144
18145         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
18146         Now we require at least autoconf-2.59, which means the work-around
18147         is no longer needed.
18148         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
18149         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18150         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
18151         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18152         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18153
18154 2010-11-13  Bruno Haible  <bruno@clisp.org>
18155
18156         rename, renameat: Avoid test failures at NFS mounted locations.
18157         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
18158         functions.
18159         (test_rename): Use assert_nonexistent.
18160         * tests/test-rename.c: Include <dirent.h>.
18161         * tests/test-renameat.c: Likewise.
18162         Reported by Gary V. Vaughan <gary@gnu.org>.
18163
18164         rename, renameat: Document Linux bug with NFS
18165         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
18166         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
18167         * doc/posix-functions/renameat.texi: Likewise.
18168         Suggested by Eric Blake.
18169
18170 2010-11-13  Bruno Haible  <bruno@clisp.org>
18171
18172         rename test: Add comments.
18173         * tests/test-rename.h (test_rename): Add structure and comments.
18174
18175 2010-11-13  Eric Blake  <eblake@redhat.com>
18176
18177         maintainer-makefile: cover a few more files
18178         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18179         scripts generated within C files, for libvirt.
18180
18181 2010-11-13  Bruno Haible  <bruno@clisp.org>
18182
18183         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18184         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18185         character, return the number of bytes that belong together, not always
18186         1.
18187         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18188         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18189         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18190         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18191         number of bytes of an invalid character.
18192         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18193         (main): Invoke it.
18194         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18195         results.
18196         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18197         malformed byte sequences.
18198         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18199         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18200         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18201         Reported by Ben Pfaff and Paolo Bonzini.
18202
18203 2010-11-13  Bruno Haible  <bruno@clisp.org>
18204
18205         openat: Work around glibc bug with fchownat() and empty file names.
18206         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18207         (gl_FUNC_FCHOWNAT): Invoke it.
18208         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18209         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18210         Reported by Gary V. Vaughan <gary@gnu.org>.
18211
18212 2010-11-13  Bruno Haible  <bruno@clisp.org>
18213
18214         openat: Ensure autoconf macro ordering.
18215         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18216         gl_USE_SYSTEM_EXTENSIONS.
18217         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18218
18219 2010-11-13  Bruno Haible  <bruno@clisp.org>
18220
18221         Update comments.
18222         * lib/unistr/u8-check.c: Update file name in comments.
18223         * lib/unistr/u8-mblen.c: Likewise.
18224         * lib/unistr/u8-prev.c: Likewise.
18225         * lib/unistr/u8-strmblen.c: Likewise.
18226         * lib/unistr/u8-strmbtouc.c: Likewise.
18227
18228 2010-11-13  Jim Meyering  <meyering@redhat.com>
18229
18230         tests: avoid test failure on Solaris 10 due to lack of PATH export
18231         * tests/test-update-copyright.sh: Don't forget to export PATH.
18232
18233         init.sh: ensure that IFS is defined, just in case...
18234         * tests/init.sh (setup_): Ensure that IFS is defined,
18235         so that saving and restoring it works as expected.  This
18236         appears to be useful at least for an old version of dash
18237         from a long time ago (RH 6).  See here for details:
18238         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18239
18240         maint.mk: tighten "test a == b" check
18241         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18242         test to files that contain something like #!/bin/sh.
18243         Without this, coreutils would get two false positives in
18244         the comments of C source files.
18245
18246 2010-11-12  Eric Blake  <eblake@redhat.com>
18247
18248         bootstrap: fix typo in previous attempt
18249         * build-aux/bootstrap (buildreq): Correct the grouping.
18250         Reported by Paul Eggert.
18251
18252         maintainer-makefile: prohibit test x == x
18253         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18254         Based on a report by Matthias Bolte.
18255
18256         bootstrap: allow FreeBSD gzip
18257         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18258         which has no '.' and goes to stderr.
18259         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18260         Reported by Matthias Bolte.
18261
18262         maintainer-makefile: check for i18n setup
18263         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18264         will likely work.
18265
18266 2010-11-12  Bruno Haible  <bruno@clisp.org>
18267
18268         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18269         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18270         * lib/nanosleep.c (nanosleep): Likewise.
18271
18272 2010-11-11  Bruno Haible  <bruno@clisp.org>
18273
18274         fcntl-h: Fix for use of C++ on glibc systems.
18275         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18276         also on glibc systems in C++ mode.
18277         Reported by Gary V. Vaughan <gary@gnu.org>.
18278
18279 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18280
18281         mknod: avoid false failure with dash
18282         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18283
18284 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18285
18286         unlink: Fix "is it should" typo in diagnostic.
18287         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18288         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18289
18290 2010-11-11  Bruno Haible  <bruno@clisp.org>
18291
18292         Tests for module 'strerror_r-posix'.
18293         * modules/strerror_r-posix-tests: New file.
18294         * tests/test-strerror_r.c: New file.
18295         * tests/test-string-c++.cc: Check the signature of strerror_r.
18296
18297         New module 'strerror_r-posix'.
18298         * lib/string.in.h (strerror_r): New declaration.
18299         * lib/strerror_r.c: New file.
18300         * m4/strerror_r.m4: New file.
18301         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18302         of strerror_r.
18303         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18304         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18305         * modules/strerror_r-posix: New file.
18306         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18307         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18308         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18309         portability problems.
18310
18311 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18312
18313         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18314         line is also considered for output. Quoted function name in shell
18315         command, so temporary files for functions like MyClass::operator()
18316         are removed correctly without errors.
18317
18318 2010-11-09  Bruno Haible  <bruno@clisp.org>
18319
18320         * doc/posix-functions/strerror.texi: List more failing platforms.
18321
18322         * doc/posix-functions/strerror.texi: Add a comment.
18323
18324 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18325
18326         fdopendir: fix bug on MacOS X when low on file descriptors
18327
18328         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18329         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18330         All callers changed.
18331         (fdopendir): Invoke save_cwd at the top level, not after using
18332         multiple dup() calls to use up file descriptors.  Then retry
18333         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18334         less than the maximum number of open file descriptors, because
18335         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18336         on Mac OS X 10.6.4 for tar 1.24
18337         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18338         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18339         and for tar 1.25
18340         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18341
18342 2010-11-07  Bruno Haible  <bruno@clisp.org>
18343
18344         vasnprintf: Support I flag on glibc systems.
18345         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18346         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18347         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18348         snprintf function.
18349         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18350         glibc systems.
18351         * tests/test-vasnprintf-posix3.c: New file.
18352         * modules/vasnprintf-posix-tests (Files): Add it.
18353         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18354
18355 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18356
18357         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18358         * MODULES.html.sh: For compiler warnings, use name
18359         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18360
18361 2010-11-05  Eric Blake  <eblake@redhat.com>
18362
18363         ceil, floor: avoid spurious failure with icc
18364         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18365         [denormals-as-zero] when optimizing without -mieee-fp option.
18366         * tests/test-floorf2.c (floorf_reference): Likewise.
18367         * tests/test-ceilf1.c (dummy): New function.
18368         (main): Use it to outsmart icc's optimization.
18369         * tests/test-floorf1.c (dummy, main): Likewise.
18370
18371         tests: require working signbit
18372         * modules/ceilf-tests (Depends-on): Add signbit.
18373         * modules/ceill-tests (Depends-on): Likewise.
18374         * modules/floorf-tests (Depends-on): Likewise.
18375         * modules/floorl-tests (Depends-on): Likewise.
18376         * modules/round-tests (Depends-on): Likewise.
18377         * modules/roundf-tests (Depends-on): Likewise.
18378         * modules/roundl-tests (Depends-on): Likewise.
18379         * modules/trunc-tests (Depends-on): Likewise.
18380         * modules/truncf-tests (Depends-on): Likewise.
18381         * modules/truncl-tests (Depends-on): Likewise.
18382
18383         strtod: work around icc bug
18384         * lib/strtod.c (minus_zero): Define to working value.
18385         (strtod): Use it to avoid icc bug.
18386
18387         copysign: enhance tests
18388         * modules/copysign-tests (Files): Add minus-zero.h.
18389         * tests/test-copysign.c (main): Also test zeros.
18390
18391 2010-11-04  Eric Blake  <eblake@redhat.com>
18392
18393         ceil, floor, round, trunc: enhance tests of -0
18394         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18395         * tests/test-ceill.c (main): Likewise.
18396         * tests/test-floorf1.c (main): Likewise.
18397         * tests/test-floorl.c (main): Likewise.
18398         * tests/test-round1.c (main): Likewise.
18399         * tests/test-roundf1.c (main): Likewise.
18400         * tests/test-roundl.c (main): Likewise.
18401         * tests/test-trunc1.c (main): Likewise.
18402         * tests/test-truncf1.c (main): Likewise.
18403         * tests/test-truncl.c (main): Likewise.
18404
18405 2010-11-04  Eric Blake  <eblake@redhat.com>
18406
18407         frexp, tests: work around ICC bug with -zero
18408         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18409         works with more compilers.
18410         * tests/minus-zero.h: New file.
18411         * modules/ceilf-tests (Files): Include it.
18412         * modules/ceill-tests (Files): Likewise.
18413         * modules/floorf-tests (Files): Likewise.
18414         * modules/floorl-tests (Files): Likewise.
18415         * modules/frexp-nolibm-tests (Files): Likewise.
18416         * modules/frexp-tests (Files): Likewise.
18417         * modules/frexpl-nolibm-tests (Files): Likewise.
18418         * modules/frexpl-tests (Files): Likewise.
18419         * modules/isnan-tests (Files): Likewise.
18420         * modules/isnand-nolibm-tests (Files): Likewise.
18421         * modules/isnand-tests (Files): Likewise.
18422         * modules/isnanf-nolibm-tests (Files): Likewise.
18423         * modules/isnanf-tests (Files): Likewise.
18424         * modules/isnanl-nolibm-tests (Files): Likewise.
18425         * modules/isnanl-tests (Files): Likewise.
18426         * modules/round-tests (Files): Likewise.
18427         * modules/roundf-tests (Files): Likewise.
18428         * modules/roundl-tests (Files): Likewise.
18429         * modules/ldexpl-tests (Files): Likewise.
18430         * modules/signbit-tests (Files): Likewise.
18431         * modules/snprintf-posix-tests (Files): Likewise.
18432         * modules/sprintf-posix-tests (Files): Likewise.
18433         * modules/strtod-tests (Files): Likewise.
18434         * modules/trunc-tests (Files): Likewise.
18435         * modules/truncf-tests (Files): Likewise.
18436         * modules/truncl-tests (Files): Likewise.
18437         * modules/vsnprintf-posix-tests (Files): Likewise.
18438         * modules/vsprintf-posix-tests (Files): Likewise.
18439         * modules/vasnprintf-posix-tests (Files): Likewise.
18440         * modules/vasprintf-posix-tests (Files): Likewise.
18441         * tests/test-ceilf1.c (main): Use it.
18442         * tests/test-ceill.c (main): Likewise.
18443         * tests/test-floorf1.c (main): Likewise.
18444         * tests/test-floorl.c (main): Likewise.
18445         * tests/test-frexp.c (main): Likewise.
18446         * tests/test-frexpl.c (main): Likewise.
18447         * tests/test-isnan.c (main): Likewise.
18448         * tests/test-isnand.h (main): Likewise.
18449         * tests/test-isnanf.h (main): Likewise.
18450         * tests/test-isnanl.h (main): Likewise.
18451         * tests/test-ldexpl.c (main): Likewise.
18452         * tests/test-round.c (main): Likewise.
18453         * tests/test-roundf.c (main): Likewise.
18454         * tests/test-roundl.c (main): Likewise.
18455         * tests/test-signbit.c (test_signbitf, test_signbitd)
18456         (test_signbitl): Likewise.
18457         * tests/test-snprintf-posix.h (test_function): Likewise.
18458         * tests/test-sprintf-posix.h (test_function): Likewise.
18459         * tests/test-strtod.c (main): Likewise.
18460         * tests/test-trunc1.c (main): Likewise.
18461         * tests/test-truncf1.c (main): Likewise.
18462         * tests/test-truncl.c (main): Likewise.
18463
18464         isnanl: work around icc bug
18465         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18466
18467 2010-11-03  Eric Blake  <eblake@redhat.com>
18468
18469         tests: fix compiler warnings
18470         * tests/test-getopt.h (test_getopt): Fix condition.
18471         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18472         * tests/test-pipe2.c (main): Likewise.
18473         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18474
18475         utimens: fix broken m4 test
18476         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18477
18478 2010-10-28  Bruno Haible  <bruno@clisp.org>
18479
18480         posix_spawn*, getdtablesize: Relax license.
18481         * modules/posix_spawn (License): Change to LGPLv2+.
18482         * modules/posix_spawnp (License): Likewise.
18483         * modules/posix_spawn-internal (License): Likewise.
18484         * modules/posix_spawnattr_init (License): Likewise.
18485         * modules/posix_spawnattr_getflags (License): Likewise.
18486         * modules/posix_spawnattr_setflags (License): Likewise.
18487         * modules/posix_spawnattr_getpgroup (License): Likewise.
18488         * modules/posix_spawnattr_setpgroup (License): Likewise.
18489         * modules/posix_spawnattr_getschedparam (License): Likewise.
18490         * modules/posix_spawnattr_setschedparam (License): Likewise.
18491         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18492         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18493         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18494         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18495         * modules/posix_spawnattr_getsigmask (License): Likewise.
18496         * modules/posix_spawnattr_setsigmask (License): Likewise.
18497         * modules/posix_spawnattr_destroy (License): Likewise.
18498         * modules/posix_spawn_file_actions_init (License): Likewise.
18499         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18500         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18501         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18502         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18503         * modules/getdtablesize (License): Likewise.
18504         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18505
18506 2010-10-26  Bruno Haible  <bruno@clisp.org>
18507
18508         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18509         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18510         Cygwin and mingw.
18511         Suggested by Eric Blake.
18512
18513 2010-10-26  Bruno Haible  <bruno@clisp.org>
18514
18515         stdio: Work around compilation error due to renameat() on Solaris 10.
18516         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18517         * lib/renameat.c: Don't include <unistd.h> here.
18518         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18519         Reported by Paul Eggert and Eric Blake.
18520
18521 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18522
18523         renameat: port to Solaris 10, which declares renameat in unistd.h
18524
18525         * lib/renameat.c: Include unistd.h before stdio.h, because
18526         Solaris 10 declares renameat in unistd.h.  Problem encountered
18527         when building GNU tar 1.24 on Solaris 10.
18528
18529 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18530
18531         fdopendir: fix C89 compilation
18532         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18533         compilers.
18534
18535 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18536
18537         inttostr: simplify by removing unnecessary redundancy
18538         * lib/anytostr.c: Don't include verify.h.
18539         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18540         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18541         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18542         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18543         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18544         Likewise.
18545         * modules/inttostr (Depends-on): Remove 'verify'.
18546
18547 2010-10-23  Bruno Haible  <bruno@clisp.org>
18548
18549         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18550         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18551         Reported by Eric Blake.
18552
18553 2010-10-23  Bruno Haible  <bruno@clisp.org>
18554
18555         Tests: Fix LOCALE_JA on MirBSD 10.
18556         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18557         to an UTF-8 locale.
18558         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18559         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18560         Reported by Eric Blake.
18561
18562 2010-10-21  Bruno Haible  <bruno@clisp.org>
18563
18564         nl_langinfo test: Avoid test failure on NetBSD 5.
18565         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18566         Reported by Eric Blake.
18567
18568 2010-10-21  Eric Blake  <eblake@redhat.com>
18569
18570         c-stack: work around libsigsegv 2.8 bug
18571         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18572         overflow on at least PowerPC64.
18573
18574 2010-10-17  Bruno Haible  <bruno@clisp.org>
18575
18576         userspec: Drop redundant file.
18577         * modules/userspec (Files): Remove lib/inttostr.h.
18578
18579 2010-10-17  Bruno Haible  <bruno@clisp.org>
18580
18581         nl_langinfo tests: Silence some warnings.
18582         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18583         Reported by Jim Meyering.
18584
18585 2010-10-17  Bruno Haible  <bruno@clisp.org>
18586
18587         Make use of GCC's attribute __alloc_size__.
18588         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18589         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18590         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18591         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18592         __alloc_size__.
18593         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18594         Suggested by Jim Meyering.
18595
18596 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18597
18598         bootstrap: anchor .gitignore entries.
18599         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18600         with...
18601         (insert_vc_ignore): ... this new function, which prepends `/' to
18602         all .gitignore entries before passing them to
18603         insert_sorted_if_absent.
18604
18605 2010-10-16  Bruno Haible  <bruno@clisp.org>
18606
18607         nextafter: Fix configure check.
18608         * modules/nextafter (configure.ac): Correct expected prototype.
18609
18610 2010-10-16  Bruno Haible  <bruno@clisp.org>
18611
18612         termios: Update documentation.
18613         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18614
18615 2010-10-16  Bruno Haible  <bruno@clisp.org>
18616
18617         tests: Make them compile with TinyCC.
18618         * tests/test-strstr.c (main): Remove parentheses around array
18619         initializer.
18620
18621 2010-10-15  Eric Blake  <eblake@redhat.com>
18622
18623         ignore-value: make header idempotent
18624         * lib/ignore-value.h: Add double-inclusion guards.
18625         Reported by Stefan Berger.
18626
18627 2010-10-15  Jim Meyering  <meyering@redhat.com>
18628
18629         GNUmakefile: handle "stable" target, not "major"
18630         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18631         lists in maint.mk and announce-gen.  Without this, "make stable"
18632         would fail to ensure that $(VERSION) is up to date.
18633
18634 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18635
18636         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18637         & co.
18638
18639 2010-10-14  Bruno Haible  <bruno@clisp.org>
18640
18641         vasnprintf: Don't set errno to 0.
18642         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18643         block that sets it to 0.
18644         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18645
18646 2010-10-14  Bruno Haible  <bruno@clisp.org>
18647
18648         socketlib: Fix.
18649         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18650         gl_PREREQ_SYS_H_WINSOCK2.
18651         Reported by Ian Beckwith <ianb@erislabs.net>.
18652
18653 2010-10-13  Jim Meyering  <meyering@redhat.com>
18654
18655         test-select-stdin.c: avoid warn_unused_result warnings
18656         * tests/test-select-stdin.c: Include "macros.h".
18657         ASSERT that read and fflush succeed.
18658
18659 2010-10-13  Jim Meyering  <meyering@redhat.com>
18660
18661         git-version-gen: do require git-VC'd files in cwd
18662         * build-aux/git-version-gen: Reject a git version string
18663         if there are no commits associated with the current directory.
18664         This avoids an unlikely false-positive (unrelated dir whose parent
18665         repository also contains a tag matching v*), as pointed out
18666         by Giuseppe Scrivano in
18667         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18668
18669 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18670
18671         argv-iter: omit nonconforming declaration
18672         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18673         enum arg_iter_err declaration, which doesn't conform to C99.
18674         Solaris 10 cc warns about this.
18675
18676 2010-10-13  Eric Blake  <eblake@redhat.com>
18677
18678         termios: fix compilation on mingw
18679         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18680         (gl_TERMIOS_H): Adjust it on mingw.
18681         * modules/termios (Makefile.am): Substitute new key.
18682         * lib/termios.in.h (includes): Make include_next conditional.
18683         * doc/posix-headers/termios.texi (termios.h): Update
18684         documentation.
18685         Reported by Daniel P. Berrange.
18686
18687 2010-10-13  Jim Meyering  <meyering@redhat.com>
18688
18689         git-version-gen: don't require that .git/ be in the current dir
18690         * build-aux/git-version-gen: Adjust this script so that it works
18691         when run from any working directory beneath the top-level .git/-
18692         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18693         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18694
18695         test-select: avoid warn_unused_result warnings
18696         * tests/test-select.c: Include "macros.h".
18697         ASSERT that each call to read, write, and pipe succeeds.
18698         While not technically required, also check each "close".
18699         * modules/select-tests (Files): Add tests/macros.h.
18700
18701         test-symlinkat: remove declaration of unused local
18702         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18703
18704         test-inttostr: avoid shadowing warnings
18705         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18706         and use malloc rather than the stack for the same reason as
18707         mentioned in the comment justifying the other allocation.
18708
18709 2010-10-11  Bruno Haible  <bruno@clisp.org>
18710
18711         stdlib: Allow multiple gnulib generated replacements to coexist.
18712         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18713         Reported by Sam Steingold <sds@gnu.org>.
18714
18715 2010-10-11  Jim Meyering  <meyering@redhat.com>
18716
18717         fix a documentation typo
18718         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18719
18720 2010-10-11  Eric Blake  <eblake@redhat.com>
18721
18722         futimens: work around Solaris 11 bug
18723         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18724         * tests/test-futimens.h (test_futimens): Enhance, rather than
18725         weaken test.
18726         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18727
18728 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18729
18730         Indentation.
18731         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18732         higher-level operators more to the left.
18733
18734 2010-10-11  Jim Meyering  <meyering@redhat.com>
18735
18736         test-futimens: avoid unwarranted test failure on Solaris 5.11
18737         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18738         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18739         because it tries to dereference the NULL name argument.
18740
18741 2010-10-11  Bruno Haible  <bruno@clisp.org>
18742
18743         Indentation.
18744         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18745         indentation.
18746
18747 2010-10-11  Jim Meyering  <meyering@redhat.com>
18748
18749         spawn.in.h: make indentation consistent with parentheses
18750         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18751         Make indentation consistent with parentheses.
18752
18753 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18754
18755         Fix mismatched parens in previous commit
18756         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18757         parens.
18758
18759 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18760
18761         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18762
18763         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18764         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18765         * lib/malloca.c: Include "verify.h".
18766         (verify1): Remove, replacing with a verify call.
18767         * lib/relocwrapper.c (verify1): Likewise.
18768         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18769         Likewise.
18770         * modules/malloca (Depends-on): Add 'verify'.
18771         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18772         * modules/vasnprintf (Depends-on): Add 'verify'.
18773         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18774         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18775         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18776         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18777         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18778         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18779         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18780
18781         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18782
18783         Formerly the style was sometimes 2*X - 1, because the C standard
18784         was wrongly thought to disallow ?: in integral constant expressions.
18785         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18786         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18787         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18788         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18789         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18790         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18791         verify that time_t cannot be floating.
18792
18793 2010-10-08  Eric Blake  <eblake@redhat.com>
18794
18795         time: enforce recent POSIX ruling that time_t is integral
18796         * lib/time.in.h (__time_t_must_be_integral): Detect any
18797         problematic systems, allowing the rest of gnulib to assume POSIX.
18798
18799 2010-10-08  Jim Meyering  <meyering@redhat.com>
18800
18801         fdopendir: fix a bug on systems lacking openat and /proc support
18802         OpenBSD 4.7 is one such system.  The most noticeable effect was
18803         failure of any application making nontrivial use of fts: rm, du,
18804         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18805           ./rm: traversal failed: `a': Bad file descriptor
18806         Debugging that, you see that even though FD 6 was closed just
18807         prior to the opendir call in fd_clone_opendir, its resulting
18808         dir->dd_fd was 8, rather than the expected value of 6:
18809
18810         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18811         93                close (fd);
18812         (gdb) n
18813         94                dir = fd_clone_opendir (dupfd);
18814         (gdb) n
18815         95                saved_errno = errno;
18816         (gdb) p dir->dd_fd
18817         $11 = 8
18818
18819         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18820         The problem is that on OpenBSD, fd_clone_opendir has to resort
18821         to using the old-style save/restore CWD mechanism, due to its
18822         lack of openat/proc support, and *that* would steal the FD (6)
18823         that opendir was supposed to use.
18824
18825         The fix is to squirrel away the desired FD so that save_cwd uses a
18826         different one, and then free the dest FD right before calling opendir.
18827         That guarantees opendir will use the required file descriptor.
18828
18829         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18830
18831 2010-10-08  Bruno Haible  <bruno@clisp.org>
18832
18833         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18834         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18835
18836 2010-10-08  Bruno Haible  <bruno@clisp.org>
18837
18838         nanosleep: Make replacement POSIX compliant.
18839         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18840         is out of range.
18841         Reported by Jim Meyering.
18842
18843 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18844
18845         bootstrap: add hook for altering gnulib.mk, for Bison
18846         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18847         the Bison bootstrapping process can rewrite file names and variables
18848         in this file before later parts of 'bootstrap' use the file.
18849         Bison wants to include lib/gnulib.mk from the top-level makefile,
18850         so it needs the file names in this file to be relative to the top
18851         level, not relative to lib; plus it needs variable names to be
18852         rewritten.
18853         (slurp): Use the new function.
18854
18855         bootstrap: reformat for readability
18856         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18857
18858 2010-10-08  Eric Blake  <eblake@redhat.com>
18859
18860         docs: update cygwin progress
18861         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18862         1.7.7.
18863         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18864         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18865         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18866         * doc/posix-functions/carg.texi (carg): Likewise.
18867         * doc/posix-functions/cargf.texi (cargf): Likewise.
18868         * doc/posix-functions/casin.texi (casin): Likewise.
18869         * doc/posix-functions/casinf.texi (casinf): Likewise.
18870         * doc/posix-functions/casinh.texi (casinh): Likewise.
18871         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18872         * doc/posix-functions/catan.texi (catan): Likewise.
18873         * doc/posix-functions/catanf.texi (catanf): Likewise.
18874         * doc/posix-functions/catanh.texi (catanh): Likewise.
18875         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18876         * doc/posix-functions/ccos.texi (ccos): Likewise.
18877         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18878         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18879         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18880         * doc/posix-functions/cexp.texi (cexp): Likewise.
18881         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18882         * doc/posix-functions/cimag.texi (cimag): Likewise.
18883         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18884         * doc/posix-functions/clog.texi (clog): Likewise.
18885         * doc/posix-functions/clogf.texi (clogf): Likewise.
18886         * doc/posix-functions/conj.texi (conj): Likewise.
18887         * doc/posix-functions/conjf.texi (conjf): Likewise.
18888         * doc/posix-functions/cpow.texi (cpow): Likewise.
18889         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18890         * doc/posix-functions/cproj.texi (cproj): Likewise.
18891         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18892         * doc/posix-functions/creal.texi (creal): Likewise.
18893         * doc/posix-functions/crealf.texi (crealf): Likewise.
18894         * doc/posix-functions/csin.texi (csin): Likewise.
18895         * doc/posix-functions/csinf.texi (csinf): Likewise.
18896         * doc/posix-functions/csinh.texi (csinh): Likewise.
18897         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18898         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18899         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18900         * doc/posix-functions/ctan.texi (ctan): Likewise.
18901         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18902         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18903         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18904         * doc/posix-headers/complex.texi (complex.h): Likewise.
18905
18906 2010-10-07  Jim Meyering  <meyering@redhat.com>
18907
18908         parse-datetime: avoid compilation failure on OpenBSD 4.7
18909         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18910         This works around a compilation failure on OpenBSD 4.7:
18911         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18912
18913 2010-10-07  Eric Blake  <eblake@redhat.com>
18914
18915         docs: update cygwin progress
18916         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18917         1.7.6.
18918         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18919         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18920         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18921         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18922         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18923         Likewise.
18924         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18925         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18926         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18927         Likewise.
18928         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18929         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18930         Likewise.
18931         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18932         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18933         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18934         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18935         Likewise.
18936         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18937         Likewise.
18938         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18939
18940         docs: update parse-datetime history
18941         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18942         documentation of this function's history and alternatives.
18943
18944         cygwin: use more robust version check
18945         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18946         exclude an eventual cygwin 1.9.1.
18947         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18948         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18949         (gl_FUNC_STRCASESTR): Likewise.
18950         Reported by Bruno Haible.
18951
18952 2010-10-06  Bruno Haible  <bruno@clisp.org>
18953
18954         string, sys_select: Avoid #including large headers unless necessary.
18955         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18956         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18957         OSF/1, BeOS, Haiku.
18958         Reported by Jim Meyering.
18959
18960 2010-10-05  Eric Blake  <eblake@redhat.com>
18961
18962         memmem, strstr, strcasestr: fix bug with long periodic needle
18963         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18964         periodic needle having false positive.
18965         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18966         and cygwin 1.7.7.
18967         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18969         (gl_FUNC_STRCASESTR): Likewise.
18970         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18971         * tests/test-memmem.c (main): Expose the bug.
18972         * tests/test-strcasestr.c (main): Likewise.
18973         * tests/test-strstr.c (main): Likewise.
18974         * tests/test-c-strcasestr.c (main): Likewise.
18975         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18976         * doc/posix-functions/strstr.texi (strstr): Likewise.
18977         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18978         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18979
18980 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18981
18982         parse-datetime: do some more renaming
18983         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18984         parse_datetime, not get_date.  Mention the renaming.
18985         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18986         in comments.
18987         * m4/bison.m4: Likewise.
18988
18989 2010-10-05  Eric Blake  <eblake@redhat.com>
18990
18991         parse-datetime: better name than get_date
18992         * NEWS: Reword the deprecation notice.
18993         * modules/get_date: Rename to modules/parse-datetime.
18994         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18995         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18996         * lib/get_date.y: Rename to lib/parse-datetime.y.
18997         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18998         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18999         * doc/getdate.texi: Provide fallback wrapper.
19000         * lib/getdate.h: Move guts, and wrap...
19001         * lib/parse-datetime.h: ...new file.
19002         * lib/parse-datetime.y (get_date): Rename...
19003         (parse_datetime): ...to this.
19004         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
19005         (gl_PARSE_DATETIME): ...to this.
19006         * doc/posix-functions/getdate.texi (get_date): Provide fallback
19007         documentation.
19008         * modules/getdate (Files): Provide fallback docs and header.
19009         (Notice, Depends-on): Update references.
19010         * tests/test-parse-datetime.c: Likewise.
19011         * DEPENDENCIES: Likewise.
19012         * MODULES.html.sh (Date and time <time.h>): Likewise.
19013         * doc/parse-datetime.texi (Date input formats)
19014         (Authors of parse_datetime): Likewise.
19015         * modules/parse-datetime (Files, configure.ac, Makefile.am)
19016         (Include): Likewise.
19017         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
19018         * gnulib-tool: Likewise.
19019         * m4/bison.m4 (gl_BISON): Likewise.
19020         Suggested by Bruno Haible.
19021
19022 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19023
19024         more ports to Solaris tr, which needs [] around ranges
19025         * gnulib-tool: Solaris tr needs [] around ranges.
19026         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19027         * tests/test-pipe-filter-gi1.c (main): Likewise.
19028         * tests/test-pipe-filter-ii1.c (main): Likewise.
19029
19030 2010-10-05  Eric Blake  <eblake@redhat.com>
19031
19032         bootstrap: fix Solaris regression
19033         * build-aux/bootstrap (check_versions): Solaris tr still needs []
19034         around ranges.
19035         Reported by Pádraig Brady.
19036
19037         bootstrap: work with pkg-config
19038         * build-aux/bootstrap (check_versions): Also transliterate - in
19039         prerequisite name.
19040         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
19041         prerequisites that were already found, to avoid confusion.
19042         Reported by Justin Clift.
19043
19044         faccessat: remove unused wrappers
19045         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
19046         presence of these wrappers dragged in -lgen on Solaris.
19047         Reported by Clemens Brogi; fix suggested by Paul Eggert.
19048
19049 2010-10-05  Jim Meyering  <meyering@redhat.com>
19050
19051         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
19052         * Makefile (sc_pragma_columns): New syntax-check rule.
19053
19054 2010-10-04  Bruno Haible  <bruno@clisp.org>
19055
19056         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
19057         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
19058         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
19059         Reported by Bruce Korb and Eric Blake.
19060
19061 2010-10-04  Bruno Haible  <bruno@clisp.org>
19062
19063         threadlib: Make option --with-libpth-prefix work.
19064         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
19065         use $LIBPTH, not just -lpth.
19066
19067 2010-10-04  Bruno Haible  <bruno@clisp.org>
19068
19069         Avoid line length limitation from HP NonStop system header files.
19070         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
19071         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
19072         * lib/ctype.in.h: Likewise.
19073         * lib/dirent.in.h: Likewise.
19074         * lib/errno.in.h: Likewise.
19075         * lib/fcntl.in.h: Likewise.
19076         * lib/float.in.h: Likewise.
19077         * lib/getopt.in.h: Likewise.
19078         * lib/iconv.in.h: Likewise.
19079         * lib/inttypes.in.h: Likewise.
19080         * lib/langinfo.in.h: Likewise.
19081         * lib/locale.in.h: Likewise.
19082         * lib/math.in.h: Likewise.
19083         * lib/netdb.in.h: Likewise.
19084         * lib/netinet_in.in.h: Likewise.
19085         * lib/poll.in.h: Likewise.
19086         * lib/pthread.in.h: Likewise.
19087         * lib/pty.in.h: Likewise.
19088         * lib/sched.in.h: Likewise.
19089         * lib/se-selinux.in.h: Likewise.
19090         * lib/search.in.h: Likewise.
19091         * lib/signal.in.h: Likewise.
19092         * lib/spawn.in.h: Likewise.
19093         * lib/stdarg.in.h: Likewise.
19094         * lib/stddef.in.h: Likewise.
19095         * lib/stdint.in.h: Likewise.
19096         * lib/stdio.in.h: Likewise.
19097         * lib/stdlib.in.h: Likewise.
19098         * lib/string.in.h: Likewise.
19099         * lib/strings.in.h: Likewise.
19100         * lib/sys_file.in.h: Likewise.
19101         * lib/sys_ioctl.in.h: Likewise.
19102         * lib/sys_select.in.h: Likewise.
19103         * lib/sys_socket.in.h: Likewise.
19104         * lib/sys_stat.in.h: Likewise.
19105         * lib/sys_time.in.h: Likewise.
19106         * lib/sys_times.in.h: Likewise.
19107         * lib/sys_utsname.in.h: Likewise.
19108         * lib/sys_wait.in.h: Likewise.
19109         * lib/sysexits.in.h: Likewise.
19110         * lib/termios.in.h: Likewise.
19111         * lib/time.in.h: Likewise.
19112         * lib/unistd.in.h: Likewise.
19113         * lib/wchar.in.h: Likewise.
19114         * lib/wctype.in.h: Likewise.
19115         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
19116         * modules/ctype (Makefile.am): Likewise.
19117         * modules/dirent (Makefile.am): Likewise.
19118         * modules/errno (Makefile.am): Likewise.
19119         * modules/fcntl-h (Makefile.am): Likewise.
19120         * modules/float (Makefile.am): Likewise.
19121         * modules/getopt-posix (Makefile.am): Likewise.
19122         * modules/iconv-h (Makefile.am): Likewise.
19123         * modules/inttypes (Makefile.am): Likewise.
19124         * modules/langinfo (Makefile.am): Likewise.
19125         * modules/locale (Makefile.am): Likewise.
19126         * modules/math (Makefile.am): Likewise.
19127         * modules/netdb (Makefile.am): Likewise.
19128         * modules/netinet_in (Makefile.am): Likewise.
19129         * modules/poll-h (Makefile.am): Likewise.
19130         * modules/pthread (Makefile.am): Likewise.
19131         * modules/pty (Makefile.am): Likewise.
19132         * modules/sched (Makefile.am): Likewise.
19133         * modules/search (Makefile.am): Likewise.
19134         * modules/selinux-h (Makefile.am): Likewise.
19135         * modules/signal (Makefile.am): Likewise.
19136         * modules/spawn (Makefile.am): Likewise.
19137         * modules/stdarg (Makefile.am): Likewise.
19138         * modules/stddef (Makefile.am): Likewise.
19139         * modules/stdint (Makefile.am): Likewise.
19140         * modules/stdio (Makefile.am): Likewise.
19141         * modules/stdlib (Makefile.am): Likewise.
19142         * modules/string (Makefile.am): Likewise.
19143         * modules/strings (Makefile.am): Likewise.
19144         * modules/sys_file (Makefile.am): Likewise.
19145         * modules/sys_ioctl (Makefile.am): Likewise.
19146         * modules/sys_select (Makefile.am): Likewise.
19147         * modules/sys_socket (Makefile.am): Likewise.
19148         * modules/sys_stat (Makefile.am): Likewise.
19149         * modules/sys_time (Makefile.am): Likewise.
19150         * modules/sys_times (Makefile.am): Likewise.
19151         * modules/sys_utsname (Makefile.am): Likewise.
19152         * modules/sys_wait (Makefile.am): Likewise.
19153         * modules/sysexits (Makefile.am): Likewise.
19154         * modules/termios (Makefile.am): Likewise.
19155         * modules/time (Makefile.am): Likewise.
19156         * modules/unistd (Makefile.am): Likewise.
19157         * modules/wchar (Makefile.am): Likewise.
19158         * modules/wctype (Makefile.am): Likewise.
19159
19160 2010-10-04  Bruno Haible  <bruno@clisp.org>
19161
19162         read-file tests: Avoid a test failure on NonStop Kernel.
19163         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
19164         a regular file.
19165         Reported by Joachim Schmitz <schmitz@hp.com>.
19166
19167 2010-10-03  Bruno Haible  <bruno@clisp.org>
19168
19169         gnulib-tool: Fixes for --create-testdir with --libtool.
19170         * gnulib-tool (func_get_automake_snippet): Don't augment
19171         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19172         an executable.
19173         (func_create_testdir): Handle module 'alloca' like func_import.
19174         Reported by Bruce Korb <bruce.korb@gmail.com>.
19175
19176 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19177
19178         Avoid some lines longer than 80 characters.
19179         * lib/stdint.in.h: Break long comment lines.
19180         * lib/math.in.h: Likewise.
19181         (_GL_NUM_UINT_WORDS): New macro, for readability.
19182         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19183         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19184         * lib/stdlib.in.h: Likewise.
19185         * lib/spawn.in.h: Likewise.
19186         * lib/sys_socket.in.h: Update an URL.
19187         * lib/sys_stat.in.h: Break long line.
19188
19189 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19190
19191         Improve pmccabe2html.
19192         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19193         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19194         when the sources change. Remove the line in the HTML about "Used
19195         ranges" (which implied that there might be other unused ranges),
19196         rename "Resume" to "Summary" (easier to understand for more users).
19197         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19198         styles, and some unnecessary blank lines.
19199
19200 2010-10-03  Bruno Haible  <bruno@clisp.org>
19201             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19202
19203         acl: Add support for ACLs on NonStop Kernel.
19204         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19205         Check whether the function aclsort() exists.
19206         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19207         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19208         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19209         (acl_nontrivial [HAVE_ACLSORT]: New function.
19210         (file_has_acl): Implement for NonStop Kernel.
19211         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19212         (qset_acl): Implement for NonStop Kernel.
19213         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19214         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19215         (main): Implement for NonStop Kernel.
19216         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19217         Kernel. Handle this flavor.
19218         * tests/test-set-mode-acl.sh: Likewise.
19219         * tests/test-copy-acl.sh: Likewise.
19220         * tests/test-copy-file.sh: Likewise.
19221
19222 2010-10-03  Bruno Haible  <bruno@clisp.org>
19223
19224         Info about ACLs on NonStop Kernel.
19225         * doc/acl-resources.txt: Add info about NonStop Kernel.
19226         References by Joachim Schmitz <schmitz@hp.com>.
19227
19228 2010-10-02  Bruno Haible  <bruno@clisp.org>
19229
19230         Define missing EDQUOT on NonStop Kernel.
19231         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19232         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19233         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19234         missing.
19235         * doc/posix-headers/errno.texi: Mention the NSK bug.
19236         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19237         Reported by Joachim Schmitz <schmitz@hp.com>.
19238
19239 2010-10-02  Bruno Haible  <bruno@clisp.org>
19240
19241         Update doc for POSIX:2008.
19242         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19243         Update URL of POSIX specification.
19244
19245 2010-10-02  Bruno Haible  <bruno@clisp.org>
19246
19247         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19248         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19249         from gnulib, not from Automake.
19250
19251 2010-10-02  Bruno Haible  <bruno@clisp.org>
19252
19253         New module 'system-posix'.
19254         * modules/system-posix: New file.
19255         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19256         module is present.
19257         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19258         GNULIB_SYSTEM_POSIX.
19259         * modules/stdlib (Depends-on): Remove sys_wait.
19260         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19261         * doc/posix-functions/system.texi: Mention the new module.
19262         * doc/posix-headers/stdlib.texi: Likewise.
19263         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19264         define test_sys_wait_macros to a no-op.
19265         Reported by Sam Steingold <sds@gnu.org>.
19266
19267 2010-09-30  Bruno Haible  <bruno@clisp.org>
19268
19269         More renaming from 'getdate' to 'get_date'.
19270         * doc/get_date.texi: Renamed from doc/getdate.texi.
19271         * modules/get_date (Files): Update.
19272         * MODULES.html.sh (Date and time <time.h>): Update.
19273         * DEPENDENCIES: Update.
19274         * gnulib-tool: Update comment.
19275         * m4/bison.m4 (gl_BISON): Likewise.
19276         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19277
19278 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19279
19280         bootstrap: support ACLOCAL_FLAGS during aclocal
19281         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19282         can add additional -I dir for third-party .m4 files.
19283
19284 2010-09-30  Eric Blake  <eblake@redhat.com>
19285
19286         bootstrap: use glibtoolize on MacOS
19287         * build-aux/bootstrap (check_versions): Convert libtool into
19288         libtoolize.
19289         (tool search): Move libtool check earlier, and look for
19290         glibtoolize for MacOS.
19291         (gnulib_tool_options): Auto-add --libtool when appropriate.
19292         Reported by Justin Clift.
19293
19294         poll: fix typo that broke test on MacOS
19295         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19296         Reported by Justin Clift.
19297
19298         getdate: rename to get_date
19299         Note: getdate.h is not renamed, to minimize client impact.
19300         * modules/getdate: Mark obsolete.  Move old contents...
19301         * modules/get_date: ...to new module name.
19302         * modules/getdate-tests: Move...
19303         * modules/get_date-tests: ...here.
19304         * m4/getdate.m4: Move...
19305         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19306         * lib/getdate.y: Move...
19307         * lib/get_date.y: ...here.
19308         * tests/test-getdate.c: Move...
19309         * tests/test-get_date.c: ...here.
19310         * doc/posix-functions/getdate.texi (getdate): Update name.
19311         * NEWS: Mention the change.
19312
19313 2010-09-29  Bruno Haible  <bruno@clisp.org>
19314
19315         Separate the module 'waitpid' from the module 'sys_wait'.
19316         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19317         present.
19318         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19319         gl_MODULE_INDICATOR_FOR_TESTS.
19320         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19321         * modules/sys_wait (Depends-on): Remove waitpid.
19322         (Makefile.am): Substitute GNULIB_WAITPID.
19323         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19324         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19325         signature only if the 'waitpid' module is present.
19326         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19327         * NEWS: Mention the change.
19328         * modules/grantpt (Depends-on): Add waitpid.
19329         * modules/wait-process (Depends-on): Likewise.
19330
19331 2010-09-29  Bruno Haible  <bruno@clisp.org>
19332
19333         More tests for module 'sys_wait'.
19334         * modules/sys_wait-c++-tests: New file.
19335         * tests/test-sys_wait-c++.cc: New file.
19336         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19337         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19338
19339 2010-09-29  Bruno Haible  <bruno@clisp.org>
19340
19341         New module 'waitpid'.
19342         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19343         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19344         Don't include <process.h>.
19345         (waitpid): Declare only, using modern idiom.
19346         * m4/waitpid.m4: New file.
19347         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19348         * modules/waitpid: New file.
19349         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19350         (Makefile.am): Update.
19351         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19352
19353 2010-09-28  Bruno Haible  <bruno@clisp.org>
19354
19355         poll: Assume ANSI C.
19356         * lib/poll.c (poll): Use an ANSI C declaration.
19357
19358 2010-09-28  Bruno Haible  <bruno@clisp.org>
19359
19360         poll-h: Create poll.h on all platforms.
19361         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19362         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19363         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19364         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19365         (gl_REPLACE_POLL_H): Don't set POLL_H.
19366         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19367         * modules/poll-h (Depends-on): Add include_next.
19368         (Makefile.am): Create poll.h unconditionally. Substitute also
19369         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19370
19371 2010-09-28  Bruno Haible  <bruno@clisp.org>
19372
19373         Tests for module 'poll-h'.
19374         * modules/poll-h-c++-tests: New file.
19375         * tests/test-poll-h-c++.cc: New file.
19376
19377         Tests for module 'poll-h'.
19378         * modules/poll-h-tests: New file.
19379         * tests/test-poll-h.c: New file.
19380
19381 2010-09-28  Bruno Haible  <bruno@clisp.org>
19382
19383         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19384         * modules/poll-h (Depends-on): Add 'extensions'.
19385
19386 2010-09-28  Bruno Haible  <bruno@clisp.org>
19387
19388         New module 'poll-h'.
19389         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19390         (poll): Use modern idiom.
19391         * modules/poll-h: New file.
19392         * modules/poll (Files): Remove lib/poll.in.h.
19393         (Depends-on): Add poll-h.
19394         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19395         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19396         * m4/poll_h.m4: New file.
19397         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19398         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19399         and invoke gl_REPLACE_POLL_H.
19400         * lib/poll.c: Use common idiom.
19401         * tests/test-poll.c: Likewise.
19402         * doc/posix-headers/poll.texi: Mention the poll-h module.
19403         Suggested by Eric Blake.
19404
19405 2010-09-26  Bruno Haible  <bruno@clisp.org>
19406
19407         sys_wait: Implement WSTOPSIG.
19408         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19409         Reported by Simon Josefsson.
19410
19411 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19412
19413         stdlib, sys_wait: Avoid compilation error on mingw.
19414         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19415
19416 2010-09-26  Bruno Haible  <bruno@clisp.org>
19417
19418         stdlib tests: Avoid code duplication.
19419         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19420         * modules/sys_wait-tests (Files): Likewise.
19421         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19422         * tests/test-stdlib.c: Include test-sys_wait.h.
19423         (main): Invoke test_sys_wait_macros.
19424         * tests/test-sys_wait.c: Include test-sys_wait.h.
19425         (main): Invoke test_sys_wait_macros.
19426
19427 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19428
19429         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19430         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19431         sure Windows sockets are working before calling getaddrinfo.
19432         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19433         * doc/gnulib.texi (Windows sockets): Fix typo.
19434
19435 2010-09-25  Bruno Haible  <bruno@clisp.org>
19436
19437         Tests for module 'regex-quote'.
19438         * modules/regex-quote-tests: New file.
19439         * tests/test-regex-quote.c: New file.
19440
19441         New module 'regex-quote'.
19442         * lib/regex-quote.h: New file.
19443         * lib/regex-quote.c: New file.
19444         * modules/regex-quote: New file.
19445         Suggested by Reuben Thomas <rrt@sc3d.org>.
19446
19447 2010-09-24  Bruno Haible  <bruno@clisp.org>
19448
19449         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19450         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19451
19452 2010-09-23  Bruno Haible  <bruno@clisp.org>
19453
19454         setenv: Relax license.
19455         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19456         Blake.
19457         Requested by Eric Blake.
19458
19459 2010-09-22  Bruno Haible  <bruno@clisp.org>
19460
19461         termios: Relax license.
19462         * modules/termios (License): Change to LGPLv2+.
19463         Requested by Eric Blake.
19464
19465 2010-09-22  Bruno Haible  <bruno@clisp.org>
19466
19467         threadlib: Allow the package to change the default to 'no'.
19468         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19469         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19470         Reported by Paul Eggert.
19471
19472 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19473             Bruno Haible  <bruno@clisp.org>
19474
19475         Fix endless loop in mbmemcasecoll.
19476         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19477         byte.
19478         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19479
19480 2010-09-22  Bruno Haible  <bruno@clisp.org>
19481
19482         Tests for module 'memcoll'.
19483         * modules/memcoll-tests: New file.
19484         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19485
19486         memcoll, xmemcoll: Clarify size vs. length.
19487         * modules/memcoll.c (memcoll0): Clarify specification.
19488         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19489         passed to collate_error.
19490
19491 2010-09-22  Bruno Haible  <bruno@clisp.org>
19492
19493         Tests for module 'memcasecmp'.
19494         * modules/memcasecmp-tests: New file.
19495         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19496
19497 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19498
19499         * lib/pthread.in.h: Add split double-inclusion guard, and include
19500         system <pthread.h> if there is one.  Use @@-style as in other
19501         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19502         pthread.h doesn't.
19503         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19504         (pthread_mutexattr_settype, pthread_mutex_trylock):
19505         New static inline functions, if there's no system <pthread.h>.
19506         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19507         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19508         Approximate with mutexes if the system lacks spinlocks, as in
19509         MacOS.
19510         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19511         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19512         @@-style.  Check for spinlocks separately.
19513         (gl_PTHREAD_DEFAULTS): New macro.
19514         * modules/pthread: Redo to use a more typical style for in.h files.
19515
19516 2010-09-21  Eric Blake  <eblake@redhat.com>
19517
19518         net_if: enhance tests
19519         * tests/test-net_if.c (main): Move signature checks earlier.
19520         Print failures to stderr.
19521         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19522         Document the bug that we do not yet fix.
19523
19524 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19525
19526         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19527         about gnulib, not GSS.
19528
19529 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19530
19531         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19532         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19533         for Emacs.
19534         * build-aux/pmccabe2html: Make Makefile.am example code more
19535         cut-and-paste friendly.
19536
19537 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19538
19539         * tests/test-net_if.c: New file.
19540         * modules/net_if-tests: New file.
19541
19542 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19543
19544         pthread: add pthread_spin_destroy
19545         * lib/pthread.in.h (pthread_spin_destroy): New function.
19546
19547 2010-09-19  Bruno Haible  <bruno@clisp.org>
19548
19549         gnulib-tool: Fix --help output.
19550         * gnulib-tool (func_usage): Fix help message.
19551         Reported by Reuben Thomas <rrt@sc3d.org>.
19552
19553 2010-09-18  Jim Meyering  <meyering@redhat.com>
19554
19555         maint.mk: avoid unexpanded \n in two diagnostics
19556         * top/maint.mk (sc_prohibit_always_true_header_tests):
19557         Don't use a literal \n in a halt=... assignment.  It would not be
19558         expanded, and the two \n bytes would appear in the diagnostic output
19559         rather than the desired newline.  Use halt=$$(printf ... instead.
19560         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19561
19562 2010-09-18  Bruno Haible  <bruno@clisp.org>
19563
19564         netinet_in: Doc tweak.
19565         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19566         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19567
19568 2010-09-18  Jim Meyering  <meyering@redhat.com>
19569
19570         init.sh: correct an outdated comment
19571         * tests/init.sh (create_exe_shims_):  s/function/alias/
19572
19573         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19574         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19575         a file named "*.exe" is removed between the glob expansion and the
19576         processing of that oddly named file.
19577
19578 2010-09-17  Eric Blake  <eblake@redhat.com>
19579
19580         mirbsd: add some more support
19581         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19582         in BSD family.
19583         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19584         devices as OpenBSD.
19585         * m4/host-os.m4 (mirbsd): Add MirBSD.
19586
19587         tests: fix unportable assumption on sys/wait.h
19588         * tests/test-sys_wait.c (main): Relax test.
19589         * tests/test-stdlib.c (main): Likewise.
19590
19591         init.sh: accomodate directory with no .exes
19592         * tests/init.sh: Accomodate directory containing only scripts.
19593
19594         tests: avoid compiler warning
19595         * tests/test-stdlib.c (main): Use the variable.
19596
19597         fdutimens, fdutimensat: update signature, again
19598         * lib/utimens.h (gl_futimens): Delete, and move signature...
19599         (fdutimens): ...here.
19600         (fdutimensat): Rearrange signature.
19601         (lutimensat): Rename variable for clarity.
19602         * lib/fdutimensat.c (fdutimensat): Update signature.
19603         * lib/utimens.c (fdutimens): Likewise.
19604         (gl_futimens): Delete.
19605         (utimens, lutimens): Update callers.
19606         * lib/futimens.c (futimens): Likewise.
19607         * tests/test-fdutimensat.c: Likewise.
19608         * tests/test-utimens.c: Likewise.
19609         * tests/test-futimens.h: Update comment.
19610         * NEWS: Mention this.
19611         Suggested by Paul Eggert.
19612
19613 2010-09-17  Bruno Haible  <bruno@clisp.org>
19614
19615         Take over the maintenance of some older macros from Autoconf.
19616         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19617         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19618         GNU Autoconf.
19619         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19620         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19621
19622 2010-09-17  Eric Blake  <eblake@redhat.com>
19623
19624         fdutimensat: drop atflag validation
19625         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19626         with valid fd, to close a race scenario where futimens is
19627         unsupported and FILE was replaced by a symlink.
19628         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19629         accordingly.
19630         Suggested by Paul Eggert.
19631
19632 2010-09-16  Bruno Haible  <bruno@clisp.org>
19633
19634         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19635         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19636
19637 2010-09-16  Bruno Haible  <bruno@clisp.org>
19638
19639         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19640         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19641         login_tty exists.
19642         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19643
19644 2010-09-16  Bruno Haible  <bruno@clisp.org>
19645
19646         login_tty: Make the replacement code work on BSD systems.
19647         * lib/login_tty.c: Include <sys/ioctl.h>.
19648         (login_tty): Use ioctl TIOCSCTTY when available.
19649         * modules/login_tty (Depends-on): Add sys_ioctl.
19650         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19651
19652 2010-09-16  Bruno Haible  <bruno@clisp.org>
19653
19654         login_tty: Stricter unit test.
19655         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19656         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19657         and tcgetsid() after login_tty.
19658         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19659
19660 2010-09-16  Bruno Haible  <bruno@clisp.org>
19661
19662         New module 'tcgetsid'.
19663         * lib/tcgetsid.c: New file.
19664         * m4/tcgetsid.m4: New file.
19665         * modules/tcgetsid: New file.
19666         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19667         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19668         GNULIB_TCGETSID, HAVE_TCGETSID.
19669         * lib/termios.in.h: Include <sys/types.h>.
19670         (tcgetsid): New declaration.
19671         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19672         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19673         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19674         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19675
19676 2010-09-16  Bruno Haible  <bruno@clisp.org>
19677
19678         Tests for module 'termios'.
19679         * modules/termios-c++-tests: New file.
19680         * modules/termios-tests: New file.
19681         * tests/test-termios-c++.cc: New file.
19682         * tests/test-termios.c: New file.
19683
19684         New module 'termios'.
19685         * modules/termios: New file.
19686         * lib/termios.in.h: New file.
19687         * m4/termios_h.m4: New file.
19688         * doc/posix-headers/termios.texi: Mention the new module.
19689
19690 2010-09-16  Eric Blake  <eblake@redhat.com>
19691
19692         fdutimensat: add an atflag parameter
19693         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19694         * lib/utimens.h (fdutimensat): Update prototype.
19695         * tests/test-fdutimensat.c: Adjust test to match.
19696         * NEWS: Document the change.
19697         Suggested by Paul Eggert.
19698
19699 2010-09-16  Bruno Haible  <bruno@clisp.org>
19700
19701         Fix typos in comments.
19702         * lib/striconveh.h: Fix typo in comment.
19703         * lib/login_tty.c (login_tty): Likewise.
19704
19705 2010-09-15  Bruno Haible  <bruno@clisp.org>
19706
19707         stdlib: clarify MirBSD WEXITSTATUS bug
19708         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19709         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19710
19711 2010-09-15  Eric Blake  <eblake@redhat.com>
19712
19713         stdlib: work around MirBSD WEXITSTATUS bug
19714         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19715         * modules/stdlib (Depends-on): Add sys_wait.
19716         * tests/test-sys_wait.c (main): Enhance test.
19717         * tests/test-stdlib.c (main): Likewise.
19718         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19719
19720         docs: mention MacOS issue with WEXITSTATUS(constant)
19721         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19722         issue.
19723         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19724
19725         strnlen: add tests
19726         * modules/strnlen-tests: New file.
19727         * tests/test-strnlen.c: Likewise.
19728
19729 2010-09-14  Bruno Haible  <bruno@clisp.org>
19730
19731         unistr/base: Avoid link errors when module 'libunistring' is also used.
19732         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19733         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19734         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19735         Declare also when HAVE_LIBUNISTRING is set.
19736         Reported by Pádraig Brady <P@draigbrady.com>.
19737
19738 2010-09-14  Eric Blake  <eblake@redhat.com>
19739
19740         test-rawmemchr: make more robust
19741         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19742         (Depends-on, configure.ac): Add needed prerequisites to use it.
19743         * modules/memchr-tests (Files, Depends-on, configure.ac):
19744         Likewise, to avoid implicit reliance on memchr module prereqs.
19745         * tests/test-memchr.c (main): Ensure proper masking.
19746         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19747         reads.
19748
19749         memchr: detect glibc Alpha bug
19750         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19751         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19752         Alpha.
19753         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19754         * tests/test-memchr.c (main): Enhance test.
19755         Reported by Nelson H. F. Beebe.
19756
19757 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19758
19759         fts, getcwd, glob: audit for dirfd returning -1
19760         * lib/fts.c (opendir): Remove #define; no longer used.
19761         (opendirat): New arg PDIR_FD.  All callers changed.
19762         (fts_build, _opendir2): Use new opendirat to avoid the need for
19763         dirfd, or for checking whether dirfd returns a negative value.
19764         Don't use opendir; always use openat followed by fdopendir.
19765         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19766         it.
19767         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19768         returns -1 here.
19769         * modules/fts (Depends-on): Remove dirfd.
19770         * modules/getcwd (Depends-on): Likewise.
19771
19772 2010-09-13  Eric Blake  <eblake@redhat.com>
19773
19774         float: fix broken MirBSD header
19775         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19776         * doc/posix-headers/float.texi (float.h): Document it.
19777
19778 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19779
19780         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19781         * lib/fts.c (opendirat): New arg extra_flags.
19782         (__opendir2): Use it to avoid following symlinks when opening
19783         a directory, if symlinks are not supposed to be followed.  See
19784         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19785
19786         fdopendir: preserve argument fd before returning
19787         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19788         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19789         (fdopendir): Use them, arranging for FD to be open to the same
19790         directory that it was when it started.  (It might be temporarily
19791         closed while fdopendir is running, so this not thread- or
19792         signal-safe.)  Be careful to do the right thing even when file
19793         descriptors are scarce and dup fails with errno == EMFILE.  See
19794         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19795
19796 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19797
19798         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19799         * NEWS: Document change.
19800         * m4/regex.m4: Disable test for regoff_t size.
19801
19802 2010-09-13  Jim Meyering  <meyering@redhat.com>
19803
19804         fts: don't operate on an invalid file descriptor after failed dup
19805         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19806         negative file descriptor.
19807
19808 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19809
19810         savedir: add streamsavedir, deprecate fdsavedir
19811         * NEWS: Mention deprecation of fdsavedir.
19812         * lib/savedir.c (streamsavedir): New extern function, whose name
19813         ends in "savedir" to be consistent with the others.  This differs
19814         from savedirstream in that it doesn't close its argument.  The
19815         next version of GNU tar will use this instead of fdsavedir, to
19816         avoid some race conditions and conserve file descriptors.
19817         (savedirstream): Reimplement as a wrapper around streamsavedir.
19818         (fdsavedir): Add a comment deprecating this function.  As far as
19819         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19820         * lib/savedir.h (streamsavedir): New decl.
19821         (fdsavedir): Add a comment deprecating this.
19822
19823 2010-09-10  Bruno Haible  <bruno@clisp.org>
19824
19825         langinfo: Fix last commit.
19826         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19827         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19829
19830 2010-09-10  Bruno Haible  <bruno@clisp.org>
19831
19832         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19833         * lib/progreloc.c (O_EXEC): Define fallback.
19834
19835 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19836
19837         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19838         * NEWS: Document recent changes to fcntl-h.
19839         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19840         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19841         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19842         Similarly for O_SEARCH; this last was already true, but not documented.
19843         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19844         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19845         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19846         Likewise.
19847         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19848         is zero, not whether it is defined.
19849         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19850         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19851         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19852
19853 2010-09-10  Bruno Haible  <bruno@clisp.org>
19854
19855         langinfo, nl_langinfo: Fix for IRIX 5.3.
19856         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19857         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19858         HAVE_LANGINFO_YESEXPR.
19859         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19860         HAVE_LANGINFO_YESEXPR.
19861         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19862         HAVE_LANGINFO_T_FMT_AMPM is 0.
19863         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19864         HAVE_LANGINFO_YESEXPR is 0.
19865         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19866         NOEXPR.
19867         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19868         * doc/posix-functions/nl_langinfo.texi: Likewise.
19869         Reported by Eric Blake.
19870
19871 2010-09-10  Bruno Haible  <bruno@clisp.org>
19872
19873         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19874         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19875         on FreeBSD 8.0 and OpenBSD 4.6.
19876         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19877         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19878         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19879         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19880         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19881         ac_includes_default.
19882         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19883
19884 2010-09-09  Eric Blake  <eblake@redhat.com>
19885
19886         strsignal: work around NetBSD bug
19887         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19888         * lib/string.in.h (includes): Likewise.
19889         * doc/posix-functions/strsignal.texi (strsignal): Document the
19890         bug.
19891         Reported by Nelson H. F. Beebe.
19892
19893         gnulib-tool: work with NetBSD /bin/sh
19894         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19895         (func_get_description, func_get_comment, func_get_status)
19896         (func_get_notice, func_get_applicability, func_get_filelist)
19897         (func_get_dependencies, func_get_autoconf_early_snippet)
19898         (func_get_autoconf_snippet, func_get_automake_snippet)
19899         (func_get_include_directive, func_get_link_directive)
19900         (func_get_license, func_get_maintainer, func_import): Avoid
19901         shell syntax errors from parsing syntax extensions.
19902
19903 2010-09-09  Bruno Haible  <bruno@clisp.org>
19904
19905         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19906         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19907         a reliable way to determine whether the 'alias' command works.
19908
19909 2010-09-08  Jim Meyering  <meyering@redhat.com>
19910
19911         init.sh: penalize a set-x-impaired shell; don't disqualify it
19912         * tests/init.sh: Too many shells corrupt application stderr when
19913         you set -x, so we can't afford to disqualify them, since at least
19914         on Irix-6.5, that would disqualify all bourne shells.
19915         Instead, use a two-pass approach.
19916         On the first pass, try to find a shell that meets the stricter
19917         condition that set -x does not corrupt stderr.
19918         If no shell meets the stricter condition, retest each candidate
19919         shell, but without that extra condition.  Finally, when
19920         VERBOSE=yes is requested and set -x might cause trouble, simply
19921         issue a warning and refrain from enabling debug output.
19922
19923 2010-09-08  Eric Blake  <eblake@redhat.com>
19924
19925         unsetenv: fix OpenBSD bug
19926         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19927         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19928         documentation.
19929         Reported by Jim Meyering.
19930
19931         strtod: work around IRIX 6.5 bug
19932         * lib/strtod.c (strtod): Reparse number on shorter string if
19933         exponent parse was invalid.
19934         * tests/test-strtod.c (main): Add check for "0x1p 2".
19935         Reported by Tom G. Christensen.
19936
19937         getopt: optimize previous patch
19938         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19939         empty variable.  Speed up awk script.
19940         Reported by Paolo Bonzini.
19941
19942 2010-09-08  Jim Meyering  <meyering@redhat.com>
19943
19944         test.sh: disqualify shells for which set -x corrupts stderr
19945         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19946         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19947         appear in stderr output.  For example, this command:
19948             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19949         prints "P=1" on those two systems:
19950
19951 2010-09-08  Bruno Haible  <bruno@clisp.org>
19952
19953         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19954         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19955         commands, because some shells ignore redirections when there is an
19956         error in the command lookup.
19957         Reported by Eric Blake.
19958
19959 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19960
19961         * lib/regex.h: Fix a mention of `regex_compile' (should be
19962         `re_compile_pattern').
19963         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19964         (re_set_registers): Correct name of parameter in comment.
19965
19966         * doc/regex.texi: Add documentation for missing syntax flags.
19967         Remove commented-out documentation of defunct syntax option
19968         RE_NO_EMPTY_ALTS.
19969         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19970         Add documentation of re_set_registers.
19971         Document trick to re-use a pattern buffer by setting fastmap manually.
19972         Update documentation of struct re_pattern_buffer per public members.
19973         Uncomment documentation of equivalence class operators and
19974         collating symbol operators, since they are now implemented,
19975         Explain leftmost-longest matching in relation to alternatives.
19976         Tidy documentation of substring matching.
19977         Remove POSIX documentation, which is done better in
19978         glibc, and refer the reader there. Keep BSD API documentation, as
19979         that is not readily available elsewhere.
19980
19981 2010-09-07  Eric Blake  <eblake@redhat.com>
19982
19983         getopt: handle POSIXLY_CORRECT set but not exported
19984         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19985         export state of POSIXLY_CORRECT, due to bash set -o posix.
19986         Reported by Dustin J. Mitchell.
19987
19988 2010-09-05  Bruno Haible  <bruno@clisp.org>
19989
19990         gnulib-tool: Highlight the changed options.
19991         * gnulib-tool (func_usage): Display the --import, --add-import,
19992         --remove-import explanations in bold font.
19993
19994 2010-09-06  Karl Berry  <karl@gnu.org>
19995
19996         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19997
19998 2010-09-05  Bruno Haible  <bruno@clisp.org>
19999
20000         uniwidth/width: Update comment.
20001         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
20002         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
20003
20004 2010-09-05  Bruno Haible  <bruno@clisp.org>
20005
20006         isinf, isnan: Relax license.
20007         * modules/isinf (License): Change from GPL to LGPL, with consent from
20008         Ben Pfaff.
20009         * modules/isnan (License): Likewise.
20010         Requested by Ludovic Courtès.
20011
20012 2010-09-04  Bruno Haible  <bruno@clisp.org>
20013
20014         gnulib-tool: Help migration from --import to --add-import or --update.
20015         * gnulib-tool: Emit a verbose error message when --import is used
20016         without any module name.
20017
20018 2010-09-04  Bruno Haible  <bruno@clisp.org>
20019
20020         Update doc about gnulib-tool.
20021         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
20022         'gnulib-tool --update' in more detail.
20023         Reported by Eric Blake.
20024
20025 2010-09-04  Bruno Haible  <bruno@clisp.org>
20026
20027         gnulib-tool: Change --import. New options --add/remove-import.
20028         * gnulib-tool: New options --add-import, --remove-import.
20029         (func_usage): Document them.
20030         (have_associative): Define always.
20031         (func_import): In import mode, don't merge the specified settings with
20032         the cached settings. Implement remove-import mode.
20033         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
20034         Explain when to use them versus --import.
20035         (Simple update): Use --add-import instead of --import.
20036         * NEWS: Mention the change.
20037
20038 2010-09-04  Bruno Haible  <bruno@clisp.org>
20039
20040         * doc/gnulib-tool.texi (Initial import): Update paragraph about
20041         separate gnulib.mk.
20042
20043 2010-09-04  Bruno Haible  <bruno@clisp.org>
20044
20045         gnulib-tool: Don't talk about CVS any more.
20046         * gnulib-tool (func_usage, func_import): Write "version control"
20047         instead of CVS.
20048
20049 2010-09-04  Jim Meyering  <meyering@redhat.com>
20050
20051         maint.mk: avoid obscure sc_copyright_check failure in coreutils
20052         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
20053         false positives (whose names may be ill-chosen) when searching
20054         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
20055         would cause a false-positive.
20056
20057         avoid coreutils "make distcheck" failure
20058         Coreutils tests with an absolute build directory name that contains
20059         a space.  Not quoting this directory name caused a failure.
20060         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
20061         * tests/test-vc-list-files-cvs.sh: Likewise.
20062
20063 2010-09-04  Bruno Haible  <bruno@clisp.org>
20064
20065         gnulib-tool: Avoid error when run in a package without Makefile.am.
20066         * gnulib-tool: When collecting the m4dirs in a package that does not
20067         have a Makefile.am, eliminate those directories that contain no
20068         gnulib-cache.m4. Fix expression that counts these directories.
20069
20070 2010-09-04  Bruno Haible  <bruno@clisp.org>
20071
20072         update-copyright test: Improve output when perl is missing or too old.
20073         * tests/test-update-copyright.sh: Move test of Perl version down after
20074         the test whether Perl exists. Provide an explanation relating Perl's
20075         error message to Automake's SKIP: message.
20076
20077 2010-09-04  Bruno Haible  <bruno@clisp.org>
20078
20079         Don't augment PATH in TESTS_ENVIRONMENT.
20080         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
20081         set abs_aux_dir instead of augmenting PATH.
20082         * modules/vc-list-files-tests (Makefile.am): Likewise.
20083         * tests/test-update-copyright.sh: Augment PATH here.
20084         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
20085         path_prepend_.
20086         * tests/test-vc-list-files-git.sh: Likewise.
20087
20088 2010-09-04  Jim Meyering  <meyering@redhat.com>
20089
20090         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
20091         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
20092
20093 2010-09-04  Bruno Haible  <bruno@clisp.org>
20094
20095         strdup: Fix compilation error in C++ mode.
20096         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
20097         the macro.
20098
20099 2010-09-04  Bruno Haible  <bruno@clisp.org>
20100
20101         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
20102         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
20103         macro into a function.
20104         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20105
20106 2010-09-04  Bruno Haible  <bruno@clisp.org>
20107
20108         Set PATH_SEPARATOR the same way autoconf does.
20109         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
20110         the value of PATH_SEPARATOR the same way autoconf-generated configure
20111         scripts do.
20112         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
20113         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20114
20115 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20116
20117         Set PATH_SEPARATOR the same way autoconf does.
20118         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
20119         the same way autoconf-generated configure scripts do.
20120         * posix-modules: Likewise.
20121
20122 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20123
20124         hash: fix safe_hasher const typo
20125         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
20126         const; otherwise, there is a type error later.
20127
20128 2010-09-02  Jim Meyering  <meyering@redhat.com>
20129
20130         test-update-copyright.sh: require perl 5.8.0
20131         * tests/test-update-copyright.sh: Require 5.8.0,
20132         which Tom G. Christensen has confirmed is adequate,
20133         while 5.6.1 is not.
20134
20135 2010-09-02  Eric Blake  <eblake@redhat.com>
20136
20137         tests: init.sh improvements for re-exec'ing with zsh
20138         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
20139         -vx through shell re-exec.
20140         Reported by Tom G. Christensen.
20141
20142         wctype: fix typo in previous commit
20143         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
20144         Reported by Ludovic Courtès.
20145
20146 2010-09-02  Jim Meyering  <meyering@redhat.com>
20147
20148         test-update-copyright.sh: skip test if Perl is too old
20149         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
20150         Reported by Tom G. Christensen.
20151
20152 2010-09-02  Bruno Haible  <bruno@clisp.org>
20153
20154         wctype: Avoid compilation error on IRIX 6.5.30.
20155         * lib/wctype.in.h (iswblank): Declare with a replacement if
20156         REPLACE_ISWBLANK is set.
20157         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
20158         declared. Set REPLACE_ISWBLANK.
20159         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
20160         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
20161         * doc/posix-headers/wctype.texi: Likewise.
20162         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20163
20164 2010-09-01  Bruno Haible  <bruno@clisp.org>
20165
20166         New module 'socketlib'.
20167         * modules/socketlib: New file.
20168         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20169         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20170         * modules/sockets (Depends-on): Add socketlib.
20171         Suggested by Sam Steingold <sds@gnu.org>.
20172
20173 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20174
20175         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20176
20177         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20178         when one needs search access to a directory but not read access.
20179         On systems where it is available, it works in some cases where
20180         O_RDONLY does not, namely on directories that are searchable but
20181         not readable, and which need only to be searchable.  If O_SEARCH
20182         is not available, fall back to the traditional method of using
20183         O_RDONLY.
20184
20185         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20186         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20187         when opening a directory that needs only to be searchable.
20188         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20189         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20190         * lib/openat-proc.c (openat_proc_name): Likewise.
20191         * lib/openat.c (openat_needs_fchdir): Likewise.
20192         * lib/save-cwd.c (save_cwd): Likewise.
20193         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20194
20195 2010-08-28  Bruno Haible  <bruno@clisp.org>
20196
20197         New module 'host-cpu-c-abi'.
20198         * modules/host-cpu-c-abi: New file.
20199         * m4/host-cpu-c-abi.m4: New file, based on part of
20200         clisp/src/m4/general.m4.
20201         Requested by Sam Steingold <sds@gnu.org>.
20202
20203 2010-08-31  Eric Blake  <eblake@redhat.com>
20204         and Jim Meyering  <meyering@redhat.com>
20205
20206         hash: factor, and guard against misbehaving hasher function
20207         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20208         of table->hasher's return value.  Also protect against a hash value
20209         so large that adding it to table->bucket results in a NULL pointer.
20210         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20211         Use it in place of open-coded check-and-abort.
20212
20213 2010-08-30  Bruno Haible  <bruno@clisp.org>
20214
20215         hash: silence spurious clang warning
20216         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20217         Reported by Eric Blake.
20218
20219 2010-08-30  Eric Blake  <eblake@redhat.com>
20220
20221         strstr, memmem, strcasestr: avoid leaked shell message
20222         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20223         FreeBSD.
20224         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20225         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20226
20227         tests: silence clang warning
20228         * tests/test-malloca.c (do_allocation): Avoid dead store.
20229
20230 2010-08-29  Bruno Haible  <bruno@clisp.org>
20231
20232         gettext: Fix recent mistake.
20233         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20234
20235 2010-08-29  Bruno Haible  <bruno@clisp.org>
20236
20237         selinux-h: Offer a --without-selinux option.
20238         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20239         --without-selinux was specified, skip all tests and define
20240         HAVE_SELINUX_SELINUX_H to 0.
20241         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20242         set LIB_SELINUX to empty.
20243         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20244         gl_LIBSELINUX. If --without-selinux was specified, replace
20245         selinux/context.h.
20246         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20247
20248 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20249             Bruno Haible  <bruno@clisp.org>
20250
20251         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20252         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20253         of HAVE_REALLOC.
20254         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20255         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20256         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20257         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20258
20259 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20260             Bruno Haible  <bruno@clisp.org>
20261
20262         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20263         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20264         HAVE_CALLOC.
20265         * lib/xmalloc.c: Update accordingly.
20266         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20267         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20268         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20269
20270 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20271             Bruno Haible  <bruno@clisp.org>
20272
20273         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20274         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20275         HAVE_MALLOC.
20276         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20277         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20278         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20279
20280 2010-08-29  Bruno Haible  <bruno@clisp.org>
20281
20282         Update modules list.
20283         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20284         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20285         (String handling <string.h>): Add astrxfrm.
20286         (File system functions): Add readlinkat.
20287
20288 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20289
20290         Tests for module 'realloc-gnu'.
20291         * modules/realloc-gnu-tests: New file.
20292         * tests/test-realloc-gnu.c: New file.
20293
20294         Tests for module 'calloc-gnu'.
20295         * modules/calloc-gnu-tests: New file.
20296         * tests/test-calloc-gnu.c: New file.
20297
20298         Tests for module 'malloc-gnu'.
20299         * modules/malloc-gnu-tests: New file.
20300         * tests/test-malloc-gnu.c: New file.
20301
20302 2010-08-28  Bruno Haible  <bruno@clisp.org>
20303
20304         Rename module 'realloc' -> 'realloc-gnu'.
20305         * modules/realloc-gnu: New file, copied from modules/realloc.
20306         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20307         obsolete.
20308         * modules/mgetgroups (Depends-on): Update.
20309         * doc/posix-functions/realloc.texi: Update.
20310         * NEWS: Mention the change.
20311
20312         Rename module 'calloc' -> 'calloc-gnu'.
20313         * modules/calloc-gnu: New file, copied from modules/calloc.
20314         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20315         obsolete.
20316         * doc/posix-functions/calloc.texi: Update.
20317         * NEWS: Mention the change.
20318
20319         Rename module 'malloc' -> 'malloc-gnu'.
20320         * modules/malloc-gnu: New file, copied from modules/malloc.
20321         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20322         obsolete.
20323         * modules/argp (Depends-on): Update.
20324         * modules/regex (Depends-on): Update.
20325         * doc/posix-functions/malloc.texi: Update.
20326         * NEWS: Mention the change.
20327
20328 2010-08-28  Eric Blake  <eblake@redhat.com>
20329
20330         pread, pwrite: add missing dependency
20331         * modules/pread (Depends-on): Add extensions.
20332         * modules/pwrite (Depends-on): Likewise.
20333
20334 2010-08-28  Bruno Haible  <bruno@clisp.org>
20335
20336         unistr/u*-strchr: Fix tests dependencies.
20337         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20338         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20339         Reported by Ian Beckwith <ianb@erislabs.net>.
20340
20341 2010-08-28  Bruno Haible  <bruno@clisp.org>
20342
20343         read-file: Don't occupy too much unused memory.
20344         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20345
20346 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20347             Eric Blake  <eblake@redhat.com>
20348             Bruno Haible  <bruno@clisp.org>
20349
20350         read-file: Avoid memory reallocations with regular files.
20351         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20352         (fread_file): With regular files, use the remaining length as the
20353         initial buffer size.  Check against overflow.
20354         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20355         sys_stat.
20356
20357 2010-08-28  Bruno Haible  <bruno@clisp.org>
20358
20359         ftello: Relax license.
20360         * modules/ftello (License): Relax to LGPLv2+.
20361         Reported by Eric Blake.
20362
20363 2010-08-28  Bruno Haible  <bruno@clisp.org>
20364
20365         Avoid relocwrapper link errors due to gnulib replacement functions.
20366         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20367         function.
20368         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20369
20370 2010-08-28  Bruno Haible  <bruno@clisp.org>
20371
20372         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20373         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20374         defined.
20375         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20376         Suggested by Eric Blake.
20377
20378 2010-08-28  Bruno Haible  <bruno@clisp.org>
20379
20380         sys_socket, netdb: Ensure socklen_t gets defined.
20381         * modules/sys_socket (Depends-on): Add socklen.
20382         * modules/netdb (Depends-on): Likewise.
20383         * modules/getaddrinfo (Depends-on): Remove socklen.
20384         * modules/getsockopt (Depends-on): Likewise.
20385         * modules/setsockopt (Depends-on): Likewise.
20386         * tests/test-sys_socket.c: Check that socklen_t is defined.
20387         * tests/test-netdb.c: Likewise.
20388         * m4/socklen.m4: Update comments.
20389         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20390
20391 2010-08-27  Eric Blake  <eblake@redhat.com>
20392
20393         login_tty: add missing dependency
20394         * modules/login_tty (Depends-on): Add pty.
20395
20396 2010-08-26  Eric Blake  <eblake@redhat.com>
20397
20398         lib-symbol-versions: fix m4 quoting
20399         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20400         format for AC_LINK_IFELSE.
20401
20402         glob: fix compile test
20403         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20404
20405         btowc: fix missing file
20406         * modules/btowc (Files): Also ship locale-fr.m4.
20407
20408         lseek: fix link test
20409         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20410         AC_LINK_IFELSE.
20411
20412         include_next: silence autoconf 2.68 warning
20413         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20414         AC_COMPILE_IFELSE as special.
20415         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20416         autoconf < 2.68.
20417
20418         acl: fix compilation test
20419         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20420         AC_COMPILE_IFELSE.
20421
20422 2010-08-26  Bruno Haible  <bruno@clisp.org>
20423
20424         Modernize AC_TRY_RUN invocations.
20425         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20426         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20427         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20428         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20429         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20430         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20431         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20432         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20433         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20434         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20435         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20436         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20437         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20438         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20439         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20440         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20441         gl_MBRLEN_NUL_RETVAL): Likewise.
20442         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20443         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20444         Likewise.
20445         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20446         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20447         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20448         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20449         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20450         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20451         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20452         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20453         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20454         Likewise.
20455         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20456         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20457         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20458         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20459         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20460         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20461         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20462         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20463         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20464         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20465
20466 2010-08-26  Bruno Haible  <bruno@clisp.org>
20467
20468         Modernize AC_TRY_LINK invocations.
20469         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20470         AC_TRY_LINK.
20471         * m4/argp.m4 (gl_ARGP): Likewise.
20472         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20473         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20474         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20475         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20476         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20477         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20478         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20479         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20480         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20481         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20482         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20483         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20484         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20485         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20486         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20487         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20488         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20489         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20490         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20491         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20492         Likewise.
20493         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20494         Likewise.
20495         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20496         Likewise.
20497         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20498         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20499         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20500         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20501         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20502         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20503         * m4/servent.m4 (gl_SERVENT): Likewise.
20504         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20505         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20506         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20507         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20508         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20509         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20510         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20511         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20512         * modules/tsearch-tests (configure.ac): Likewise.
20513
20514 2010-08-26  Bruno Haible  <bruno@clisp.org>
20515
20516         Modernize AC_TRY_COMPILE invocations.
20517         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20518         AC_TRY_COMPILE.
20519         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20520         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20521         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20522         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20523         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20524         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20525         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20526         * m4/lock.m4 (gl_LOCK): Likewise.
20527         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20528         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20529         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20530         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20531         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20532         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20533         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20534         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20535         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20536         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20537         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20538         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20539         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20540         extraneous semicolon.
20541
20542 2010-08-26  Jim Meyering  <meyering@redhat.com>
20543
20544         stat-time: relax license LGPL
20545         * modules/stat-time (License): Change from GPL to LGPL,
20546         with consent from all contributors, for use in libguile.
20547         Requested by Ludovic Courtès.
20548
20549 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20550
20551         poll: return immediately on POLLHUP.
20552         * lib/poll.c (poll): Always set timeout before wait_timeout is
20553         computed.
20554
20555 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20556
20557         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20558         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20559         rmdir ("dir/.//"), unlinkat.
20560
20561 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20562
20563         stdbool: avoid spurious failure with modern xlc
20564         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20565
20566 2010-08-24  Bruno Haible  <bruno@clisp.org>
20567
20568         getloadavg: simplify code
20569         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20570         gl_have_func. Update comments.
20571
20572 2010-08-24  Eric Blake  <eblake@redhat.com>
20573
20574         getloadavg: don't define SVR4 on cygwin
20575         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20576         only define SVR4 when -lkvm is required.
20577         Reported by Yaakov Selkowitz.
20578
20579 2010-08-24  Bruno Haible  <bruno@clisp.org>
20580
20581         priv-set: fix comment
20582         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20583
20584 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20585
20586         priv-set: fix comments
20587         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20588         to match code, as suggested by David Bartley in:
20589         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20590
20591 2010-08-23  Eric Blake  <eblake@redhat.com>
20592
20593         stdbool: avoid rejecting clang
20594         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20595         * tests/test-stdbool.c: Enable more tests if using the system
20596         <stdbool.h> instead of the gnulib replacement.
20597         (main): Move xlc bug test to a runtime test for all compilers.
20598         Reported by Anders Kaseorg.
20599
20600         argz: fix shell quoting issue
20601         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20602         Reported by Charles Wilson.
20603
20604 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20605             Erik Faye-Lund <kusmabite@gmail.com>
20606
20607         poll, select: handle ERROR_BROKEN_PIPE.
20608         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20609         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20610         * lib/select.c (win32_compute_revents): Do not mark a pipe
20611         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20612
20613 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20614
20615         fts: allow compilation with C++
20616         * lib/fts_.h: Specify extern "C" linkage with C++.
20617
20618 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20619
20620         Fix gnulib-tool sed script de-commentation for AIX sed.
20621         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20622         sed.
20623
20624 2010-08-17  Eric Blake  <eblake@redhat.com>
20625
20626         test-stddef: test for (some) offsetof bugs
20627         * tests/test-stddef.c: Enhance test to ensure correct type of
20628         offsetof.
20629         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20630         that we are not fixing at this time.
20631
20632 2010-08-15  Bruno Haible  <bruno@clisp.org>
20633
20634         stpncpy: Allow stpncpy to be defined as a macro.
20635         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20636         if it's already correctly declared.
20637         * lib/string.in.h (stpncpy): Undefine before redefining.
20638         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20639
20640 2010-08-14  Bruno Haible  <bruno@clisp.org>
20641
20642         Rename module 'memxfrm' to 'amemxfrm'.
20643         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20644         (amemxfrm): Renamed from memxfrm.
20645         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20646         (amemxfrm): Renamed from memxfrm.
20647         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20648         * NEWS: Mention the change.
20649         * MODULES.html.sh (String handling <string.h>): Update.
20650         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20651         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20652         * lib/unicase/u16-casexfrm.c: Likewise.
20653         * lib/unicase/u32-casexfrm.c: Likewise.
20654         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20655         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20656         * lib/uninorm/u16-normxfrm.c: Likewise.
20657         * lib/uninorm/u32-normxfrm.c: Likewise.
20658         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20659         memxfrm.
20660         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20661         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20662         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20663         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20664         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20665         Suggested by Paul Eggert.
20666
20667 2010-08-14  Bruno Haible  <bruno@clisp.org>
20668
20669         Tests for module 'astrxfrm'.
20670         * modules/astrxfrm-tests: New file.
20671         * tests/test-astrxfrm.c: New file.
20672
20673         New module 'astrxfrm'.
20674         * lib/astrxfrm.h: New file.
20675         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20676         * modules/astrxfrm: New file.
20677
20678 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20679
20680         regex: Tweak doc.
20681         * doc/regex.texi (Overview): Don't mention regex.c.
20682         (GNU Regular Expression Compiling): Likewise.
20683         (Match-end-of-line Operator): Mention 'not_eol'.
20684
20685 2010-08-14  Brian Gough  <bjg@gnu.org>
20686             Bruno Haible  <bruno@clisp.org>
20687
20688         git-merge-changelog: add doc relating to use with bzr and hg.
20689         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20690
20691 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20692
20693         pthread: fix pthread.h creation for srcdir != builddir
20694         * modules/pthread (Makefile.am): Fix the rule to work also in a
20695         non-srcdir build.
20696
20697 2010-08-13  Karl Berry  <karl@gnu.org>
20698
20699         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20700         * doc/posix-*/*: force line break before @url of POSIX
20701         specifications.
20702         Suggested by Werner Lemberg.
20703
20704 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20705
20706         strtod: fix const diagnostic
20707         * lib/strtod.c (strtod): Don't assign const char * to char *,
20708         as this elicits a warning from GCC when warnings are enabled.
20709
20710 2010-08-10  Pádraig Brady <P@draigbrady.com>
20711         and Eric Blake  <eblake@redhat.com>
20712
20713         copy-acl: ignore ENOTSUP on HP-UX
20714         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20715         so that it is available for HP-UX.
20716         * lib/copy-acl.c (qcopy_acl): Use it.
20717         Reported by Patrick M. Callahan.
20718
20719 2010-08-10  Eric Blake  <eblake@redhat.com>
20720
20721         open, chown: relax license
20722         * modules/open (License): Change to LGPLv2+, with consent by all
20723         authors, for use in augeas.
20724         * modules/chown (License): Likewise.
20725         * modules/lchown (Likewise): Likewise.
20726         Requested by Adam Stokes.
20727
20728 2010-08-09  Karl Berry  <karl@gnu.org>
20729
20730         * build-aux/ar-lib: new file, import from Automake.
20731         * config/srclist.txt: autocheck for updates.
20732
20733 2010-08-09  Eric Blake  <eblake@redhat.com>
20734
20735         readlinkat: adjust client modules
20736         * modules/areadlinkat (Depends-on): Use readlinkat, not
20737         symlinkat.
20738         * modules/areadlinkat-with-size (Depends-on): Likewise.
20739
20740         mknod: be more vocal about danger of running tests as root
20741         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20742         root, since that is just asking for problems.
20743         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20744
20745         readlinkat: split into its own module
20746         * modules/symlinkat: Split readlinkat...
20747         * modules/readlinkat: ...into separate module.
20748         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20749         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20750         * lib/symlinkat.c (readlinkat): Move...
20751         * lib/readlinkat.c: ...into new file.
20752         * modules/symlinkat-tests: Split readlinkat test...
20753         * modules/readlinkat-tests: ...into separate module.
20754         * tests/test-symlinkat.c: Split...
20755         * tests/test-readlinkat.c: ...into new file.
20756         * NEWS: Document the split.
20757         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20758         * lib/unistd.in.h (readlinkat): Likewise.
20759         Suggested by Bruno Haible.
20760
20761 2010-08-08  Bruno Haible  <bruno@clisp.org>
20762
20763         memxfrm: Speed up.
20764         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20765         that usually only one call to strxfrm is necessary for each string
20766         part.
20767         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20768
20769 2010-08-07  Karl Berry  <karl@gnu.org>
20770
20771         * doc/posix-headers/limits.texi,
20772         * doc/posix-functions/malloc.texi,
20773         * doc/posix-functions/strsignal.texi: missing @item.
20774         * doc/ld-version-script.texi: spurious leading i.
20775         * doc/regex.texi (Interval Operators): no commas inside @var.
20776
20777 2010-08-01  Bruno Haible  <bruno@clisp.org>
20778
20779         Integrate the regex documentation.
20780         * doc/gnulib.texi: Define 'cn' index.
20781         (Regular expressions): New a chapter that includes regex.texi and
20782         regexprops-generic.texi.
20783         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20784         syntax.
20785
20786         Whitespace cleanup.
20787         * doc/regex.texi: Remove trailing spaces.
20788
20789         Add regex documentation.
20790         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20791         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20792         Written by Kathy A. Hargreaves and Karl Berry.
20793
20794 2010-08-01  Bruno Haible  <bruno@clisp.org>
20795
20796         link: Update documentation.
20797         * doc/posix-functions/link.texi: Update regarding Solaris.
20798
20799 2010-07-31  Bruno Haible  <bruno@clisp.org>
20800
20801         Update modules list.
20802         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20803         (String handling <string.h>): Add memcmp2, memxfrm.
20804         (Container data structures): Add xlist, xsublist, xoset.
20805         (Core language properties): Add alignof, unused-parameter.
20806         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20807         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20808         (Unibyte characters <ctype.h>): New section.
20809         (String handling <string.h>): New section.
20810         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20811         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20812         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20813         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20814         tan, tanh, tanl, y0, y1, yn.
20815         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20816         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20817         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20818         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20819         unlockpt, vdprintf, vdprintf-posix.
20820         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20821         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20822         xconcat-filename.
20823         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20824         getdtablesize, pipe2, pipe2-safer.
20825         (Security): New section.
20826         (Networking functions): Add accept4.
20827         (Signal handling): Add sigpipe.
20828         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20829         mbmemcasecoll.
20830         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20831         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20832         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20833         pipe-filter-ii.
20834         (Misc): Add argp-version-etc, login_tty, parse-duration.
20835
20836 2010-07-31  Bruno Haible  <bruno@clisp.org>
20837
20838         Improve doc in MODULES.html.
20839         * modules/linkat (Description): Add the word "function".
20840         * modules/mkfifo (Description): Likewise.
20841         * modules/mknod (Description): Likewise.
20842         * modules/remove (Description): Likewise.
20843         * modules/renameat (Description): Likewise.
20844         * modules/stat (Description): Likewise.
20845         * modules/symlink (Description): Likewise.
20846         * modules/unlink (Description): Likewise.
20847
20848 2010-07-31  Bruno Haible  <bruno@clisp.org>
20849
20850         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20851         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20852         option --enable/disable-c++ instead of --enable/disable-cxx.
20853         * NEWS: Mention the change.
20854
20855 2010-07-31  Bruno Haible  <bruno@clisp.org>
20856
20857         readlink, areadlink: Relax test a bit.
20858         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20859         alternative to ENOTDIR.
20860         * tests/test-areadlink.h (test_areadlink): Likewise.
20861         Reported by Rainer Tammer.
20862
20863 2010-07-31  Bruno Haible  <bruno@clisp.org>
20864
20865         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20866         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20867         character, perform the search using U_STRCHR.
20868         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20869         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20870         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20871         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20872         Suggested by Paolo Bonzini.
20873
20874 2010-07-31  Bruno Haible  <bruno@clisp.org>
20875
20876         unistr/u*-strstr: Fix dependencies.
20877         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20878         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20879         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20880
20881 2010-07-31  Bruno Haible  <bruno@clisp.org>
20882
20883         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20884         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20885         the beginning of the loop.
20886         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20887         cases in 'switch' statement.
20888
20889         unistr/u8-strchr: Fix several bugs.
20890         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20891         the string. When not found, return NULL, not a pointer near the end.
20892
20893         More tests for unistr/u8-strchr.
20894         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20895         that the function does not read past the first occurrence of the byte
20896         being searched.
20897         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20898         * tests/unistr/test-u16-strchr.c (main): New function.
20899         * tests/unistr/test-u32-strchr.c (main): New function.
20900
20901 2010-07-31  Bruno Haible  <bruno@clisp.org>
20902
20903         posix-modules: Ignore backup files of documentation files.
20904         * posix-modules: grep only through files named *.texi.
20905
20906 2010-07-31  Bruno Haible  <bruno@clisp.org>
20907
20908         symlinkat: Fix documentation.
20909         * doc/posix-functions/readlinkat.texi: Fix module name.
20910
20911 2010-07-31  Bruno Haible  <bruno@clisp.org>
20912
20913         fchownat: Replace also when chown has the trailing slash bug.
20914         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20915         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20916         introduced on 2010-04-10.
20917         Reported by Rainer Tammer.
20918
20919 2010-07-31  Bruno Haible  <bruno@clisp.org>
20920
20921         linkat: Work around AIX 7.1 bug.
20922         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20923         whether linkat handles trailing slash correctly. If not, replace linkat
20924         and define LINKAT_TRAILING_SLASH_BUG.
20925         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20926         check whether (fd1,file1) points to a directory if file1 or file2 ends
20927         in a slash. Code taken from lib/link.c.
20928         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20929         Reported by Rainer Tammer.
20930
20931 2010-07-31  Bruno Haible  <bruno@clisp.org>
20932
20933         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20934         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20935         This disables an xlc optimization that was causing wrong test results.
20936         Reported by Rainer Tammer.
20937
20938 2010-07-31  Bruno Haible  <bruno@clisp.org>
20939
20940         iconv: Work around AIX 6.1..7.1 bug.
20941         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20942         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20943         cross-compiling, guess no on all versions of AIX.
20944         Reported by Rainer Tammer.
20945
20946 2010-07-31  Bruno Haible  <bruno@clisp.org>
20947
20948         readlink: Relax test a bit.
20949         * tests/test-readlink.h (test_readlink): Allow different errno value
20950         when readlink is called with a file name that ends in / and refers to
20951         a file.
20952         Suggested by Eric Blake.
20953         Reported by Rainer Tammer.
20954
20955 2010-07-31  Bruno Haible  <bruno@clisp.org>
20956
20957         copysign: Does not require -lm on glibc systems.
20958         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20959         gl_COMMON_DOUBLE_MATHFUNC.
20960         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20961
20962 2010-07-31  Bruno Haible  <bruno@clisp.org>
20963
20964         duplocale: Work around AIX 7.1 bug.
20965         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20966         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20967         * lib/duplocale.c (rpl_duplocale): Update comment.
20968         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20969         Reported by Rainer Tammer.
20970
20971 2010-07-30  Bruno Haible  <bruno@clisp.org>
20972
20973         dirfd: Avoid link error on AIX 7.1.
20974         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20975         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20976         exist, set REPLACE_DIRFD.
20977         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20978         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20979         * doc/posix-functions/dirfd.texi: Update.
20980         Reported by Rainer Tammer.
20981
20982 2010-07-30  Eric Blake  <eblake@redhat.com>
20983
20984         strtod: next round of AIX fixes
20985         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20986         exponent.
20987         * tests/test-strtod.c (main): Enhance tests.
20988         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20989         Reported by Rainer Tammer.
20990
20991         futimens: fix configure check
20992         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20993         Reported by Bruno Haible.
20994
20995 2010-07-30  Bruno Haible  <bruno@clisp.org>
20996
20997         getline: Update regarding AIX.
20998         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20999         Reported by Rainer Tammer.
21000
21001 2010-07-30  Bruno Haible  <bruno@clisp.org>
21002
21003         wcwidth: Drop replacement on AIX 7.
21004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
21005         AIX 7.
21006         Reported by Rainer Tammer.
21007
21008 2010-07-30  Bruno Haible  <bruno@clisp.org>
21009
21010         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
21011         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
21012         a 'char *'.
21013         Reported by Rainer Tammer.
21014
21015 2010-07-30  Bruno Haible  <bruno@clisp.org>
21016
21017         unlink: Update regarding AIX.
21018         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
21019         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
21020         Reported by Rainer Tammer.
21021
21022 2010-07-30  Bruno Haible  <bruno@clisp.org>
21023
21024         symlink: Update regarding AIX.
21025         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
21026         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
21027         Reported by Rainer Tammer.
21028
21029 2010-07-30  Bruno Haible  <bruno@clisp.org>
21030
21031         strndup: Update regarding AIX.
21032         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
21033         AIX 7.
21034         Reported by Rainer Tammer.
21035
21036 2010-07-30  Bruno Haible  <bruno@clisp.org>
21037
21038         stat: Update regarding AIX.
21039         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
21040         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
21041         Reported by Rainer Tammer.
21042
21043 2010-07-30  Bruno Haible  <bruno@clisp.org>
21044
21045         truncl: Fix autoconf test.
21046         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
21047         whether truncl works.
21048         Reported by Rainer Tammer.
21049
21050 2010-07-30  Bruno Haible  <bruno@clisp.org>
21051
21052         round: Update regarding AIX.
21053         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
21054         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
21055         Reported by Rainer Tammer.
21056
21057 2010-07-30  Bruno Haible  <bruno@clisp.org>
21058
21059         rename: Update regarding AIX.
21060         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
21061         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
21062         Reported by Rainer Tammer.
21063
21064 2010-07-30  Bruno Haible  <bruno@clisp.org>
21065
21066         printf.m4: Update regarding AIX.
21067         * m4/printf.m4: Update comments regarding AIX.
21068         Reported by Rainer Tammer.
21069
21070 2010-07-30  Bruno Haible  <bruno@clisp.org>
21071
21072         iconv: Update regarding AIX.
21073         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
21074         AIX 7.
21075         Reported by Rainer Tammer.
21076
21077 2010-07-30  Bruno Haible  <bruno@clisp.org>
21078
21079         getopt: Update regarding AIX.
21080         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
21081         no on AIX.
21082         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
21083         Reported by Rainer Tammer.
21084
21085 2010-07-30  Bruno Haible  <bruno@clisp.org>
21086
21087         ldexpl; Update regarding AIX.
21088         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
21089         on AIX 7.
21090         Reported by Rainer Tammer.
21091
21092 2010-07-30  Bruno Haible  <bruno@clisp.org>
21093
21094         frexpl: Update regarding AIX.
21095         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
21096         on AIX 7.
21097         Reported by Rainer Tammer.
21098
21099 2010-07-30  Bruno Haible  <bruno@clisp.org>
21100
21101         open, fopen: Update regarding AIX.
21102         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
21103         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
21104         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
21105         * doc/posix-functions/fopen.texi: Likewise.
21106         Reported by Rainer Tammer.
21107
21108 2010-07-30  Bruno Haible  <bruno@clisp.org>
21109
21110         chown: Update doc regarding AIX.
21111         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
21112         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
21113         Reported by Rainer Tammer.
21114
21115 2010-07-30  Eric Blake  <eblake@redhat.com>
21116
21117         strtod: fix bug in replacement function on AIX
21118         * lib/strtod.c (strtod): Special case broken "0x" parse in
21119         underlying strtod.
21120         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
21121         * doc/posix-functions/strtod.texi (strtod): Likewise.
21122         Reported by Rainer Tammer.
21123
21124 2010-07-30  Bruno Haible  <bruno@clisp.org>
21125
21126         mbrlen: Fix cross-compilation guess for AIX.
21127         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
21128         guess. Leftover from 2008-12-22.
21129
21130 2010-07-30  Bruno Haible  <bruno@clisp.org>
21131
21132         mbrtowc: Fix cross-compilation guess for AIX.
21133         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
21134         guess. Leftover from 2008-12-21.
21135
21136 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
21137
21138         init.sh: work around trap limitation of some shells
21139         * tests/init.sh (setup_): Move exit trap outside of shell function.
21140
21141 2010-07-29  Eric Blake  <eblake@redhat.com>
21142
21143         strtod: aid debugging
21144         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
21145         understanding why strtod is rejected.
21146
21147 2010-07-28  Bruno Haible  <bruno@clisp.org>
21148
21149         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
21150         * lib/unistr/u8-chr.c: Include <string.h>.
21151         * tests/unistr/test-u8-chr.c: Likewise.
21152         * tests/unistr/test-u16-chr.c: Likewise.
21153         * tests/unistr/test-u32-chr.c: Likewise.
21154         * tests/unistr/test-u8-strchr.c: Likewise.
21155         * tests/unistr/test-u16-strchr.c: Likewise.
21156         * tests/unistr/test-u32-strchr.c: Likewise.
21157         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
21158         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
21159         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
21160         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
21161
21162 2010-07-28  Bruno Haible  <bruno@clisp.org>
21163
21164         Use spaces for indentation, not tabs.
21165         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21166
21167 2010-07-27  Bruno Haible  <bruno@clisp.org>
21168
21169         mbspcasecmp: Fix function specification.
21170         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21171         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21172         Reported by Eric Blake <eblake@redhat.com>.
21173
21174 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21175
21176         timespec: use cast and not conditional, as truncation isn't possible
21177         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21178         instead of a conditional.  Comment about the situation in more detail.
21179         This undoes most of the 2009-10-29 patch.
21180
21181 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21182
21183         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21184         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21185         * lib/unistr/u8-strchr.c: Likewise.
21186         * modules/unistr/u8-chr: Depend on memchr.
21187
21188         unistr/u*-strchr: add tests
21189         * modules/unistr/u8-strchr-tests: New file.
21190         * modules/unistr/u16-strchr-tests: New file.
21191         * modules/unistr/u32-strchr-tests: New file.
21192         * tests/unistr/test-strchr.h: New file.
21193         * tests/unistr/test-u8-strchr.c: New file.
21194         * tests/unistr/test-u16-strchr.c: New file.
21195         * tests/unistr/test-u32-strchr.c: New file.
21196
21197         unistr/u*-chr: test multibyte sequences more
21198         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21199         test vector.
21200         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21201         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21202         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21203
21204         unistr/u*-chr: test multibyte sequences
21205         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21206
21207         unistr/u*-chr: prepare for multibyte tests
21208         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21209         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21210         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21211         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21212         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21213         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21214
21215 2010-07-18  Bruno Haible  <bruno@clisp.org>
21216
21217         unistr/u8-strchr: Optimize non-ASCII argument case.
21218         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21219         because the first byte often matches anyway.
21220         Reported by Pádraig Brady <P@draigbrady.com>.
21221
21222 2010-07-15  Karl Berry  <karl@gnu.org>
21223
21224         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21225
21226 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21227
21228         getcwd: on Solaris, work better if ancestors are inaccessible
21229         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21230         buffer and size, try again with a large buffer.  This works better
21231         on Solaris, since its getcwd succeeds even if the path to the root
21232         is inaccessible, and this is helpful in common cases such as .zfs
21233         hidden directories.  Problem reported by J Chapman Flack in
21234         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21235         Use system getcwd if it's declared, not merely if it's partly
21236         working; use the partly-working test only to avoid needless effort
21237         if the system getcwd fails.
21238         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21239         comment that was already obsolete and is now even more obsolete.
21240         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21241         now might call strdup.
21242
21243 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21244
21245         pthread: Add enough so that coreutils/src/sort.c compiles.
21246         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21247         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21248         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21249         Include <sys/types.h>, in case it defines pthread_t.
21250         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21251         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21252         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21253         (pthread_rwlockattr_t, pthread_spinlock_t):
21254         New typedefs, if HAVE_PTHREAD_T is not defined.
21255         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21256         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21257         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21258         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21259         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21260         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21261         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21262         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21263         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21264         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21265         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21266         New macros.
21267         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21268         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21269         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21270         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21271         (pthread_spin_unlock): New dummy functions.
21272         (pthread_create): Return EAGAIN; don't set errno.
21273         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21274         require AC_C_INLINE.
21275         * modules/pthread (Depends-on): Add sched, time.
21276         (pthread.h): Use AM_V_GEN.
21277
21278 2010-07-13  Bruno Haible  <bruno@clisp.org>
21279
21280         striconveh: Don't malloc memory if the result buffer is sufficient.
21281         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21282         buffer if its size is sufficient.
21283         Reported by Ludovic Courtès <ludo@gnu.org>.
21284
21285 2010-07-13  Bruno Haible  <bruno@clisp.org>
21286
21287         strtod: Add safety check.
21288         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21289
21290 2010-07-12  Bruno Haible  <bruno@clisp.org>
21291
21292         Unify tests that set gl_cv_func_ldexpl_no_libm.
21293         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21294         gl_FUNC_LDEXPL.
21295         (gl_FUNC_LDEXPL): Invoke it.
21296         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21297
21298 2010-07-12  Bruno Haible  <bruno@clisp.org>
21299
21300         Unify tests that set gl_cv_func_ldexp_no_libm.
21301         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21302         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21303         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21304         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21305         * modules/strtod (Files): Add m4/ldexp.m4.
21306
21307 2010-07-12  Bruno Haible  <bruno@clisp.org>
21308
21309         Unify tests that set gl_cv_func_frexpl_no_libm.
21310         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21311         gl_FUNC_FREXPL_NO_LIBM.
21312         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21313         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21314
21315 2010-07-12  Bruno Haible  <bruno@clisp.org>
21316
21317         Unify tests that set gl_cv_func_frexp_no_libm.
21318         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21319         gl_FUNC_FREXP_NO_LIBM.
21320         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21321         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21322
21323 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21324
21325         memcoll: clarify sizes versus lengths, document better, and tweak perf
21326         * lib/memcoll.c (strcoll_loop, memcoll0):
21327         Improve quality of descriptive comments.  Name variables
21328         consistently as to whether they are lengths (which do not include
21329         terminating null) versus sizes (which do).
21330         * lib/xmemcoll.c (xmemcoll0): Likewise.
21331         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21332         returned when s1size == 0; this is easier to compile and saves
21333         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21334
21335 2010-07-12  Bruno Haible  <bruno@clisp.org>
21336
21337         Tests for module '_Exit'.
21338         * modules/_Exit-tests: New file.
21339         * tests/test-_Exit.sh: New file.
21340         * tests/test-_Exit.c: New file.
21341
21342         New module '_Exit'.
21343         * lib/stdlib.in.h (__attribute__): New macro.
21344         (_Exit): New declaration.
21345         * lib/_Exit.c: New file.
21346         * m4/_Exit.m4: New file.
21347         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21348         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21349         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21350         * modules/_Exit: New file.
21351         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21352         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21353
21354 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21355
21356         strtod: make it more-accurate typically, and don't require libm
21357         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21358         Include limits.h.  Don't include string.h.
21359         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21360         (locale_isspace): New function, so that no casts are needed to
21361         check whether *s is a space.
21362         (ldexp): Provide an unused dummy if not available.
21363         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21364         (strtod): Use them.  This implementation prefers to use the
21365         underlying strtod if available, falling back on our own code
21366         only to fix known bugs.  This is more likely to produce an
21367         accurate result.  Also, it avoids the use of libm functions.
21368         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21369         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21370         was absent, but it caused a test failure with coreutils.
21371         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21372         with libm.
21373         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21374         * modules/strtod-tests (Makefile.am): Likewise.
21375
21376 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21377             Bruno Haible  <bruno@clisp.org>
21378
21379         unistr/u8-strchr: Optimize ASCII argument case.
21380         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21381
21382 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21383
21384         (x)memcoll: minor tweaks
21385         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21386         is after the type that it qualifies.
21387         (memcoll0): Likewise.
21388         * lib/memcoll.h (memcoll0): Likewise.
21389         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21390         * lib/xmemcoll.h (xmemcoll0): Likewise.
21391         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21392         differs from memcoll in that the NUL byte is part of the argument.
21393         Omit the abort-checks, as performance is a real issue here.  Plus,
21394         the checks were wrong anyway (an off-by-one error).  Omit local
21395         variable 'diff', as it's a bit clearer that way.
21396         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21397         no longer needed.
21398
21399 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21400
21401         (x)memcoll: speedup when input is known to be NUL delimited
21402         * lib/memcoll.c: Include stdlib.
21403         (memcoll0): New function.
21404         (strcoll_loop): New function, refactored for use in both memcoll
21405         and memcoll0.
21406         * lib/memcoll.h (memcoll0): Add prototype.
21407         * lib/xmemcoll.c (xmemcoll0): New function.
21408         (collate_error): New function, refactored for use in both xmemcoll
21409         and xmemcoll0.
21410         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21411         * m4/memcoll.m4: add inline invocation.
21412
21413 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21414
21415         * build-aux/bootstrap: Remove any local translations
21416         from the translation project synchronization directory,
21417         so that local only translations are not distributed.
21418
21419 2010-07-04  Bruno Haible  <bruno@clisp.org>
21420
21421         fsusage: Clarify which code applies to which platforms.
21422         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21423         platform.
21424         * lib/fsusage.c (get_fs_usage): Likewise.
21425
21426 2010-07-04  Bruno Haible  <bruno@clisp.org>
21427
21428         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21429         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21430         Reported by Martin Lambers <marlam@marlam.de>.
21431
21432 2010-07-04  Jim Meyering  <meyering@redhat.com>
21433
21434         hash: once again explicitly disallow insertion of NULL
21435         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21436         inserting a NULL pointer cannot work with these functions.
21437         Add a comment with details.
21438         This reverts part of the 2010-07-01 commit, 5bef1a35
21439         "hash: extend module to deal with non-pointer keys".
21440
21441 2010-07-01  Bruno Haible  <bruno@clisp.org>
21442
21443         stdbool: Update doc.
21444         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21445         Info from Christian Weisgerber <naddy@mips.inka.de>.
21446
21447 2010-07-01  Jim Meyering  <meyering@redhat.com>
21448
21449         hash: extend module to deal with non-pointer keys
21450         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21451         but that allows insertion of non-pointer entries.
21452         Do not disallow an ENTRY value of NULL.
21453         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21454         * lib/hash.h (hash_insert0): Declare.
21455
21456 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21457
21458         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21459         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21460         not present (i.e. with autoconf 2.59 and when using gettextize, not
21461         gnulib), require AC_GNU_SOURCE instead.
21462
21463 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21464
21465         idpriv-drop: Fix tests.
21466         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21467         not to the test-idpriv-droptemp program.
21468
21469 2010-06-29  Bruno Haible  <bruno@clisp.org>
21470
21471         string: Fix syntax error with g++ 2.96.
21472         * lib/string.in.h (__pure__): Remove definition.
21473         (_GL_ATTRIBUTE_PURE): New macro.
21474         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21475         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21476         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21477
21478 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21479
21480         unitypes: Fix bug introduced on 2010-05-18.
21481         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21482
21483 2010-06-22  Eric Blake  <eblake@redhat.com>
21484
21485         memmem: slight optimization
21486         * lib/str-two-way.h (critical_factorization): Update comments.
21487         Reduce work during factorization phase.
21488         Reported by Carlos Bueno <carlos@bueno.org>.
21489
21490 2010-06-21  Bruno Haible  <bruno@clisp.org>
21491
21492         Fix HAVE_CALLOC_POSIX misnomer.
21493         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21494         !HAVE_CALLOC_POSIX.
21495         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21496         HAVE_CALLOC_POSIX.
21497         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21498         instead of HAVE_CALLOC_POSIX.
21499         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21500         HAVE_CALLOC_POSIX.
21501
21502         Use modern idiom for calloc() replacement.
21503         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21504         AC_FUNC_CALLOC.
21505         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21506         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21507         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21508         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21509         (gl_REPLACE_CALLOC): New macro.
21510
21511 2010-06-21  Bruno Haible  <bruno@clisp.org>
21512
21513         Fix HAVE_REALLOC_POSIX misnomer.
21514         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21515         !HAVE_REALLOC_POSIX.
21516         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21517         HAVE_REALLOC_POSIX.
21518         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21519         instead of HAVE_REALLOC_POSIX.
21520         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21521         HAVE_REALLOC_POSIX.
21522
21523         Use modern idiom for realloc() replacement.
21524         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21525         AC_FUNC_REALLOC.
21526         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21527         Autoconf's AC_FUNC_REALLOC.
21528         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21529         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21530         (gl_REPLACE_REALLOC): New macro.
21531         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21532
21533 2010-06-21  Bruno Haible  <bruno@clisp.org>
21534
21535         Fix HAVE_MALLOC_POSIX misnomer.
21536         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21537         !HAVE_MALLOC_POSIX.
21538         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21539         HAVE_MALLOC_POSIX.
21540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21541         instead of HAVE_MALLOC_POSIX.
21542         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21543         HAVE_MALLOC_POSIX.
21544
21545         Use modern idiom for malloc() replacement.
21546         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21547         AC_FUNC_MALLOC.
21548         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21549         Autoconf's AC_FUNC_MALLOC.
21550         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21551         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21552         (gl_REPLACE_MALLOC): New macro.
21553         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21554
21555 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21556
21557         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21558         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21559         This macro takes 3 arguments, not 4.
21560
21561 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21562
21563         ipv6: fix detection under mingw
21564         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21565         in6_addr.
21566
21567 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21568
21569         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21570         that strtod() works when cross-compiling to a glibc version known
21571         to work.
21572
21573 2010-06-15  Bruno Haible  <bruno@clisp.org>
21574
21575         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21576
21577 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21578
21579         select: Correct timeout.
21580         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21581
21582 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21583
21584         git-version-gen: init shell var to avoid env var influence
21585         * build-aux/git-version-gen (v): Init shell var to empty.
21586
21587 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21588
21589         priv-set: Don't assume that priv.h exists merely because getppriv does.
21590         See Jan Andersen's bug report about AIX 5L in
21591         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21592         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21593         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21594         * lib/priv-set.h: Likewise.
21595         * tests/test-priv-set.c: Likewise.
21596
21597 2010-06-13  Bruno Haible  <bruno@clisp.org>
21598
21599         relocatable: Make it easier to test whether to install wrappers.
21600         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21601         RELOCATABLE_VIA_WRAPPER.
21602
21603 2010-06-13  Bruno Haible  <bruno@clisp.org>
21604
21605         gnulib-tool: Display specified modules and dependencies differently.
21606         * gnulib-tool (func_show_module_list): New function.
21607         (func_import, func_create_testdir): Invoke it.
21608         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21609
21610 2010-06-13  Bruno Haible  <bruno@clisp.org>
21611
21612         gnulib-tool: Align code of func_import and func_create_testdir.
21613         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21614         specified_modules.
21615
21616 2010-06-12  Jim Meyering  <meyering@redhat.com>
21617
21618         test-inttostr: avoid spurious failure on Solaris 9
21619         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21620         to accept "%ju".  Reported by Bruno Haible.
21621
21622 2010-06-11  Jim Meyering  <meyering@redhat.com>
21623
21624         test-sys_socket: mark variables as used more readably
21625         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21626         as "used" explicitly via (void) statement casts.  This is more
21627         readable than using them in an artificial return expression.
21628         Suggestion from Bruno Haible.
21629
21630 2010-06-11  Bruno Haible  <bruno@clisp.org>
21631
21632         Avoid some more warnings from "gcc -Wwrite-strings".
21633         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21634         to 'const char *'.
21635         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21636         * tests/test-c-strcasestr.c (main): Likewise.
21637         * tests/test-mbscasestr1.c (main): Likewise.
21638         * tests/test-mbscasestr2.c (main): Likewise.
21639         * tests/test-memmem.c (main): Likewise.
21640         * tests/test-strstr.c (main): Likewise.
21641         * tests/test-strcasestr.c (main): Likewise.
21642
21643 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21644
21645         init.sh: change framework_failure_ to fail with status 99, not 1
21646         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21647         automake's parallel-tests rule that this is an unexpected failure,
21648         even if the test is listed in XFAIL_TESTS.
21649
21650 2010-06-11  Jim Meyering  <meyering@redhat.com>
21651
21652         test-inttostr: avoid warnings about 4-6KB literal strings
21653         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21654         Include "macros.h", for its definition of ASSERT.
21655         (CK): s/assert/ASSERT/
21656         * modules/inttostr-tests (Files): Add macros.h.
21657
21658         init.sh: don't use $ME_ or skip_ before they are defined
21659         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21660         their first uses.  Also hoist their companions: warn_, fail_,
21661         framework_failure_, $stderr_fileno.  Prompted by a patch from
21662         Stefano Lattarini.
21663
21664         test-sys_socket: avoid set-but-not-used warnings from gcc
21665         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21666         avoid warning about set-but-not-used variables.
21667
21668         test-xvasprintf: avoid 'const' discard warnings
21669         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21670         "const" when assigning from literal strings.
21671         (test_xasprintf): Add "void" in function argument list to placate
21672         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21673
21674         tests: avoid compilation warnings in argmatch and exclude tests...
21675         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21676         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21677         Since it always exits, declare with the "noreturn" attribute.
21678         * tests/test-argmatch.c: Likewise.
21679
21680         tests: avoid 'const' discard warnings in mbsstr tests
21681         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21682         * tests/test-mbsstr2.c (main): Likewise.
21683
21684         test-verify: avoid warning from gcc's -Wmissing-declarations
21685         * tests/test-verify.c (function): Declare to be static.
21686
21687         test-inttostr.c: include <string.h> for use of strcmp
21688         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21689
21690         test-linkat: avoid failed assertion on "other" architectures
21691         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21692         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21693         sparc: https://bugs.launchpad.net/bugs/591968
21694
21695 2010-06-11  Jim Meyering  <meyering@redhat.com>
21696
21697         printf.m4: avoid autoconf's "Expanded Before Required" warning
21698         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21699         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21700         autoconf warning.
21701
21702 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21703
21704         Replacement header templates are now named with ".in", not "_".
21705         * doc/gnulib-intro.texi: Correct.
21706
21707 2010-06-10  Jim Meyering  <meyering@redhat.com>
21708
21709         inttostr-tests: depend on snprintf, not snprintf-posix
21710         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21711         snprintf-posix, to avoid this aclocal failure:
21712           missing file gnulib-tests/vasnprintf.c
21713           configure.ac:45: error: expected source file, required through \
21714           AC_LIBSOURCES, not found
21715
21716 2010-06-10  Jim Meyering  <meyering@redhat.com>
21717
21718         inttostr: add a new function, inttostr, and tests
21719         The namesake function was not available.  The existence of the
21720         template file, inttostr.c makes its addition nontrivial.
21721         * lib/anytostr.c: Rename from inttostr.c.
21722         (anytostr): Rename from inttostr.
21723         * lib/inttostr.c: New file.
21724         * modules/inttostr (Files): Add anytostr.c.
21725         (Makefile.am): Set lib_SOURCES instead of ...
21726         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21727         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21728         * lib/offtostr.c: Likewise.
21729         * lib/uinttostr.c: Likewise.
21730         * lib/umaxtostr.c: Likewise.
21731         * modules/inttostr-tests: New file.
21732         * tests/test-inttostr.c: New file.  Test these functions.
21733
21734 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21735             Bruno Haible  <bruno@clisp.org>
21736
21737         Add "Extending Gnulib" chapter to manual.
21738         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21739         chapter.
21740         (Extending Gnulib): New chapter.
21741         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21742         chapter.
21743
21744 2010-06-09  Bruno Haible  <bruno@clisp.org>
21745
21746         Avoid relocwrapper link errors due to gnulib replacement functions.
21747         * lib/areadlink.c: Use the system's malloc, realloc functions.
21748         (areadlink): Set errno to ENOMEM explicitly.
21749         * modules/areadlink (Depends-on): Remove malloc-posix.
21750         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21751
21752 2010-06-09  Bruno Haible  <bruno@clisp.org>
21753
21754         Avoid relocwrapper link errors due to gnulib replacement functions.
21755         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21756         * lib/malloca.c: Likewise.
21757         * lib/relocatable.c: Likewise.
21758         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21759         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21760         * lib/setenv.c: Use the system's malloc, realloc functions.
21761         * lib/strerror.c: Use the system's sprintf function.
21762         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21763
21764 2010-06-04  Bruno Haible  <bruno@clisp.org>
21765
21766         Prefer documented low-level autoconf macro names.
21767         * m4/lib-link.m4: Use m4_translit instead of translit.
21768         * m4/environ.m4: Likewise.
21769         * m4/mathfunc.m4: Likewise.
21770         * m4/onceonly.m4: Likewise.
21771         * m4/stdint.m4: Likewise.
21772         Suggested by Eric Blake.
21773
21774 2010-06-04  Martin Lambers  <marlam@marlam.de>
21775             Bruno Haible  <bruno@clisp.org>
21776
21777         havelib: Allow library names with '+' characters.
21778         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21779         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21780
21781 2010-06-09  Bruno Haible  <bruno@clisp.org>
21782
21783         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21784         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21785         realloc failed.
21786
21787 2010-06-08  Peter Simons  <simons@cryp.to>
21788
21789         maint.mk: make the news-check rule more configurable
21790         * top/maint.mk (news-check-lines-spec): New variable.
21791         (news-check): Use "sed -n 1,10p" in place of "head".
21792
21793 2010-06-07  Jim Meyering  <meyering@redhat.com>
21794
21795         do-release-commit-and-tag: fix typo in --help
21796         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21797
21798         regex: avoid new dead-code warning with gcc-4.6.0
21799         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21800         if-block containing a while-loop.  It's been unused for at least
21801         5 years.
21802
21803 2010-06-05  Bruno Haible  <bruno@clisp.org>
21804
21805         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21806         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21807
21808 2010-06-04  Bruno Haible  <bruno@clisp.org>
21809
21810         Update to GNU gettext 0.18.1.
21811         * modules/gettext (configure.ac): Require gettext infrastructure from
21812         version 0.18.1.
21813
21814 2010-06-03  Bruno Haible  <bruno@clisp.org>
21815
21816         Don't use AC_LIBOBJ with file names in subdirectories.
21817         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21818         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21819         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21820         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21821         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21822         gl_LIBUNISTRING_LIBSOURCE.
21823         (Makefile.am): Augment lib_SOURCES here, conditionally.
21824         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21825
21826 2010-06-03  Bruno Haible  <bruno@clisp.org>
21827
21828         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21829         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21830         expansion does not end with a newline.
21831         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21832         unnecessary newline.
21833
21834 2010-06-03  Bruno Haible  <bruno@clisp.org>
21835
21836         Reduce dependencies.
21837         * tests/test-quotearg.h: New file, extracted from
21838         tests/test-quotearg.c.
21839         * tests/test-quotearg-simple.c: New file, extracted from
21840         tests/test-quotearg.c.
21841         * tests/test-quotearg.c: Don't include <ctype.h>.
21842         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21843         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21844         use_quote_double_quotes, use_quotearg_colon): Moved to
21845         tests/test-quotearg.h.
21846         (results_g, flag_results, custom_quotes, custom_results): Moved
21847         to tests/test-quotearg-simple.c.
21848         (main): Moved the part that does not depend on gettext to
21849         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21850         performed.
21851         * modules/quotearg-simple: New file.
21852         * modules/quotearg-simple-tests: New file.
21853         * modules/quotearg (Depends-on): Add quotearg-simple.
21854         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21855         (Files): Add tests/test-quotearg.h.
21856         Reported by Paolo Bonzini.
21857
21858 2010-06-03  Bruno Haible  <bruno@clisp.org>
21859
21860         Reduce dependencies.
21861         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21862
21863 2010-06-03  Bruno Haible  <bruno@clisp.org>
21864
21865         time: Undefine more broken macros.
21866         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21867         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21868         Reported by Eric Blake.
21869
21870 2010-06-03  Bruno Haible  <bruno@clisp.org>
21871
21872         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21873         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21874         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21875         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21876         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21877         Reported by Ludovic Courtès <ludo@gnu.org>.
21878
21879 2010-06-02  Eric Blake  <eblake@redhat.com>
21880
21881         time: work with mingw + pthreads-win32 library
21882         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21883         if timespec is defined only in pthread.h.
21884         * modules/time (Makefile.am): Substitute it.
21885         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21886         <pthread.h>, when needed.
21887         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21888         from the library.
21889
21890 2010-05-31  Bruno Haible  <bruno@clisp.org>
21891
21892         Avoid expanding two macros in the wrong order.
21893         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21894         gl_LIBUNISTRING if it is defined.
21895         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21896         autoconf >= 2.64.
21897         Reported by Ludovic Courtès <ludo@gnu.org>.
21898
21899 2010-05-27  Jim Meyering  <meyering@redhat.com>
21900
21901         maint.mk: also prohibit "#undef" of always-defined symbols
21902         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21903         Allow more than one space before the symbol name.
21904         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21905         the regexp uses alternation.
21906
21907 2010-05-26  Eric Blake  <eblake@redhat.com>
21908
21909         maint.mk: avoid echo -e
21910         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21911         Convert all uses of echo -* to printf.
21912         Reported by Matthias Bolte.
21913
21914 2010-05-25  Bruno Haible  <bruno@clisp.org>
21915
21916         Update to GNU gettext 0.18, part 2.
21917         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21918         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21919
21920 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21921
21922         Add missing include in test-pwrite.c.
21923         * tests/test-pwrite.c: Include string.h, for strcmp.
21924
21925 2010-05-24  Bruno Haible  <bruno@clisp.org>
21926
21927         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21928
21929 2010-05-24  Bruno Haible  <bruno@clisp.org>
21930
21931         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21932         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21933         iconveh_error argument.
21934         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21935         U_STRCONV_TO_LOCALE.
21936         * lib/unistr/u16-strcoll.c: Likewise.
21937         * lib/unistr/u32-strcoll.c: Likewise.
21938         * modules/unistr/u8-strcoll (Depends-on): Add
21939         uniconv/u8-strconv-to-enc, localcharset. Remove
21940         uniconv/u8-strconv-to-locale.
21941         (configure.ac): Bump version number.
21942         * modules/unistr/u16-strcoll (Depends-on): Add
21943         uniconv/u16-strconv-to-enc, localcharset. Remove
21944         uniconv/u16-strconv-to-locale.
21945         (configure.ac): Bump version number.
21946         * modules/unistr/u32-strcoll (Depends-on): Add
21947         uniconv/u32-strconv-to-enc, localcharset. Remove
21948         uniconv/u32-strconv-to-locale.
21949         (configure.ac): Bump version number.
21950
21951 2010-05-24  Bruno Haible  <bruno@clisp.org>
21952
21953         Avoid a test failure on NetBSD 5.0.
21954         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21955         an iconv() bug.
21956
21957 2010-05-24  Bruno Haible  <bruno@clisp.org>
21958
21959         Adjust #include directive style.
21960         * modules/regex (Includes): Recommend to write <regex.h>.
21961
21962 2010-05-24  Bruno Haible  <bruno@clisp.org>
21963
21964         regex: Don't require alloca.
21965         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21966         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21967         only inside if (0).
21968
21969 2010-05-23  Jim Meyering  <meyering@redhat.com>
21970
21971         test-renameat.c: include <sys/stat.h>
21972         * tests/test-renameat.c: Include <sys/stat.h>; required for
21973         definition of S_IS* macros.
21974
21975 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21976
21977         Update maintainer documentation for 'relocatable-prog' module.
21978         * doc/relocatable-maint.texi: Update.
21979         Comments by Bruno Haible.
21980
21981 2010-05-23  Bruno Haible  <bruno@clisp.org>
21982
21983         git-merge-changelog: Enable --split-merged-entry by default.
21984         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21985         (usage): Don't mention this option any more.
21986         Reported by Ralf Wildenhues.
21987
21988 2010-05-23  Jim Meyering  <meyering@redhat.com>
21989
21990         test-pwrite: do not leave behind a test file named "out"
21991         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21992         The trivial-looking use of init.sh is really necessary.
21993         It ensures that the temporary file, "out", is created in
21994         a temporary directory, and removed upon termination.
21995         * tests/test-pwrite.sh: Re-add file.
21996         * modules/pwrite-tests: Reference it.
21997
21998 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21999
22000         Fix output redirection buglet in init.sh.
22001         * tests/init.sh: Fix redirection of stderr.
22002
22003 2010-05-20  Simon Josefsson  <simon@josefsson.org>
22004
22005         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
22006
22007 2010-05-17  Simon Josefsson  <simon@josefsson.org>
22008
22009         * modules/valgrind-tests: New file.
22010         * m4/valgrind-tests.m4: New file.
22011         * doc/valgrind-tests.texi: New file.
22012         * doc/gnulib.texi (Running self-tests under valgrind): New
22013         section.
22014
22015 2010-05-19  Bruno Haible  <bruno@clisp.org>
22016
22017         Clean up dead code in recent commit.
22018         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
22019         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
22020         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
22021         Suggested by Paolo Bonzini.
22022
22023 2010-05-19  Bruno Haible  <bruno@clisp.org>
22024
22025         Avoid valgrind error reports from libunistring.
22026         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
22027         * modules/libunistring (Files): Add it.
22028         * modules/libunistring-optional (Files): Likewise.
22029
22030 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
22031             Bruno Haible  <bruno@clisp.org>
22032
22033         New module 'libunistring-optional'.
22034         * modules/libunistring-optional: New file.
22035         * m4/libunistring-base.m4: New file.
22036         * m4/libunistring-optional.m4: New file.
22037         * lib/unicase.in.h: Renamed from lib/unicase.h.
22038         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
22039         * lib/unictype.in.h: Renamed from lib/unictype.h.
22040         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
22041         * lib/uniname.in.h: Renamed from lib/uniname.h.
22042         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
22043         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
22044         * lib/unistr.in.h: Renamed from lib/unistr.h.
22045         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
22046         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
22047         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
22048         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
22049         gl_LIBUNISTRING. If the library was found, determine the installed
22050         version and set LIBUNISTRING_VERSION.
22051         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
22052         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
22053         handle a configuration option --with-included-libunistring.
22054         * modules/libunistring (Files): Add m4/absolute-header.m4.
22055         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
22056         Add m4/libunistring-base.m4.
22057         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22058         (Makefile.am): Build unicase.h from unicase.in.h.
22059         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
22060         Add m4/libunistring-base.m4.
22061         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22062         (Makefile.am): Build uniconv.h from uniconv.in.h.
22063         * modules/unictype/base (Files): Use unictype.in.h instead of
22064         unictype.h. Add m4/libunistring-base.m4.
22065         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22066         (Makefile.am): Build unictype.h from unictype.in.h.
22067         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
22068         Add m4/libunistring-base.m4.
22069         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22070         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
22071         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
22072         Add m4/libunistring-base.m4.
22073         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22074         (Makefile.am): Build uniname.h from uniname.in.h.
22075         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
22076         Add m4/libunistring-base.m4.
22077         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22078         (Makefile.am): Build uninorm.h from uninorm.in.h.
22079         * modules/unistdio/base (Files): Use unistdio.in.h instead of
22080         unistdio.h. Add m4/libunistring-base.m4.
22081         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22082         (Makefile.am): Build unistdio.h from unistdio.in.h.
22083         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
22084         Add m4/libunistring-base.m4.
22085         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22086         (Makefile.am): Build unistr.h from unistr.in.h.
22087         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
22088         Add m4/libunistring-base.m4.
22089         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22090         (Makefile.am): Build unitypes.h from unitypes.in.h.
22091         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
22092         Add m4/libunistring-base.m4.
22093         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22094         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
22095         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
22096         uniwidth.h. Add m4/libunistring-base.m4.
22097         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
22098         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
22099         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
22100         instead of augmenting lib_SOURCES.
22101         * modules/unicase/empty-suffix-context: Likewise.
22102         * modules/unicase/locale-language: Likewise.
22103         * modules/unicase/tolower: Likewise.
22104         * modules/unicase/totitle: Likewise.
22105         * modules/unicase/toupper: Likewise.
22106         * modules/unicase/u8-casecmp: Likewise.
22107         * modules/unicase/u8-casecoll: Likewise.
22108         * modules/unicase/u8-casefold: Likewise.
22109         * modules/unicase/u8-casexfrm: Likewise.
22110         * modules/unicase/u8-ct-casefold: Likewise.
22111         * modules/unicase/u8-ct-tolower: Likewise.
22112         * modules/unicase/u8-ct-totitle: Likewise.
22113         * modules/unicase/u8-ct-toupper: Likewise.
22114         * modules/unicase/u8-is-cased: Likewise.
22115         * modules/unicase/u8-is-casefolded: Likewise.
22116         * modules/unicase/u8-is-lowercase: Likewise.
22117         * modules/unicase/u8-is-titlecase: Likewise.
22118         * modules/unicase/u8-is-uppercase: Likewise.
22119         * modules/unicase/u8-prefix-context: Likewise.
22120         * modules/unicase/u8-suffix-context: Likewise.
22121         * modules/unicase/u8-tolower: Likewise.
22122         * modules/unicase/u8-totitle: Likewise.
22123         * modules/unicase/u8-toupper: Likewise.
22124         * modules/unicase/u16-casecmp: Likewise.
22125         * modules/unicase/u16-casecoll: Likewise.
22126         * modules/unicase/u16-casefold: Likewise.
22127         * modules/unicase/u16-casexfrm: Likewise.
22128         * modules/unicase/u16-ct-casefold: Likewise.
22129         * modules/unicase/u16-ct-tolower: Likewise.
22130         * modules/unicase/u16-ct-totitle: Likewise.
22131         * modules/unicase/u16-ct-toupper: Likewise.
22132         * modules/unicase/u16-is-cased: Likewise.
22133         * modules/unicase/u16-is-casefolded: Likewise.
22134         * modules/unicase/u16-is-lowercase: Likewise.
22135         * modules/unicase/u16-is-titlecase: Likewise.
22136         * modules/unicase/u16-is-uppercase: Likewise.
22137         * modules/unicase/u16-prefix-context: Likewise.
22138         * modules/unicase/u16-suffix-context: Likewise.
22139         * modules/unicase/u16-tolower: Likewise.
22140         * modules/unicase/u16-totitle: Likewise.
22141         * modules/unicase/u16-toupper: Likewise.
22142         * modules/unicase/u32-casecmp: Likewise.
22143         * modules/unicase/u32-casecoll: Likewise.
22144         * modules/unicase/u32-casefold: Likewise.
22145         * modules/unicase/u32-casexfrm: Likewise.
22146         * modules/unicase/u32-ct-casefold: Likewise.
22147         * modules/unicase/u32-ct-tolower: Likewise.
22148         * modules/unicase/u32-ct-totitle: Likewise.
22149         * modules/unicase/u32-ct-toupper: Likewise.
22150         * modules/unicase/u32-is-cased: Likewise.
22151         * modules/unicase/u32-is-casefolded: Likewise.
22152         * modules/unicase/u32-is-lowercase: Likewise.
22153         * modules/unicase/u32-is-titlecase: Likewise.
22154         * modules/unicase/u32-is-uppercase: Likewise.
22155         * modules/unicase/u32-prefix-context: Likewise.
22156         * modules/unicase/u32-suffix-context: Likewise.
22157         * modules/unicase/u32-tolower: Likewise.
22158         * modules/unicase/u32-totitle: Likewise.
22159         * modules/unicase/u32-toupper: Likewise.
22160         * modules/unicase/ulc-casecmp: Likewise.
22161         * modules/unicase/ulc-casecoll: Likewise.
22162         * modules/unicase/ulc-casexfrm: Likewise.
22163         * modules/uniconv/u8-conv-from-enc: Likewise.
22164         * modules/uniconv/u8-conv-to-enc: Likewise.
22165         * modules/uniconv/u8-strconv-from-enc: Likewise.
22166         * modules/uniconv/u8-strconv-from-locale: Likewise.
22167         * modules/uniconv/u8-strconv-to-enc: Likewise.
22168         * modules/uniconv/u8-strconv-to-locale: Likewise.
22169         * modules/uniconv/u16-conv-from-enc: Likewise.
22170         * modules/uniconv/u16-conv-to-enc: Likewise.
22171         * modules/uniconv/u16-strconv-from-enc: Likewise.
22172         * modules/uniconv/u16-strconv-from-locale: Likewise.
22173         * modules/uniconv/u16-strconv-to-enc: Likewise.
22174         * modules/uniconv/u16-strconv-to-locale: Likewise.
22175         * modules/uniconv/u32-conv-from-enc: Likewise.
22176         * modules/uniconv/u32-conv-to-enc: Likewise.
22177         * modules/uniconv/u32-strconv-from-enc: Likewise.
22178         * modules/uniconv/u32-strconv-from-locale: Likewise.
22179         * modules/uniconv/u32-strconv-to-enc: Likewise.
22180         * modules/uniconv/u32-strconv-to-locale: Likewise.
22181         * modules/unictype/bidicategory-byname: Likewise.
22182         * modules/unictype/bidicategory-name: Likewise.
22183         * modules/unictype/bidicategory-of: Likewise.
22184         * modules/unictype/bidicategory-test: Likewise.
22185         * modules/unictype/block-list: Likewise.
22186         * modules/unictype/block-test: Likewise.
22187         * modules/unictype/category-C: Likewise.
22188         * modules/unictype/category-Cc: Likewise.
22189         * modules/unictype/category-Cf: Likewise.
22190         * modules/unictype/category-Cn: Likewise.
22191         * modules/unictype/category-Co: Likewise.
22192         * modules/unictype/category-Cs: Likewise.
22193         * modules/unictype/category-L: Likewise.
22194         * modules/unictype/category-Ll: Likewise.
22195         * modules/unictype/category-Lm: Likewise.
22196         * modules/unictype/category-Lo: Likewise.
22197         * modules/unictype/category-Lt: Likewise.
22198         * modules/unictype/category-Lu: Likewise.
22199         * modules/unictype/category-M: Likewise.
22200         * modules/unictype/category-Mc: Likewise.
22201         * modules/unictype/category-Me: Likewise.
22202         * modules/unictype/category-Mn: Likewise.
22203         * modules/unictype/category-N: Likewise.
22204         * modules/unictype/category-Nd: Likewise.
22205         * modules/unictype/category-Nl: Likewise.
22206         * modules/unictype/category-No: Likewise.
22207         * modules/unictype/category-P: Likewise.
22208         * modules/unictype/category-Pc: Likewise.
22209         * modules/unictype/category-Pd: Likewise.
22210         * modules/unictype/category-Pe: Likewise.
22211         * modules/unictype/category-Pf: Likewise.
22212         * modules/unictype/category-Pi: Likewise.
22213         * modules/unictype/category-Po: Likewise.
22214         * modules/unictype/category-Ps: Likewise.
22215         * modules/unictype/category-S: Likewise.
22216         * modules/unictype/category-Sc: Likewise.
22217         * modules/unictype/category-Sk: Likewise.
22218         * modules/unictype/category-Sm: Likewise.
22219         * modules/unictype/category-So: Likewise.
22220         * modules/unictype/category-Z: Likewise.
22221         * modules/unictype/category-Zl: Likewise.
22222         * modules/unictype/category-Zp: Likewise.
22223         * modules/unictype/category-Zs: Likewise.
22224         * modules/unictype/category-and: Likewise.
22225         * modules/unictype/category-and-not: Likewise.
22226         * modules/unictype/category-byname: Likewise.
22227         * modules/unictype/category-name: Likewise.
22228         * modules/unictype/category-none: Likewise.
22229         * modules/unictype/category-of: Likewise.
22230         * modules/unictype/category-or: Likewise.
22231         * modules/unictype/category-test: Likewise.
22232         * modules/unictype/combining-class: Likewise.
22233         * modules/unictype/ctype-alnum: Likewise.
22234         * modules/unictype/ctype-alpha: Likewise.
22235         * modules/unictype/ctype-blank: Likewise.
22236         * modules/unictype/ctype-cntrl: Likewise.
22237         * modules/unictype/ctype-digit: Likewise.
22238         * modules/unictype/ctype-graph: Likewise.
22239         * modules/unictype/ctype-lower: Likewise.
22240         * modules/unictype/ctype-print: Likewise.
22241         * modules/unictype/ctype-punct: Likewise.
22242         * modules/unictype/ctype-space: Likewise.
22243         * modules/unictype/ctype-upper: Likewise.
22244         * modules/unictype/ctype-xdigit: Likewise.
22245         * modules/unictype/decimal-digit: Likewise.
22246         * modules/unictype/digit: Likewise.
22247         * modules/unictype/mirror: Likewise.
22248         * modules/unictype/numeric: Likewise.
22249         * modules/unictype/property-alphabetic: Likewise.
22250         * modules/unictype/property-ascii-hex-digit: Likewise.
22251         * modules/unictype/property-bidi-arabic-digit: Likewise.
22252         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22253         * modules/unictype/property-bidi-block-separator: Likewise.
22254         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22255         * modules/unictype/property-bidi-common-separator: Likewise.
22256         * modules/unictype/property-bidi-control: Likewise.
22257         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22258         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22259         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22260         * modules/unictype/property-bidi-european-digit: Likewise.
22261         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22262         * modules/unictype/property-bidi-left-to-right: Likewise.
22263         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22264         * modules/unictype/property-bidi-other-neutral: Likewise.
22265         * modules/unictype/property-bidi-pdf: Likewise.
22266         * modules/unictype/property-bidi-segment-separator: Likewise.
22267         * modules/unictype/property-bidi-whitespace: Likewise.
22268         * modules/unictype/property-byname: Likewise.
22269         * modules/unictype/property-combining: Likewise.
22270         * modules/unictype/property-composite: Likewise.
22271         * modules/unictype/property-currency-symbol: Likewise.
22272         * modules/unictype/property-dash: Likewise.
22273         * modules/unictype/property-decimal-digit: Likewise.
22274         * modules/unictype/property-default-ignorable-code-point: Likewise.
22275         * modules/unictype/property-deprecated: Likewise.
22276         * modules/unictype/property-diacritic: Likewise.
22277         * modules/unictype/property-extender: Likewise.
22278         * modules/unictype/property-format-control: Likewise.
22279         * modules/unictype/property-grapheme-base: Likewise.
22280         * modules/unictype/property-grapheme-extend: Likewise.
22281         * modules/unictype/property-grapheme-link: Likewise.
22282         * modules/unictype/property-hex-digit: Likewise.
22283         * modules/unictype/property-hyphen: Likewise.
22284         * modules/unictype/property-id-continue: Likewise.
22285         * modules/unictype/property-id-start: Likewise.
22286         * modules/unictype/property-ideographic: Likewise.
22287         * modules/unictype/property-ids-binary-operator: Likewise.
22288         * modules/unictype/property-ids-trinary-operator: Likewise.
22289         * modules/unictype/property-ignorable-control: Likewise.
22290         * modules/unictype/property-iso-control: Likewise.
22291         * modules/unictype/property-join-control: Likewise.
22292         * modules/unictype/property-left-of-pair: Likewise.
22293         * modules/unictype/property-line-separator: Likewise.
22294         * modules/unictype/property-logical-order-exception: Likewise.
22295         * modules/unictype/property-lowercase: Likewise.
22296         * modules/unictype/property-math: Likewise.
22297         * modules/unictype/property-non-break: Likewise.
22298         * modules/unictype/property-not-a-character: Likewise.
22299         * modules/unictype/property-numeric: Likewise.
22300         * modules/unictype/property-other-alphabetic: Likewise.
22301         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22302         * modules/unictype/property-other-grapheme-extend: Likewise.
22303         * modules/unictype/property-other-id-continue: Likewise.
22304         * modules/unictype/property-other-id-start: Likewise.
22305         * modules/unictype/property-other-lowercase: Likewise.
22306         * modules/unictype/property-other-math: Likewise.
22307         * modules/unictype/property-other-uppercase: Likewise.
22308         * modules/unictype/property-paired-punctuation: Likewise.
22309         * modules/unictype/property-paragraph-separator: Likewise.
22310         * modules/unictype/property-pattern-syntax: Likewise.
22311         * modules/unictype/property-pattern-white-space: Likewise.
22312         * modules/unictype/property-private-use: Likewise.
22313         * modules/unictype/property-punctuation: Likewise.
22314         * modules/unictype/property-quotation-mark: Likewise.
22315         * modules/unictype/property-radical: Likewise.
22316         * modules/unictype/property-sentence-terminal: Likewise.
22317         * modules/unictype/property-soft-dotted: Likewise.
22318         * modules/unictype/property-space: Likewise.
22319         * modules/unictype/property-terminal-punctuation: Likewise.
22320         * modules/unictype/property-test: Likewise.
22321         * modules/unictype/property-titlecase: Likewise.
22322         * modules/unictype/property-unassigned-code-value: Likewise.
22323         * modules/unictype/property-unified-ideograph: Likewise.
22324         * modules/unictype/property-uppercase: Likewise.
22325         * modules/unictype/property-variation-selector: Likewise.
22326         * modules/unictype/property-white-space: Likewise.
22327         * modules/unictype/property-xid-continue: Likewise.
22328         * modules/unictype/property-xid-start: Likewise.
22329         * modules/unictype/property-zero-width: Likewise.
22330         * modules/unictype/scripts: Likewise.
22331         * modules/unictype/syntax-c-ident: Likewise.
22332         * modules/unictype/syntax-c-whitespace: Likewise.
22333         * modules/unictype/syntax-java-ident: Likewise.
22334         * modules/unictype/syntax-java-whitespace: Likewise.
22335         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22336         * modules/unilbrk/u8-width-linebreaks: Likewise.
22337         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22338         * modules/unilbrk/u16-width-linebreaks: Likewise.
22339         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22340         * modules/unilbrk/u32-width-linebreaks: Likewise.
22341         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22342         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22343         * modules/uniname/uniname: Likewise.
22344         * modules/uninorm/canonical-decomposition: Likewise.
22345         * modules/uninorm/composition: Likewise.
22346         * modules/uninorm/decomposing-form: Likewise.
22347         * modules/uninorm/decomposition: Likewise.
22348         * modules/uninorm/filter: Likewise.
22349         * modules/uninorm/nfc: Likewise.
22350         * modules/uninorm/nfd: Likewise.
22351         * modules/uninorm/nfkc: Likewise.
22352         * modules/uninorm/nfkd: Likewise.
22353         * modules/uninorm/u8-normalize: Likewise.
22354         * modules/uninorm/u8-normcmp: Likewise.
22355         * modules/uninorm/u8-normcoll: Likewise.
22356         * modules/uninorm/u8-normxfrm: Likewise.
22357         * modules/uninorm/u16-normalize: Likewise.
22358         * modules/uninorm/u16-normcmp: Likewise.
22359         * modules/uninorm/u16-normcoll: Likewise.
22360         * modules/uninorm/u16-normxfrm: Likewise.
22361         * modules/uninorm/u32-normalize: Likewise.
22362         * modules/uninorm/u32-normcmp: Likewise.
22363         * modules/uninorm/u32-normcoll: Likewise.
22364         * modules/uninorm/u32-normxfrm: Likewise.
22365         * modules/unistdio/u8-asnprintf: Likewise.
22366         * modules/unistdio/u8-asprintf: Likewise.
22367         * modules/unistdio/u8-snprintf: Likewise.
22368         * modules/unistdio/u8-sprintf: Likewise.
22369         * modules/unistdio/u8-u8-asnprintf: Likewise.
22370         * modules/unistdio/u8-u8-asprintf: Likewise.
22371         * modules/unistdio/u8-u8-snprintf: Likewise.
22372         * modules/unistdio/u8-u8-sprintf: Likewise.
22373         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22374         * modules/unistdio/u8-u8-vasprintf: Likewise.
22375         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22376         * modules/unistdio/u8-u8-vsprintf: Likewise.
22377         * modules/unistdio/u8-vasnprintf: Likewise.
22378         * modules/unistdio/u8-vasprintf: Likewise.
22379         * modules/unistdio/u8-vsnprintf: Likewise.
22380         * modules/unistdio/u8-vsprintf: Likewise.
22381         * modules/unistdio/u16-asnprintf: Likewise.
22382         * modules/unistdio/u16-asprintf: Likewise.
22383         * modules/unistdio/u16-snprintf: Likewise.
22384         * modules/unistdio/u16-sprintf: Likewise.
22385         * modules/unistdio/u16-u16-asnprintf: Likewise.
22386         * modules/unistdio/u16-u16-asprintf: Likewise.
22387         * modules/unistdio/u16-u16-snprintf: Likewise.
22388         * modules/unistdio/u16-u16-sprintf: Likewise.
22389         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22390         * modules/unistdio/u16-u16-vasprintf: Likewise.
22391         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22392         * modules/unistdio/u16-u16-vsprintf: Likewise.
22393         * modules/unistdio/u16-vasnprintf: Likewise.
22394         * modules/unistdio/u16-vasprintf: Likewise.
22395         * modules/unistdio/u16-vsnprintf: Likewise.
22396         * modules/unistdio/u16-vsprintf: Likewise.
22397         * modules/unistdio/u32-asnprintf: Likewise.
22398         * modules/unistdio/u32-asprintf: Likewise.
22399         * modules/unistdio/u32-snprintf: Likewise.
22400         * modules/unistdio/u32-sprintf: Likewise.
22401         * modules/unistdio/u32-u32-asnprintf: Likewise.
22402         * modules/unistdio/u32-u32-asprintf: Likewise.
22403         * modules/unistdio/u32-u32-snprintf: Likewise.
22404         * modules/unistdio/u32-u32-sprintf: Likewise.
22405         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22406         * modules/unistdio/u32-u32-vasprintf: Likewise.
22407         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22408         * modules/unistdio/u32-u32-vsprintf: Likewise.
22409         * modules/unistdio/u32-vasnprintf: Likewise.
22410         * modules/unistdio/u32-vasprintf: Likewise.
22411         * modules/unistdio/u32-vsnprintf: Likewise.
22412         * modules/unistdio/u32-vsprintf: Likewise.
22413         * modules/unistdio/ulc-asnprintf: Likewise.
22414         * modules/unistdio/ulc-asprintf: Likewise.
22415         * modules/unistdio/ulc-fprintf: Likewise.
22416         * modules/unistdio/ulc-snprintf: Likewise.
22417         * modules/unistdio/ulc-sprintf: Likewise.
22418         * modules/unistdio/ulc-vasnprintf: Likewise.
22419         * modules/unistdio/ulc-vasprintf: Likewise.
22420         * modules/unistdio/ulc-vfprintf: Likewise.
22421         * modules/unistdio/ulc-vsnprintf: Likewise.
22422         * modules/unistdio/ulc-vsprintf: Likewise.
22423         * modules/unistr/u8-check: Likewise.
22424         * modules/unistr/u8-chr: Likewise.
22425         * modules/unistr/u8-cmp: Likewise.
22426         * modules/unistr/u8-cmp2: Likewise.
22427         * modules/unistr/u8-cpy: Likewise.
22428         * modules/unistr/u8-cpy-alloc: Likewise.
22429         * modules/unistr/u8-endswith: Likewise.
22430         * modules/unistr/u8-mblen: Likewise.
22431         * modules/unistr/u8-mbsnlen: Likewise.
22432         * modules/unistr/u8-mbtouc: Likewise.
22433         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22434         * modules/unistr/u8-mbtoucr: Likewise.
22435         * modules/unistr/u8-move: Likewise.
22436         * modules/unistr/u8-next: Likewise.
22437         * modules/unistr/u8-prev: Likewise.
22438         * modules/unistr/u8-set: Likewise.
22439         * modules/unistr/u8-startswith: Likewise.
22440         * modules/unistr/u8-stpcpy: Likewise.
22441         * modules/unistr/u8-stpncpy: Likewise.
22442         * modules/unistr/u8-strcat: Likewise.
22443         * modules/unistr/u8-strchr: Likewise.
22444         * modules/unistr/u8-strcmp: Likewise.
22445         * modules/unistr/u8-strcoll: Likewise.
22446         * modules/unistr/u8-strcpy: Likewise.
22447         * modules/unistr/u8-strcspn: Likewise.
22448         * modules/unistr/u8-strdup: Likewise.
22449         * modules/unistr/u8-strlen: Likewise.
22450         * modules/unistr/u8-strmblen: Likewise.
22451         * modules/unistr/u8-strmbtouc: Likewise.
22452         * modules/unistr/u8-strncat: Likewise.
22453         * modules/unistr/u8-strncmp: Likewise.
22454         * modules/unistr/u8-strncpy: Likewise.
22455         * modules/unistr/u8-strnlen: Likewise.
22456         * modules/unistr/u8-strpbrk: Likewise.
22457         * modules/unistr/u8-strrchr: Likewise.
22458         * modules/unistr/u8-strspn: Likewise.
22459         * modules/unistr/u8-strstr: Likewise.
22460         * modules/unistr/u8-strtok: Likewise.
22461         * modules/unistr/u8-to-u16: Likewise.
22462         * modules/unistr/u8-to-u32: Likewise.
22463         * modules/unistr/u8-uctomb: Likewise.
22464         * modules/unistr/u16-check: Likewise.
22465         * modules/unistr/u16-chr: Likewise.
22466         * modules/unistr/u16-cmp: Likewise.
22467         * modules/unistr/u16-cmp2: Likewise.
22468         * modules/unistr/u16-cpy: Likewise.
22469         * modules/unistr/u16-cpy-alloc: Likewise.
22470         * modules/unistr/u16-endswith: Likewise.
22471         * modules/unistr/u16-mblen: Likewise.
22472         * modules/unistr/u16-mbsnlen: Likewise.
22473         * modules/unistr/u16-mbtouc: Likewise.
22474         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22475         * modules/unistr/u16-mbtoucr: Likewise.
22476         * modules/unistr/u16-move: Likewise.
22477         * modules/unistr/u16-next: Likewise.
22478         * modules/unistr/u16-prev: Likewise.
22479         * modules/unistr/u16-set: Likewise.
22480         * modules/unistr/u16-startswith: Likewise.
22481         * modules/unistr/u16-stpcpy: Likewise.
22482         * modules/unistr/u16-stpncpy: Likewise.
22483         * modules/unistr/u16-strcat: Likewise.
22484         * modules/unistr/u16-strchr: Likewise.
22485         * modules/unistr/u16-strcmp: Likewise.
22486         * modules/unistr/u16-strcoll: Likewise.
22487         * modules/unistr/u16-strcpy: Likewise.
22488         * modules/unistr/u16-strcspn: Likewise.
22489         * modules/unistr/u16-strdup: Likewise.
22490         * modules/unistr/u16-strlen: Likewise.
22491         * modules/unistr/u16-strmblen: Likewise.
22492         * modules/unistr/u16-strmbtouc: Likewise.
22493         * modules/unistr/u16-strncat: Likewise.
22494         * modules/unistr/u16-strncmp: Likewise.
22495         * modules/unistr/u16-strncpy: Likewise.
22496         * modules/unistr/u16-strnlen: Likewise.
22497         * modules/unistr/u16-strpbrk: Likewise.
22498         * modules/unistr/u16-strrchr: Likewise.
22499         * modules/unistr/u16-strspn: Likewise.
22500         * modules/unistr/u16-strstr: Likewise.
22501         * modules/unistr/u16-strtok: Likewise.
22502         * modules/unistr/u16-to-u32: Likewise.
22503         * modules/unistr/u16-to-u8: Likewise.
22504         * modules/unistr/u16-uctomb: Likewise.
22505         * modules/unistr/u32-check: Likewise.
22506         * modules/unistr/u32-chr: Likewise.
22507         * modules/unistr/u32-cmp: Likewise.
22508         * modules/unistr/u32-cmp2: Likewise.
22509         * modules/unistr/u32-cpy: Likewise.
22510         * modules/unistr/u32-cpy-alloc: Likewise.
22511         * modules/unistr/u32-endswith: Likewise.
22512         * modules/unistr/u32-mblen: Likewise.
22513         * modules/unistr/u32-mbsnlen: Likewise.
22514         * modules/unistr/u32-mbtouc: Likewise.
22515         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22516         * modules/unistr/u32-mbtoucr: Likewise.
22517         * modules/unistr/u32-move: Likewise.
22518         * modules/unistr/u32-next: Likewise.
22519         * modules/unistr/u32-prev: Likewise.
22520         * modules/unistr/u32-set: Likewise.
22521         * modules/unistr/u32-startswith: Likewise.
22522         * modules/unistr/u32-stpcpy: Likewise.
22523         * modules/unistr/u32-stpncpy: Likewise.
22524         * modules/unistr/u32-strcat: Likewise.
22525         * modules/unistr/u32-strchr: Likewise.
22526         * modules/unistr/u32-strcmp: Likewise.
22527         * modules/unistr/u32-strcoll: Likewise.
22528         * modules/unistr/u32-strcpy: Likewise.
22529         * modules/unistr/u32-strcspn: Likewise.
22530         * modules/unistr/u32-strdup: Likewise.
22531         * modules/unistr/u32-strlen: Likewise.
22532         * modules/unistr/u32-strmblen: Likewise.
22533         * modules/unistr/u32-strmbtouc: Likewise.
22534         * modules/unistr/u32-strncat: Likewise.
22535         * modules/unistr/u32-strncmp: Likewise.
22536         * modules/unistr/u32-strncpy: Likewise.
22537         * modules/unistr/u32-strnlen: Likewise.
22538         * modules/unistr/u32-strpbrk: Likewise.
22539         * modules/unistr/u32-strrchr: Likewise.
22540         * modules/unistr/u32-strspn: Likewise.
22541         * modules/unistr/u32-strstr: Likewise.
22542         * modules/unistr/u32-strtok: Likewise.
22543         * modules/unistr/u32-to-u16: Likewise.
22544         * modules/unistr/u32-to-u8: Likewise.
22545         * modules/unistr/u32-uctomb: Likewise.
22546         * modules/uniwbrk/u8-wordbreaks: Likewise.
22547         * modules/uniwbrk/u16-wordbreaks: Likewise.
22548         * modules/uniwbrk/u32-wordbreaks: Likewise.
22549         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22550         * modules/uniwbrk/wordbreak-property: Likewise.
22551         * modules/uniwidth/u8-strwidth: Likewise.
22552         * modules/uniwidth/u8-width: Likewise.
22553         * modules/uniwidth/u16-strwidth: Likewise.
22554         * modules/uniwidth/u16-width: Likewise.
22555         * modules/uniwidth/u32-strwidth: Likewise.
22556         * modules/uniwidth/u32-width: Likewise.
22557         * modules/uniwidth/width: Likewise.
22558         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22559         with $(LIBUNISTRING).
22560         * modules/unicase/ignorable-tests: Likewise.
22561         * modules/unicase/locale-language-tests: Likewise.
22562         * modules/unicase/tolower-tests: Likewise.
22563         * modules/unicase/totitle-tests: Likewise.
22564         * modules/unicase/toupper-tests: Likewise.
22565         * modules/unicase/u8-casecmp-tests: Likewise.
22566         * modules/unicase/u8-casecoll-tests: Likewise.
22567         * modules/unicase/u8-casefold-tests: Likewise.
22568         * modules/unicase/u8-is-cased-tests: Likewise.
22569         * modules/unicase/u8-is-casefolded-tests: Likewise.
22570         * modules/unicase/u8-is-lowercase-tests: Likewise.
22571         * modules/unicase/u8-is-titlecase-tests: Likewise.
22572         * modules/unicase/u8-is-uppercase-tests: Likewise.
22573         * modules/unicase/u8-tolower-tests: Likewise.
22574         * modules/unicase/u8-totitle-tests: Likewise.
22575         * modules/unicase/u8-toupper-tests: Likewise.
22576         * modules/unicase/u16-casecmp-tests: Likewise.
22577         * modules/unicase/u16-casecoll-tests: Likewise.
22578         * modules/unicase/u16-casefold-tests: Likewise.
22579         * modules/unicase/u16-is-cased-tests: Likewise.
22580         * modules/unicase/u16-is-casefolded-tests: Likewise.
22581         * modules/unicase/u16-is-lowercase-tests: Likewise.
22582         * modules/unicase/u16-is-titlecase-tests: Likewise.
22583         * modules/unicase/u16-is-uppercase-tests: Likewise.
22584         * modules/unicase/u16-tolower-tests: Likewise.
22585         * modules/unicase/u16-totitle-tests: Likewise.
22586         * modules/unicase/u16-toupper-tests: Likewise.
22587         * modules/unicase/u32-casecmp-tests: Likewise.
22588         * modules/unicase/u32-casecoll-tests: Likewise.
22589         * modules/unicase/u32-casefold-tests: Likewise.
22590         * modules/unicase/u32-is-cased-tests: Likewise.
22591         * modules/unicase/u32-is-casefolded-tests: Likewise.
22592         * modules/unicase/u32-is-lowercase-tests: Likewise.
22593         * modules/unicase/u32-is-titlecase-tests: Likewise.
22594         * modules/unicase/u32-is-uppercase-tests: Likewise.
22595         * modules/unicase/u32-tolower-tests: Likewise.
22596         * modules/unicase/u32-totitle-tests: Likewise.
22597         * modules/unicase/u32-toupper-tests: Likewise.
22598         * modules/unicase/ulc-casecmp-tests: Likewise.
22599         * modules/unicase/ulc-casecoll-tests: Likewise.
22600         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22601         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22602         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22603         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22604         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22605         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22606         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22607         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22608         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22609         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22610         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22611         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22612         * modules/unictype/bidicategory-byname-tests: Likewise.
22613         * modules/unictype/bidicategory-name-tests: Likewise.
22614         * modules/unictype/bidicategory-of-tests: Likewise.
22615         * modules/unictype/bidicategory-test-tests: Likewise.
22616         * modules/unictype/block-list-tests: Likewise.
22617         * modules/unictype/block-of-tests: Likewise.
22618         * modules/unictype/block-test-tests: Likewise.
22619         * modules/unictype/category-C-tests: Likewise.
22620         * modules/unictype/category-Cc-tests: Likewise.
22621         * modules/unictype/category-Cf-tests: Likewise.
22622         * modules/unictype/category-Cn-tests: Likewise.
22623         * modules/unictype/category-Co-tests: Likewise.
22624         * modules/unictype/category-Cs-tests: Likewise.
22625         * modules/unictype/category-L-tests: Likewise.
22626         * modules/unictype/category-Ll-tests: Likewise.
22627         * modules/unictype/category-Lm-tests: Likewise.
22628         * modules/unictype/category-Lo-tests: Likewise.
22629         * modules/unictype/category-Lt-tests: Likewise.
22630         * modules/unictype/category-Lu-tests: Likewise.
22631         * modules/unictype/category-M-tests: Likewise.
22632         * modules/unictype/category-Mc-tests: Likewise.
22633         * modules/unictype/category-Me-tests: Likewise.
22634         * modules/unictype/category-Mn-tests: Likewise.
22635         * modules/unictype/category-N-tests: Likewise.
22636         * modules/unictype/category-Nd-tests: Likewise.
22637         * modules/unictype/category-Nl-tests: Likewise.
22638         * modules/unictype/category-No-tests: Likewise.
22639         * modules/unictype/category-P-tests: Likewise.
22640         * modules/unictype/category-Pc-tests: Likewise.
22641         * modules/unictype/category-Pd-tests: Likewise.
22642         * modules/unictype/category-Pe-tests: Likewise.
22643         * modules/unictype/category-Pf-tests: Likewise.
22644         * modules/unictype/category-Pi-tests: Likewise.
22645         * modules/unictype/category-Po-tests: Likewise.
22646         * modules/unictype/category-Ps-tests: Likewise.
22647         * modules/unictype/category-S-tests: Likewise.
22648         * modules/unictype/category-Sc-tests: Likewise.
22649         * modules/unictype/category-Sk-tests: Likewise.
22650         * modules/unictype/category-Sm-tests: Likewise.
22651         * modules/unictype/category-So-tests: Likewise.
22652         * modules/unictype/category-Z-tests: Likewise.
22653         * modules/unictype/category-Zl-tests: Likewise.
22654         * modules/unictype/category-Zp-tests: Likewise.
22655         * modules/unictype/category-Zs-tests: Likewise.
22656         * modules/unictype/category-and-not-tests: Likewise.
22657         * modules/unictype/category-and-tests: Likewise.
22658         * modules/unictype/category-byname-tests: Likewise.
22659         * modules/unictype/category-name-tests: Likewise.
22660         * modules/unictype/category-none-tests: Likewise.
22661         * modules/unictype/category-of-tests: Likewise.
22662         * modules/unictype/category-or-tests: Likewise.
22663         * modules/unictype/category-test-withtable-tests: Likewise.
22664         * modules/unictype/combining-class-tests: Likewise.
22665         * modules/unictype/ctype-alnum-tests: Likewise.
22666         * modules/unictype/ctype-alpha-tests: Likewise.
22667         * modules/unictype/ctype-blank-tests: Likewise.
22668         * modules/unictype/ctype-cntrl-tests: Likewise.
22669         * modules/unictype/ctype-digit-tests: Likewise.
22670         * modules/unictype/ctype-graph-tests: Likewise.
22671         * modules/unictype/ctype-lower-tests: Likewise.
22672         * modules/unictype/ctype-print-tests: Likewise.
22673         * modules/unictype/ctype-punct-tests: Likewise.
22674         * modules/unictype/ctype-space-tests: Likewise.
22675         * modules/unictype/ctype-upper-tests: Likewise.
22676         * modules/unictype/ctype-xdigit-tests: Likewise.
22677         * modules/unictype/decimal-digit-tests: Likewise.
22678         * modules/unictype/digit-tests: Likewise.
22679         * modules/unictype/mirror-tests: Likewise.
22680         * modules/unictype/numeric-tests: Likewise.
22681         * modules/unictype/property-alphabetic-tests: Likewise.
22682         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22683         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22684         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22685         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22686         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22687         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22688         * modules/unictype/property-bidi-control-tests: Likewise.
22689         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22690         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22691         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22692         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22693         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22694         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22695         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22696         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22697         * modules/unictype/property-bidi-pdf-tests: Likewise.
22698         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22699         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22700         * modules/unictype/property-byname-tests: Likewise.
22701         * modules/unictype/property-combining-tests: Likewise.
22702         * modules/unictype/property-composite-tests: Likewise.
22703         * modules/unictype/property-currency-symbol-tests: Likewise.
22704         * modules/unictype/property-dash-tests: Likewise.
22705         * modules/unictype/property-decimal-digit-tests: Likewise.
22706         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22707         * modules/unictype/property-deprecated-tests: Likewise.
22708         * modules/unictype/property-diacritic-tests: Likewise.
22709         * modules/unictype/property-extender-tests: Likewise.
22710         * modules/unictype/property-format-control-tests: Likewise.
22711         * modules/unictype/property-grapheme-base-tests: Likewise.
22712         * modules/unictype/property-grapheme-extend-tests: Likewise.
22713         * modules/unictype/property-grapheme-link-tests: Likewise.
22714         * modules/unictype/property-hex-digit-tests: Likewise.
22715         * modules/unictype/property-hyphen-tests: Likewise.
22716         * modules/unictype/property-id-continue-tests: Likewise.
22717         * modules/unictype/property-id-start-tests: Likewise.
22718         * modules/unictype/property-ideographic-tests: Likewise.
22719         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22720         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22721         * modules/unictype/property-ignorable-control-tests: Likewise.
22722         * modules/unictype/property-iso-control-tests: Likewise.
22723         * modules/unictype/property-join-control-tests: Likewise.
22724         * modules/unictype/property-left-of-pair-tests: Likewise.
22725         * modules/unictype/property-line-separator-tests: Likewise.
22726         * modules/unictype/property-logical-order-exception-tests: Likewise.
22727         * modules/unictype/property-lowercase-tests: Likewise.
22728         * modules/unictype/property-math-tests: Likewise.
22729         * modules/unictype/property-non-break-tests: Likewise.
22730         * modules/unictype/property-not-a-character-tests: Likewise.
22731         * modules/unictype/property-numeric-tests: Likewise.
22732         * modules/unictype/property-other-alphabetic-tests: Likewise.
22733         * modules/unictype/property-other-default-ignorable-code-point-tests:
22734         Likewise.
22735         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22736         * modules/unictype/property-other-id-continue-tests: Likewise.
22737         * modules/unictype/property-other-id-start-tests: Likewise.
22738         * modules/unictype/property-other-lowercase-tests: Likewise.
22739         * modules/unictype/property-other-math-tests: Likewise.
22740         * modules/unictype/property-other-uppercase-tests: Likewise.
22741         * modules/unictype/property-paired-punctuation-tests: Likewise.
22742         * modules/unictype/property-paragraph-separator-tests: Likewise.
22743         * modules/unictype/property-pattern-syntax-tests: Likewise.
22744         * modules/unictype/property-pattern-white-space-tests: Likewise.
22745         * modules/unictype/property-private-use-tests: Likewise.
22746         * modules/unictype/property-punctuation-tests: Likewise.
22747         * modules/unictype/property-quotation-mark-tests: Likewise.
22748         * modules/unictype/property-radical-tests: Likewise.
22749         * modules/unictype/property-sentence-terminal-tests: Likewise.
22750         * modules/unictype/property-soft-dotted-tests: Likewise.
22751         * modules/unictype/property-space-tests: Likewise.
22752         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22753         * modules/unictype/property-test-tests: Likewise.
22754         * modules/unictype/property-titlecase-tests: Likewise.
22755         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22756         * modules/unictype/property-unified-ideograph-tests: Likewise.
22757         * modules/unictype/property-uppercase-tests: Likewise.
22758         * modules/unictype/property-variation-selector-tests: Likewise.
22759         * modules/unictype/property-white-space-tests: Likewise.
22760         * modules/unictype/property-xid-continue-tests: Likewise.
22761         * modules/unictype/property-xid-start-tests: Likewise.
22762         * modules/unictype/property-zero-width-tests: Likewise.
22763         * modules/unictype/scripts-tests: Likewise.
22764         * modules/unictype/syntax-c-ident-tests: Likewise.
22765         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22766         * modules/unictype/syntax-java-ident-tests: Likewise.
22767         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22768         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22769         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22770         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22771         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22772         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22773         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22774         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22775         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22776         * modules/uniname/uniname-tests: Likewise.
22777         * modules/uninorm/canonical-decomposition-tests: Likewise.
22778         * modules/uninorm/compat-decomposition-tests: Likewise.
22779         * modules/uninorm/composition-tests: Likewise.
22780         * modules/uninorm/decomposing-form-tests: Likewise.
22781         * modules/uninorm/decomposition-tests: Likewise.
22782         * modules/uninorm/filter-tests: Likewise.
22783         * modules/uninorm/nfc-tests: Likewise.
22784         * modules/uninorm/nfd-tests: Likewise.
22785         * modules/uninorm/nfkc-tests: Likewise.
22786         * modules/uninorm/nfkd-tests: Likewise.
22787         * modules/uninorm/u8-normcmp-tests: Likewise.
22788         * modules/uninorm/u8-normcoll-tests: Likewise.
22789         * modules/uninorm/u16-normcmp-tests: Likewise.
22790         * modules/uninorm/u16-normcoll-tests: Likewise.
22791         * modules/uninorm/u32-normcmp-tests: Likewise.
22792         * modules/uninorm/u32-normcoll-tests: Likewise.
22793         * modules/unistdio/u8-asnprintf-tests: Likewise.
22794         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22795         * modules/unistdio/u8-vasprintf-tests: Likewise.
22796         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22797         * modules/unistdio/u8-vsprintf-tests: Likewise.
22798         * modules/unistdio/u16-asnprintf-tests: Likewise.
22799         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22800         * modules/unistdio/u16-vasprintf-tests: Likewise.
22801         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22802         * modules/unistdio/u16-vsprintf-tests: Likewise.
22803         * modules/unistdio/u32-asnprintf-tests: Likewise.
22804         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22805         * modules/unistdio/u32-vasprintf-tests: Likewise.
22806         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22807         * modules/unistdio/u32-vsprintf-tests: Likewise.
22808         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22809         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22810         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22811         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22812         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22813         * modules/unistr/u8-check-tests: Likewise.
22814         * modules/unistr/u8-chr-tests: Likewise.
22815         * modules/unistr/u8-cmp-tests: Likewise.
22816         * modules/unistr/u8-cmp2-tests: Likewise.
22817         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22818         * modules/unistr/u8-cpy-tests: Likewise.
22819         * modules/unistr/u8-mblen-tests: Likewise.
22820         * modules/unistr/u8-mbsnlen-tests: Likewise.
22821         * modules/unistr/u8-mbtouc-tests: Likewise.
22822         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22823         * modules/unistr/u8-mbtoucr-tests: Likewise.
22824         * modules/unistr/u8-move-tests: Likewise.
22825         * modules/unistr/u8-next-tests: Likewise.
22826         * modules/unistr/u8-prev-tests: Likewise.
22827         * modules/unistr/u8-set-tests: Likewise.
22828         * modules/unistr/u8-stpcpy-tests: Likewise.
22829         * modules/unistr/u8-stpncpy-tests: Likewise.
22830         * modules/unistr/u8-strcat-tests: Likewise.
22831         * modules/unistr/u8-strcmp-tests: Likewise.
22832         * modules/unistr/u8-strcoll-tests: Likewise.
22833         * modules/unistr/u8-strcpy-tests: Likewise.
22834         * modules/unistr/u8-strdup-tests: Likewise.
22835         * modules/unistr/u8-strlen-tests: Likewise.
22836         * modules/unistr/u8-strmblen-tests: Likewise.
22837         * modules/unistr/u8-strmbtouc-tests: Likewise.
22838         * modules/unistr/u8-strncat-tests: Likewise.
22839         * modules/unistr/u8-strncmp-tests: Likewise.
22840         * modules/unistr/u8-strncpy-tests: Likewise.
22841         * modules/unistr/u8-strnlen-tests: Likewise.
22842         * modules/unistr/u8-to-u16-tests: Likewise.
22843         * modules/unistr/u8-to-u32-tests: Likewise.
22844         * modules/unistr/u8-uctomb-tests: Likewise.
22845         * modules/unistr/u16-check-tests: Likewise.
22846         * modules/unistr/u16-chr-tests: Likewise.
22847         * modules/unistr/u16-cmp-tests: Likewise.
22848         * modules/unistr/u16-cmp2-tests: Likewise.
22849         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22850         * modules/unistr/u16-cpy-tests: Likewise.
22851         * modules/unistr/u16-mblen-tests: Likewise.
22852         * modules/unistr/u16-mbsnlen-tests: Likewise.
22853         * modules/unistr/u16-mbtouc-tests: Likewise.
22854         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22855         * modules/unistr/u16-mbtoucr-tests: Likewise.
22856         * modules/unistr/u16-move-tests: Likewise.
22857         * modules/unistr/u16-next-tests: Likewise.
22858         * modules/unistr/u16-prev-tests: Likewise.
22859         * modules/unistr/u16-set-tests: Likewise.
22860         * modules/unistr/u16-stpcpy-tests: Likewise.
22861         * modules/unistr/u16-stpncpy-tests: Likewise.
22862         * modules/unistr/u16-strcat-tests: Likewise.
22863         * modules/unistr/u16-strcmp-tests: Likewise.
22864         * modules/unistr/u16-strcoll-tests: Likewise.
22865         * modules/unistr/u16-strcpy-tests: Likewise.
22866         * modules/unistr/u16-strdup-tests: Likewise.
22867         * modules/unistr/u16-strlen-tests: Likewise.
22868         * modules/unistr/u16-strmblen-tests: Likewise.
22869         * modules/unistr/u16-strmbtouc-tests: Likewise.
22870         * modules/unistr/u16-strncat-tests: Likewise.
22871         * modules/unistr/u16-strncmp-tests: Likewise.
22872         * modules/unistr/u16-strncpy-tests: Likewise.
22873         * modules/unistr/u16-strnlen-tests: Likewise.
22874         * modules/unistr/u16-to-u32-tests: Likewise.
22875         * modules/unistr/u16-to-u8-tests: Likewise.
22876         * modules/unistr/u16-uctomb-tests: Likewise.
22877         * modules/unistr/u32-check-tests: Likewise.
22878         * modules/unistr/u32-chr-tests: Likewise.
22879         * modules/unistr/u32-cmp-tests: Likewise.
22880         * modules/unistr/u32-cmp2-tests: Likewise.
22881         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22882         * modules/unistr/u32-cpy-tests: Likewise.
22883         * modules/unistr/u32-mblen-tests: Likewise.
22884         * modules/unistr/u32-mbsnlen-tests: Likewise.
22885         * modules/unistr/u32-mbtouc-tests: Likewise.
22886         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22887         * modules/unistr/u32-mbtoucr-tests: Likewise.
22888         * modules/unistr/u32-move-tests: Likewise.
22889         * modules/unistr/u32-next-tests: Likewise.
22890         * modules/unistr/u32-prev-tests: Likewise.
22891         * modules/unistr/u32-set-tests: Likewise.
22892         * modules/unistr/u32-stpcpy-tests: Likewise.
22893         * modules/unistr/u32-stpncpy-tests: Likewise.
22894         * modules/unistr/u32-strcat-tests: Likewise.
22895         * modules/unistr/u32-strcmp-tests: Likewise.
22896         * modules/unistr/u32-strcoll-tests: Likewise.
22897         * modules/unistr/u32-strcpy-tests: Likewise.
22898         * modules/unistr/u32-strdup-tests: Likewise.
22899         * modules/unistr/u32-strlen-tests: Likewise.
22900         * modules/unistr/u32-strmblen-tests: Likewise.
22901         * modules/unistr/u32-strmbtouc-tests: Likewise.
22902         * modules/unistr/u32-strncat-tests: Likewise.
22903         * modules/unistr/u32-strncmp-tests: Likewise.
22904         * modules/unistr/u32-strncpy-tests: Likewise.
22905         * modules/unistr/u32-strnlen-tests: Likewise.
22906         * modules/unistr/u32-to-u16-tests: Likewise.
22907         * modules/unistr/u32-to-u8-tests: Likewise.
22908         * modules/unistr/u32-uctomb-tests: Likewise.
22909         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22910         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22911         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22912         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22913         * modules/uniwidth/u8-strwidth-tests: Likewise.
22914         * modules/uniwidth/u8-width-tests: Likewise.
22915         * modules/uniwidth/u16-strwidth-tests: Likewise.
22916         * modules/uniwidth/u16-width-tests: Likewise.
22917         * modules/uniwidth/u32-strwidth-tests: Likewise.
22918         * modules/uniwidth/u32-width-tests: Likewise.
22919         * modules/uniwidth/width-tests: Likewise.
22920
22921 2010-05-18  Richard Jones  <rjones@redhat.com>
22922
22923         doc: users.txt: list hivex
22924         * users.txt: Add hivex.
22925
22926 2010-05-18  Richard Jones  <rjones@redhat.com>
22927
22928         doc: users.txt: list febootstrap
22929         * users.txt: Add febootstrap.
22930
22931 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22932
22933         bootstrap: fix an error when gnulib is not used as a git submodule
22934         * build-aux/bootstrap (gnulib_path): If its length is zero then
22935         assign "gnulib" to it.
22936         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22937
22938 2010-05-16  Bruno Haible  <bruno@clisp.org>
22939
22940         Avoid autoconf warnings about AM_ICONV.
22941         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22942         2.64.
22943
22944 2010-05-16  Bruno Haible  <bruno@clisp.org>
22945
22946         absolute-header: Make the macro usable in more situations.
22947         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22948         from gl_ABSOLUTE_HEADER.
22949         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22950
22951 2010-05-16  James Youngman  <jay@gnu.org>
22952
22953         doc: update users.txt
22954         * users.txt: Add CSSC.
22955
22956 2010-05-16  Jim Meyering  <meyering@redhat.com>
22957
22958         init.sh: fix an error in the previous change; add more comments
22959         * tests/init.sh: Compare exit code in loop against 9, not 2.
22960         Patch by Bruno Haible.
22961         Make the two tests more similar by adding an empty "then" clause.
22962         Add comments.
22963
22964         init.sh: avoid unnecessary shell re-exec
22965         * tests/init.sh: Improve the re-exec-required check to first test the
22966         current shell.  If it passes the test, do not search for a shell that
22967         does pass, and do not re-exec.  This test is particularly contorted to
22968         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22969         of $(...) evokes a syntax error and causes immediate shell exit with
22970         status 2.  Bruno Haible reported that the re-exec made it impossible
22971         to single-step through any init.sh-using script.
22972
22973 2010-05-16  Bruno Haible  <bruno@clisp.org>
22974
22975         Fix collision between gnulib's and libintl's printf replacements.
22976         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22977         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22978         (printf): When using GNU C, map the __printf__ function to rpl_printf
22979         via __asm__. When not using GNU C, define rpl_printf instead of
22980         __printf__.
22981         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22982         commit.
22983         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22984         commit.
22985         * m4/asm-underscore.m4: New file.
22986         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22987         * modules/stdio (Files): Add m4/asm-underscore.m4.
22988         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22989         Reported by Ben Pfaff.
22990
22991 2010-05-16  Bruno Haible  <bruno@clisp.org>
22992
22993         verify: Avoid skipping the test on openSUSE 11.0.
22994         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22995
22996 2010-05-13  Bruno Haible  <bruno@clisp.org>
22997
22998         Avoid useless warnings from G++.
22999         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
23000         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
23001         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23002
23003 2010-05-11  Jim Meyering  <meyering@redhat.com>
23004
23005         maint.mk: tweak preceding change
23006         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
23007         regexps tighter by anchoring at EOL, and make the new group "shy"
23008         for slightly decreased overhead.
23009
23010 2010-05-11  Eric Blake  <eblake@redhat.com>
23011
23012         maint.mk: gnulib doesn't guarantee NSIG
23013         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
23014
23015 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23016
23017         test-pwrite.c: Remove unused variable declaration.
23018         * tests/test-pwrite.c (main): Remove read_buf declaration.
23019
23020         Remove useless test-pwrite.sh file.
23021         * tests/test-pwrite.sh: Delete file.
23022         * modules/pwrite-tests: Remove references.
23023         Reported by Bruno Haible.
23024
23025 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
23026
23027         init.sh: fix a typo
23028         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
23029
23030 2010-05-10  Jim Meyering  <meyering@redhat.com>
23031
23032         maint.mk: avoid using a temporary file in the always-defined-macros check
23033         * top/maint.mk (.re-defmac): Remove rule.
23034         (gl_trap_): Remove definition.
23035         (sc_prohibit_always-defined_macros): Rewrite not to create and
23036         depend on a temporary file.  Instead, depend on GNU grep's ability
23037         to read a list of regular expressions from stdin when given "-f -".
23038
23039 2010-05-09  Bruno Haible  <bruno@clisp.org>
23040
23041         Update to GNU gettext 0.18, part 1.
23042         * m4/gettext.m4: Update to GNU gettext 0.18.
23043         * m4/intl.m4: Likewise.
23044         * m4/po.m4: Likewise.
23045         * modules/gettext (Files): Add m4/fcntl-o.m4.
23046         (configure.ac): Require gettext infrastructure from version 0.18.
23047
23048 2010-05-09  Jim Meyering  <meyering@redhat.com>
23049
23050         init.sh: enable MALLOC_PERTURB_
23051         * tests/init.sh: Enable glibc's malloc-perturbing option.
23052
23053         maint.mk: improve sc_cross_check_PATH_usage_in_tests
23054         With my recent change in init.sh from the two-line form:
23055             -#   : ${srcdir=.}
23056             -#   . "$srcdir/init.sh"; path_prepend_ .
23057             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
23058         I noticed that using the one-line form would cause this test
23059         to fail with a false-positive, or to stop working altogether,
23060         depending on whether help-version changed or all the tests did.
23061         * top/maint.mk (_hv_regex): Remove this definition.
23062         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
23063         (_hv_regex_strong): Use a stronger regex to check for conformance.
23064         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
23065         Give a separate diagnostic for lack of conforming use.
23066
23067         maint.mk: prohibit definition of symbols defined by gnulib
23068         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
23069         definition of symbols defined by gnulib.
23070
23071 2010-05-09  Bruno Haible  <bruno@clisp.org>
23072
23073         acl: Avoid test failure on Cygwin-hosted mingw.
23074         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
23075
23076 2010-05-09  Bruno Haible  <bruno@clisp.org>
23077
23078         error: Use system's fcntl function.
23079         * lib/error.c (fcntl): Undefine.
23080
23081 2010-05-09  Jim Meyering  <meyering@redhat.com>
23082
23083         verify: adjust formatting to be more consistent
23084         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
23085         argument-list '('s, and after one comma.
23086
23087 2010-05-09  Bruno Haible  <bruno@clisp.org>
23088
23089         error: More reliable output on mingw.
23090         * lib/error.c: Include <windows.h>.
23091         (is_open): New function.
23092         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
23093         defined.
23094
23095 2010-05-09  Bruno Haible  <bruno@clisp.org>
23096
23097         vasnprintf: Fix syntax errors in libintl build on mingw.
23098         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
23099         pad_ourselves and prec_ourselves after use.
23100
23101 2010-05-08  Bruno Haible  <bruno@clisp.org>
23102
23103         * lib/config.charset: Update comments for Cygwin 1.7.
23104         * lib/localcharset.c: Likewise.
23105
23106 2010-05-07  Jim Meyering  <meyering@redhat.com>
23107
23108         init.sh: improve comments
23109         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
23110         . "${srcdir=.}/init.sh"; path_prepend_ .
23111         Add a note about path_prepend_ and the alternative of using
23112         TESTS_ENVIRONMENT.
23113
23114 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23115
23116         exclude: Unescape hashed patterns in wildcard mode.
23117         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
23118         to the hash list.
23119         * tests/test-exclude8.sh: New test case.
23120         * modules/exclude-tests: Add new test.
23121
23122 2010-05-05  Eric Blake  <eblake@redhat.com>
23123
23124         verify: automate tests
23125         * modules/verify-tests: New module.
23126         * tests/test-verify.sh: New file.
23127         * tests/test-verify.c: Guard each negative test with a unique id.
23128         Also avoid warning about unused left hand of comma expressions.
23129
23130 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
23131
23132         Further improvements to verify.h, suggested by Eric Blake.
23133         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
23134         the GL_* versions, to avoid collision with OpenGL.
23135         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
23136         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
23137         than testing merely whether it's defined.
23138
23139         Modify verify.h to pacify gcc -Wredundant_decls.
23140         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
23141         These use the prefix "GL_" since they're likely to be useful elsewhere.
23142         We may need to break them out into a different .h file.
23143         (__COUNTER__): Define to 0 if the compiler doesn't support it.
23144         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
23145         of verify_function__.
23146
23147 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23148
23149         Tests for module pwrite.
23150         * modules/pwrite-tests: New file.
23151         * tests/test-pwrite.sh: New file.
23152         * tests/test-pwrite.c: New file.
23153
23154         New module pwrite.
23155         * lib/unistd.in.h (pwrite): New declaration.
23156         * lib/pwrite.c: New file, from glibc with modifications.
23157         * m4/pwrite.m4: New file.
23158         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
23159         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
23160         REPLACE_PWRITE.
23161         * modules/pwrite: New file.
23162         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
23163         REPLACE_PWRITE.
23164         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
23165         * doc/posix-functions/pwrite.texi: Mention the new module.
23166
23167 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
23168
23169         pread: Update documentation.
23170         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23171
23172 2010-05-04  Eric Blake  <eblake@redhat.com>
23173
23174         docs: update cygwin progress
23175         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23176         this bug.
23177         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23178         Added in cygwin 1.7.2.
23179         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23180         Likewise.
23181         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23182         Likewise.
23183         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23184         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23185         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23186         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23187         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23188         Mention nproc module.
23189         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23190         bug in cygwin 1.7.5 addition.
23191         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23192         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23193         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23194         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23195         1.7.5.
23196         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23197         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23198         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23199         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23200         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23201         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23202         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23203         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23204         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23205         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23206         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23207         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23208         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23209         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23210         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23211         Likewise.
23212         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23213         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23214         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23215         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23216         Likewise.
23217         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23218         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23219         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23220         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23221         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23222         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23223         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23224         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23225         Likewise.
23226         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23227         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23228         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23229         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23230         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23231         Likewise.
23232         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23233         Likewise.
23234         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23235         Likewise.
23236         * doc/glibc-functions/xdrrec_endofrecord.texi
23237         (xdrrec_endofrecord): Likewise.
23238         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23239         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23240         Likewise.
23241         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23242         Likewise.
23243
23244 2010-05-04  Jim Meyering  <meyering@redhat.com>
23245
23246         gendocs.sh: make its "-s FILE" option more useful
23247         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23248         $PACKAGE to reflect the probably-different basename of "FILE".
23249
23250 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23251
23252         bootstrap: don't ignore download_po_files failure
23253         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23254         failure.
23255
23256 2010-05-03  Jim Meyering  <meyering@redhat.com>
23257
23258         maint.mk: allow to pass options to gendocs.sh
23259         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23260         (gendocs_options_): New overridable variable.
23261
23262         gnu-web-doc-update: don't ignore configure or build failure
23263         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23264
23265         announce-gen: backslash-escape '@'s in --help output
23266         * build-aux/announce-gen: Fix syntax errors.
23267
23268         maint.mk, announce-gen: allow project-specific announcement mail headers
23269         * top/maint.mk (translation_project_): Define default.
23270         (announcement_Cc_, announcement_mail_headers_): Likewise.
23271         (announcement): Invoke announce-gen with new --mail-headers option.
23272         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23273
23274         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23275         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23276         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23277         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23278         line in the "err2" output file when running "make check" in verbose
23279         mode (i.e., with set -x enabled).
23280
23281 2010-05-03  Bruno Haible  <bruno@clisp.org>
23282
23283         wctob: Fix for weird platforms.
23284         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23285         argument value.
23286
23287 2010-05-03  Jim Meyering  <meyering@redhat.com>
23288
23289         maint.mk: prohibit unwarranted use of <strings.h>
23290         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23291         strings.h in a file that does not also use strcasecmp, strncasecmp,
23292         ffs or ffsll.
23293
23294         maint.mk: remove obsolete comments
23295         * top/maint.mk: Remove stale, commented-out rules.
23296
23297 2010-05-02  Bruno Haible  <bruno@clisp.org>
23298
23299         wcwidth: Declare also when it's aliased.
23300         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23301         macro.
23302
23303 2010-05-02  Bruno Haible  <bruno@clisp.org>
23304
23305         Fix regression from 2010-04-25.
23306         * gnulib-tool (func_modules_transitive_closure): Check the status of
23307         all modules, not only of the tests that are of the form foo-tests where
23308         foo is a module.
23309
23310 2010-05-02  Bruno Haible  <bruno@clisp.org>
23311
23312         wctob: Work around nasty Cygwin 1.7.2 bug.
23313         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23314         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23315
23316 2010-05-01  Bruno Haible  <bruno@clisp.org>
23317
23318         fpurge: Sharper test.
23319         * tests/test-fpurge.c (main): Add one more ftell check.
23320         * modules/fpurge-tests (Depends-on): Add ftell.
23321         Suggested by Eric Blake.
23322
23323 2010-05-01  Bruno Haible  <bruno@clisp.org>
23324
23325         ftello: Another test.
23326         * tests/test-ftello3.c: New file.
23327         * modules/ftello-tests (Files): Add it.
23328         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23329         MOSTLYCLEANFILES.
23330
23331         ftell: Another test.
23332         * tests/test-ftell3.c: New file.
23333         * modules/ftell-tests (Files): Add it.
23334         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23335         MOSTLYCLEANFILES.
23336
23337 2010-05-01  Bruno Haible  <bruno@clisp.org>
23338
23339         ftell, ftello: Work around Solaris bug.
23340         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23341         * lib/ftello.c: Include stdio-impl.h.
23342         (ftello): On Solaris, when _IOWRT is set, compute the result without
23343         looking at _IOREAD.
23344         * modules/ftello (Files): Add lib/stdio-impl.h.
23345         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23346         * doc/posix-functions/ftello.texi: Likewise.
23347         Reported by Eric Blake.
23348
23349 2010-05-01  Bruno Haible  <bruno@clisp.org>
23350
23351         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23352         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23353         the _IOWRT flag is also set.
23354
23355 2010-05-01  Bruno Haible  <bruno@clisp.org>
23356
23357         Fix doc about a HP-UX stdio bug.
23358         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23359         * doc/posix-functions/ftello.texi: Likewise.
23360
23361 2010-05-01  Bruno Haible  <bruno@clisp.org>
23362
23363         lseek test: Fix failure on Solaris.
23364         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23365         output.
23366
23367 2010-04-30  Jim Meyering  <meyering@redhat.com>
23368
23369         bootstrap: don't ignore failure to generate po*/Makevars
23370         * build-aux/bootstrap (with_gettext): Don't ignore failure
23371         to create po/Makevars or runtime-po/Makevars.
23372
23373 2010-04-29  Eric Blake  <eblake@redhat.com>
23374
23375         headers: relax license to LGPLv2+
23376         * modules/fcntl-h (License): Relax license.
23377         * modules/getopt-posix (License): Likewise.
23378         * modules/locale (License): Likewise.
23379         * modules/math (License): Likewise.
23380         * modules/pty (License): Likewise.
23381         * modules/sched (License): Likewise.
23382         * modules/search (License): Likewise.
23383         * modules/spawn (License): Likewise.
23384         * modules/stdarg (License): Likewise.
23385         * modules/sysexits (License): Likewise.
23386
23387 2010-04-29  Jim Meyering  <meyering@redhat.com>
23388
23389         inttypes: relax license to LGPLv2+
23390         * modules/inttypes (License): Relax license.
23391
23392 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23393
23394         * top/maint.mk (indent): Run twice to produce idempotent results.
23395
23396 2010-04-28  Bruno Haible  <bruno@clisp.org>
23397
23398         getdate: Generate getdate.c in the source directory.
23399         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23400         MOSTLYCLEANFILES.
23401         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23402
23403 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23404
23405         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23406         is not declared as a const *; avoid warnings in that case.
23407
23408 2010-04-28  Eric Blake  <eblake@redhat.com>
23409
23410         canonicalize-lgpl: avoid compiler warning
23411         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23412         declaration' / 'extraneous semicolon' warning with some compilers.
23413         Reported by Andreas Gruenbacher.
23414
23415 2010-04-28  Jim Meyering  <meyering@redhat.com>
23416
23417         init.sh: ensure a more reliable exit status when exiting via trap
23418         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23419         Inspired by patches from Dmitry V. Levin.
23420         Also trap on signal 3 (SIGQUIT).
23421
23422 2010-04-27  Bruno Haible  <bruno@clisp.org>
23423
23424         Update doc about utimes().
23425         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23426         'utimens' module.
23427         Reported by Andreas Gruenbacher <agruen@suse.de>.
23428
23429 2010-04-27  Eric Blake  <eblake@redhat.com>
23430
23431         full-read, full-write: relax license
23432         * modules/full-read (License): Drop to LGPLv2+.
23433         * modules/full-write (License): Likewise.
23434         * modules/safe-read (License): Likewise.
23435         * modules/safe-write (License): Likewise.
23436
23437         pthread: mention library for linking
23438         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23439
23440 2010-04-27  Jim Meyering  <meyering@redhat.com>
23441
23442         maint.mk: fix a bug introduced in last change
23443         * top/maint.mk (gl_assured_headers_): Now that all names are on
23444         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23445         is not anchored to end of word, it should be adequate.
23446
23447         maint.mk: avoid side-effect in latest syntax-check
23448         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23449         to run commands via $(shell...), and hence to incur cost only when
23450         the new rule is actually run.
23451
23452         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23453         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23454         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23455         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23456         (gl_assured_headers_, az_, AZ_): Define.
23457         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23458
23459 2010-04-26  Jim Meyering  <jim@meyering.net>
23460             Bruno Haible  <bruno@clisp.org>
23461
23462         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23463         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23464         Prompted by an exchange with Gilles Espinasse.
23465
23466 2010-04-26  Jim Meyering  <meyering@redhat.com>
23467
23468         git-version-gen: aesthetic tweak
23469         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23470         so that the command remains on a single line.
23471
23472 2010-04-26  Eric Blake  <eblake@redhat.com>
23473
23474         git-version-gen: allow use on EBCDIC hosts
23475         * build-aux/git-version-gen (dirty): Use literal rather than tying
23476         ourselves to ascii.
23477         Reported by Steve Goetze.
23478
23479 2010-04-25  Bruno Haible  <bruno@clisp.org>
23480
23481         netdb: Add support for GNULIB_POSIXCHECK.
23482         * lib/netdb.in.h: Include warn-on-use.h.
23483         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23484         functions are used when GNULIB_POSIXCHECK is defined and the
23485         getaddrinfo module is not in use.
23486         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23487         freeaddrinfo, gai_strerror, getnameinfo are declared.
23488         * modules/netdb (Depends-on): Add warn-on-use.
23489         (Makefile.am): Include warn-on-use.h in netdb.h.
23490
23491 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23492
23493         build: avoid "make check" failure without .git/ directory
23494         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23495         there is no .git/ directory.
23496
23497 2010-04-25  Bruno Haible  <bruno@clisp.org>
23498
23499         ptsname: Fix misuse of ttyname_r.
23500         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23501         of errno.
23502
23503 2010-04-25  Bruno Haible  <bruno@clisp.org>
23504
23505         ttyname_r: Make it work on Solaris 10.
23506         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23507         if the system function has the POSIX declaration. Test whether the
23508         function fails if the buffer is less than 128 bytes large.
23509         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23510         system's ttyname_r function. Provide a reasonably large buffer.
23511         * modules/ttyname_r (Depends-on): Add extensions.
23512         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23513
23514 2010-04-25  Bruno Haible  <bruno@clisp.org>
23515
23516         Use the 'extensions' module for some more functions on Solaris.
23517         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23518         module.
23519         * doc/posix-functions/ctime_r.texi: Likewise.
23520         * doc/posix-functions/getgrgid_r.texi: Likewise.
23521         * doc/posix-functions/getgrnam_r.texi: Likewise.
23522         * doc/posix-functions/getpwnam_r.texi: Likewise.
23523         * doc/posix-functions/getpwuid_r.texi: Likewise.
23524         * doc/posix-functions/readdir_r.texi: Likewise.
23525         * doc/posix-functions/sigwait.texi: Likewise.
23526         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23527         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23528
23529 2010-04-25  Bruno Haible  <bruno@clisp.org>
23530
23531         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23532         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23533         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23534         * lib/ttyname_r.c: Include <limits.h>.
23535         (ttyname_r): Define using the system's ttyname_r function, if it exists
23536         and not on Solaris.
23537         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23538         set.
23539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23540         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23541         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23542         Reported by Simon Josefsson.
23543
23544 2010-04-25  Bruno Haible  <bruno@clisp.org>
23545
23546         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23547         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23548         * doc/posix-functions/ctime_r.texi: Likewise.
23549         * doc/posix-functions/getgrgid_r.texi: Likewise.
23550         * doc/posix-functions/getgrnam_r.texi: Likewise.
23551         * doc/posix-functions/getlogin_r.texi: Likewise.
23552         * doc/posix-functions/getpwnam_r.texi: Likewise.
23553         * doc/posix-functions/getpwuid_r.texi: Likewise.
23554         * doc/posix-functions/readdir_r.texi: Likewise.
23555         * doc/posix-functions/sigwait.texi: Likewise.
23556         * doc/posix-functions/ttyname_r.texi: Likewise.
23557         Reported by Simon Josefsson.
23558
23559 2010-04-25  Bruno Haible  <bruno@clisp.org>
23560
23561         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23562         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23563         also to --create-testdir.
23564         (func_acceptable): Don't consider the status of *-tests modules here.
23565         (func_modules_transitive_closure): Consider it here, before including a
23566         test module.
23567         (func_import, func_create_testdir): Set inc_all_direct_tests,
23568         inc_all_indirect_tests.
23569         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23570         --create-testdir and --create-megatestdir.
23571
23572 2010-04-25  Bruno Haible  <bruno@clisp.org>
23573
23574         gnulib-tool: Add --without-*-tests options.
23575         * gnulib-tool (func_usage): Document the --without-*-tests options.
23576         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23577         excl_unportable_tests): New variables.
23578         Fail if they are specified with --import or --update.
23579         (func_acceptable): Respect the excl_*_tests variables.
23580         (func_import): Set the excl_*_tests variables to empty.
23581
23582 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23583             Bruno Haible  <bruno@clisp.org>
23584
23585         Work around a MacOS X 10.4 bug with openpty.
23586         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23587         * tests/test-openpty.c (main): Close the master side explicitly.
23588
23589 2010-04-25  Bruno Haible  <bruno@clisp.org>
23590
23591         strnlen: Fix a C++ test error on MacOS X and Solaris.
23592         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23593         the function is not declared.
23594         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23595         Simon Josefsson.
23596
23597 2010-04-24  Bruno Haible  <bruno@clisp.org>
23598
23599         Avoid a gcc warning.
23600         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23601         of correct type for %08lx directive.
23602         Reported by Eric Blake.
23603
23604 2010-04-24  Bruno Haible  <bruno@clisp.org>
23605
23606         vasnprintf: Correct errno value in case of out-of-memory.
23607         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23608         or sprintf. Use the errno value from SNPRINTF or sprintf.
23609         Reported by Ian Beckwith <ianb@erislabs.net>.
23610
23611 2010-04-24  Bruno Haible  <bruno@clisp.org>
23612
23613         ansi-c++-opt: Find correct compiler when cross-compiling.
23614         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23615         AC_CHECK_PROGS.
23616         Reported by Simon Josefsson.
23617
23618 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23619
23620         vc-list-files: Add support for subversion
23621         * build-aux/vc-list-files: Use "svn list" to generate the list of
23622         files controlled by subversion.
23623
23624 2010-04-23  Jim Meyering  <meyering@redhat.com>
23625
23626         vc-list-files tests: convert to use init.sh
23627         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23628         path_prepend_.
23629         Use Exit, not exit.
23630         Use skip_ rather than open coding it.
23631         Remove trap set-up and compare definitions.
23632         * tests/test-vc-list-files-git.sh: Likewise.
23633         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23634
23635 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23636
23637         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23638         backup files.
23639
23640 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23641
23642         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23643
23644 2010-04-20  Eric Blake  <eblake@redhat.com>
23645
23646         tests: be robust to ignored SIGPIPE
23647         * tests/test-select-in.sh: Consume all output.
23648         * tests/test-lseek.sh: Check correct exit status, while avoiding
23649         EPIPE.
23650
23651 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23652             Bruno Haible  <bruno@clisp.org>
23653
23654         visibility: Don't use -fvisibility if it leads to a warning.
23655         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23656         yes, don't pretend that visibility works if it leads to a warning.
23657         Reported by Mike Gran <spk121@yahoo.com>.
23658
23659 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23660
23661         * build-aux/bootstrap: Use "git -h" for testing for supported options
23662         instead of "git --help".  The short-form option only shows a summary,
23663         and doesn't layout the full man page.  Grep for the full option name
23664         in the summary, too.
23665
23666 2010-04-19  Bruno Haible  <bruno@clisp.org>
23667
23668         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23669         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23670         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23671         mention of RELOCATABLE_STRIP.
23672         Reported by Sylvain Beucler <beuc@beuc.net>.
23673
23674 2010-04-19  Bruno Haible  <bruno@clisp.org>
23675
23676         * lib/diffseq.h: Fix typo in comment.
23677         Reported by Eric Blake.
23678
23679 2010-04-19  Bruno Haible  <bruno@clisp.org>
23680
23681         ioctl: Move autoconf macro to a .m4 file.
23682         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23683         * modules/ioctl (Files): Add it.
23684         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23685         Reported by Ian Beckwith <ianb@erislabs.net>.
23686
23687 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23688             Bruno Haible  <bruno@clisp.org>
23689
23690         diffseq: Accommodate use-case with abstract arrays.
23691         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23692         is not defined.
23693         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23694         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23695
23696 2010-04-18  Bruno Haible  <bruno@clisp.org>
23697
23698         * doc/posix-headers/stdbool.texi: More precise wording.
23699
23700 2010-04-17  Jim Meyering  <meyering@redhat.com>
23701
23702         maint.mk: use gnu-style indentation in an embedded perl script
23703         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23704         Rename variable: s/two/last_two_bytes/
23705
23706 2010-04-16  Eric Blake  <eblake@redhat.com>
23707
23708         test-stdbool: skip test that fails with Solaris CC
23709         * tests/test-stdbool.c (f): Skip test that causes compilation
23710         error under buggy C++ compiler.
23711         * lib/stdbool.in.h: Document the limitation.
23712         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23713
23714         setenv: allow compilation with C++
23715         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23716         register keyword.
23717
23718         stdint: allow test to pass with C++
23719         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23720
23721         getopt: allow compilation with C++
23722         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23723         struct.
23724         * lib/getopt.c (_getopt_internal_r): Use correct type.
23725         Reported by Dagobert Michelson, via Joel E. Denny.
23726
23727 2010-04-16  Bruno Haible  <bruno@clisp.org>
23728
23729         Override netdb.h always.
23730         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23731         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23732         Reported by Ludovic Courtès <ludo@gnu.org>.
23733
23734 2010-04-15  Bruno Haible  <bruno@clisp.org>
23735
23736         openpty: Fix mistake from 2010-03-21.
23737         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23738         Reported by Simon Josefsson.
23739
23740 2010-04-15  Eric Blake  <eblake@redhat.com>
23741
23742         test-forkpty: fix expected signature
23743         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23744         Reported by Simon Josefsson.
23745
23746 2010-04-15  Jim Meyering  <meyering@redhat.com>
23747
23748         maint.mk: texinfo_suffix_re_: correct the default regexp
23749         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23750
23751         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23752         make it configurable via texinfo_suffix_re_.
23753
23754 2010-04-14  Eric Blake  <eblake@redhat.com>
23755
23756         strtok_r: relax license to LGPLv2+
23757         * modules/strtok_r (License): Relax license.
23758         Reported by Matthias Bolte.
23759
23760 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23761
23762         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23763         version 1.4.4 by default instead of requiring the libgcrypt
23764         version used during build.  This makes it possible to use the
23765         application with older but still binary compatible libgcrypt
23766         versions.
23767
23768 2010-04-13  Eric Blake  <eblake@redhat.com>
23769
23770         getopt-gnu: match recent glibc fixes and posix ruling
23771         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23772         '+' handling, when requesting extensions.
23773         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23774         'W;' handling.
23775         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23776         * doc/posix-functions/getopt.texi (getopt): Document this.
23777         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23778         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23779         Likewise.
23780
23781         getopt: merge bug fixes from glibc
23782         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23783         diagnostics.  Honor '+:' correctly.  Reject ';'.
23784
23785         getopt-posix: detect MacOS bug
23786         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23787         optind when missing a required argument.
23788         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23789         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23790         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23791         Likewise.
23792
23793         getopt-posix: avoid spurious failure on Solaris
23794         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23795         an indicator that setting optind=1 is sufficient for reset.
23796
23797         getopt-posix: avoid spurious failure on FreeBSD
23798         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23799         in POSIX mode, since the m4 test uses it.
23800
23801         gnulib-tool: silence warning on BSD sh
23802         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23803
23804 2010-04-13  Jim Meyering  <meyering@redhat.com>
23805
23806         doc: users.txt: GNU patch now uses gnulib
23807         * users.txt: Add patch.
23808
23809 2010-04-12  Jim Meyering  <meyering@redhat.com>
23810
23811         maint.mk: generate more concise timing data for syntax-check rules
23812         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23813         " done" from each line that reports a syntax-check test duration.
23814
23815 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23816
23817         git-version-gen: use "git update-index..." rather than "git status"
23818         * build-aux/git-version-gen: Use git update-index --refresh, not
23819         "git status".  With some versions of git, "git status" would fail
23820         to update the index and result in an unwarranted "-dirty" suffix.
23821
23822 2010-04-11  Jim Meyering  <meyering@redhat.com>
23823
23824         openat: correct formatting (no semantic change)
23825         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23826         Suggested by Bruno Haible.
23827
23828 2010-04-11  Bruno Haible  <bruno@clisp.org>
23829
23830         Stricter declaration checking in testdirs.
23831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23832         If for_tests is true, augment AM_CPPFLAGS to define
23833         GNULIB_STRICT_CHECKING.
23834         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23835         GNULIB_STRICT_CHECKING is defined, verify that the function is
23836         declared.
23837
23838 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23839             Bruno Haible  <bruno@clisp.org>
23840
23841         libunistring: Improve configure output.
23842         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23843         Don't say "consider installing GNU libunistring" when checking again
23844         with libiconv.
23845
23846 2010-04-11  Bruno Haible  <bruno@clisp.org>
23847
23848         libunistring: Correct value of $LTLIBUNISTRING.
23849         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23850         correct the value of $LTLIBUNISTRING.
23851
23852 2010-04-11  Bruno Haible  <bruno@clisp.org>
23853
23854         havelib: Add static libraries to LIBS in the right order.
23855         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23856         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23857
23858 2010-04-11  Bruno Haible  <bruno@clisp.org>
23859
23860         libunistring: Detect libunistring also when it depends on libiconv.
23861         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23862         the second AC_LIB_HAVE_LINKFLAGS invocation.
23863
23864 2010-04-11  James Youngman  <jay@gnu.org>
23865
23866         close-stream: declare local scalars to be "const"
23867         * lib/close-stream.c (close_stream): Make boolean variables const
23868         to document the fact that we set but do not change them.
23869
23870 2010-04-11  Bruno Haible  <bruno@clisp.org>
23871
23872         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23873
23874 2010-04-11  Jim Meyering  <meyering@redhat.com>
23875
23876         maint.mk: don't include dist-check.mk
23877         * top/maint.mk: Remove bogus include directive.
23878
23879         maint.mk: improve empty-line-at-EOF check
23880         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23881         solution, rather than tail+Perl-based one.  The latter would read
23882         a few kilobytes from the end of each file, and did not handle empty
23883         files properly.
23884
23885         maint.mk: print the elapsed time for each syntax-check rule
23886         * top/maint.mk (sc_m_rules_): Save start time in a file.
23887         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23888         (local-check): Interpose the .z rules
23889
23890 2010-04-11  Jim Meyering  <meyering@redhat.com>
23891
23892         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23893         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23894         empty file with one that ends in an empty line.
23895
23896 2010-04-10  Bruno Haible  <bruno@clisp.org>
23897
23898         mkdir: Make it work on mingw64.
23899         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23900         * lib/mkdir.c: Update comment.
23901         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
23902
23903 2010-04-10  Bruno Haible  <bruno@clisp.org>
23904
23905         Don't override improved macro from newer autoconf.
23906         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23907         autoconf >= 2.62.
23908         Reported by Joel E. Denny <jdenny@clemson.edu>.
23909
23910 2010-04-10  Jim Meyering  <meyering@redhat.com>
23911
23912         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23913         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23914
23915         maint.mk: correct a diagnostic
23916         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23917         in diagnostic; now use $prohibit.
23918
23919 2010-04-10  Bruno Haible  <address@hidden>
23920
23921         fchownat: Fix a C++ test error on Solaris 8.
23922         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23923         the function does not exist.
23924
23925 2010-04-10  Bruno Haible  <bruno@clisp.org>
23926
23927         vasnprintf: Add more tests.
23928         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23929         (test_function): Test converting an invalid wide string.
23930
23931         vasnprintf: Correct handling of unconvertible wide string arguments.
23932         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23933         VASNPRINTF.
23934         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23935         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23936         smaller than the expected maximum need for the directive. Set errno to
23937         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23938         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23939         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23940         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23941         * modules/vasnprintf (Files): Add m4/printf.m4.
23942         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23943
23944 2010-04-10  Bruno Haible  <bruno@clisp.org>
23945
23946         vasnprintf: Fix crash in %ls directive.
23947         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23948         string is passed as argument to %ls, with no precision and no width.
23949         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23950
23951 2010-04-10  Bruno Haible  <bruno@clisp.org>
23952
23953         vasnprintf: Fix multiple test failures on mingw.
23954         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23955         _snprintf, or snwprintf, not _snwprintf.
23956
23957 2010-04-10  Bruno Haible  <bruno@clisp.org>
23958
23959         write: Fix a C++ test error on mingw.
23960         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23961
23962 2010-04-10  Bruno Haible  <bruno@clisp.org>
23963
23964         vasnprintf test: Reduce code duplication.
23965         * tests/test-vasnprintf.c (test_function): New function, extracted from
23966         test_vasnprintf.
23967         (test_vasnprintf, test_asnprintf): Invoke it.
23968
23969 2010-04-10  Bruno Haible  <bruno@clisp.org>
23970
23971         strnlen: Fix warning in C++ mode on MacOS X.
23972         * lib/string.in.h (strnlen): Use the modern idiom.
23973         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23974         defining strnlen as a macro already in <config.h>.
23975         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23976         REPLACE_STRNLEN.
23977         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23978         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23979
23980 2010-04-08  James Youngman  <jay@gnu.org>
23981
23982         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23983         the example.
23984
23985 2010-04-09  Jim Meyering  <meyering@redhat.com>
23986
23987         maint.mk: print better diagnostic when there is no $(_hv_file)
23988         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23989         announce that when $(_hv_file) (aka help-version) does not exist.
23990
23991         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23992         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23993         not try to interpret its random input bytes.  Jarno Rajahalme reported
23994         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23995         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23996         (mktempd_): Likewise, just in case.
23997
23998         ftruncate: add two years to projected module removal date: 2012
23999         * m4/ftruncate.m4: Adjust comments.
24000
24001         ftruncate: mark module as obsolete; even MinGW provides it, now
24002         * modules/ftruncate (Status): Obsolete.
24003         (Notice): Say that.
24004         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
24005         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
24006
24007 2010-04-08  Bruno Haible  <bruno@clisp.org>
24008
24009         Fix side effects from tests-related modules.
24010         * modules/dprintf-posix (Comment): New section.
24011         * modules/fprintf-posix (Comment): Likewise.
24012         * modules/obstack-printf-posix (Comment): Likewise.
24013         * modules/printf-posix (Comment): Likewise.
24014         * modules/snprintf-posix (Comment): Likewise.
24015         * modules/sprintf-posix (Comment): Likewise.
24016         * modules/vasnprintf-posix (Comment): Likewise.
24017         * modules/vasprintf-posix (Comment): Likewise.
24018         * modules/vdprintf-posix (Comment): Likewise.
24019         * modules/vfprintf-posix (Comment): Likewise.
24020         * modules/vprintf-posix (Comment): Likewise.
24021         * modules/vsnprintf-posix (Comment): Likewise.
24022         * modules/vsprintf-posix (Comment): Likewise.
24023         * modules/xprintf-posix (Comment): Likewise.
24024         * modules/xvasprintf-posix (Comment): Likewise.
24025         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
24026         * modules/floorf-tests (Depends-on): Likewise.
24027         * modules/round-tests (Depends-on): Likewise.
24028         * modules/roundf-tests (Depends-on): Likewise.
24029         * modules/trunc-tests (Depends-on): Likewise.
24030         * modules/truncf-tests (Depends-on): Likewise.
24031         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
24032         'fprintf-posix' module is not present.
24033         * tests/test-floorf2.c (check): Likewise.
24034         * tests/test-trunc2.c (check): Likewise.
24035         * tests/test-truncf2.c (check): Likewise.
24036         * tests/test-round2.c (equal): Likewise.
24037         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24038
24039 2010-04-07  Karl Berry  <karl@gnu.org>
24040
24041         * config/srclist.txt,
24042         * config/srclistvars.sh,
24043         * config/srclist-update: doc fixes.
24044
24045 2010-04-07  Jim Meyering  <meyering@redhat.com>
24046
24047         maint.mk: add a PATH crosschecking syntax-check rule
24048         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
24049         Useful if you use a test like the one in help-version (coreutils,
24050         diffutils, grep, gzip) that ensures $(VERSION) matches what is
24051         printed by prog --version.
24052
24053 2010-04-06  Bruno Haible  <bruno@clisp.org>
24054
24055         Fix link error on mingw.
24056         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
24057         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
24058
24059 2010-04-06  Bruno Haible  <bruno@clisp.org>
24060
24061         Assume rmdir exists.
24062         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
24063
24064 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
24065
24066         doc: update users.txt
24067         * users.txt: Add gcal.
24068
24069 2010-04-06  Jim Meyering  <meyering@redhat.com>
24070
24071         init.sh: simply unset TMPDIR rather than risking env -i
24072         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
24073         although it probably works fine on all Unix-based systems, some
24074         systems (Cygwin?) cannot tolerate a totally cleared environment.
24075         Suggestion from Eric Blake.
24076
24077 2010-04-06  Jim Meyering  <meyering@redhat.com>
24078
24079         init.sh: portability fix: use env's POSIX-specified -i option not -u
24080         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
24081         than unportable env -u.  Solaris 5.11's env lacks support for -u.
24082
24083 2010-04-05  Bruno Haible  <bruno@clisp.org>
24084
24085         btowc: Work around Cygwin 1.7.2 bug.
24086         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
24087         does not map NUL to 0.
24088         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
24089
24090 2010-04-05  Bruno Haible  <bruno@clisp.org>
24091
24092         Make the multithread modules work on Cygwin 1.7.2.
24093         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
24094         imported symbols can be declared weak, so that it returns "no" on
24095         Cygwin 1.7.2.
24096
24097 2010-04-05  Bruno Haible  <bruno@clisp.org>
24098
24099         Use the module 'strncat'.
24100         * modules/unistr/u8-strncat (Depends-on): Add strncat.
24101
24102         Tests for module 'strncat'.
24103         * modules/strncat-tests: New file.
24104         * tests/test-strncat.c: New file.
24105
24106         New module 'strncat'.
24107         * lib/string.in.h (strncat): New declaration.
24108         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
24109         * m4/strncat.m4: New file, based on m4/memchr.m4.
24110         * modules/strncat: New file.
24111         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
24112         is declared.
24113         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
24114         REPLACE_STRNCAT.
24115         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
24116         REPLACE_STRNCAT.
24117         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
24118         module.
24119         * tests/test-string-c++.cc: Check signature of strncat.
24120
24121 2010-04-05  Jim Meyering  <meyering@redhat.com>
24122
24123         xstrtoumax-tests: convert to use init.sh
24124         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
24125         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24126         Use Exit, not exit.
24127         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24128
24129         xstrtoimax-tests: convert to use init.sh
24130         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
24131         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24132         Use Exit, not exit.
24133         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24134
24135 2010-04-05  Bruno Haible  <bruno@clisp.org>
24136
24137         sys_socket: Avoid #define replacements in C++ mode.
24138         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
24139         warning to the function if possible, rather than #defining the symbol
24140         to a dysfunctional alias.
24141
24142 2010-04-05  Bruno Haible  <bruno@clisp.org>
24143
24144         fseeko: Fix C++ test error on mingw.
24145         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
24146         gl_FUNC_FSEEKO.
24147         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
24148         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
24149         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
24150         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
24151
24152 2010-04-05  Bruno Haible  <bruno@clisp.org>
24153
24154         duplocale: Improve test output.
24155         * tests/test-duplocale.c (main): Print reason for skipped test.
24156
24157 2010-04-05  Bruno Haible  <bruno@clisp.org>
24158
24159         Assume rmdir exists.
24160         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
24161         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
24162
24163 2010-04-05  Bruno Haible  <bruno@clisp.org>
24164
24165         Fix link error on Solaris 8 with cc.
24166         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
24167
24168 2010-04-05  Bruno Haible  <bruno@clisp.org>
24169
24170         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24171         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24172
24173 2010-04-05  Bruno Haible  <bruno@clisp.org>
24174
24175         vasprintf: Update documentation.
24176         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24177
24178 2010-04-05  Bruno Haible  <bruno@clisp.org>
24179
24180         ptsname: Improve test.
24181         * tests/test-ptsname.c (main): Also try the various master names of BSD
24182         systems.
24183
24184 2010-04-05  Bruno Haible  <bruno@clisp.org>
24185
24186         memchr: Avoid a possible C++ test error.
24187         * lib/string.in.h (memchr): Provide declaration if function is missing.
24188         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24189         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24190         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24191         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24192
24193 2010-04-05  Bruno Haible  <bruno@clisp.org>
24194
24195         strtok_r: Improve idiom.
24196         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24197         AC_LIBOBJ is used.
24198
24199 2010-04-05  Bruno Haible  <bruno@clisp.org>
24200
24201         strdup: Improve idiom.
24202         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24203         AC_LIBOBJ is used.
24204         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24205         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24206         when AC_LIBOBJ is used.
24207
24208 2010-04-05  Bruno Haible  <bruno@clisp.org>
24209
24210         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24211         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24212         don't set REPLACE_MBSINIT to 1.
24213         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24214         don't set REPLACE_MBRTOWC to 1.
24215         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24216         exist, don't set REPLACE_MBSRTOWCS to 1.
24217         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24218         exist, don't set REPLACE_MBSNRTOWCS to 1.
24219         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24220         don't set REPLACE_WCRTOMB to 1.
24221         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24222         exist, don't set REPLACE_WCSRTOMBS to 1.
24223         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24224         exist, don't set REPLACE_WCSNRTOMBS to 1.
24225
24226 2010-04-05  Bruno Haible  <bruno@clisp.org>
24227
24228         ldexpl: Improve idiom.
24229         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24230         make sure to set HAVE_DECL_LDEXPL to 0.
24231
24232 2010-04-05  Jim Meyering  <meyering@redhat.com>
24233
24234         xstrtol-tests: convert to use init.sh
24235         * modules/xstrtol-tests (Files): Add tests/init.sh.
24236         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24237         Use Exit, not exit.
24238         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24239
24240         atexit-tests: convert to use init.sh
24241         * modules/atexit-tests (Files): Add tests/init.sh.
24242         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24243         Use Exit, not exit.
24244         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24245
24246         init.sh: fix typo
24247         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24248
24249         init.sh: make it easier for a test script to write to the tty, ...
24250         when using automake's parallel-tests mode.
24251         * tests/init.sh (stderr_fileno_): Define overridable variable.
24252         (warn_): New function, to use it.
24253         (fail_, skip_, framework_failure_): Use warn_.
24254
24255 2010-04-04  Bruno Haible  <bruno@clisp.org>
24256
24257         btowc: Avoid warning.
24258         * lib/btowc.c: Include <stdlib.h>.
24259         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24260
24261 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24262             Bruno Haible  <bruno@clisp.org>
24263
24264         wchar: Port to NetBSD 1.5.
24265         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24266         * lib/wctype.in.h (WEOF): Likewise.
24267
24268 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24269             Bruno Haible  <bruno@clisp.org>
24270
24271         Port extended stdio to NetBSD 1.5.
24272         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24273         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24274         older.
24275
24276 2010-04-04  Bruno Haible  <bruno@clisp.org>
24277
24278         string: Remove unused substitution.
24279         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24280         HAVE_DECL_STRERROR.
24281         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24282
24283 2010-04-04  Bruno Haible  <bruno@clisp.org>
24284
24285         strtod: Avoid a possible C++ test error.
24286         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24287         set REPLACE_STRTOD.
24288
24289 2010-04-04  Bruno Haible  <bruno@clisp.org>
24290
24291         strerror: Update documentation.
24292         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24293
24294 2010-04-04  Bruno Haible  <bruno@clisp.org>
24295
24296         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24297         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24298         _GL_CXXALIAS_SYS_CAST.
24299
24300 2010-04-04  Bruno Haible  <bruno@clisp.org>
24301
24302         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24303         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24304         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24305         REPLACE_FREXPL to 1.
24306         * doc/posix-functions/frexpl.texi: Update documentation.
24307
24308 2010-04-04  Bruno Haible  <bruno@clisp.org>
24309
24310         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24311         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24312
24313 2010-04-04  Bruno Haible  <bruno@clisp.org>
24314
24315         Implement nanosleep for native Windows.
24316         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24317
24318 2010-04-04  Bruno Haible  <bruno@clisp.org>
24319
24320         math: Fix some C++ test errors on Solaris 8.
24321         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24322
24323 2010-04-04  Bruno Haible  <bruno@clisp.org>
24324
24325         math: Fix some C++ test errors on Cygwin.
24326         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24327         truncl): Provide declaration if the system does not have it.
24328         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24329         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24330         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24331         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24332         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24333         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24334         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24335         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24336         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24337         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24338         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24339         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24340         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24341         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24342         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24343         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24345         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24346         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24347         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24348         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24349         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24350
24351 2010-04-04  Bruno Haible  <bruno@clisp.org>
24352
24353         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24354         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24355         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24356         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24357         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24358         * m4/isinf.m4 (gl_ISINF): Likewise.
24359         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24360
24361 2010-04-04  Bruno Haible  <bruno@clisp.org>
24362
24363         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24364         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24365
24366 2010-04-04  Bruno Haible  <bruno@clisp.org>
24367
24368         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24369         * modules/tmpfile (configure.ac): Update.
24370
24371         tmpfile: Fix C++ test error on mingw.
24372         * lib/stdio.in.h (tmpfile): New declaration.
24373         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24374         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24375         * modules/tmpfile (Depends-on): Add stdio.
24376         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24377         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24378         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24379         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24380         REPLACE_TMPFILE.
24381         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24382
24383 2010-04-04  Bruno Haible  <bruno@clisp.org>
24384
24385         ioctl: Fix C++ test error on mingw.
24386         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24387         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24388         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24389
24390 2010-04-03  Bruno Haible  <bruno@clisp.org>
24391
24392         wcwidth: Fix C++ test error on mingw.
24393         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24394         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24395         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24396
24397 2010-04-03  Bruno Haible  <bruno@clisp.org>
24398
24399         nanosleep: Fix C++ test error on mingw.
24400         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24401         * lib/time.in.h (nanosleep): Use modern idiom.
24402         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24403         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24404         REPLACE_NANOSLEEP to 1.
24405         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24406         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24407
24408 2010-04-03  Bruno Haible  <bruno@clisp.org>
24409
24410         strptime: Fix C++ test error on mingw.
24411         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24412         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24413         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24414         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24415         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24416         not REPLACE_STRPTIME.
24417         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24418         REPLACE_STRPTIME.
24419
24420 2010-04-03  Bruno Haible  <bruno@clisp.org>
24421
24422         timegm: Fix C++ test error on mingw.
24423         * lib/time.in.h (timegm): Use modern idiom.
24424         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24425         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24426         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24427         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24428
24429 2010-04-03  Bruno Haible  <bruno@clisp.org>
24430
24431         timegm: Assume declaration if function exists.
24432         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24433         if it exists. Don't clobber ac_cv_func_timegm.
24434
24435 2010-04-03  Bruno Haible  <bruno@clisp.org>
24436
24437         time_r: Fix C++ test error on mingw.
24438         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24439         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24440         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24441         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24442         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24443
24444 2010-04-03  Bruno Haible  <bruno@clisp.org>
24445
24446         time_r: Minor updates.
24447         * modules/time_r (Description): Mention the provided functions.
24448         * lib/time_r.c: Don't include <string.h>.
24449         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24450         * doc/posix-functions/localtime_r.texi: Likewise.
24451
24452 2010-04-03  Bruno Haible  <bruno@clisp.org>
24453
24454         time: Fix regression introduced on 2010-03-08.
24455         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24456         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24457
24458 2010-04-03  Jim Meyering  <meyering@redhat.com>
24459
24460         maint.mk: don't silently disable project-specific syntax-check rules
24461         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24462         that they need to convert their project-specific syntax-check rules
24463         to use the new _sc_search_regexp.
24464
24465 2010-04-03  Bruno Haible  <bruno@clisp.org>
24466
24467         fchdir: Fix regression introduced on 2010-03-08.
24468         * lib/unistd.in.h (fchdir): Fix declaration.
24469         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24471         REPLACE_FCHDIR.
24472         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24473         REPLACE_FCHDIR.
24474
24475 2010-04-03  Bruno Haible  <bruno@clisp.org>
24476
24477         getpagesize: Fix C++ test error on mingw.
24478         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24479         system does not declare the function.
24480         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24481         declared.
24482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24483         HAVE_DECL_GETPAGESIZE.
24484         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24485
24486 2010-04-03  Bruno Haible  <bruno@clisp.org>
24487
24488         stdio: Make C++ tests work on mingw.
24489         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24490         does not declare the function.
24491
24492 2010-04-03  Bruno Haible  <bruno@clisp.org>
24493
24494         ftello: Fix C++ test error on mingw.
24495         * lib/stdio.in.h (ftello): Use modern idiom.
24496         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24497         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24498         is missing and that it needs to be replaced.
24499         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24500         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24501         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24502
24503 2010-04-03  Bruno Haible  <bruno@clisp.org>
24504
24505         fseeko: Fix C++ test error on mingw.
24506         * lib/stdio.in.h (fseeko): Use modern idiom.
24507         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24508         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24509         is missing and that it needs to be replaced.
24510         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24512         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24513
24514 2010-04-03  Bruno Haible  <bruno@clisp.org>
24515
24516         mkstemp: Fix C++ test error on mingw.
24517         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24518         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24519         function is missing and that it needs to be replaced.
24520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24521         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24522
24523 2010-04-03  Bruno Haible  <bruno@clisp.org>
24524
24525         stpncpy: Fix C++ test error on mingw.
24526         * lib/string.in.h (stpncpy): Use modern idiom.
24527         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24528         function is missing and that it needs to be replaced.
24529         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24530         REPLACE_STPNCPY.
24531         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24532
24533 2010-04-03  Bruno Haible  <bruno@clisp.org>
24534
24535         sys_stat: Fix C++ test error on mingw.
24536         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24537         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24538
24539 2010-04-03  Bruno Haible  <bruno@clisp.org>
24540
24541         pty: Update doc.
24542         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24543
24544 2010-04-03  Bruno Haible  <bruno@clisp.org>
24545
24546         unistd: Fix C++ test error on mingw.
24547         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24548
24549 2010-04-03  Bruno Haible  <bruno@clisp.org>
24550
24551         Update doc regarding mingw.
24552         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24553         * doc/glibc-functions/login_tty.texi: Likewise.
24554         * doc/glibc-functions/forkpty.texi: Likewise.
24555
24556 2010-04-03  Bruno Haible  <bruno@clisp.org>
24557
24558         stdlib: Avoid compilation failure of c-strtold on mingw.
24559         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24560
24561 2010-04-03  Bruno Haible  <bruno@clisp.org>
24562
24563         locale: Make C++ tests work on Cygwin and mingw.
24564         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24565         cannot provide the function.
24566         Reported by Simon Josefsson.
24567
24568 2010-04-03  Bruno Haible  <bruno@clisp.org>
24569
24570         localename: Port to MacOS X 10.6.
24571         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24572         memory layout of the locales in MacOS X 10.6 as well.
24573         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24574
24575 2010-04-02  Bruno Haible  <bruno@clisp.org>
24576
24577         gnulib-tool: Ensure that long-running tests are executed last.
24578         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24579         running tests after the one for the other tests.
24580
24581 2010-04-02  Bruno Haible  <bruno@clisp.org>
24582
24583         gnulib-tool: Ensure the tests in the main directory are executed first.
24584         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24585         start with the current directory.
24586
24587 2010-04-02  Bruno Haible  <bruno@clisp.org>
24588
24589         Tests for module 'havelib', moved here from GNU gettext.
24590         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24591         modifications.
24592         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24593         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24594         with modifications.
24595         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24596         modifications.
24597         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24598         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24599         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24600         with modifications.
24601         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24602         with modifications.
24603         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24604         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24605         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24606         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24607         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24608         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24609         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24610         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24611         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24612         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24613         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24614         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24615         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24616         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24617         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24618         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24619         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24620         with modifications.
24621         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24622         with modifications.
24623         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24624         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24625         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24626         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24627         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24628         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24629         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24630         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24631         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24632         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24633         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24634         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24635         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24636         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24637         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24638         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24639         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24640         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24641         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24642         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24643         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24644         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24645         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24646         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24647         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24648         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24649         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24650         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24651         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24652         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24653         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24654         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24655         * tests/havelib/rpathx/rpathx.c: New file, from
24656         gettext/autoconf-lib-link.
24657         * tests/havelib/rpathx/Makefile.am: New file, from
24658         gettext/autoconf-lib-link.
24659         * tests/havelib/rpathx/configure.ac: New file, from
24660         gettext/autoconf-lib-link with modifications.
24661         * tests/havelib/rpathy/rpathy.c: New file, from
24662         gettext/autoconf-lib-link.
24663         * tests/havelib/rpathy/Makefile.am: New file, from
24664         gettext/autoconf-lib-link.
24665         * tests/havelib/rpathy/configure.ac: New file, from
24666         gettext/autoconf-lib-link with modifications.
24667         * tests/havelib/rpathz/rpathz.c: New file, from
24668         gettext/autoconf-lib-link.
24669         * tests/havelib/rpathz/Makefile.am: New file, from
24670         gettext/autoconf-lib-link.
24671         * tests/havelib/rpathz/configure.ac: New file, from
24672         gettext/autoconf-lib-link with modifications.
24673         * tests/havelib/rpathlx/usex.c: New file, from
24674         gettext/autoconf-lib-link.
24675         * tests/havelib/rpathlx/Makefile.am: New file, from
24676         gettext/autoconf-lib-link.
24677         * tests/havelib/rpathlx/configure.ac: New file, from
24678         gettext/autoconf-lib-link with modifications.
24679         * tests/havelib/rpathly/usey.c: New file, from
24680         gettext/autoconf-lib-link.
24681         * tests/havelib/rpathly/Makefile.am: New file, from
24682         gettext/autoconf-lib-link.
24683         * tests/havelib/rpathly/configure.ac: New file, from
24684         gettext/autoconf-lib-link with modifications.
24685         * tests/havelib/rpathlz/usez.c: New file, from
24686         gettext/autoconf-lib-link.
24687         * tests/havelib/rpathlz/Makefile.am: New file, from
24688         gettext/autoconf-lib-link.
24689         * tests/havelib/rpathlz/configure.ac: New file, from
24690         gettext/autoconf-lib-link with modifications.
24691         * tests/havelib/rpathlyx/usey.c: New file, from
24692         gettext/autoconf-lib-link.
24693         * tests/havelib/rpathlyx/Makefile.am: New file, from
24694         gettext/autoconf-lib-link.
24695         * tests/havelib/rpathlyx/configure.ac: New file, from
24696         gettext/autoconf-lib-link with modifications.
24697         * tests/havelib/rpathlzyx/usez.c: New file, from
24698         gettext/autoconf-lib-link.
24699         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24700         gettext/autoconf-lib-link.
24701         * tests/havelib/rpathlzyx/configure.ac: New file, from
24702         gettext/autoconf-lib-link with modifications.
24703         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24704         with modifications.
24705
24706 2010-04-02  Bruno Haible  <bruno@clisp.org>
24707
24708         gnulib-tool: Create distributed built sources also for the tests.
24709         * gnulib-tool (func_create_testdir): Also generate distributed built
24710         sources in the tests directory.
24711
24712 2010-04-02  Bruno Haible  <bruno@clisp.org>
24713
24714         gnulib-tool: Obey user's environment variables.
24715         * gnulib-tool (func_create_testdir): When creating built sources,
24716         respect the environment variables for autoconf, automake, etc. given by
24717         the user.
24718
24719 2010-04-02  Bruno Haible  <bruno@clisp.org>
24720
24721         gnulib-tool: Provide the value of --m4-base to modules.
24722         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24723         of gl_m4_base.
24724
24725 2010-04-02  Eric Blake  <eblake@redhat.com>
24726
24727         maint.mk: fix some fallout
24728         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24729         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24730
24731 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24732
24733         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24734         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24735         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24736         (sc_cast_of_x_alloc_return_value): Likewise.
24737         (sc_cast_of_alloca_return_value): Likewise.
24738         (sc_space_tab): Likewise.
24739         (sc_prohibit_atoi_atof): Likewise.
24740         (sc_prohibit_magic_number_exit): Likewise.
24741         (sc_error_exit_success): Likewise.
24742         (sc_file_system): Likewise.
24743         (sc_prohibit_have_config_h): Likewise.
24744         (sc_require_config_h): Likewise.
24745         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24746         (sc_obsolete_symbols): Likewise.
24747         (sc_changelog): Likewise.
24748         (sc_program_name): Likewise.
24749         (sc_the_the): Likewise.
24750         (sc_trailing_blank): Likewise.
24751         (sc_two_space_separator_in_usage): Likewise.
24752         (sc_useless_cpp_parens): Likewise.
24753         (sc_GPL_version): Likewise.
24754         (sc_GFDL_version): Likewise.
24755         (sc_texinfo_acronym): Likewise.
24756         (sc_prohibit_cvs_keyword): Likewise.
24757         (sc_prohibit_stat_st_blocks): Likewise.
24758         (sc_prohibit_S_IS_definition): Likewise.
24759         (sc_redundant_const): Likewise.
24760         (sc_makefile_TAB_only_indentation): Likewise.
24761         (sc_m4_quote_check): Likewise.
24762         (sc_makefile_path_separator_check): Likewise.
24763         (sc_copyright_check): Likewise.
24764         (sc_Wundef_boolean): Likewise.
24765         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24766
24767         maint.mk: match 0 or more whitespace-before-function-call '('
24768         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24769         that have zero or two-and-more spaces between the function name
24770         and the open parenthesis.
24771         (sc_error_message_warn_fatal): Likewise.
24772         (sc_error_message_uppercase): Likewise.
24773         (sc_error_message_period): Likewise.
24774
24775 2010-03-31  Eric Blake  <eblake@redhat.com>
24776
24777         maint.mk: check for [ as well as test
24778         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24779         Based on a libvirt report by Matthias Bolte.
24780
24781         gnumakefile: don't squelch _version output
24782         * top/GNUmakefile (_version): Create one-shot dependency rather
24783         than using $(shell) when version must be regenerated.
24784         (_autoreconf): Run verbosely, by default.
24785
24786         sys_time: avoid compiler warnings
24787         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24788         unconditional, fixing regression from 2010-03-29.
24789         Reported by Simon Josefsson.
24790
24791 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24792
24793         maint.mk: s/_header_without_use/_sc_header_without_use/
24794         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24795         (sc_prohibit_assert_without_use): Use the new name.
24796         (sc_prohibit_close_stream_without_use): Likewise.
24797         (sc_prohibit_getopt_without_use): Likewise.
24798         (sc_prohibit_quotearg_without_use): Likewise.
24799         (sc_prohibit_quote_without_use): Likewise.
24800         (sc_prohibit_long_options_without_use): Likewise.
24801         (sc_prohibit_inttostr_without_use): Likewise.
24802         (sc_prohibit_ignore_value_without_use): Likewise.
24803         (sc_prohibit_error_without_use): Likewise.
24804         (sc_prohibit_xalloc_without_use): Likewise.
24805         (sc_prohibit_hash_without_use): Likewise.
24806         (sc_prohibit_hash_pjw_without_use): Likewise.
24807         (sc_prohibit_safe_read_without_use): Likewise.
24808         (sc_prohibit_argmatch_without_use): Likewise.
24809         (sc_prohibit_canonicalize_without_use): Likewise.
24810         (sc_prohibit_root_dev_ino_without_use): Likewise.
24811         (sc_prohibit_openat_without_use): Likewise.
24812         (sc_prohibit_c_ctype_without_use): Likewise.
24813         (sc_prohibit_signal_without_use): Likewise.
24814         (sc_prohibit_intprops_without_use): Likewise.
24815
24816 2010-03-30  Eric Blake  <eblake@redhat.com>
24817
24818         maint: improve module indicators
24819         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24820         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24821         columns, and avoid extra macro expansion.
24822
24823         fdopendir: work around FreeBSD bug
24824         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24825         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24826         * modules/dirent (Makefile.am): Substitute it.
24827         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24828         declaration.
24829         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24830         fix.
24831         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24832
24833 2010-03-29  Bruno Haible  <bruno@clisp.org>
24834
24835         Emit #pragma system_header after the inclusion guard, not before.
24836         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24837         guard that spans the entire file, not before. This enables an
24838         optimization in GCC's preprocessor.
24839         * lib/ctype.in.h: Likewise.
24840         * lib/dirent.in.h: Likewise.
24841         * lib/errno.in.h: Likewise.
24842         * lib/float.in.h: Likewise.
24843         * lib/getopt.in.h: Likewise.
24844         * lib/iconv.in.h: Likewise.
24845         * lib/langinfo.in.h: Likewise.
24846         * lib/locale.in.h: Likewise.
24847         * lib/math.in.h: Likewise.
24848         * lib/netdb.in.h: Likewise.
24849         * lib/netinet_in.in.h: Likewise.
24850         * lib/pty.in.h: Likewise.
24851         * lib/sched.in.h: Likewise.
24852         * lib/se-selinux.in.h: Likewise.
24853         * lib/search.in.h: Likewise.
24854         * lib/spawn.in.h: Likewise.
24855         * lib/stdarg.in.h: Likewise.
24856         * lib/stdint.in.h: Likewise.
24857         * lib/string.in.h: Likewise.
24858         * lib/strings.in.h: Likewise.
24859         * lib/sys_file.in.h: Likewise.
24860         * lib/sys_ioctl.in.h: Likewise.
24861         * lib/sys_time.in.h: Likewise.
24862         * lib/sys_times.in.h: Likewise.
24863         * lib/sys_utsname.in.h: Likewise.
24864         * lib/sys_wait.in.h: Likewise.
24865         * lib/sysexits.in.h: Likewise.
24866         * lib/wctype.in.h: Likewise.
24867
24868 2010-03-28  James Youngman  <jay@gnu.org>
24869
24870         save-cwd: don't leak a file descriptor when the caller execs.
24871         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24872         saved file descriptor.
24873         * modules/save-cwd (Depends-on): Depend on cloexec.
24874
24875 2010-03-29  Bruno Haible  <bruno@clisp.org>
24876
24877         Remove vestiges of fts-lgpl module.
24878         * lib/fts_.h: Assume GNULIB_FTS is 1.
24879         * lib/fts.c: Likewise.
24880         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24881
24882 2010-03-28  Bruno Haible  <bruno@clisp.org>
24883
24884         Fix definition of tests witness macro.
24885         * gnulib-tool (func_import): Fix definition of witness macro.
24886
24887 2010-03-28  Bruno Haible  <bruno@clisp.org>
24888
24889         Fix ioctl's protoype on glibc systems.
24890         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24891         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24892         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24893         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24894         signature. If not, arrange to replace the ioctl function.
24895         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24896         REPLACE_IOCTL.
24897         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24898         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24899         Reported by Ludovic Courtès <ludo@gnu.org>.
24900
24901 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24902
24903         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24904         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24905         made it so grep -r --include=GLOB* ... did not work.
24906
24907 2010-03-26  Jim Meyering  <meyering@redhat.com>
24908             Eric Blake  <eblake@redhat.com>
24909
24910         maint.mk: prohibit use of test's -o and -a operators
24911         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24912
24913 2010-03-28  Bruno Haible  <bruno@clisp.org>
24914
24915         Remove unused GNULIB_XYZ macro definitions.
24916         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24917         invocation.
24918
24919 2010-03-28  Bruno Haible  <bruno@clisp.org>
24920
24921         Mark privileged tests modules.
24922         * modules/idpriv-drop-tests (Status): New section.
24923         * modules/idpriv-droptemp-tests (Status): New section.
24924
24925 2010-03-28  Bruno Haible  <bruno@clisp.org>
24926
24927         Split C++ tests into separate tests modules.
24928         * modules/dirent-c++-tests: New file, extracted from
24929         modules/dirent-tests.
24930         * modules/dirent-tests: Depend on it.
24931         * modules/fcntl-h-c++-tests: New file, extracted from
24932         modules/fcntl-h-tests.
24933         * modules/fcntl-h-tests: Depend on it.
24934         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24935         * modules/glob-tests: Depend on it.
24936         * modules/iconv-h-c++-tests: New file, extracted from
24937         modules/iconv-h-tests.
24938         * modules/iconv-h-tests: Depend on it.
24939         * modules/langinfo-c++-tests: New file, extracted from
24940         modules/langinfo-tests.
24941         * modules/langinfo-tests: Depend on it.
24942         * modules/locale-c++-tests: New file, extracted from
24943         modules/locale-tests.
24944         * modules/locale-tests: Depend on it.
24945         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24946         * modules/math-tests: Depend on it.
24947         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24948         * modules/pty-tests: Depend on it.
24949         * modules/search-c++-tests: New file, extracted from
24950         modules/search-tests.
24951         * modules/search-tests: Depend on it.
24952         * modules/signal-c++-tests: New file, extracted from
24953         modules/signal-tests.
24954         * modules/signal-tests: Depend on it.
24955         * modules/spawn-c++-tests: New file, extracted from
24956         modules/spawn-tests.
24957         * modules/spawn-tests: Depend on it.
24958         * modules/stdio-c++-tests: New file, extracted from
24959         modules/stdio-tests.
24960         * modules/stdio-tests: Depend on it.
24961         * modules/stdlib-c++-tests: New file, extracted from
24962         modules/stdlib-tests.
24963         * modules/stdlib-tests: Depend on it.
24964         * modules/string-c++-tests: New file, extracted from
24965         modules/string-tests.
24966         * modules/string-tests: Depend on it.
24967         * modules/sys_ioctl-c++-tests: New file, extracted from
24968         modules/sys_ioctl-tests.
24969         * modules/sys_ioctl-tests: Depend on it.
24970         * modules/sys_select-c++-tests: New file, extracted from
24971         modules/sys_select-tests.
24972         * modules/sys_select-tests: Depend on it.
24973         * modules/sys_socket-c++-tests: New file, extracted from
24974         modules/sys_socket-tests.
24975         * modules/sys_socket-tests: Depend on it.
24976         * modules/sys_stat-c++-tests: New file, extracted from
24977         modules/sys_stat-tests.
24978         * modules/sys_stat-tests: Depend on it.
24979         * modules/sys_time-c++-tests: New file, extracted from
24980         modules/sys_time-tests.
24981         * modules/sys_time-tests: Depend on it.
24982         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24983         * modules/time-tests: Depend on it.
24984         * modules/unistd-c++-tests: New file, extracted from
24985         modules/unistd-tests.
24986         * modules/unistd-tests: Depend on it.
24987         * modules/wchar-c++-tests: New file, extracted from
24988         modules/wchar-tests.
24989         * modules/wchar-tests: Depend on it.
24990         * modules/wctype-c++-tests: New file, extracted from
24991         modules/wctype-tests.
24992         * modules/wctype-tests: Depend on it.
24993         Reported by Simon Josefsson.
24994
24995 2010-03-28  Bruno Haible  <bruno@clisp.org>
24996
24997         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24998         * gnulib-tool (func_exists_module): New function, extracted from
24999         func_verify_module.
25000         (func_verify_module): Use it.
25001         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
25002         'foo' only if 'foo' exists.
25003         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
25004         module.
25005
25006 2010-03-28  Bruno Haible  <bruno@clisp.org>
25007
25008         gnulib-tool: Add support for special categories of tests.
25009         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
25010         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
25011         (func_usage): Document them.
25012         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
25013         inc_unportable_tests, inc_all_tests): New variables.
25014         (func_acceptable): Consider these variables.
25015         (func_modules_transitive_closure): Make it work when the 'Status' field
25016         consists of multiple words.
25017         (func_import): Store and restore the values of inc_cxx_tests,
25018         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
25019         inc_all_tests in gnulib-comp.m4.
25020         (func_create_testdir): Set inc_all_tests to true.
25021         * doc/gnulib.texi (Extra tests modules): New section.
25022         Suggested by Jim Meyering.
25023
25024 2010-03-28  Bruno Haible  <bruno@clisp.org>
25025
25026         ansi-c++-opt: Allow turning off the C++ build by default.
25027         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
25028         gl_CXX_CHOICE_DEFAULT_NO is defined.
25029         Requested by Eric Blake.
25030
25031 2010-03-28  Bruno Haible  <bruno@clisp.org>
25032
25033         unistd: Avoid #define replacements in C++ mode.
25034         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
25035         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
25036         setsockopt, shutdown, select): In C++, attach a warning to the function
25037         if possible, rather than #defining the symbol to a dysfunctional alias.
25038         Reported by John W. Eaton <jwe@gnu.org>.
25039
25040 2010-03-28  Bruno Haible  <bruno@clisp.org>
25041
25042         Fix link errors on mingw.
25043         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
25044         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
25045         $(LIBSOCKET).
25046         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
25047         $(LIBSOCKET).
25048
25049 2010-03-28  Bruno Haible  <bruno@clisp.org>
25050             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25051
25052         lib-ignore: Determine different options for different compilers.
25053         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
25054         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
25055         Add comments.
25056         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
25057         * NEWS: Mention the change.
25058
25059 2010-03-27  Bruno Haible  <bruno@clisp.org>
25060
25061         Remove unused GNULIB_XYZ macro definitions.
25062         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
25063         * modules/fseek (configure.ac): Likewise.
25064         * modules/ioctl (configure.ac): Likewise.
25065         * modules/open (configure.ac): Likewise.
25066         * modules/stdlib-safer (configure.ac): Likewise.
25067
25068 2010-03-27  Bruno Haible  <bruno@clisp.org>
25069
25070         Add a remark about certain modules.
25071         * modules/malloc (Comment): New section.
25072         * modules/realloc (Comment): Likewise.
25073         * modules/sigpipe (Comment): Likewise.
25074
25075 2010-03-27  Bruno Haible  <bruno@clisp.org>
25076
25077         Resolve conflict between the two kinds of module indicators.
25078         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
25079         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
25080         * modules/canonicalize (configure.ac): Invoke
25081         gl_MODULE_INDICATOR_FOR_TESTS.
25082         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
25083         GNULIB_XYZ.
25084         * tests/test-dirent-c++.cc: Likewise.
25085         * tests/test-dirent-safer.c: Likewise.
25086         * tests/test-dup2.c: Likewise.
25087         * tests/test-fchdir.c: Likewise.
25088         * tests/test-fcntl-h-c++.cc: Likewise.
25089         * tests/test-getopt.c: Likewise.
25090         * tests/test-getopt.h: Likewise.
25091         * tests/test-langinfo-c++.cc: Likewise.
25092         * tests/test-locale-c++.cc: Likewise.
25093         * tests/test-math-c++.cc: Likewise.
25094         * tests/test-pty-c++.cc: Likewise.
25095         * tests/test-search-c++.cc: Likewise.
25096         * tests/test-signal-c++.cc: Likewise.
25097         * tests/test-spawn-c++.cc: Likewise.
25098         * tests/test-stdio-c++.cc: Likewise.
25099         * tests/test-stdlib-c++.cc: Likewise.
25100         * tests/test-string-c++.cc: Likewise.
25101         * tests/test-sys_ioctl-c++.cc: Likewise.
25102         * tests/test-sys_select-c++.cc: Likewise.
25103         * tests/test-sys_socket-c++.cc: Likewise.
25104         * tests/test-sys_stat-c++.cc: Likewise.
25105         * tests/test-sys_time-c++.cc: Likewise.
25106         * tests/test-time-c++.cc: Likewise.
25107         * tests/test-unistd-c++.cc: Likewise.
25108         * tests/test-wchar-c++.cc: Likewise.
25109         * tests/uninorm/test-u8-nfc.c: Likewise.
25110         * tests/uninorm/test-u8-nfd.c: Likewise.
25111         * tests/uninorm/test-u8-nfkc.c: Likewise.
25112         * tests/uninorm/test-u8-nfkd.c: Likewise.
25113         * tests/uninorm/test-u16-nfc.c: Likewise.
25114         * tests/uninorm/test-u16-nfd.c: Likewise.
25115         * tests/uninorm/test-u16-nfkc.c: Likewise.
25116         * tests/uninorm/test-u16-nfkd.c: Likewise.
25117         * tests/uninorm/test-u32-nfc.c: Likewise.
25118         * tests/uninorm/test-u32-nfc-big.c: Likewise.
25119         * tests/uninorm/test-u32-nfd.c: Likewise.
25120         * tests/uninorm/test-u32-nfd-big.c: Likewise.
25121         * tests/uninorm/test-u32-nfkc.c: Likewise.
25122         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
25123         * tests/uninorm/test-u32-nfkd.c: Likewise.
25124         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
25125         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25126
25127 2010-03-27  Bruno Haible  <bruno@clisp.org>
25128
25129         Distinguish two kinds of module indicators.
25130         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
25131         gl_MODULE_INDICATOR.
25132         (gl_MODULE_INDICATOR): New macro.
25133         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25134         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
25135         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25136         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25137         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25138         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25139         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25140         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25141         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25142         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25143         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25144         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25145         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25146         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25147         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25148         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25149         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25150         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25151         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25152         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25153         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25154         * modules/cloexec (configure.ac): Likewise.
25155         * modules/getopt-gnu (configure.ac): Likewise.
25156         * modules/uninorm/u8-normalize (configure.ac): Likewise.
25157         * modules/uninorm/u16-normalize (configure.ac): Likewise.
25158         * modules/uninorm/u32-normalize (configure.ac): Likewise.
25159         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
25160
25161 2010-03-27  Bruno Haible  <bruno@clisp.org>
25162
25163         New module description field 'Comment'.
25164         * gnulib-tool: New option --extract-comment.
25165         (func_usage): Document it.
25166         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
25167         (func_get_comment): New function.
25168         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25169
25170 2010-03-27  Bruno Haible  <bruno@clisp.org>
25171
25172         Addendum to 2010-02-07 commit.
25173         * gnulib-tool (func_usage): Document --extract-applicability option.
25174
25175 2010-03-27  Bruno Haible  <bruno@clisp.org>
25176
25177         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25178         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25179         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25180         rather than link errors.
25181
25182 2010-03-27  Bruno Haible  <bruno@clisp.org>
25183
25184         Avoid side effects from tests-related modules on the compilation of lib.
25185         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25186         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25187         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25188         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25189         macro.
25190         (func_import): Define a witness macro. Assign it a value that depends
25191         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25192         tests-related modules.
25193         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25194         Reported by Jim Meyering.
25195
25196 2010-03-27  Bruno Haible  <bruno@clisp.org>
25197
25198         Factorize common .m4 code.
25199         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25200         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25201         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25202         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25203         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25204         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25205         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25206         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25207         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25208         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25209         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25210         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25211         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25212         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25213         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25214         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25215         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25216         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25217         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25218         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25219         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25220         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25221         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25222         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25223         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25224         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25225         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25226         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25227         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25228         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25229         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25230         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25231
25232 2010-03-27  Bruno Haible  <bruno@clisp.org>
25233
25234         Fix a compilation error on Cygwin with g++ >= 4.3.
25235         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25236         if it is undefined or if we alias it to chmod.
25237         (lstat): Don't warn about the use of this function if it is undefined
25238         or if we alias it to stat.
25239         Reported by Simon Josefsson.
25240
25241 2010-03-27  Bruno Haible  <bruno@clisp.org>
25242
25243         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25244         * modules/getlogin (configure.ac): Update.
25245
25246         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25247         * modules/getlogin_r (configure.ac): Update.
25248
25249         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25250         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25251         * modules/inet_ntop (configure.ac): Update.
25252
25253         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25254         * modules/inet_pton (configure.ac): Update.
25255
25256         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25257         * modules/mbslen (configure.ac): Update.
25258
25259         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25260         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25261         * modules/forkpty (configure.ac): Update.
25262         * modules/openpty (configure.ac): Update.
25263
25264 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25265
25266         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25267         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25268
25269 2010-03-25  Eric Blake  <eblake@redhat.com>
25270
25271         maint: use pragma consistently across replacement headers
25272         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25273         * lib/dirent.in.h (system_header): Likewise.
25274         * lib/errno.in.h (system_header): Likewise.
25275         * lib/float.in.h (system_header): Likewise.
25276         * lib/getopt.in.h (system_header): Likewise.
25277         * lib/iconv.in.h (system_header): Likewise.
25278         * lib/inttypes.in.h (system_header): Likewise.
25279         * lib/langinfo.in.h (system_header): Likewise.
25280         * lib/locale.in.h (system_header): Likewise.
25281         * lib/math.in.h (system_header): Likewise.
25282         * lib/netdb.in.h (system_header): Likewise.
25283         * lib/netinet_in.in.h (system_header): Likewise.
25284         * lib/pty.in.h (system_header): Likewise.
25285         * lib/sched.in.h (system_header): Likewise.
25286         * lib/se-selinux.in.h (system_header): Likewise.
25287         * lib/search.in.h (system_header): Likewise.
25288         * lib/spawn.in.h (system_header): Likewise.
25289         * lib/stdarg.in.h (system_header): Likewise.
25290         * lib/stdint.in.h (system_header): Likewise.
25291         * lib/string.in.h (system_header): Likewise.
25292         * lib/strings.in.h (system_header): Likewise.
25293         * lib/sys_file.in.h (system_header): Likewise.
25294         * lib/sys_ioctl.in.h (system_header): Likewise.
25295         * lib/sys_socket.in.h (system_header): Likewise.
25296         * lib/sys_times.in.h (system_header): Likewise.
25297         * lib/sys_utsname.in.h (system_header): Likewise.
25298         * lib/sys_wait.in.h (system_header): Likewise.
25299         * lib/sysexits.in.h (system_header): Likewise.
25300         * lib/unistd.in.h (system_header): Likewise.
25301         * lib/wctype.in.h (system_header): Likewise.
25302
25303         arpa/inet: fix mingw compilation warning
25304         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25305         Reported by Matthew Bolte.
25306
25307 2010-03-25  Bruno Haible  <bruno@clisp.org>
25308
25309         Avoid collision between gnulib wrapper and libintl wrapper.
25310         * lib/printf.c (printf): Don't define if a printf wrapper is already
25311         defined in intl/printf.c.
25312         Reported by Michel Boaventura <michel@michelboaventura.com>.
25313
25314 2010-03-25  Bruno Haible  <bruno@clisp.org>
25315
25316         Use ANSI C.
25317         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25318
25319 2010-03-25  Bruno Haible  <bruno@clisp.org>
25320
25321         Minor formatting changes.
25322         * lib/acosl.c: Insert space before function argument list.
25323         * lib/argz.c: Likewise.
25324         * lib/asinl.c: Likewise.
25325         * lib/expl.c: Likewise.
25326         * lib/gen-uni-tables.c: Likewise.
25327         * lib/gettext.h: Likewise.
25328         * lib/glthread/lock.h: Likewise.
25329         * lib/tanl.c: Likewise.
25330         * lib/uniname/uniname.c: Likewise.
25331         * tests/test-idpriv-drop.c: Likewise.
25332         * tests/test-idpriv-droptemp.c: Likewise.
25333         * tests/test-lock.c: Likewise.
25334         * tests/test-tls.c: Likewise.
25335         * lib/argp-help.c: Insert space before function-like macro argument
25336         list.
25337         * lib/memcmp.c: Likewise.
25338         * tests/test-base64.c: Likewise.
25339         * lib/localename.c: Insert space before sizeof's argument list.
25340         * lib/safe-alloc.h: Likewise.
25341         * lib/file-set.h: Insert space before macro argument list.
25342         * tests/test-argp.c: Likewise.
25343         * lib/argp-namefrob.h: Insert space before function parameter list.
25344         * lib/getaddrinfo.c: Likewise.
25345         * lib/netdb.in.h: Likewise.
25346         * lib/parse-duration.h: Likewise.
25347         * lib/parse-duration.c: Likewise.
25348         * lib/poll.c: Likewise.
25349         * lib/select.c: Likewise.
25350         * lib/trim.h: Likewise.
25351         * tests/test-usleep.c: Likewise.
25352         * lib/ldexpl.c: Insert space before function parameter list and before
25353         function argument list.
25354         * lib/logl.c: Likewise.
25355         * lib/sqrtl.c: Likewise.
25356         * lib/trim.c: Likewise.
25357         * lib/cosl.c: Use GNU style indentation. Insert space before function
25358         argument list.
25359         * lib/sinl.c: Likewise.
25360         * lib/tsearch.c: Insert space after 'for'.
25361         Reported by Jim Meyering.
25362
25363 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25364
25365         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25366         config header before grepping, as it's not present before
25367         autoreconf/configure are run.  Reported by Simon Josefsson.
25368
25369 2010-03-23  Bruno Haible  <bruno@clisp.org>
25370
25371         pt_chown: Make it work with automake < 1.11.
25372         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25373         Reported by Simon Josefsson.
25374
25375 2010-03-23  Bruno Haible  <bruno@clisp.org>
25376
25377         pt_chown: Don't depend on GPLed modules.
25378         * lib/pt_chown.c: Don't include idpriv.h.
25379         (main): Don't drop privileges.
25380         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25381         Reported by Simon Josefsson.
25382
25383 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25384
25385         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25386         suggestions from karl@freefriends.org (Karl Berry).
25387
25388 2010-03-22  Eric Blake  <eblake@redhat.com>
25389
25390         gethostname: further tweaks
25391         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25392         are overriding gethostname.
25393         Suggested by Bruno Haible.
25394
25395 2010-03-21  Bruno Haible  <bruno@clisp.org>
25396
25397         Fix comments.
25398         * lib/forkpty.c (rpl_forkpty): Fix comment.
25399         * lib/openpty.c (rpl_openpty): Likewise.
25400         Reported by Eric Blake.
25401
25402 2010-03-22  Eric Blake  <eblake@redhat.com>
25403
25404         gethostname: fix build on mingw
25405         * lib/unistd.in.h (includes): Work around fact that mingw
25406         <winsock2.h> re-includes <unistd.h>, by avoiding any
25407         redeclarations if we are being included by <winsock2.h>.
25408         Reported by Matthias Bolte.
25409
25410 2010-03-21  Bruno Haible  <bruno@clisp.org>
25411
25412         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25413         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25414         modifications.
25415         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25416         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25417         provide the replacement.
25418         * modules/forkpty (Depends-on): Add openpty, login_tty.
25419         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25420         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25421         * doc/glibc-functions/forkpty.texi: More supported platforms.
25422         * config/srclist.txt: Add forkpty.c (commented).
25423
25424 2010-03-21  Bruno Haible  <bruno@clisp.org>
25425
25426         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25427         (Makefile.am): Verify that PTY_LIB is defined.
25428
25429         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25430
25431 2010-03-21  Bruno Haible  <bruno@clisp.org>
25432
25433         Tests for module 'login_tty'.
25434         * modules/login_tty-tests: New file.
25435         * tests/test-login_tty.c: New file.
25436
25437         New module 'login_tty'.
25438         * lib/login_tty.c: New file.
25439         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25440         * modules/login_tty: New file.
25441         * doc/glibc-functions/login_tty.texi: Mention the new module.
25442
25443 2010-03-21  Bruno Haible  <bruno@clisp.org>
25444
25445         login_tty: Documentation.
25446         * doc/glibc-functions/login_tty.texi: New file.
25447         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25448
25449 2010-03-21  Bruno Haible  <bruno@clisp.org>
25450
25451         pty: Consistent macro naming.
25452         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25453         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25454         * modules/pty (configure.ac): Update.
25455
25456 2010-03-21  Bruno Haible  <bruno@clisp.org>
25457
25458         Tests for openpty: Make stricter.
25459         * tests/test-openpty.c (main): Add test of canonical processing and
25460         erase.
25461         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25462
25463         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25464         * lib/openpty.c (openpty): New replacement function.
25465         * lib/pty.in.h: Include <termios.h>.
25466         (openpty): Update declaration. Add comments.
25467         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25468         is not declared, arrange to provide the replacement. Check for _getpty
25469         and posix_openpt.
25470         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25471         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25472         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25473         * modules/pty-tests (test_pty_c___LDADD): New variable.
25474         * doc/glibc-functions/openpty.texi: More supported platforms.
25475
25476 2010-03-21  Bruno Haible  <bruno@clisp.org>
25477
25478         setenv: Tweaks.
25479         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25480         the test program.
25481         * doc/posix-functions/setenv.texi: Update platforms list.
25482
25483 2010-03-21  Bruno Haible  <bruno@clisp.org>
25484
25485         New module 'unlockpt'.
25486         * lib/unlockpt.c: New file, from glibc with modifications.
25487         * m4/unlockpt.m4: New file.
25488         * modules/unlockpt: New file.
25489         * lib/stdlib.in.h (unlockpt): New declaration.
25490         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25491         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25492         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25493         HAVE_UNLOCKPT.
25494         * doc/posix-functions/unlockpt.texi: Mention the new module.
25495         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25496         * config/srclist.txt: Add unlockpt.c (commented).
25497
25498 2010-03-21  Jim Meyering  <meyering@redhat.com>
25499
25500         maint.mk: prohibit inclusion of "intprops.h" without use
25501         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25502
25503 2010-03-21  Bruno Haible  <bruno@clisp.org>
25504
25505         New module 'grantpt'.
25506         * lib/grantpt.c: New file, from glibc with modifications.
25507         * m4/grantpt.m4: New file.
25508         * modules/grantpt: New file.
25509         * lib/stdlib.in.h (grantpt): New declaration.
25510         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25511         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25512         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25513         HAVE_GRANTPT.
25514         * doc/posix-functions/grantpt.texi: Mention the new module.
25515         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25516         * config/srclist.txt: Add grantpt.c (commented).
25517
25518 2010-03-21  Bruno Haible  <bruno@clisp.org>
25519
25520         New module 'pt_chown'.
25521         * lib/pt_chown.c: New file, from glibc with modifications.
25522         * lib/pty-private.h: New file, from glibc with modifications.
25523         * modules/pt_chown: New file.
25524         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25525
25526 2010-03-21  Bruno Haible  <bruno@clisp.org>
25527
25528         Tests for module 'ptsname'.
25529         * modules/ptsname-tests: New file.
25530         * tests/test-ptsname.c: New file.
25531
25532         New module 'ptsname'.
25533         * lib/ptsname.c: New file, from glibc with modifications.
25534         * m4/ptsname.m4: New file.
25535         * modules/ptsname: New file.
25536         * lib/stdlib.in.h (ptsname): New declaration.
25537         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25538         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25539         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25540         HAVE_PTSNAME.
25541         * doc/posix-functions/ptsname.texi: Mention the new module.
25542         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25543         * config/srclist.txt: Add ptsname.c (commented).
25544
25545 2010-03-21  Bruno Haible  <bruno@clisp.org>
25546
25547         Tests for module 'ttyname_r'.
25548         * modules/ttyname_r-tests: New file.
25549         * tests/test-ttyname_r.c: New file.
25550
25551         New module 'ttyname_r'.
25552         * lib/ttyname_r.c: New file.
25553         * m4/ttyname_r.m4: New file.
25554         * modules/ttyname_r: New file.
25555         * lib/unistd.in.h (ttyname_r): New declaration.
25556         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25557         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25558         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25559         HAVE_TTYNAME_R.
25560         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25561         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25562
25563 2010-03-20  Bruno Haible  <bruno@clisp.org>
25564
25565         signal: Undefine macro definitions in C++ mode.
25566         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25567         sigfillset): Undefine macro definitions from the system header in C++
25568         mode.
25569         Reported by John W. Eaton <jwe@gnu.org>.
25570
25571 2010-03-20  Bruno Haible  <bruno@clisp.org>
25572
25573         Ensure no #include statements inside extern "C" { ... }.
25574         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25575         contain #include statements.
25576         * lib/time.in.h: Likewise.
25577
25578 2010-03-20  Bruno Haible  <bruno@clisp.org>
25579
25580         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25581         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25582         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25583         Reported by John W. Eaton <jwe@gnu.org>.
25584
25585 2010-03-20  Bruno Haible  <bruno@clisp.org>
25586
25587         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25588         Reported by Jim Meyering.
25589
25590 2010-03-20  Bruno Haible  <bruno@clisp.org>
25591
25592         pipe: Set errno upon failure.
25593         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25594         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25595         errno value in error message.
25596
25597 2010-03-20  Bruno Haible  <bruno@clisp.org>
25598             Jim Meyering  <meyering@redhat.com>
25599
25600         lchown: Avoid "unused variable" warning.
25601         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25602
25603 2010-03-20  Bruno Haible  <bruno@clisp.org>
25604
25605         Work around unlink() bug on MacOS X 10.5.6.
25606         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25607         attempting to unlink a parent directory.
25608         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25609         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25610         activate for the replacement function.
25611         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25612
25613 2010-03-20  Bruno Haible  <bruno@clisp.org>
25614
25615         Fix link errors on Solaris 8.
25616         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25617         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25618
25619 2010-03-19  Jim Meyering  <meyering@redhat.com>
25620
25621         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25622         The _LIBC implementation of build_range_exp correctly honors the
25623         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25624         However, the non-_LIBC implementation would ignore that syntax-bit
25625         flag and return REG_ERANGE unconditionally.
25626         This change makes it honor that flag.
25627         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25628         Make two pointer parameters "const".
25629         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25630         (parse_bracket_exp): Update caller.
25631
25632         regex.m4: correct the reversed range endpoint ([b-a]) test
25633         * m4/regex.m4: When requiring that [b-a] evoke failure,
25634         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25635         test pass once again for x86-based systems.
25636
25637 2010-03-19  Bruno Haible  <bruno@clisp.org>
25638
25639         scandir: Fix link error on Solaris 8.
25640         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25641         macros.
25642
25643 2010-03-19  Bruno Haible  <bruno@clisp.org>
25644
25645         getusershell: Fix documentation.
25646         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25647         module.
25648         * doc/glibc-functions/setusershell.texi: Likewise.
25649
25650         getusershell: Provide declaration, missing on Solaris 9.
25651         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25652         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25653         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25654         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25656         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25657         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25658         HAVE_GETUSERSHELL.
25659         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25660
25661 2010-03-19  Bruno Haible  <bruno@clisp.org>
25662
25663         wctype: Provide iswblank function.
25664         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25665         exists and is fine.
25666         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25667         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25668         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25669         * doc/posix-functions/iswblank.texi: Update.
25670
25671 2010-03-19  Bruno Haible  <bruno@clisp.org>
25672
25673         Tests of module 'pty' in C++ mode.
25674         * modules/pty-tests: New file.
25675         * tests/test-pty-c++.cc: New file.
25676         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25677
25678 2010-03-19  Eric Blake  <eblake@redhat.com>
25679
25680         logb: fix documentation
25681         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25682         1.5 declaration bug.
25683
25684         forkpty, openpty: prefer glibc's const-safe prototype
25685         * lib/forkpty.c (rpl_forkpty): New file.
25686         * lib/openpty.c (rpl_openpty): Likewise.
25687         * modules/forkpty (Files): Distribute it.
25688         * modules/openpty (Files): Likewise.
25689         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25690         check...
25691         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25692         replacement for for non-const BSD signature.
25693         * modules/pty (Makefile.am): Substitute witnesses.
25694         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25695         * tests/test-forkpty.c: Update signature check.
25696         * tests/test-openpty.c: Likewise.
25697         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25698         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25699
25700         forkpty, openpty: split functions into new modules
25701         * modules/pty (Makefile.am): Substitute new witnesses.
25702         (Libraries): Move library detection...
25703         * modules/forkpty: ...into new module.
25704         * modules/openpty: Another new module.
25705         * modules/pty-tests: Rename and split...
25706         * modules/forkpty-tests: ...to this...
25707         * modules/openpty-tests: ...and this.
25708         * tests/test-pty.c: Rename and split...
25709         * tests/test-forkpty.c: ...to this...
25710         * tests/test-openpty.c: ...and this.
25711         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25712         (gl_PTY): Split library searching...
25713         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25714         (gl_FORKPTY, gl_OPENPTY): New macros.
25715         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25716         * NEWS: Mention the split.
25717         * MODULES.html.sh (Misc): Document the modules.
25718         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25719         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25720
25721         pty: improve replacement header
25722         * lib/pty.in.h: New file.
25723         * modules/pty (Files): Ship it.
25724         (Makefile.am): Always build replacement.
25725         * m4/pty.m4: Rename...
25726         * m4/pty_h.m4: ...to this.
25727         (gl_PTY): Modernize setting of witness macros; update check of
25728         forkpty to take proper advantage of cache.
25729         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25730
25731         getopt: avoid compiler warning
25732         * lib/getopt.c (attribute_hidden): Remove unused macro.
25733
25734 2010-03-18  Bruno Haible  <bruno@clisp.org>
25735
25736         Fix link errors on Solaris 8.
25737         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25738         * modules/search-tests (test_search_c___LDADD): Likewise.
25739         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25740         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25741         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25742         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25743         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25744         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25745         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25746
25747 2010-03-18  Bruno Haible  <bruno@clisp.org>
25748
25749         Fix bug introduced on 2010-03-14.
25750         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25751         (gl_SPAWN_H): Require it.
25752         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25753         Reported by Simon Josefsson.
25754
25755 2010-03-18  Bruno Haible  <bruno@clisp.org>
25756
25757         Fix typo introduced on 2009-12-31.
25758         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25759         posix_spawn_file_actions_adddup2.
25760
25761 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25762         and Eric Blake  <eblake@redhat.com>
25763
25764         test-vc-list-files-git: make more robust
25765         * tests/test-vc-list-files-git.sh: Unset problematic environment
25766         variables.  Chain commands together.
25767
25768 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25769
25770         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25771         `AC_CHECK_DECL' invocation.
25772
25773 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25774
25775         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25776         appears before executable statements. Suggested by Petr Sumbera
25777         <Petr.Sumbera@Sun.COM>.
25778
25779 2010-03-14  Bruno Haible  <bruno@clisp.org>
25780
25781         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25782         portability problems. Instead use a simpler test.
25783         (main): Check that invalid arguments are rejected only on Linux.
25784
25785 2010-03-14  Bruno Haible  <bruno@clisp.org>
25786
25787         Fix bug introduced on 2009-12-31.
25788         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25789         gl_PREREQ_SYS_H_WINSOCK2 always.
25790         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25791         SYS_SOCKET_H variable.
25792         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25793         Update comments.
25794         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25795         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25796         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25797         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25798         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25799
25800 2010-03-14  Bruno Haible  <bruno@clisp.org>
25801
25802         Fix values returned by sinl, cosl.
25803         * lib/trigl.h: Add specification comments.
25804         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25805         that combines the values from the precomputed table with the values of
25806         the Chebyshev polynomials.
25807
25808 2010-03-14  Bruno Haible  <bruno@clisp.org>
25809
25810         Fix compilation error when modules 'posix_spawn[p]' are not used.
25811         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25812         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25813
25814 2010-03-14  Bruno Haible  <bruno@clisp.org>
25815
25816         Fix compilation error on mingw when module 'time_r' is not used.
25817         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25818         is 1.
25819         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25820         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25821         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25822         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25823
25824 2010-03-14  Bruno Haible  <bruno@clisp.org>
25825
25826         Fix compilation error with Sun C.
25827         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25828         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25829         instead of GCC specific ULONG_LONG_MAX.
25830         * lib/xstrtoll.c: Likewise.
25831         * lib/xstrtoull.c: Likewise.
25832
25833 2010-03-13  Bruno Haible  <bruno@clisp.org>
25834
25835         Allow the user to disable C++ code and tests.
25836         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25837         (gl_PROG_ANSI_CXX): Require it.
25838
25839 2010-03-13  Bruno Haible  <bruno@clisp.org>
25840
25841         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25842         cases.
25843
25844 2010-03-13  Bruno Haible  <bruno@clisp.org>
25845
25846         Test that gnulib does not break the standard C++ headers.
25847         * tests/test-locale-c++2.cc: New file.
25848         * modules/locale-tests (Files): Add it.
25849         (Makefile.am): Compile it for test-locale-c++.
25850         * tests/test-math-c++2.cc: New file.
25851         * modules/math-tests (Files): Add it.
25852         (Makefile.am): Compile it for test-math-c++.
25853         * tests/test-signal-c++2.cc: New file.
25854         * modules/signal-tests (Files): Add it.
25855         (Makefile.am): Compile it for test-signal-c++.
25856         * tests/test-stdio-c++2.cc: New file.
25857         * modules/stdio-tests (Files): Add it.
25858         (Makefile.am): Compile it for test-stdio-c++.
25859         * tests/test-stdlib-c++2.cc: New file.
25860         * modules/stdlib-tests (Files): Add it.
25861         (Makefile.am): Compile it for test-stdlib-c++.
25862         * tests/test-string-c++2.cc: New file.
25863         * modules/string-tests (Files): Add it.
25864         (Makefile.am): Compile it for test-string-c++.
25865         * tests/test-time-c++2.cc: New file.
25866         * modules/time-tests (Files): Add it.
25867         (Makefile.am): Compile it for test-time-c++.
25868         Reported by John W. Eaton <jwe@gnu.org>.
25869
25870 2010-03-13  Bruno Haible  <bruno@clisp.org>
25871
25872         * gnulib-tool (func_usage): Clarify which options are available for
25873         --create-testdir and --create-megatestdir.
25874
25875 2010-03-13  Bruno Haible  <bruno@clisp.org>
25876
25877         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25878         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25879         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25880         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25881         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25882         when appropriate.
25883         Reported by Jim Meyering.
25884
25885 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25886
25887         * gnulib-tool (func_import): Explain origin of code.
25888
25889 2010-03-12  Bruno Haible  <bruno@clisp.org>
25890
25891         Fix problem with automake's definition of CXXLINK.
25892         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25893         Reported by Simon Josefsson and Ludovic Courtès.
25894
25895 2010-03-12  Bruno Haible  <bruno@clisp.org>
25896
25897         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25898         stable releases.
25899
25900 2010-03-11  Bruno Haible  <bruno@clisp.org>
25901
25902         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25903         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25904         whether the system provides one variant or multiple variants of the
25905         function.
25906         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25907         C++ compilers.
25908         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25909         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25910         Reported by Jim Meyering.
25911
25912 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25913
25914         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25915
25916 2010-03-08  Bruno Haible  <bruno@clisp.org>
25917
25918         gnulib-tool: Add support for --libtool in --create-testdir.
25919         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25920         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25921
25922 2010-03-08  Eric Blake  <eblake@redhat.com>
25923
25924         gnulib-tool.texi: mention possibility of git submodule
25925         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25926         submodules.
25927         * doc/.gitignore: Ignore another generated file.
25928
25929 2010-03-08  Karl Berry  <karl@gnu.org>
25930
25931         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25932         of committing gnulib files while skipping others.
25933
25934 2010-03-07  Bruno Haible  <bruno@clisp.org>
25935
25936         Tests of module 'wctype' in C++ mode.
25937         * tests/test-wctype-c++.cc: New file.
25938         * modules/wctype-tests (Files): Add it and tests/signature.h.
25939         (Depends-on): Add ansi-c++-opt.
25940         (Makefile.am): Arrange to compile and run test-wctype-c++.
25941
25942         Tests of module 'wchar' in C++ mode.
25943         * tests/test-wchar-c++.cc: New file.
25944         * modules/wchar-tests (Files): Add it and tests/signature.h.
25945         (Depends-on): Add ansi-c++-opt.
25946         (Makefile.am): Arrange to compile and run test-wchar-c++.
25947         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25948         gl_MODULE_INDICATOR.
25949
25950         Tests of module 'unistd' in C++ mode.
25951         * tests/test-unistd-c++.cc: New file.
25952         * modules/unistd-tests (Files): Add it and tests/signature.h.
25953         (Depends-on): Add ansi-c++-opt.
25954         (Makefile.am): Arrange to compile and run test-unistd-c++.
25955         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25956         gl_MODULE_INDICATOR.
25957
25958         Tests of module 'time' in C++ mode.
25959         * tests/test-time-c++.cc: New file.
25960         * modules/time-tests (Files): Add it and tests/signature.h.
25961         (Depends-on): Add ansi-c++-opt.
25962         (Makefile.am): Arrange to compile and run test-time-c++.
25963         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25964
25965         Tests of module 'sys_time' in C++ mode.
25966         * tests/test-sys_time-c++.cc: New file.
25967         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25968         (Depends-on): Add ansi-c++-opt.
25969         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25970         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25971         gl_MODULE_INDICATOR.
25972
25973         Tests of module 'sys_stat' in C++ mode.
25974         * tests/test-sys_stat-c++.cc: New file.
25975         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25976         (Depends-on): Add ansi-c++-opt.
25977         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25978         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25979         gl_MODULE_INDICATOR.
25980
25981         Tests of module 'sys_socket' in C++ mode.
25982         * tests/test-sys_socket-c++.cc: New file.
25983         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25984         (Depends-on): Add ansi-c++-opt.
25985         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25986         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25987         gl_MODULE_INDICATOR.
25988
25989         Tests of module 'sys_select' in C++ mode.
25990         * tests/test-sys_select-c++.cc: New file.
25991         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25992         (Depends-on): Add ansi-c++-opt.
25993         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25994         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25995         gl_MODULE_INDICATOR.
25996
25997         Tests of module 'sys_ioctl' in C++ mode.
25998         * tests/test-sys_ioctl-c++.cc: New file.
25999         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
26000         (Depends-on): Add ansi-c++-opt.
26001         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
26002         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
26003         gl_MODULE_INDICATOR.
26004
26005         Tests of module 'string' in C++ mode.
26006         * tests/test-string-c++.cc: New file.
26007         * modules/string-tests (Files): Add it and tests/signature.h.
26008         (Depends-on): Add ansi-c++-opt.
26009         (Makefile.am): Arrange to compile and run test-string-c++.
26010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
26011         gl_MODULE_INDICATOR.
26012
26013         Tests of module 'stdlib' in C++ mode.
26014         * tests/test-stdlib-c++.cc: New file.
26015         * modules/stdlib-tests (Files): Add it and tests/signature.h.
26016         (Depends-on): Add ansi-c++-opt.
26017         (Makefile.am): Arrange to compile and run test-stdlib-c++.
26018         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
26019         gl_MODULE_INDICATOR.
26020
26021         Tests of module 'stdio' in C++ mode.
26022         * tests/test-stdio-c++.cc: New file.
26023         * modules/stdio-tests (Files): Add it and tests/signature.h.
26024         (Depends-on): Add ansi-c++-opt.
26025         (Makefile.am): Arrange to compile and run test-stdio-c++.
26026         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
26027         gl_MODULE_INDICATOR.
26028
26029         Tests of module 'spawn' in C++ mode.
26030         * tests/test-spawn-c++.cc: New file.
26031         * modules/spawn-tests (Files): Add it and tests/signature.h.
26032         (Depends-on): Add ansi-c++-opt.
26033         (Makefile.am): Arrange to compile and run test-spawn-c++.
26034         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
26035         gl_MODULE_INDICATOR.
26036
26037         Tests of module 'signal' in C++ mode.
26038         * tests/test-signal-c++.cc: New file.
26039         * modules/signal-tests (Files): Add it and tests/signature.h.
26040         (Depends-on): Add ansi-c++-opt.
26041         (Makefile.am): Arrange to compile and run test-signal-c++.
26042         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
26043         gl_MODULE_INDICATOR.
26044
26045         Tests of module 'search' in C++ mode.
26046         * tests/test-search-c++.cc: New file.
26047         * modules/search-tests (Files): Add it and tests/signature.h.
26048         (Depends-on): Add ansi-c++-opt.
26049         (Makefile.am): Arrange to compile and run test-search-c++.
26050         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
26051         gl_MODULE_INDICATOR.
26052
26053         Tests of module 'math' in C++ mode.
26054         * tests/test-math-c++.cc: New file.
26055         * modules/math-tests (Files): Add it and tests/signature.h.
26056         (Depends-on): Add ansi-c++-opt.
26057         (Makefile.am): Arrange to compile and run test-math-c++.
26058         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
26059
26060         Tests of module 'locale' in C++ mode.
26061         * tests/test-locale-c++.cc: New file.
26062         * modules/locale-tests (Files): Add it and tests/signature.h.
26063         (Depends-on): Add ansi-c++-opt.
26064         (Makefile.am): Arrange to compile and run test-locale-c++.
26065         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
26066         gl_MODULE_INDICATOR.
26067
26068         Tests of module 'langinfo' in C++ mode.
26069         * tests/test-langinfo-c++.cc: New file.
26070         * modules/langinfo-tests (Files): Add it and tests/signature.h.
26071         (Depends-on): Add ansi-c++-opt.
26072         (Makefile.am): Arrange to compile and run test-langinfo-c++.
26073         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
26074         gl_MODULE_INDICATOR.
26075
26076         Tests of module 'iconv-h' in C++ mode.
26077         * tests/test-iconv-h-c++.cc: New file.
26078         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
26079         (Depends-on): Add ansi-c++-opt.
26080         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
26081
26082         Tests of module 'glob' in C++ mode.
26083         * tests/test-glob-c++.cc: New file.
26084         * modules/glob-tests (Files): Add it.
26085         (Depends-on): Add ansi-c++-opt.
26086         (Makefile.am): Arrange to compile and run test-glob-c++.
26087
26088         Tests of module 'fcntl-h' in C++ mode.
26089         * tests/test-fcntl-h-c++.cc: New file.
26090         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
26091         (Depends-on): Add ansi-c++-opt.
26092         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
26093         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
26094         gl_MODULE_INDICATOR.
26095
26096         Tests of module 'dirent' in C++ mode.
26097         * tests/test-dirent-c++.cc: New file.
26098         * modules/dirent-tests (Files): Add it and tests/signature.h.
26099         (Depends-on): Add ansi-c++-opt.
26100         (Makefile.am): Arrange to compile and run test-dirent-c++.
26101         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26102         gl_MODULE_INDICATOR.
26103
26104         New module 'ansi-c++-opt'.
26105         * modules/ansi-c++-opt: New file.
26106         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
26107
26108         Document C++ namespace mode.
26109         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
26110
26111         wctype: Avoid #define replacements in C++ mode.
26112         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
26113         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
26114         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
26115         In C++, define a namespaced alias symbol.
26116         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
26117         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
26118         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
26119         rule.
26120
26121         wchar: Avoid #define replacements in C++ mode.
26122         * lib/wchar.in.h: Include c++defs.h.
26123         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
26124         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
26125         symbol.
26126         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
26127         * modules/wchar (Depends-on): Add c++defs.
26128         (Makefile.am): Update wchar.h rule.
26129
26130         unistd: Avoid #define replacements in C++ mode.
26131         * lib/unistd.in.h: Include c++defs.h.
26132         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
26133         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
26134         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
26135         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
26136         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
26137         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
26138         symbol.
26139         (environ): Update.
26140         * modules/unistd (Depends-on): Add c++defs.
26141         (Makefile.am): Update unistd.h rule.
26142
26143         time: Avoid #define replacements in C++ mode.
26144         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
26145         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
26146         define a namespaced alias symbol.
26147         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
26148         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
26149         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
26150         * modules/time (Depends-on): Add c++defs, warn-on-use.
26151         (Makefile.am): Update time.h rule.
26152         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
26153         * modules/nanosleep (configure.ac): Likewise.
26154         * modules/strptime (configure.ac): Likewise.
26155         * modules/timegm (configure.ac): Likewise.
26156
26157         sys_time: Avoid #define replacements in C++ mode.
26158         * lib/sys_time.in.h: Include c++defs.h.
26159         (gettimeofday): In C++, define a namespaced alias symbol.
26160         * modules/sys_time (Depends-on): Add c++defs.
26161         (Makefile.am): Update sys/time.h rule.
26162
26163         sys_stat: Avoid #define replacements in C++ mode.
26164         * lib/sys_stat.in.h: Include c++defs.h.
26165         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
26166         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
26167         namespaced alias symbol.
26168         In C++, define a namespaced alias symbol.
26169         * modules/sys_stat (Depends-on): Add c++defs.
26170         (Makefile.am): Update sys/stat.h rule.
26171
26172         sys_socket: Avoid #define replacements in C++ mode.
26173         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26174         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26175         definitions also when the system has a <sys/socket.h>.
26176         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26177         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26178         In C++, define a namespaced alias symbol.
26179         * modules/sys_socket (Depends-on): Add c++defs.
26180         (Makefile.am): Update sys/socket.h rule.
26181
26182         sys_select: Avoid #define replacements in C++ mode.
26183         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26184         definitions also when the system has a <sys/select.h>.
26185         (select): In C++, define a namespaced alias symbol.
26186         * modules/sys_select (Depends-on): Add c++defs.
26187         (Makefile.am): Update sys/select.h rule.
26188
26189         sys_ioctl: Avoid #define replacements in C++ mode.
26190         * lib/sys_ioctl.in.h: Include c++defs.h.
26191         (ioctl): In C++, define a namespaced alias symbol.
26192         * modules/sys_ioctl (Depends-on): Add c++defs.
26193         (Makefile.am): Update sys/ioctl.h rule.
26194
26195         string: Avoid #define replacements in C++ mode.
26196         * lib/string.in.h: Include c++defs.h.
26197         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26198         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26199         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26200         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26201         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26202         * modules/string (Depends-on): Add c++defs.
26203         (Makefile.am): Update string.h rule.
26204
26205         stdlib: Avoid #define replacements in C++ mode.
26206         * lib/stdlib.in.h: Include c++defs.h.
26207         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26208         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26209         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26210         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26211         symbol.
26212         * modules/stdlib (Depends-on): Add c++defs.
26213         (Makefile.am): Update stdlib.h rule.
26214
26215         stdio: Avoid #define replacements in C++ mode.
26216         * lib/stdio.in.h: Include c++defs.h.
26217         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26218         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26219         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26220         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26221         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26222         namespaced alias symbol.
26223         * modules/stdio (Depends-on): Add c++defs.
26224         (Makefile.am): Update stdio.h rule.
26225
26226         spawn: Avoid #define replacements in C++ mode.
26227         * lib/spawn.in.h: Include c++defs.h.
26228         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26229         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26230         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26231         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26232         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26233         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26234         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26235         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26236         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26237         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26238         In C++, define a namespaced alias symbol.
26239         * modules/spawn (Depends-on): Add c++defs.
26240         (Makefile.am): Update spawn.h rule.
26241
26242         signal: Avoid #define replacements in C++ mode.
26243         * lib/signal.in.h: Include c++defs.h.
26244         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26245         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26246         namespaced alias symbol.
26247         * modules/signal (Depends-on): Add c++defs.
26248         (Makefile.am): Update signal.h rule.
26249
26250         search: Avoid #define replacements in C++ mode.
26251         * lib/search.in.h: Include c++defs.h.
26252         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26253         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26254         symbol.
26255         * modules/search (Depends-on): Add c++defs.
26256         (Makefile.am): Update search.h rule.
26257
26258         math: Avoid #define replacements in C++ mode.
26259         * lib/math.in.h: Include c++defs.h.
26260         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26261         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26262         trunc, truncl): In C++, define a namespaced alias symbol.
26263         * modules/math (Depends-on): Add c++defs.
26264         (Makefile.am): Update math.h rule.
26265
26266         locale: Avoid #define replacements in C++ mode.
26267         * lib/locale.in.h: Include c++defs.h.
26268         (duplocale): In C++, define a namespaced alias symbol.
26269         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26270         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26271         * modules/locale (Depends-on): Add c++defs.
26272         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26273
26274         langinfo: Avoid #define replacements in C++ mode.
26275         * lib/langinfo.in.h: Include c++defs.h.
26276         (nl_langinfo): In C++, define a namespaced alias symbol.
26277         * modules/langinfo (Depends-on): Add c++defs.
26278         (Makefile.am): Update langinfo.h rule.
26279
26280         iconv-h: Avoid #define replacements in C++ mode.
26281         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26282         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26283         symbol.
26284         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26285         whenever iconv is present.
26286         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26287         (Makefile.am): Update iconv.h rule.
26288
26289         glob: Avoid #define replacements in C++ mode.
26290         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26291         (_gl_glob_errfunc_fn): New type.
26292         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26293         symbol.
26294         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26295         (Makefile.am): Update glob.h rule.
26296
26297         fcntl-h: Avoid #define replacements in C++ mode.
26298         * lib/fcntl.in.h: Include c++defs.h.
26299         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26300         * modules/fcntl-h (Depends-on): Add c++defs.
26301         (Makefile.am): Update fcntl.h rule.
26302
26303         dirent: Avoid #define replacements in C++ mode.
26304         * lib/dirent.in.h: Include c++defs.h.
26305         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26306         namespaced alias symbol.
26307         (dirfd): Update declaration.
26308         * modules/dirent (Depends-on): Add c++defs.
26309         (Makefile.am): Update dirent.h rule.
26310
26311         ctype: Make it usable in C++ code.
26312         * lib/ctype.in.h: Include c++defs.h.
26313         (isblank): Declare as extern "C".
26314         * modules/ctype (Depends-on): Add c++defs.
26315         (Makefile.am): Update ctype.h rule.
26316
26317         New module 'c++defs'.
26318         * modules/c++defs: New file.
26319         * build-aux/c++defs.h: New file.
26320         Reported by John W. Eaton <jwe@gnu.org>.
26321
26322 2010-03-07  Bruno Haible  <bruno@clisp.org>
26323
26324         logb: Provide missing declaration for Cygwin.
26325         * lib/math.in.h (logb): New declaration.
26326         * m4/logb.m4: New file.
26327         * modules/logb (Files): Add m4/logb.m4.
26328         (Depends-on): Add math.
26329         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26330         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26331         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26332         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26333         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26334
26335 2010-03-07  Bruno Haible  <bruno@clisp.org>
26336
26337         Fix test-cond link error.
26338         * tests/test-cond.c: Include <stdio.h>.
26339
26340 2010-03-07  Bruno Haible  <bruno@clisp.org>
26341
26342         Fix test-dirent-safer link error.
26343         * modules/dirent-safer-tests (Makefile.am): Define
26344         test_dirent_safer_LDADD.
26345
26346 2010-03-07  Bruno Haible  <bruno@clisp.org>
26347
26348         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26349         among default module list.
26350
26351 2010-03-07  Bruno Haible  <bruno@clisp.org>
26352
26353         Fix link error on platforms with GNU libiconv.
26354         * modules/unistr/u8-strcoll-tests (Makefile): Define
26355         test_u8_strcoll_LDADD.
26356         * modules/unistr/u16-strcoll-tests (Makefile): Define
26357         test_u16_strcoll_LDADD.
26358         * modules/unistr/u32-strcoll-tests (Makefile): Define
26359         test_u32_strcoll_LDADD.
26360
26361 2010-03-07  Bruno Haible  <bruno@clisp.org>
26362
26363         Use POSIX declarations for socket functions.
26364         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26365         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26366         rpl_sendto): Change declaration to match POSIX.
26367         * lib/connect.c (rpl_connect): Likewise.
26368         * lib/accept.c (rpl_accept): Likewise.
26369         * lib/bind.c (rpl_bind): Likewise.
26370         * lib/getpeername.c (rpl_getpeername): Likewise.
26371         * lib/getsockname.c (rpl_getsockname): Likewise.
26372         * lib/recv.c (rpl_recv): Likewise.
26373         * lib/send.c (rpl_send): Likewise.
26374         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26375         * lib/sendto.c (rpl_sendto): Likewise.
26376
26377 2010-03-06  Bruno Haible  <bruno@clisp.org>
26378
26379         Clarify access, euidaccess, faccessat.
26380         * doc/posix-functions/faccessat.texi: Mention security problem under
26381         "Other problems", not "Portability problems".
26382         * doc/posix-functions/access.texi: Likewise. Mention a related security
26383         problem.
26384         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26385         * lib/euidaccess.c: Add comments about platforms.
26386         * lib/unistd.in.h (access, euidaccess): Add warnings.
26387
26388 2010-03-07  Bruno Haible  <bruno@clisp.org>
26389
26390         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26391         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26392         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26393         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26394         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26395         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26396         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26397         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26398         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26399         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26400         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26401         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26402         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26403         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26404         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26405         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26406         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26407         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26408         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26409         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26410         Likewise.
26411         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26412         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26413         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26414         Likewise.
26415         * tests/test-spawn.c (main): Make it work when
26416         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26417
26418 2010-03-07  Bruno Haible  <bruno@clisp.org>
26419
26420         Fix incorrect Makefile.am generation in German locale.
26421         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26422         Execute sed command with character range in C locale.
26423
26424 2010-03-06  Bruno Haible  <bruno@clisp.org>
26425
26426         Tests for module 'iconv-h'.
26427         * modules/iconv-h-tests: New file.
26428         * tests/test-iconv-h.c: New file.
26429
26430         New module 'iconv-h'.
26431         * modules/iconv-h: New file.
26432         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26433         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26434         (configure.ac): Remove gl_ICONV_H.
26435         (Makefile.am): Remove rule for iconv.h.
26436
26437 2010-03-06  Bruno Haible  <bruno@clisp.org>
26438
26439         More consistent naming of *.m4 files.
26440         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26441         * modules/wctype (Files): Update.
26442
26443         More consistent naming of *.m4 files.
26444         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26445         * modules/wchar (Files): Update.
26446
26447 2010-03-06  Jim Meyering  <meyering@redhat.com>
26448
26449         euidaccess: relax license to LGPLv2+
26450         * modules/euidaccess (License): Relax to LGPLv2+.
26451
26452 2010-03-06  Bruno Haible  <bruno@clisp.org>
26453
26454         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26455         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26456         (Makefile.am): Augment lib_SOURCES instead.
26457
26458 2010-03-04  Jim Meyering  <meyering@redhat.com>
26459
26460         utime: remove obsolete module
26461         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26462         unnecessary for years, and has been marked as obsolete for 10 months.
26463         * modules/utime: Remove file.
26464         * lib/utime.c: Remove file.
26465         * m4/utime.m4: Remove file.
26466         * m4/utimes-null.m4: Remove file.
26467         * doc/posix-functions/utime.texi (utime): Remove reference to
26468         the module.  Move the sole "fixed by gnulib" item into the
26469         "problems not fixed by Gnulib" list.
26470         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26471
26472 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26473
26474         * modules/exit (License): Relax license to LGPLv2+.
26475         (Status): Mark as obsolete.
26476         * NEWS: Mention deprecated 'exit' module.
26477         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26478         of now obsolete 'exit'.
26479
26480 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26481
26482         fts-lgpl: remove unused module
26483         * modules/fts-lgpl: Remove.
26484         * MODULES.html.sh (func_all_modules): Adjust.
26485         * check-module (find_included_lib_files): Adjust.
26486         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26487
26488 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26489
26490         copy-acl: enhance Solaris ACL error handling
26491         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26492         * lib/set-mode-acl.c (qset_acl): Likewise.
26493
26494 2010-03-02  Bruno Haible  <bruno@clisp.org>
26495
26496         spawn: Don't override the system defined values on FreeBSD 8.
26497         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26498         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26499         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26500         if HAVE_POSIX_SPAWN is 1.
26501         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26502
26503 2010-03-01  Bruno Haible  <bruno@clisp.org>
26504
26505         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26506         regarding Automake.
26507
26508 2010-02-25  Bruno Haible  <bruno@clisp.org>
26509
26510         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26511         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26512         setting, not afterwards.
26513         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26514
26515 2010-02-24  Eric Blake  <eblake@redhat.com>
26516
26517         bootstrap, git-version-gen: use timestamp
26518         * build-aux/git-version-gen (scriptversion): Force UTC.
26519         * build-aux/bootstrap (scriptversion): New variable.
26520
26521         bootstrap: allow older git
26522         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26523         older than 1.6.4.  Requested by the libvirt project.
26524
26525 2010-02-23  Eric Blake  <eblake@redhat.com>
26526
26527         warn-on-use: work with old autoconf
26528         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26529         AS_VAR semantics of autoconf 2.60.
26530         Reported by Bruno Haible.
26531
26532         bootstrap: improve some comments
26533         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26534         clarification comments.
26535
26536         gettimeofday: provide correct function
26537         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26538         when replacement is declared, otherwise provide gettimeofday.
26539         Reported by Michael Goffioul.
26540
26541 2010-02-23  Jim Meyering  <meyering@redhat.com>
26542
26543         lib-ignore: relax license to "unlimited", not LGPLv2+
26544         * modules/lib-ignore (License): Relax to "unlimited".
26545
26546 2010-02-23  Jim Meyering  <meyering@redhat.com>
26547
26548         lib-ignore: relax license to LGPLv2+
26549         * modules/lib-ignore (License): Relax to LGPLv2+.
26550
26551 2010-02-22  Eric Blake  <eblake@redhat.com>
26552
26553         lseek: avoid bash 3.2 broken pipe bug
26554         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26555         warning from bash 3.2.
26556         Reported by Ben Pfaff, with analysis from Bruno Haible.
26557
26558         bootstrap: support non-FSF copyright holder
26559         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26560         bootstrap.conf override of COPYRIGHT_HOLDER.
26561         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26562
26563         bootstrap: interoperate with gettext 0.14.1
26564         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26565
26566         bootstrap: allow for alternate submodule location
26567         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26568         hardcoding submodule location.
26569         (gnulib_mk): Allow direct use of Makefile.am.
26570
26571         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26572         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26573         rather than reconfiguring where the submodule points.
26574
26575         gettimeofday: restore support for platforms that lack function
26576         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26577         replacement if function is missing.
26578         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26579         * modules/sys_time (Makefile.am): Substitute it.
26580         * lib/sys_time.in.h (gettimeofday): Check it.
26581         Reported by Michael Goffioul.
26582
26583 2010-02-21  Bruno Haible  <bruno@clisp.org>
26584
26585         * lib/stdio.in.h (obstack_printf): Fix typo.
26586
26587 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26588
26589         vc-list-files: use bzr ls's -R option
26590         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26591         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26592
26593 2010-02-21  Jim Meyering  <meyering@redhat.com>
26594
26595         init.sh: fix EXEEXT shims to work also for names like test-prog
26596         * tests/init.sh: Re-exec a better shell, when needed.
26597         If the current shell lacks support for posix $(...), an init.sh-using
26598         test will now try to find a shell that supports that.  If EXEEXT is
26599         nonempty, we also require support for hyphen-in-alias-name and shell
26600         substitutions like ${var#glob}.  Failure to find such a shell results
26601         in a skipped test.
26602
26603 2010-02-21  Bruno Haible  <bruno@clisp.org>
26604
26605         Really work around around "broken pipe" error message from bash 3.2.
26606         * gnulib-tool (func_reset_sigpipe): Remove function.
26607         (echo): In bash 3.2, define to a function that uses printf.
26608         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26609
26610 2010-02-20  Bruno Haible  <bruno@clisp.org>
26611
26612         Restore support for automake 1.9.6 with autoconf 2.61.
26613         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26614         Reported by James Youngman <jay@gnu.org>.
26615
26616 2010-02-20  Bruno Haible  <bruno@clisp.org>
26617
26618         Improve *printf warning condition.
26619         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26620         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26621         and the function is overridden due to SIGPIPE emulation.
26622
26623 2010-02-20  Bruno Haible  <bruno@clisp.org>
26624
26625         * lib/stdio.in.h: Tweak comments.
26626
26627 2010-02-19  Bruno Haible  <bruno@clisp.org>
26628
26629         Make it easier to find modules. New gnulib-tool option '--find'.
26630         * gnulib-tool: New option --find.
26631         (func_usage): Document it.
26632         (func_sanitize_modulelist): New function, extracted from
26633         func_all_modules.
26634         (func_all_modules): Invoke it.
26635         * doc/gnulib-tool.texi (Which modules?): New node.
26636
26637 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26638
26639         * lib/sys_select.in.h: Provide select replacement even if
26640         sys/select.h exists on a system, for Interix.
26641
26642 2010-02-18  Jim Meyering  <meyering@redhat.com>
26643
26644         init.sh: don't use $(...) just yet
26645         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26646         to accommodate e.g., Solaris' /bin/sh.
26647
26648 2010-02-17  Bruno Haible  <bruno@clisp.org>
26649
26650         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26651         Reported by Ludovic Courtès <ludo@gnu.org>.
26652
26653 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26654
26655         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26656         linking with -lintl.
26657
26658 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26659
26660         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26661         if not provided by the system's netdb.h.  Reported by
26662         ludo@gnu.org (Ludovic Courtès).
26663
26664 2010-02-15  Jim Meyering  <meyering@redhat.com>
26665
26666         init.sh: improve portability and efficiency
26667         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26668         "dummy" in a for loop.
26669         Use '!', not '^' to select the complement of a character set used
26670         in a "case" statement.
26671         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26672         Suggestions from Eric Blake.
26673
26674         init.sh: automatically accommodate programs with the .exe suffix
26675         Automatically arrange for an invocation of "prog" to execute the
26676         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26677         may use the simpler "prog", yet still work when built on a system
26678         that requires specifying the added suffix.
26679         Do this by constructing a function named "prog" that invokes
26680         "prog.exe" for each .exe file in selected directories.
26681         * tests/init.sh (find_exe_basenames_): New function.
26682         (create_exe_shim_functions_): New function.
26683         (path_prepend_): Use it.
26684
26685         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26686         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26687         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26688
26689 2010-02-14  Jim Meyering  <meyering@redhat.com>
26690
26691         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26692         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26693         (sc_prohibit_hash_pjw_without_use): New rule.
26694
26695         maint.mk: allow the default upload destination dir to be overridden
26696         * top/maint.mk (upload_dest_dir_): Define with a default that
26697         preserves the status quo.
26698         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26699         Reported by Peter Simons.
26700
26701         maint.mk: prohibit inclusion of "hash.h" without_use
26702         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26703
26704 2010-02-10  Jim Meyering  <meyering@redhat.com>
26705
26706         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26707         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26708
26709 2010-02-09  Eric Blake  <ebb9@byu.net>
26710         and Bruno Haible  <bruno@clisp.org>
26711
26712         obstack-printf-posix: ensure declaration
26713         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26714         extracted from gl_FUNC_OBSTACK_PRINTF.
26715         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26716         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26717         Likewise.
26718         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26719         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26720         0.
26721
26722 2010-02-08  Bruno Haible  <bruno@clisp.org>
26723
26724         gnulib-tool: Fix typo in 2010-02-07 commit.
26725         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26726         Reported by Eric Blake.
26727
26728 2010-02-07  Bruno Haible  <bruno@clisp.org>
26729
26730         gnulib-tool: Fix up caching patches.
26731         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26732         option --no-cache. Use associative arrays when supported by the shell.
26733         (sed_comments): New variable.
26734         (modcache): Renamed from do_cache.
26735         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26736         abbreviate unnecessarily.
26737         (have_associative): New variable.
26738         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26739         way also for ksh and zsh.
26740         (func_init_sed_convert_to_cache_statements): New function, extracted
26741         from func_cache_lookup_module. Add support for associative arrays.
26742         Don't set the c_MODULE_cached variable here. Ignore all lines before
26743         the first field header. Remove only the final newline, not all trailing
26744         newlines. Support empty fields correctly. Limit the use of 'eval' to
26745         assignments.
26746         (func_get_description, func_get_status, func_get_notice,
26747         func_get_applicability, func_get_filelist, func_get_dependencies,
26748         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26749         func_get_automake_snippet, func_get_include_directive,
26750         func_get_link_directive, func_get_license, func_get_maintainer):
26751         Update documentation. List the unoptimized code first. Add support for
26752         associative arrays. Limit the use of 'eval' to assignments.
26753         (func_get_applicability): Undo stylistic pessimisations.
26754         (func_get_automake_snippet, func_get_include_directive): Reduce code
26755         duplication.
26756         (func_modules_transitive_closure, func_modules_add_dummy,
26757         func_modules_notice, func_modules_to_filelist, func_add_file,
26758         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26759         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26760         func_create_testdir, func_create_megatestdir): Update documentation.
26761
26762 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26763
26764         * gnulib-tool (func_cache_lookup_module): Store the module name
26765         belonging to the cache variable; error out if two different
26766         module names map to the same cache variable name.
26767
26768 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26769
26770         gnulib-tool: Make caching optional.
26771         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26772         Update matching short versions of --no-changelog.
26773         (func_usage): Update.
26774         (sed_extract_cache_prog): Renamed from ...
26775         (sed_extract_prog): ... this; revert to old extraction script.
26776         (func_get_description, func_get_status)
26777         (func_get_notice, func_get_applicability, func_get_filelist)
26778         (func_get_dependencies, func_get_autoconf_early_snippet)
26779         (func_get_autoconf_snippet, func_get_automake_snippet)
26780         (func_get_include_directive, func_get_link_directive)
26781         (func_get_license, func_get_maintainer): If $do_cache is false,
26782         use old, non-caching extraction scripts.
26783         Suggestion by Bruno Haible.
26784
26785 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26786
26787         gnulib-tool: cache module metainformation.
26788         * gnulib-tool (sed_extract_prog): Match newline before each
26789         header, and rewrite header to a shell variable suffix.
26790         (func_cache_var, func_cache_lookup_module): New functions,
26791         to turn a module name into a cache variable prefix, and to
26792         look up and cache module metainformation.
26793         (func_get_description, func_get_status)
26794         (func_get_notice, func_get_applicability, func_get_filelist)
26795         (func_get_dependencies, func_get_autoconf_early_snippet)
26796         (func_get_autoconf_snippet, func_get_automake_snippet)
26797         (func_get_include_directive, func_get_link_directive)
26798         (func_get_license, func_get_maintainer): Use
26799         func_cache_lookup_module.
26800
26801 2010-02-07  Bruno Haible  <bruno@clisp.org>
26802
26803         fnctl: Fix missing dependency.
26804         * modules/fcntl (Depends-on): Add getdtablesize.
26805         Reported by John W. Eaton <jwe@gnu.org>.
26806
26807 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26808
26809         Argp: fix recognition of short alias options.
26810
26811         * lib/argp-parse.c (convert_options): Fix improper use of
26812         `|' between character values.
26813         * tests/test-argp.c (group1_option): New alias option
26814         --read (-r).
26815         (group1_parser): Special handling for 'r'.
26816         (test15): New test case.
26817         (test_fun): Add test15.
26818         * tests/test-argp-2.sh: Update expected --help and --usage
26819         outputs.
26820
26821 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26822
26823         * tests/test-argp.c: Fix indentation.
26824
26825 2010-02-04  Eric Blake  <ebb9@byu.net>
26826
26827         gettimeofday: expose type of second argument
26828         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26829         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26830         * tests/test-gettimeofday.c: Use it to silence warning.
26831         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26832         the issue.
26833
26834 2010-02-03  Jim Meyering  <meyering@redhat.com>
26835
26836         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26837         * lib/regcomp.c (TYPE_SIGNED): Define.
26838         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26839
26840         regcomp.c: avoid a new -Wshadow warning
26841         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26842
26843 2010-02-01  Jim Meyering  <meyering@redhat.com>
26844
26845         removing useless parentheses in cpp #define directives
26846         For motivation, see commit c0221df4, "define STREQ(a,b)
26847         consistently, removing useless parentheses"
26848         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26849         * lib/mountlist.c (MNT_IGNORE): Likewise.
26850         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26851
26852 2010-02-01  Eric Blake  <ebb9@byu.net>
26853
26854         sys_time: use link-warning
26855         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26856         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26857         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26858         * modules/sys_time (Depends-on): Add warn-on-use.
26859         (Makefile.am): Always build replacement.
26860         (configure.ac): Update substitutions.
26861         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26862         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26863         bother with SYS_TIME_H.
26864         * modules/gettimeofday (configure.ac): Declare indicator.
26865         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26866         in use.
26867
26868         closein-tests: silence compiler warning
26869         * tests/test-closein.c (main): Ignore fread result.
26870         * modules/closein-tests (Depends-on): Add ignore-value.
26871
26872         tests: silence warning about system return
26873         * tests/test-areadlink-with-size.c (main): Ignore system result.
26874         * tests/test-areadlink.c (main): Likewise.
26875         * tests/test-areadlinkat-with-size.c (main): Likewise.
26876         * tests/test-areadlinkat.c (main): Likewise.
26877         * tests/test-canonicalize-lgpl.c (main): Likewise.
26878         * tests/test-canonicalize.c (main): Likewise.
26879         * tests/test-chown.c (main): Likewise.
26880         * tests/test-fchownat.c (main): Likewise.
26881         * tests/test-fdutimensat.c (main): Likewise.
26882         * tests/test-fstatat.c (main): Likewise.
26883         * tests/test-futimens.c (main): Likewise.
26884         * tests/test-lchown.c (main): Likewise.
26885         * tests/test-link.c (main): Likewise.
26886         * tests/test-linkat.c (main): Likewise.
26887         * tests/test-lstat.c (main): Likewise.
26888         * tests/test-mkdir.c (main): Likewise.
26889         * tests/test-mkdirat.c (main): Likewise.
26890         * tests/test-mkfifo.c (main): Likewise.
26891         * tests/test-mkfifoat.c (main): Likewise.
26892         * tests/test-mknod.c (main): Likewise.
26893         * tests/test-readlink.c (main): Likewise.
26894         * tests/test-remove.c (main): Likewise.
26895         * tests/test-rename.c (main): Likewise.
26896         * tests/test-renameat.c (main): Likewise.
26897         * tests/test-rmdir.c (main): Likewise.
26898         * tests/test-symlink.c (main): Likewise.
26899         * tests/test-symlinkat.c (main): Likewise.
26900         * tests/test-unlink.c (main): Likewise.
26901         * tests/test-unlinkat.c (main): Likewise.
26902         * tests/test-utimens.c (main): Likewise.
26903         * tests/test-utimensat.c (main): Likewise.
26904         * modules/areadlink-tests (Depends-on): Add ignore-value.
26905         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26906         * modules/areadlinkat-tests (Depends-on): Likewise.
26907         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26908         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26909         * modules/canonicalize-tests (Depends-on): Likewise.
26910         * modules/chown-tests (Depends-on): Likewise.
26911         * modules/fdutimensat-tests (Depends-on): Likewise.
26912         * modules/futimens-tests (Depends-on): Likewise.
26913         * modules/lchown-tests (Depends-on): Likewise.
26914         * modules/link-tests (Depends-on): Likewise.
26915         * modules/linkat-tests (Depends-on): Likewise.
26916         * modules/lstat-tests (Depends-on): Likewise.
26917         * modules/mkdir-tests (Depends-on): Likewise.
26918         * modules/mkfifo-tests (Depends-on): Likewise.
26919         * modules/mkfifoat-tests (Depends-on): Likewise.
26920         * modules/mknod-tests (Depends-on): Likewise.
26921         * modules/openat-tests (Depends-on): Likewise.
26922         * modules/readlink-tests (Depends-on): Likewise.
26923         * modules/remove-tests (Depends-on): Likewise.
26924         * modules/rename-tests (Depends-on): Likewise.
26925         * modules/renameat-tests (Depends-on): Likewise.
26926         * modules/rmdir-tests (Depends-on): Likewise.
26927         * modules/symlink-tests (Depends-on): Likewise.
26928         * modules/symlinkat-tests (Depends-on): Likewise.
26929         * modules/unlink-tests (Depends-on): Likewise.
26930         * modules/utimens-tests (Depends-on): Likewise.
26931         * modules/utimensat-tests (Depends-on): Likewise.
26932
26933 2010-01-31  Bruno Haible  <bruno@clisp.org>
26934
26935         Perform the same test for many <math.h> functions.
26936         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26937         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26938         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26939         of gl_MATHFUNC.
26940         * modules/acos (configure.ac): Likewise.
26941         * modules/asin (configure.ac): Likewise.
26942         * modules/atan (configure.ac): Likewise.
26943         * modules/atan2 (configure.ac): Likewise.
26944         * modules/cbrt (configure.ac): Likewise.
26945         * modules/copysign (configure.ac): Likewise.
26946         * modules/cos (configure.ac): Likewise.
26947         * modules/cosh (configure.ac): Likewise.
26948         * modules/erf (configure.ac): Likewise.
26949         * modules/erfc (configure.ac): Likewise.
26950         * modules/exp (configure.ac): Likewise.
26951         * modules/fmod (configure.ac): Likewise.
26952         * modules/hypot (configure.ac): Likewise.
26953         * modules/j0 (configure.ac): Likewise.
26954         * modules/j1 (configure.ac): Likewise.
26955         * modules/jn (configure.ac): Likewise.
26956         * modules/lgamma (configure.ac): Likewise.
26957         * modules/log (configure.ac): Likewise.
26958         * modules/log10 (configure.ac): Likewise.
26959         * modules/log1p (configure.ac): Likewise.
26960         * modules/pow (configure.ac): Likewise.
26961         * modules/remainder (configure.ac): Likewise.
26962         * modules/sin (configure.ac): Likewise.
26963         * modules/sinh (configure.ac): Likewise.
26964         * modules/tan (configure.ac): Likewise.
26965         * modules/tanh (configure.ac): Likewise.
26966         * modules/y0 (configure.ac): Likewise.
26967         * modules/y1 (configure.ac): Likewise.
26968         * modules/yn (configure.ac): Likewise.
26969         Suggested by Paolo Bonzini.
26970
26971 2010-01-31  Bruno Haible  <bruno@clisp.org>
26972
26973         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26974
26975 2010-01-31  Bruno Haible  <bruno@clisp.org>
26976
26977         Work around getdelim() bug on FreeBSD 8.0.
26978         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26979         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26980         not work.
26981         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26982         is 1.
26983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26984         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26985         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26986         a non-zero size.
26987         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26988
26989 2010-01-31  Bruno Haible  <bruno@clisp.org>
26990
26991         Work around getline() bug on FreeBSD 8.0.
26992         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26993         and a non-zero size.
26994         * tests/test-getline.c (main): Likewise.
26995         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26996         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26997
26998 2010-01-28  Eric Blake  <ebb9@byu.net>
26999
27000         regex: fix build failure
27001         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
27002         platforms.
27003
27004 2010-01-28  Jim Meyering  <meyering@redhat.com>
27005
27006         regex: do not ignore memory allocation failure
27007         * lib/regex_internal.c (create_cd_newstate): Detect
27008         re_node_set_init_copy failure.   Extracted from glibc commit
27009         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27010
27011         regex: sync more white-space changes from libc
27012         * lib/regex_internal.c: White-space only changes.
27013         * lib/regexec.c: Likewise.
27014
27015         regex: add many uses of __attribute_warn_unused_result__
27016         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
27017         * lib/regexec.c: Likewise.
27018         Extracted from a messy glibc commit.
27019
27020         regcomp.c: spelling and merge-artifact from glibc
27021         * lib/regcomp.c: Merge remainder of glibc's
27022         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27023
27024         regcomp.c: sync white-space changes from glibc
27025         * lib/regcomp.c: Merge to accommodate white space
27026         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
27027
27028         regcomp.c: do not ignore internal return values
27029         * lib/regcomp.c: Do not ignore internal return values.
27030         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
27031         but without its white-space changes and spelling fixes.
27032
27033         regex_internal.h: define __attribute_warn_unused_result__
27034         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
27035
27036         maint: add a syntax-check rule to check for vulnerable Makefile.in
27037         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
27038
27039 2010-01-27  Jim Meyering  <meyering@redhat.com>
27040
27041         ncftpput-ftp: clean up spaces
27042         * build-aux/ncftpput-ftp: Make Copyright line consistent.
27043         Remove trailing blanks.
27044
27045 2010-01-27  Simon Josefsson  <simon@josefsson.org>
27046
27047         * build-aux/git-version-gen: Fix copyright statement.
27048         * build-aux/gnupload: Likewise.
27049         * tests/test-arcfour.c: Likewise.
27050         * tests/test-arctwo.c: Likewise.
27051         * tests/test-count-one-bits.c: Likewise.
27052         * tests/test-crc.c: Likewise.
27053         * tests/test-des.c: Likewise.
27054         * tests/test-gc-arcfour.c: Likewise.
27055         * tests/test-gc-arctwo.c: Likewise.
27056         * tests/test-gc-des.c: Likewise.
27057         * tests/test-gc-hmac-md5.c: Likewise.
27058         * tests/test-gc-hmac-sha1.c: Likewise.
27059         * tests/test-gc-md2.c: Likewise.
27060         * tests/test-gc-md4.c: Likewise.
27061         * tests/test-gc-md5.c: Likewise.
27062         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27063         * tests/test-gc-rijndael.c: Likewise.
27064         * tests/test-gc-sha1.c: Likewise.
27065         * tests/test-gc.c: Likewise.
27066         * tests/test-gethostname.c: Likewise.
27067         * tests/test-gettimeofday.c: Likewise.
27068         * tests/test-hash.c: Likewise.
27069         * tests/test-hmac-md5.c: Likewise.
27070         * tests/test-hmac-sha1.c: Likewise.
27071         * tests/test-md2.c: Likewise.
27072         * tests/test-md4.c: Likewise.
27073         * tests/test-md5.c: Likewise.
27074         * tests/test-memchr.c: Likewise.
27075         * tests/test-memchr2.c: Likewise.
27076         * tests/test-memcmp.c: Likewise.
27077         * tests/test-memmem.c: Likewise.
27078         * tests/test-memrchr.c: Likewise.
27079         * tests/test-rawmemchr.c: Likewise.
27080         * tests/test-read-file.c: Likewise.
27081         * tests/test-rijndael.c: Likewise.
27082         * tests/test-sockets.c: Likewise.
27083         * tests/test-strchrnul.c: Likewise.
27084         * tests/test-strstr.c: Likewise.
27085         * tests/test-strtod.c: Likewise.
27086         * build-aux/ncftpput-ftp: Likewise.
27087
27088 2010-01-26  Eric Blake  <ebb9@byu.net>
27089
27090         ignore-value: update recommended header name
27091         * modules/ignore-value (Include): Only use <> for headers that
27092         exist in glibc.
27093
27094 2010-01-26  Jim Meyering  <meyering@redhat.com>
27095
27096         test-userspec.c: avoid compiler warnings
27097         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
27098         and "initialization discards qualifiers..." warnings.
27099         Put the first "uid" in its own scope, and make char* members "const".
27100
27101 2010-01-25  Bruno Haible  <bruno@clisp.org>
27102
27103         gnulib-tool: Make warning diagnostics consistent.
27104         * gnulib-tool (func_warning): New function.
27105         Use it everywhere where gnulib-tool produces output to stderr and it is
27106         not a fatal error.
27107
27108 2010-01-25  Bruno Haible  <bruno@clisp.org>
27109
27110         Fix test dependencies.
27111         * modules/xstrtol-tests (Depends-on): Add inttypes.
27112         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
27113
27114 2010-01-25 Pádraig Brady <P@draigBrady.com>
27115
27116         syntax-check: detect incorrect boolean macro values in config.h
27117         * modules/maintainer-makefile (configure.ac): Parameterize the location
27118         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
27119         The logic is from Eric Blake and the location indicated by Jim Meyering.
27120         Note the more natural CONFIG_HEADER name is prohibited by automake
27121         for backwards compatibility reasons.
27122         * top/maint.mk (sc_Wundef_boolean): New rule.
27123
27124 2010-01-25  Jim Meyering  <meyering@redhat.com>
27125
27126         bootstrap: detect MacOS 10.6's shasum, too
27127         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
27128         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
27129
27130 2010-01-23  Jim Meyering  <meyering@redhat.com>
27131
27132         xstrtoll: new module
27133         * modules/xstrtoll: New file.
27134         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
27135         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
27136         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
27137         ./configure fails if you use this module and lack "long long".
27138         * modules/xstrtoll-tests: New module.
27139         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
27140         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
27141         new init.sh-based test framework.
27142
27143 2010-01-24  Bruno Haible  <bruno@clisp.org>
27144
27145         Tests for module 'yn'.
27146         * modules/yn-tests: New file.
27147         * tests/test-yn.c: New file.
27148
27149         Tests for module 'y1'.
27150         * modules/y1-tests: New file.
27151         * tests/test-y1.c: New file.
27152
27153         Tests for module 'y0'.
27154         * modules/y0-tests: New file.
27155         * tests/test-y0.c: New file.
27156
27157         Tests for module 'tanh'.
27158         * modules/tanh-tests: New file.
27159         * tests/test-tanh.c: New file.
27160
27161         Tests for module 'tan'.
27162         * modules/tan-tests: New file.
27163         * tests/test-tan.c: New file.
27164
27165         Tests for module 'sqrt'.
27166         * modules/sqrt-tests: New file.
27167         * tests/test-sqrt.c: New file.
27168
27169         Tests for module 'sinh'.
27170         * modules/sinh-tests: New file.
27171         * tests/test-sinh.c: New file.
27172
27173         Tests for module 'sin'.
27174         * modules/sin-tests: New file.
27175         * tests/test-sin.c: New file.
27176
27177         Tests for module 'rint'.
27178         * modules/rint-tests: New file.
27179         * tests/test-rint.c: New file.
27180
27181         Tests for module 'remainder'.
27182         * modules/remainder-tests: New file.
27183         * tests/test-remainder.c: New file.
27184
27185         Tests for module 'pow'.
27186         * modules/pow-tests: New file.
27187         * tests/test-pow.c: New file.
27188
27189         Tests for module 'nextafter'.
27190         * modules/nextafter-tests: New file.
27191         * tests/test-nextafter.c: New file.
27192
27193         Tests for module 'modf'.
27194         * modules/modf-tests: New file.
27195         * tests/test-modf.c: New file.
27196
27197         Tests for module 'logb'.
27198         * modules/logb-tests: New file.
27199         * tests/test-logb.c: New file.
27200
27201         Tests for module 'log1p'.
27202         * modules/log1p-tests: New file.
27203         * tests/test-log1p.c: New file.
27204
27205         Tests for module 'log10'.
27206         * modules/log10-tests: New file.
27207         * tests/test-log10.c: New file.
27208
27209         Tests for module 'log'.
27210         * modules/log-tests: New file.
27211         * tests/test-log.c: New file.
27212
27213         Tests for module 'lgamma'.
27214         * modules/lgamma-tests: New file.
27215         * tests/test-lgamma.c: New file.
27216
27217         Tests for module 'ldexp'.
27218         * modules/ldexp-tests: New file.
27219         * tests/test-ldexp.c: New file.
27220
27221         Tests for module 'jn'.
27222         * modules/jn-tests: New file.
27223         * tests/test-jn.c: New file.
27224
27225         Tests for module 'j1'.
27226         * modules/j1-tests: New file.
27227         * tests/test-j1.c: New file.
27228
27229         Tests for module 'j0'.
27230         * modules/j0-tests: New file.
27231         * tests/test-j0.c: New file.
27232
27233         Tests for module 'hypot'.
27234         * modules/hypot-tests: New file.
27235         * tests/test-hypot.c: New file.
27236
27237         Tests for module 'fmod'.
27238         * modules/fmod-tests: New file.
27239         * tests/test-fmod.c: New file.
27240
27241         Tests for module 'fabs'.
27242         * modules/fabs-tests: New file.
27243         * tests/test-fabs.c: New file.
27244
27245         Tests for module 'exp'.
27246         * modules/exp-tests: New file.
27247         * tests/test-exp.c: New file.
27248
27249         Tests for module 'erfc'.
27250         * modules/erfc-tests: New file.
27251         * tests/test-erfc.c: New file.
27252
27253         Tests for module 'erf'.
27254         * modules/erf-tests: New file.
27255         * tests/test-erf.c: New file.
27256
27257         Tests for module 'cosh'.
27258         * modules/cosh-tests: New file.
27259         * tests/test-cosh.c: New file.
27260
27261         Tests for module 'cos'.
27262         * modules/cos-tests: New file.
27263         * tests/test-cos.c: New file.
27264
27265         Tests for module 'copysign'.
27266         * modules/copysign-tests: New file.
27267         * tests/test-copysign.c: New file.
27268
27269         Tests for module 'cbrt'.
27270         * modules/cbrt-tests: New file.
27271         * tests/test-cbrt.c: New file.
27272
27273         Tests for module 'atan2'.
27274         * modules/atan2-tests: New file.
27275         * tests/test-atan2.c: New file.
27276
27277         Tests for module 'atan'.
27278         * modules/atan-tests: New file.
27279         * tests/test-atan.c: New file.
27280
27281         Tests for module 'asin'.
27282         * modules/asin-tests: New file.
27283         * tests/test-asin.c: New file.
27284
27285         Tests for module 'acos'.
27286         * modules/acos-tests: New file.
27287         * tests/test-acos.c: New file.
27288
27289 2010-01-24  Bruno Haible  <bruno@clisp.org>
27290
27291         Fix tests for common <math.h> functions.
27292         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27293         code snippet that references the function pointer, rather than merely
27294         calling the function. Substitute the FUNC_LIBM variable.
27295         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27296         * modules/acos (configure.ac): Likewise.
27297         * modules/asin (configure.ac): Likewise.
27298         * modules/atan (configure.ac): Likewise.
27299         * modules/atan2 (configure.ac): Likewise.
27300         * modules/cbrt (configure.ac): Likewise.
27301         * modules/copysign (configure.ac): Likewise.
27302         * modules/cos (configure.ac): Likewise.
27303         * modules/cosh (configure.ac): Likewise.
27304         * modules/erf (configure.ac): Likewise.
27305         * modules/erfc (configure.ac): Likewise.
27306         * modules/exp (configure.ac): Likewise.
27307         * modules/fabs (configure.ac): Likewise.
27308         * modules/fmod (configure.ac): Likewise.
27309         * modules/hypot (configure.ac): Likewise.
27310         * modules/j0 (configure.ac): Likewise.
27311         * modules/j1 (configure.ac): Likewise.
27312         * modules/jn (configure.ac): Likewise.
27313         * modules/ldexp (configure.ac): Likewise.
27314         * modules/lgamma (configure.ac): Likewise.
27315         * modules/log (configure.ac): Likewise.
27316         * modules/log10 (configure.ac): Likewise.
27317         * modules/log1p (configure.ac): Likewise.
27318         * modules/logb (configure.ac): Likewise.
27319         * modules/modf (configure.ac): Likewise.
27320         * modules/nextafter (configure.ac): Likewise.
27321         * modules/pow (configure.ac): Likewise.
27322         * modules/remainder (configure.ac): Likewise.
27323         * modules/rint (configure.ac): Likewise.
27324         * modules/sin (configure.ac): Likewise.
27325         * modules/sinh (configure.ac): Likewise.
27326         * modules/tan (configure.ac): Likewise.
27327         * modules/tanh (configure.ac): Likewise.
27328         * modules/y0 (configure.ac): Likewise.
27329         * modules/y1 (configure.ac): Likewise.
27330         * modules/yn (configure.ac): Likewise.
27331
27332 2010-01-24  Bruno Haible  <bruno@clisp.org>
27333
27334         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27335         * tests/test-acosl.c (x): New variable.
27336         (main): Store argument in x and fetch it from x.
27337         * tests/test-asinl.c (x): New variable.
27338         (main): Store argument in x and fetch it from x.
27339         * tests/test-atanl.c (x): New variable.
27340         (main): Store argument in x and fetch it from x.
27341         * tests/test-cosl.c (x): New variable.
27342         (main): Store argument in x and fetch it from x.
27343         * tests/test-expl.c (x): New variable.
27344         (main): Store argument in x and fetch it from x.
27345         * tests/test-logl.c (x): New variable.
27346         (main): Store argument in x and fetch it from x.
27347         * tests/test-sinl.c (x): New variable.
27348         (main): Store argument in x and fetch it from x.
27349         * tests/test-sqrtl.c (x): New variable.
27350         (main): Store argument in x and fetch it from x.
27351         * tests/test-tanl.c (x): New variable.
27352         (main): Store argument in x and fetch it from x.
27353
27354 2010-01-24  Bruno Haible  <bruno@clisp.org>
27355
27356         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27357         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27358         assignments to the initial TESTS_ENVIRONMENT.
27359         * doc/gnulib.texi (Unit test modules): Document it.
27360         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27361         TESTS_ENVIRONMENT.
27362         * modules/btowc-tests (Makefile.am): Likewise.
27363         * modules/c-stack-tests (Makefile.am): Likewise.
27364         * modules/c-strcase-tests (Makefile.am): Likewise.
27365         * modules/copy-file-tests (Makefile.am): Likewise.
27366         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27367         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27368         * modules/mbrtowc-tests (Makefile.am): Likewise.
27369         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27370         * modules/mbscasestr-tests (Makefile.am): Likewise.
27371         * modules/mbschr-tests (Makefile.am): Likewise.
27372         * modules/mbscspn-tests (Makefile.am): Likewise.
27373         * modules/mbsinit-tests (Makefile.am): Likewise.
27374         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27375         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27376         * modules/mbspbrk-tests (Makefile.am): Likewise.
27377         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27378         * modules/mbsrchr-tests (Makefile.am): Likewise.
27379         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27380         * modules/mbsspn-tests (Makefile.am): Likewise.
27381         * modules/mbsstr-tests (Makefile.am): Likewise.
27382         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27383         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27384         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27385         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27386         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27387         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27388         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27389         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27390         * modules/wcrtomb-tests (Makefile.am): Likewise.
27391         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27392         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27393         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27394         assignments from TESTS_ENVIRONMENT.
27395         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27396         augmentation.
27397         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27398         * modules/atexit-tests (Makefile.am): Likewise.
27399         * modules/binary-io-tests (Makefile.am): Likewise.
27400         * modules/closein-tests (Makefile.am): Likewise.
27401         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27402         * modules/exclude-tests (Makefile.am): Likewise.
27403         * modules/fflush-tests (Makefile.am): Likewise.
27404         * modules/fpending-tests (Makefile.am): Likewise.
27405         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27406         * modules/freadahead-tests (Makefile.am): Likewise.
27407         * modules/freadptr-tests (Makefile.am): Likewise.
27408         * modules/freadseek-tests (Makefile.am): Likewise.
27409         * modules/fseek-tests (Makefile.am): Likewise.
27410         * modules/fseeko-tests (Makefile.am): Likewise.
27411         * modules/ftell-tests (Makefile.am): Likewise.
27412         * modules/ftello-tests (Makefile.am): Likewise.
27413         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27414         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27415         * modules/lseek-tests (Makefile.am): Likewise.
27416         * modules/parse-duration-tests (Makefile.am): Likewise.
27417         * modules/perror-tests (Makefile.am): Likewise.
27418         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27419         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27420         * modules/pipe-tests (Makefile.am): Likewise.
27421         * modules/pread-tests (Makefile.am): Likewise.
27422         * modules/printf-posix-tests (Makefile.am): Likewise.
27423         * modules/select-tests (Makefile.am): Likewise.
27424         * modules/sigpipe-tests (Makefile.am): Likewise.
27425         * modules/tsearch-tests (Makefile.am): Likewise.
27426         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27427         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27428         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27429         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27430         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27431         * modules/version-etc-tests (Makefile.am): Likewise.
27432         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27433         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27434         * modules/xalloc-die-tests (Makefile.am): Likewise.
27435         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27436         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27437         * modules/xstrtol-tests (Makefile.am): Likewise.
27438         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27439         * modules/yesno-tests (Makefile.am): Likewise.
27440         Suggested by Jim Meyering.
27441
27442 2010-01-24  Bruno Haible  <bruno@clisp.org>
27443
27444         More documentation.
27445         * doc/gnulib.texi (Writing modules): New chapter.
27446         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27447         the new chapter.
27448
27449 2010-01-24  Jim Meyering  <meyering@redhat.com>
27450
27451         maint.mk: do not prepend "./" after filtering
27452         * top/maint.mk (_prepend_srcdir_prefix): New variable
27453         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27454         "./" when $(srcdir) is ".".
27455
27456         define STREQ(a,b) consistently, removing useless parentheses
27457         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27458         since the only risk is that "a" or "b" contains an unparenthesized
27459         comma, but if either did that, STREQ would have 3 or more arguments.
27460         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27461         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27462         * lib/hash-triple.c (STREQ): Likewise.
27463         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27464         * lib/getugroups.c (STREQ): Likewise.
27465
27466 2010-01-23  Jim Meyering  <meyering@redhat.com>
27467
27468         maint.mk: fix syntax-check in a non-srcdir build directory
27469         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27470         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27471
27472 2010-01-22  Jim Meyering  <meyering@redhat.com>
27473
27474         userspec: add unit tests
27475         * tests/test-userspec.c: New file.
27476         * modules/userspec-tests: Likewise.
27477
27478 2010-01-21  Jim Meyering  <meyering@redhat.com>
27479
27480         maint.mk: handle source file names containing "." robustly
27481         * top/maint.mk (_dot_escaped_srcdir): Define.
27482         (VC_LIST): Use it in LHS of sed substitution.
27483
27484 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27485
27486         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27487         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27488         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27489         from a non-srcdir build.
27490
27491 2010-01-20  Eric Blake  <ebb9@byu.net>
27492
27493         warn-on-use: use instead of link-warning
27494         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27495         * modules/unistd (Depends-on, Makefile.am): Likewise.
27496         * modules/arpa_inet (Depends-on): Replace link-warning with
27497         warn-on-use.
27498         (Makefile.am): Update rules accordingly.
27499         * modules/ctype (Depends-on, Makefile.am): Likewise.
27500         * modules/dirent (Depends-on, Makefile.am): Likewise.
27501         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27502         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27503         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27504         * modules/locale (Depends-on, Makefile.am): Likewise.
27505         * modules/math (Depends-on, Makefile.am): Likewise.
27506         * modules/search (Depends-on, Makefile.am): Likewise.
27507         * modules/signal (Depends-on, Makefile.am): Likewise.
27508         * modules/spawn (Depends-on, Makefile.am): Likewise.
27509         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27510         * modules/string (Depends-on, Makefile.am): Likewise.
27511         * modules/strings (Depends-on, Makefile.am): Likewise.
27512         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27513         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27514         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27515         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27516         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27517         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27518         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27519         * modules/wchar (Depends-on, Makefile.am): Likewise.
27520         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27521         should be poisoned.
27522         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27523         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27524         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27525         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27526         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27527         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27528         * m4/math_h.m4 (gl_MATH_H): Likewise.
27529         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27530         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27531         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27532         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27533         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27534         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27535         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27536         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27537         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27538         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27539         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27540         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27541         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27542         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27543         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27544         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27545         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27546         GL_LINK_WARNING.
27547         * lib/ctype.in.h: Likewise.
27548         * lib/dirent.in.h: Likewise.
27549         * lib/fcntl.in.h: Likewise.
27550         * lib/inttypes.in.h: Likewise.
27551         * lib/langinfo.in.h: Likewise.
27552         * lib/locale.in.h: Likewise.
27553         * lib/math.in.h: Likewise.
27554         * lib/search.in.h: Likewise.
27555         * lib/signal.in.h: Likewise.
27556         * lib/spawn.in.h: Likewise.
27557         * lib/stdio.in.h: Likewise.
27558         * lib/stdlib.in.h: Likewise.
27559         * lib/string.in.h: Likewise.
27560         * lib/strings.in.h: Likewise.
27561         * lib/sys_file.in.h: Likewise.
27562         * lib/sys_ioctl.in.h: Likewise.
27563         * lib/sys_select.in.h: Likewise.
27564         * lib/sys_socket.in.h: Likewise.
27565         * lib/sys_stat.in.h: Likewise.
27566         * lib/sys_times.in.h: Likewise.
27567         * lib/sys_utsname.in.h: Likewise.
27568         * lib/unistd.in.h: Likewise.
27569         * lib/wchar.in.h: Likewise.
27570
27571 2010-01-20  Bruno Haible  <bruno@clisp.org>
27572
27573         Avoid duplicate -lm.
27574         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27575         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27576         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27577         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27578         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27579         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27580         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27581         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27582         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27583         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27584         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27585         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27586         Reported by Paolo Bonzini.
27587
27588 2010-01-19  Bruno Haible  <bruno@clisp.org>
27589
27590         langinfo, nl_langinfo: Relicense under LGPLv2+.
27591         * modules/langinfo (License): Change to LGPLv2+.
27592         * modules/nl_langinfo (License): Likewise.
27593         Patch by David Lutterkort <lutter@redhat.com>.
27594
27595 2010-01-19  Bruno Haible  <bruno@clisp.org>
27596
27597         Avoid compilation error with cc on OSF/1 5.1.
27598         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27599         statement, not before.
27600         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27601
27602 2010-01-18  Bruno Haible  <bruno@clisp.org>
27603
27604         Avoid a link error due to the __printf__ symbol.
27605         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27606         and 2.6.x.
27607         (__format__, __printf__): Remove definitions.
27608         * lib/argp-fmtstream.h: Likewise.
27609         * lib/argp.h: Likewise.
27610         * lib/error.h: Likewise.
27611         * lib/vasnprintf.h: Likewise.
27612         * lib/xprintf.h: Likewise.
27613         * lib/xvasprintf.h: Likewise.
27614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27615
27616 2010-01-18  Bruno Haible  <bruno@clisp.org>
27617
27618         Tests for module 'tanl'.
27619         * modules/tanl-tests: New file.
27620         * tests/test-tanl.c: New file.
27621
27622         Tests for module 'sqrtl'.
27623         * modules/sqrtl-tests: New file.
27624         * tests/test-sqrtl.c: New file.
27625
27626         Tests for module 'sinl'.
27627         * modules/sinl-tests: New file.
27628         * tests/test-sinl.c: New file.
27629
27630         Tests for module 'logl'.
27631         * modules/logl-tests: New file.
27632         * tests/test-logl.c: New file.
27633
27634         Tests for module 'expl'.
27635         * modules/expl-tests: New file.
27636         * tests/test-expl.c: New file.
27637
27638         Tests for module 'cosl'.
27639         * modules/cosl-tests: New file.
27640         * tests/test-cosl.c: New file.
27641
27642         Tests for module 'atanl'.
27643         * modules/atanl-tests: New file.
27644         * tests/test-atanl.c: New file.
27645
27646         Tests for module 'asinl'.
27647         * modules/asinl-tests: New file.
27648         * tests/test-asinl.c: New file.
27649
27650         Tests for module 'acosl'.
27651         * modules/acosl-tests: New file.
27652         * tests/test-acosl.c: New file.
27653
27654         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27655         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27656         tanl): Use the standard gnulib idiom.
27657         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27658         * lib/sinl.c: Likewise.
27659         * lib/tanl.c: Don't include trigl.c.
27660         (kernel_tanl): Make static.
27661         * lib/sincosl.c: Include trigl.h first.
27662         * lib/trigl.c: Likewise.
27663         * m4/acosl.m4: New file.
27664         * m4/asinl.m4: New file.
27665         * m4/atanl.m4: New file.
27666         * m4/cosl.m4: New file.
27667         * m4/expl.m4: New file.
27668         * m4/logl.m4: New file.
27669         * m4/sinl.m4: New file.
27670         * m4/sqrtl.m4: New file.
27671         * m4/tanl.m4: New file.
27672         * m4/mathl.m4: Remove file.
27673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27674         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27675         Don't initialize GNULIB_MATHL.
27676         * modules/acosl: New file.
27677         * modules/asinl: New file.
27678         * modules/atanl: New file.
27679         * modules/cosl: New file.
27680         * modules/expl: New file.
27681         * modules/logl: New file.
27682         * modules/sinl: New file.
27683         * modules/sqrtl: New file.
27684         * modules/tanl: New file.
27685         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27686         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27687         substitute GNULIB_MATHL.
27688         * modules/mathl: Rewritten.
27689         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27690         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27691         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27692         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27693         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27694         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27695         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27696         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27697         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27698
27699 2010-01-18  Bruno Haible  <bruno@clisp.org>
27700
27701         sqrt: Make gl_FUNC_SQRT requirable.
27702         * m4/sqrt.m4: New file.
27703         * modules/sqrt (Files): Add it.
27704         (configure.ac): Invoke gl_FUNC_SQRT.
27705
27706 2010-01-18  Bruno Haible  <bruno@clisp.org>
27707
27708         New modules for common <math.h> functions.
27709         * m4/mathfunc.m4: New file.
27710         * modules/acos: New file.
27711         * modules/asin: New file.
27712         * modules/atan: New file.
27713         * modules/atan2: New file.
27714         * modules/cbrt: New file.
27715         * modules/copysign: New file.
27716         * modules/cos: New file.
27717         * modules/cosh: New file.
27718         * modules/erf: New file.
27719         * modules/erfc: New file.
27720         * modules/exp: New file.
27721         * modules/fabs: New file.
27722         * modules/fmod: New file.
27723         * modules/hypot: New file.
27724         * modules/j0: New file.
27725         * modules/j1: New file.
27726         * modules/jn: New file.
27727         * modules/ldexp: New file.
27728         * modules/lgamma: New file.
27729         * modules/log: New file.
27730         * modules/log10: New file.
27731         * modules/log1p: New file.
27732         * modules/logb: New file.
27733         * modules/modf: New file.
27734         * modules/nextafter: New file.
27735         * modules/pow: New file.
27736         * modules/remainder: New file.
27737         * modules/rint: New file.
27738         * modules/sin: New file.
27739         * modules/sinh: New file.
27740         * modules/sqrt: New file.
27741         * modules/tan: New file.
27742         * modules/tanh: New file.
27743         * modules/y0: New file.
27744         * modules/y1: New file.
27745         * modules/yn: New file.
27746         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27747         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27748         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27749         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27750         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27751         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27752         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27753         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27754         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27755         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27756         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27757         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27758         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27759         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27760         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27761         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27762         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27763         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27764         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27765         * doc/posix-functions/log.texi: Mention the 'log' module.
27766         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27767         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27768         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27769         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27770         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27771         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27772         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27773         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27774         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27775         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27776         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27777         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27778         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27779         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27780         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27781         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27782
27783 2010-01-18  Jim Meyering  <meyering@redhat.com>
27784
27785         ignore-value: relax license to LGPLv2+
27786         * modules/ignore-value (License): Relax to LGPLv2+.
27787
27788         getdate: don't leak when TZ contains two or more '"'s
27789         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27790         double quote in TZ after the first one.
27791
27792         readtokens: do not leak internal token_lengths buffer
27793         * lib/readtokens.c (readtokens): Free the local, lengths,
27794         when the supplied "token_lengths" parameter is NULL.
27795
27796 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27797
27798         Fix a couple of missing LIBTHREAD link failures on AIX.
27799         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27800         $(LIBTHREAD).
27801         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27802
27803         Link test-poll against INET_PTON_LIB.
27804         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27805         for inet_pton on Solaris 10.
27806
27807 2010-01-17  Bruno Haible  <bruno@clisp.org>
27808
27809         unistdio/*-sprintf: Fix typo in module description.
27810         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27811         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27812         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27813         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27814         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27815         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27816         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27817         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27818
27819 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27820
27821         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27822         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27823         variables in shell case patterns, for AIX and HP-UX ksh.
27824
27825         Split large sed scripts, for HP-UX sed.
27826         * modules/stdio: Split sed scripts around 50 sed commands,
27827         to avoid HP-UX limit of 99 commands, in the near future.
27828         * modules/string: Likewise.
27829         * modules/unistd: Likewise.
27830
27831         gnulib-tool: avoid writing in the current directory.
27832         * gnulib-tool (func_emit_lib_Makefile_am)
27833         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27834         not in the current directory, so concurrent gnulib-tool
27835         instances do not interfere.
27836
27837 2010-01-16  Jim Meyering  <meyering@redhat.com>
27838
27839         doc: update users.txt
27840         * users.txt: Add grep.
27841         (diffutils, gzip): Update URLs.
27842
27843 2010-01-12  Bruno Haible  <bruno@clisp.org>
27844
27845         posix_spawn: Avoid test failure on Cygwin.
27846         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27847         characters.
27848         Reported by Simon Josefsson.
27849
27850 2010-01-12  Bruno Haible  <bruno@clisp.org>
27851
27852         * tests/test-cond.c (main): When skipping the test, show the reason.
27853
27854 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27855
27856         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27857
27858 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27859
27860         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27861         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27862
27863 2010-01-12  Eric Blake  <ebb9@byu.net>
27864
27865         build: guarantee AS_VAR_IF
27866         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27867         (gl_AS_VAR_IF): Move...
27868         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27869         Reported by Simon Josefsson.
27870
27871 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27872
27873         * lib/stdio.in.h: Fix typo.
27874
27875 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27876
27877         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27878         libgpg-error.
27879
27880 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27881
27882         * tests/test-xalloc-die.sh: Use $EXEEXT.
27883
27884 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27885             Bruno Haible  <bruno@clisp.org>
27886
27887         getlogin, getlogin_r: Avoid test failure.
27888         * tests/test-getlogin.c: Include <stdio.h>.
27889         (main): Skip the test when the function fails because stdin is not a
27890         tty.
27891         * tests/test-getlogin_r.c: Include <stdio.h>.
27892         (main): Skip the test when the function fails because stdin is not a
27893         tty.
27894
27895 2010-01-11  Eric Blake  <ebb9@byu.net>
27896
27897         tests: avoid more large file warnings
27898         * tests/test-fflush.c: Avoid warning about ftell use.
27899         * tests/test-fseek.c: Avoid warning about fseek use.
27900
27901 2010-01-10  Bruno Haible  <bruno@clisp.org>
27902
27903         nproc: Work better on Linux when /proc and /sys are not mounted.
27904         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27905         as lower bound when, on glibc/Linux systems,
27906         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27907         Suggested by Pádraig Brady <P@draigbrady.com>.
27908         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27909
27910         nproc: Refactor.
27911         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27912         extracted from num_processors.
27913         (num_processors): Call it.
27914
27915 2010-01-11  Jim Meyering  <meyering@redhat.com>
27916
27917         utimecmp: avoid new warning from upcoming gcc-4.5.0
27918         * lib/utimecmp.c (BILLION): Define using #define rather than an
27919         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27920
27921 2010-01-11  Eric Blake  <ebb9@byu.net>
27922
27923         math: add portability warnings for classification macros
27924         * modules/math (Depends-on): Add warn-on-use.
27925         (Makefile.am): Provide new substitutions.
27926         * m4/math_h.m4 (gl_MATH_H): Require inline.
27927         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27928         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27929         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27930         implement warnings.
27931
27932         unistd: warn on use of environ without module
27933         * modules/unistd (Depends-on): Add warn-on-use.
27934         (Makefile.am): Provide new substitutions.
27935         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27936         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27937
27938         stdio: warn on suspicious uses
27939         * modules/stdio (Depends-on): Add warn-on-use.
27940         (Makefile.am): Provide new substitutions.
27941         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27942         fseeko.
27943         * lib/stdio.in.h (gets): Always warn on use.
27944         (fseek, ftell): Adjust when warnings are issued, and honor
27945         _GL_NO_LARGE_FILES as a way to silence the warning.
27946         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27947         any warning about large file offsets.
27948         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27949         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27950         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27951         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27952         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27953         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27954         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27955         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27956
27957         warn-on-use: new module
27958         * modules/warn-on-use: New file.
27959         * build-aux/warn-on-use.h: Likewise.
27960         * m4/warn-on-use.m4: Likewise.
27961         * MODULES.html.sh (Support for building): Mention it.
27962
27963 2010-01-10  Bruno Haible  <bruno@clisp.org>
27964
27965         Tests for module 'unistr/u32-strdup'.
27966         * modules/unistr/u32-strdup-tests: New file.
27967         * tests/unistr/test-u32-strdup.c: New file.
27968
27969         Tests for module 'unistr/u16-strdup'.
27970         * modules/unistr/u16-strdup-tests: New file.
27971         * tests/unistr/test-u16-strdup.c: New file.
27972
27973         Tests for module 'unistr/u8-strdup'.
27974         * modules/unistr/u8-strdup-tests: New file.
27975         * tests/unistr/test-u8-strdup.c: New file.
27976         * tests/unistr/test-strdup.h: New file.
27977
27978         Tests for module 'unistr/u32-strncmp'.
27979         * modules/unistr/u32-strncmp-tests: New file.
27980         * tests/unistr/test-u32-strncmp.c: New file.
27981
27982         Tests for module 'unistr/u16-strncmp'.
27983         * modules/unistr/u16-strncmp-tests: New file.
27984         * tests/unistr/test-u16-strncmp.c: New file.
27985
27986         Tests for module 'unistr/u8-strncmp'.
27987         * modules/unistr/u8-strncmp-tests: New file.
27988         * tests/unistr/test-u8-strncmp.c: New file.
27989         * tests/unistr/test-strncmp.h: New file.
27990
27991         Tests for module 'unistr/u32-strcoll'.
27992         * modules/unistr/u32-strcoll-tests: New file.
27993         * tests/unistr/test-u32-strcoll.c: New file.
27994
27995         Tests for module 'unistr/u16-strcoll'.
27996         * modules/unistr/u16-strcoll-tests: New file.
27997         * tests/unistr/test-u16-strcoll.c: New file.
27998
27999         Tests for module 'unistr/u8-strcoll'.
28000         * modules/unistr/u8-strcoll-tests: New file.
28001         * tests/unistr/test-u8-strcoll.c: New file.
28002
28003         Tests for module 'unistr/u32-strcmp'.
28004         * modules/unistr/u32-strcmp-tests: New file.
28005         * tests/unistr/test-u32-strcmp.c: New file.
28006         * tests/unistr/test-u32-strcmp.h: New file.
28007
28008         Tests for module 'unistr/u16-strcmp'.
28009         * modules/unistr/u16-strcmp-tests: New file.
28010         * tests/unistr/test-u16-strcmp.c: New file.
28011         * tests/unistr/test-u16-strcmp.h: New file.
28012
28013         Tests for module 'unistr/u8-strcmp'.
28014         * modules/unistr/u8-strcmp-tests: New file.
28015         * tests/unistr/test-u8-strcmp.c: New file.
28016         * tests/unistr/test-u8-strcmp.h: New file.
28017         * tests/unistr/test-strcmp.h: New file.
28018
28019         Tests for module 'unistr/u32-strncat'.
28020         * modules/unistr/u32-strncat-tests: New file.
28021         * tests/unistr/test-u32-strncat.c: New file.
28022
28023         Tests for module 'unistr/u16-strncat'.
28024         * modules/unistr/u16-strncat-tests: New file.
28025         * tests/unistr/test-u16-strncat.c: New file.
28026
28027         Tests for module 'unistr/u8-strncat'.
28028         * modules/unistr/u8-strncat-tests: New file.
28029         * tests/unistr/test-u8-strncat.c: New file.
28030         * tests/unistr/test-strncat.h: New file.
28031
28032         Tests for module 'unistr/u32-strcat'.
28033         * modules/unistr/u32-strcat-tests: New file.
28034         * tests/unistr/test-u32-strcat.c: New file.
28035
28036         Tests for module 'unistr/u16-strcat'.
28037         * modules/unistr/u16-strcat-tests: New file.
28038         * tests/unistr/test-u16-strcat.c: New file.
28039
28040         Tests for module 'unistr/u8-strcat'.
28041         * modules/unistr/u8-strcat-tests: New file.
28042         * tests/unistr/test-u8-strcat.c: New file.
28043         * tests/unistr/test-strcat.h: New file.
28044
28045         Tests for module 'unistr/u32-stpncpy'.
28046         * modules/unistr/u32-stpncpy-tests: New file.
28047         * tests/unistr/test-u32-stpncpy.c: New file.
28048
28049         Tests for module 'unistr/u16-stpncpy'.
28050         * modules/unistr/u16-stpncpy-tests: New file.
28051         * tests/unistr/test-u16-stpncpy.c: New file.
28052
28053         Tests for module 'unistr/u8-stpncpy'.
28054         * modules/unistr/u8-stpncpy-tests: New file.
28055         * tests/unistr/test-u8-stpncpy.c: New file.
28056         * tests/unistr/test-stpncpy.h: New file.
28057
28058         Tests for module 'unistr/u32-strncpy'.
28059         * modules/unistr/u32-strncpy-tests: New file.
28060         * tests/unistr/test-u32-strncpy.c: New file.
28061
28062         Tests for module 'unistr/u16-strncpy'.
28063         * modules/unistr/u16-strncpy-tests: New file.
28064         * tests/unistr/test-u16-strncpy.c: New file.
28065
28066         Tests for module 'unistr/u8-strncpy'.
28067         * modules/unistr/u8-strncpy-tests: New file.
28068         * tests/unistr/test-u8-strncpy.c: New file.
28069         * tests/unistr/test-strncpy.h: New file.
28070
28071         Tests for module 'unistr/u32-stpcpy'.
28072         * modules/unistr/u32-stpcpy-tests: New file.
28073         * tests/unistr/test-u32-stpcpy.c: New file.
28074
28075         Tests for module 'unistr/u16-stpcpy'.
28076         * modules/unistr/u16-stpcpy-tests: New file.
28077         * tests/unistr/test-u16-stpcpy.c: New file.
28078
28079         Tests for module 'unistr/u8-stpcpy'.
28080         * modules/unistr/u8-stpcpy-tests: New file.
28081         * tests/unistr/test-u8-stpcpy.c: New file.
28082         * tests/unistr/test-stpcpy.h: New file.
28083
28084         Tests for module 'unistr/u32-strcpy'.
28085         * modules/unistr/u32-strcpy-tests: New file.
28086         * tests/unistr/test-u32-strcpy.c: New file.
28087
28088         Tests for module 'unistr/u16-strcpy'.
28089         * modules/unistr/u16-strcpy-tests: New file.
28090         * tests/unistr/test-u16-strcpy.c: New file.
28091
28092         Tests for module 'unistr/u8-strcpy'.
28093         * modules/unistr/u8-strcpy-tests: New file.
28094         * tests/unistr/test-u8-strcpy.c: New file.
28095         * tests/unistr/test-strcpy.h: New file.
28096
28097         Tests for module 'unistr/u32-strnlen'.
28098         * modules/unistr/u32-strnlen-tests: New file.
28099         * tests/unistr/test-u32-strnlen.c: New file.
28100
28101         Tests for module 'unistr/u16-strnlen'.
28102         * modules/unistr/u16-strnlen-tests: New file.
28103         * tests/unistr/test-u16-strnlen.c: New file.
28104
28105         Tests for module 'unistr/u8-strnlen'.
28106         * modules/unistr/u8-strnlen-tests: New file.
28107         * tests/unistr/test-u8-strnlen.c: New file.
28108         * tests/unistr/test-strnlen.h: New file.
28109
28110         Tests for module 'unistr/u32-strlen'.
28111         * modules/unistr/u32-strlen-tests: New file.
28112         * tests/unistr/test-u32-strlen.c: New file.
28113
28114         Tests for module 'unistr/u16-strlen'.
28115         * modules/unistr/u16-strlen-tests: New file.
28116         * tests/unistr/test-u16-strlen.c: New file.
28117
28118         Tests for module 'unistr/u8-strlen'.
28119         * modules/unistr/u8-strlen-tests: New file.
28120         * tests/unistr/test-u8-strlen.c: New file.
28121
28122         Tests for module 'unistr/u32-prev'.
28123         * modules/unistr/u32-prev-tests: New file.
28124         * tests/unistr/test-u32-prev.c: New file.
28125
28126         Tests for module 'unistr/u16-prev'.
28127         * modules/unistr/u16-prev-tests: New file.
28128         * tests/unistr/test-u16-prev.c: New file.
28129
28130         Tests for module 'unistr/u8-prev'.
28131         * modules/unistr/u8-prev-tests: New file.
28132         * tests/unistr/test-u8-prev.c: New file.
28133
28134         Tests for module 'unistr/u32-next'.
28135         * modules/unistr/u32-next-tests: New file.
28136         * tests/unistr/test-u32-next.c: New file.
28137
28138         Tests for module 'unistr/u16-next'.
28139         * modules/unistr/u16-next-tests: New file.
28140         * tests/unistr/test-u16-next.c: New file.
28141
28142         Tests for module 'unistr/u8-next'.
28143         * modules/unistr/u8-next-tests: New file.
28144         * tests/unistr/test-u8-next.c: New file.
28145
28146         Tests for module 'unistr/u32-strmbtouc'.
28147         * modules/unistr/u32-strmbtouc-tests: New file.
28148         * tests/unistr/test-u32-strmbtouc.c: New file.
28149
28150         Tests for module 'unistr/u16-strmbtouc'.
28151         * modules/unistr/u16-strmbtouc-tests: New file.
28152         * tests/unistr/test-u16-strmbtouc.c: New file.
28153
28154         Tests for module 'unistr/u8-strmbtouc'.
28155         * modules/unistr/u8-strmbtouc-tests: New file.
28156         * tests/unistr/test-u8-strmbtouc.c: New file.
28157
28158         Tests for module 'unistr/u32-strmblen'.
28159         * modules/unistr/u32-strmblen-tests: New file.
28160         * tests/unistr/test-u32-strmblen.c: New file.
28161
28162         Tests for module 'unistr/u16-strmblen'.
28163         * modules/unistr/u16-strmblen-tests: New file.
28164         * tests/unistr/test-u16-strmblen.c: New file.
28165
28166         Tests for module 'unistr/u8-strmblen'.
28167         * modules/unistr/u8-strmblen-tests: New file.
28168         * tests/unistr/test-u8-strmblen.c: New file.
28169
28170         Tests for module 'unistr/u32-cpy-alloc'.
28171         * modules/unistr/u32-cpy-alloc-tests: New file.
28172         * tests/unistr/test-u32-cpy-alloc.c: New file.
28173
28174         Tests for module 'unistr/u16-cpy-alloc'.
28175         * modules/unistr/u16-cpy-alloc-tests: New file.
28176         * tests/unistr/test-u16-cpy-alloc.c: New file.
28177
28178         Tests for module 'unistr/u8-cpy-alloc'.
28179         * modules/unistr/u8-cpy-alloc-tests: New file.
28180         * tests/unistr/test-u8-cpy-alloc.c: New file.
28181         * tests/unistr/test-cpy-alloc.h: New file.
28182
28183         Tests for module 'unistr/u32-mbsnlen'.
28184         * modules/unistr/u32-mbsnlen-tests: New file.
28185         * tests/unistr/test-u32-mbsnlen.c: New file.
28186
28187         Tests for module 'unistr/u16-mbsnlen'.
28188         * modules/unistr/u16-mbsnlen-tests: New file.
28189         * tests/unistr/test-u16-mbsnlen.c: New file.
28190
28191         Tests for module 'unistr/u8-mbsnlen'.
28192         * modules/unistr/u8-mbsnlen-tests: New file.
28193         * tests/unistr/test-u8-mbsnlen.c: New file.
28194
28195         Tests for module 'unistr/u32-chr'.
28196         * modules/unistr/u32-chr-tests: New file.
28197         * tests/unistr/test-u32-chr.c: New file.
28198
28199         Tests for module 'unistr/u16-chr'.
28200         * modules/unistr/u16-chr-tests: New file.
28201         * tests/unistr/test-u16-chr.c: New file.
28202
28203         Tests for module 'unistr/u8-chr'.
28204         * modules/unistr/u8-chr-tests: New file.
28205         * tests/unistr/test-u8-chr.c: New file.
28206         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28207
28208         Tests for module 'unistr/u32-cmp2'.
28209         * modules/unistr/u32-cmp2-tests: New file.
28210         * tests/unistr/test-u32-cmp2.c: New file.
28211
28212         Tests for module 'unistr/u16-cmp2'.
28213         * modules/unistr/u16-cmp2-tests: New file.
28214         * tests/unistr/test-u16-cmp2.c: New file.
28215
28216         Tests for module 'unistr/u8-cmp2'.
28217         * modules/unistr/u8-cmp2-tests: New file.
28218         * tests/unistr/test-u8-cmp2.c: New file.
28219         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28220
28221         Tests for module 'unistr/u32-cmp'.
28222         * modules/unistr/u32-cmp-tests: New file.
28223         * tests/unistr/test-u32-cmp.c: New file.
28224
28225         Tests for module 'unistr/u16-cmp'.
28226         * modules/unistr/u16-cmp-tests: New file.
28227         * tests/unistr/test-u16-cmp.c: New file.
28228
28229         Tests for module 'unistr/u8-cmp'.
28230         * modules/unistr/u8-cmp-tests: New file.
28231         * tests/unistr/test-u8-cmp.c: New file.
28232         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28233
28234         Tests for module 'unistr/u32-set'.
28235         * modules/unistr/u32-set-tests: New file.
28236         * tests/unistr/test-u32-set.c: New file.
28237
28238         Tests for module 'unistr/u16-set'.
28239         * modules/unistr/u16-set-tests: New file.
28240         * tests/unistr/test-u16-set.c: New file.
28241
28242         Tests for module 'unistr/u8-set'.
28243         * modules/unistr/u8-set-tests: New file.
28244         * tests/unistr/test-u8-set.c: New file.
28245         * tests/unistr/test-set.h: New file.
28246
28247         Tests for module 'unistr/u32-move'.
28248         * modules/unistr/u32-move-tests: New file.
28249         * tests/unistr/test-u32-move.c: New file.
28250
28251         Tests for module 'unistr/u16-move'.
28252         * modules/unistr/u16-move-tests: New file.
28253         * tests/unistr/test-u16-move.c: New file.
28254
28255         Tests for module 'unistr/u8-move'.
28256         * modules/unistr/u8-move-tests: New file.
28257         * tests/unistr/test-u8-move.c: New file.
28258         * tests/unistr/test-move.h: New file.
28259
28260         Tests for module 'unistr/u32-cpy'.
28261         * modules/unistr/u32-cpy-tests: New file.
28262         * tests/unistr/test-u32-cpy.c: New file.
28263
28264         Tests for module 'unistr/u16-cpy'.
28265         * modules/unistr/u16-cpy-tests: New file.
28266         * tests/unistr/test-u16-cpy.c: New file.
28267
28268         Tests for module 'unistr/u8-cpy'.
28269         * modules/unistr/u8-cpy-tests: New file.
28270         * tests/unistr/test-u8-cpy.c: New file.
28271         * tests/unistr/test-cpy.h: New file.
28272
28273 2010-01-09  Bruno Haible  <bruno@clisp.org>
28274
28275         Tests for module 'unistr/u32-uctomb'.
28276         * modules/unistr/u32-uctomb-tests: New file.
28277         * tests/unistr/test-u32-uctomb.c: New file.
28278
28279         Tests for module 'unistr/u16-uctomb'.
28280         * modules/unistr/u16-uctomb-tests: New file.
28281         * tests/unistr/test-u16-uctomb.c: New file.
28282
28283         Tests for module 'unistr/u8-uctomb'.
28284         * modules/unistr/u8-uctomb-tests: New file.
28285         * tests/unistr/test-u8-uctomb.c: New file.
28286
28287         Tests for module 'unistr/u32-mbtoucr'.
28288         * modules/unistr/u32-mbtoucr-tests: New file.
28289         * tests/unistr/test-u32-mbtoucr.c: New file.
28290
28291         Tests for module 'unistr/u16-mbtoucr'.
28292         * modules/unistr/u16-mbtoucr-tests: New file.
28293         * tests/unistr/test-u16-mbtoucr.c: New file.
28294
28295         Tests for module 'unistr/u8-mbtoucr'.
28296         * modules/unistr/u8-mbtoucr-tests: New file.
28297         * tests/unistr/test-u8-mbtoucr.c: New file.
28298
28299         Tests for module 'unistr/u32-mbtouc'.
28300         * modules/unistr/u32-mbtouc-tests: New file.
28301         * tests/unistr/test-u32-mbtouc.c: New file.
28302
28303         Tests for module 'unistr/u16-mbtouc'.
28304         * modules/unistr/u16-mbtouc-tests: New file.
28305         * tests/unistr/test-u16-mbtouc.c: New file.
28306
28307         Tests for module 'unistr/u8-mbtouc'.
28308         * modules/unistr/u8-mbtouc-tests: New file.
28309         * tests/unistr/test-u8-mbtouc.c: New file.
28310
28311         Tests for module 'unistr/u32-mbtouc-unsafe'.
28312         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28313         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28314         * tests/unistr/test-u32-mbtouc.h: New file.
28315
28316         Tests for module 'unistr/u16-mbtouc-unsafe'.
28317         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28318         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28319         * tests/unistr/test-u16-mbtouc.h: New file.
28320
28321         Tests for module 'unistr/u8-mbtouc-unsafe'.
28322         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28323         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28324         * tests/unistr/test-u8-mbtouc.h: New file.
28325
28326         Tests for module 'unistr/u32-mblen'.
28327         * modules/unistr/u32-mblen-tests: New file.
28328         * tests/unistr/test-u32-mblen.c: New file.
28329
28330         Tests for module 'unistr/u16-mblen'.
28331         * modules/unistr/u16-mblen-tests: New file.
28332         * tests/unistr/test-u16-mblen.c: New file.
28333
28334         Tests for module 'unistr/u8-mblen'.
28335         * modules/unistr/u8-mblen-tests: New file.
28336         * tests/unistr/test-u8-mblen.c: New file.
28337
28338         Tests for module 'unistr/u32-to-u16'.
28339         * modules/unistr/u32-to-u16-tests: New file.
28340         * tests/unistr/test-u32-to-u16.c: New file.
28341
28342         Tests for module 'unistr/u32-to-u8'.
28343         * modules/unistr/u32-to-u8-tests: New file.
28344         * tests/unistr/test-u32-to-u8.c: New file.
28345
28346         Tests for module 'unistr/u16-to-u32'.
28347         * modules/unistr/u16-to-u32-tests: New file.
28348         * tests/unistr/test-u16-to-u32.c: New file.
28349
28350         Tests for module 'unistr/u16-to-u8'.
28351         * modules/unistr/u16-to-u8-tests: New file.
28352         * tests/unistr/test-u16-to-u8.c: New file.
28353
28354         Tests for module 'unistr/u8-to-u32'.
28355         * modules/unistr/u8-to-u32-tests: New file.
28356         * tests/unistr/test-u8-to-u32.c: New file.
28357
28358         Tests for module 'unistr/u8-to-u16'.
28359         * modules/unistr/u8-to-u16-tests: New file.
28360         * tests/unistr/test-u8-to-u16.c: New file.
28361
28362         Tests for module 'unistr/u32-check'.
28363         * modules/unistr/u32-check-tests: New file.
28364         * tests/unistr/test-u32-check.c: New file.
28365
28366         Tests for module 'unistr/u16-check'.
28367         * modules/unistr/u16-check-tests: New file.
28368         * tests/unistr/test-u16-check.c: New file.
28369
28370         Tests for module 'unistr/u8-check'.
28371         * modules/unistr/u8-check-tests: New file.
28372         * tests/unistr/test-u8-check.c: New file.
28373
28374         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28375         (category_equals): New function.
28376         (main): Add more tests.
28377         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28378
28379         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28380
28381 2010-01-10  Bruno Haible  <bruno@clisp.org>
28382
28383         unistr/u*-strcoll: Try harder to distinguish different strings.
28384         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28385         compare s1 and s2 to see if they are different.
28386
28387 2010-01-10  Bruno Haible  <bruno@clisp.org>
28388
28389         unistr/u*-stpncpy: Fix the return value.
28390         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28391         description of the return value consistent with stpncpy in glibc.
28392         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28393         written non-NUL unit.
28394
28395 2010-01-10  Bruno Haible  <bruno@clisp.org>
28396
28397         unistr/u*-next: Add missing dependencies.
28398         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28399         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28400         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28401
28402 2010-01-10  Bruno Haible  <bruno@clisp.org>
28403
28404         unistr/u8-mbsnlen: Fix return value for incomplete character.
28405         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28406         u8_mblen.
28407         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28408         Remove unistr/u8-mblen.
28409         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28410         u16_mblen.
28411         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28412         Remove unistr/u16-mblen.
28413
28414 2010-01-10  Bruno Haible  <bruno@clisp.org>
28415
28416         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28417         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28418         Reported by Brian Gough <bjg@gnu.org> and
28419         Chris Clayton <chris2553@googlemail.com> via
28420         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28421
28422 2010-01-09  Bruno Haible  <bruno@clisp.org>
28423
28424         unistr/u16-to-u32: Reject invalid input.
28425         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28426         u16_mbtouc.
28427         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28428         Remove unistr/u16-mbtouc.
28429
28430         unistr/u16-to-u8: Reject invalid input.
28431         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28432         u16_mbtouc.
28433         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28434         Remove unistr/u16-mbtouc.
28435
28436         unistr/u8-to-u32: Reject invalid input.
28437         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28438         u8_mbtouc.
28439         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28440         Remove unistr/u8-mbtouc.
28441
28442         unistr/u8-to-u16: Reject invalid input.
28443         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28444         u8_mbtouc.
28445         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28446         Remove unistr/u8-mbtouc.
28447
28448 2010-01-09  Bruno Haible  <bruno@clisp.org>
28449
28450         Tests for module 'getlogin'.
28451         * modules/getlogin-tests: New file.
28452         * tests/test-getlogin.c: New file.
28453
28454         New module 'getlogin'.
28455         * lib/unistd.in.h (getlogin): New declaration.
28456         * lib/getlogin.c: New file.
28457         * m4/getlogin.m4: New file.
28458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28459         HAVE_GETLOGIN.
28460         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28461         HAVE_GETLOGIN.
28462         * modules/getlogin: New file.
28463         * doc/posix-functions/getlogin.texi: Mention the new module.
28464         Reported by John W. Eaton <jwe@gnu.org>.
28465
28466 2010-01-09  Bruno Haible  <bruno@clisp.org>
28467
28468         getlogin_r: Support for native Windows.
28469         * lib/getlogin_r.c: Include <windows.h>
28470         (getlogin_r): Implement for native Windows.
28471         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28472         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28473         via John W. Eaton <jwe@gnu.org>.
28474
28475 2010-01-09  Bruno Haible  <bruno@clisp.org>
28476
28477         getlogin_r: Small fixes.
28478         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28479         succeeds.
28480         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28481         before testing whether getlogin_r is declared. No need to set
28482         HAVE_DECL_GETLOGIN_R to 1.
28483         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28484
28485 2010-01-09  Bruno Haible  <bruno@clisp.org>
28486
28487         * lib/unistd.in.h (getlogin_r): Add comment.
28488
28489 2010-01-09  Bruno Haible  <bruno@clisp.org>
28490
28491         Tests for module 'getlogin_r'.
28492         * modules/getlogin_r-tests: New file.
28493         * tests/test-getlogin_r.c: New file.
28494
28495 2010-01-09  Jim Meyering  <meyering@redhat.com>
28496
28497         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28498         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28499         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28500
28501 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28502
28503         * lib/dup2.c (rpl_dup2): Improve comment.
28504
28505 2010-01-08  Eric Blake  <ebb9@byu.net>
28506
28507         maint.mk: allow packages to add makefile @@ exceptions
28508         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28509         (sc_makefile_check): Rename...
28510         (sc_makefile_at_at_check): ...to this, and use hook.
28511
28512         dup2: work around mingw bug
28513         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28514         Reported by Simon Josefsson.
28515
28516 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28517
28518         glob: Fix C++ compilation.
28519         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28520         C++.
28521
28522 2010-01-07  Bruno Haible  <bruno@clisp.org>
28523
28524         Fix indentation of wctype.in.h, broken since 2007-01-06.
28525         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28526
28527 2010-01-07  Bruno Haible  <bruno@clisp.org>
28528
28529         mbslen: Avoid collision with system function.
28530         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28531         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28532         * m4/mbslen.m4: New file.
28533         * modules/mbslen (Files): Add it.
28534         (configure.ac): Invoke gl_MBSLEN.
28535         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28536         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28537         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28538         via Ian Beckwith <ianb@erislabs.net>.
28539
28540 2010-01-07  Bruno Haible  <bruno@clisp.org>
28541
28542         dirent: Document the last fix.
28543         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28544
28545 2010-01-07  Bruno Haible  <bruno@clisp.org>
28546
28547         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28548         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28549         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28550         va_list are defined.
28551         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28552         Reported by Eric Blake.
28553
28554 2010-01-07  Bruno Haible  <bruno@clisp.org>
28555
28556         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28557         * modules/xlist (Depends-on): Add 'list',
28558         * modules/xoset (Depends-on): Add 'oset'.
28559         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28560
28561 2010-01-07  Bruno Haible  <bruno@clisp.org>
28562
28563         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28564         * doc/posix-functions/strncasecmp.texi: Likewise.
28565
28566 2010-01-07  Bruno Haible  <bruno@clisp.org>
28567
28568         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28569
28570 2010-01-07  John W. Eaton  <jwe@octave.org>
28571
28572         wctype: allow C++ use
28573         * lib/wctype.in.h: Add extern "C" block for C++.
28574
28575 2010-01-06  Eric Blake  <ebb9@byu.net>
28576
28577         maint.mk: detect incorrect GFDL usage
28578         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28579
28580 2010-01-06  Jim Meyering  <meyering@redhat.com>
28581         and Eric Blake  <ebb9@byu.net>
28582
28583         maint.mk: ignore multi-line copyright in NEWS
28584         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28585
28586 2010-01-06  Eric Blake  <ebb9@byu.net>
28587
28588         select: add missing dependency
28589         * modules/select-tests (Depends-on): Move sockets dependency...
28590         * modules/select (Depends-on): ...here.
28591         Reported by Ian Beckwith.
28592
28593         doc: regenerate INSTALL
28594         * doc/INSTALL: Reflect recent autoconf update.
28595         * doc/INSTALL.ISO: Likewise.
28596         * doc/INSTALL.UTF-8: Likewise.
28597
28598         pread: fix compilation on glibc
28599         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28600         Reported by Ralf Wildenhues.
28601
28602         dirent: fix test failure
28603         * lib/dirent.in.h (includes): Guarantee ino_t.
28604         Reported by Ralf Wildenhues.
28605
28606 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28607
28608         linkat, renameat: avoid bad free
28609         * lib/at-func2.c (at_func2): Fix typo.
28610         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28611
28612 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28613
28614         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28615         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28616         to avoid failure of symlink test later.
28617
28618 2010-01-06  Eric Blake  <ebb9@byu.net>
28619
28620         stdio, unistd: guarantee ssize_t
28621         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28622         2008 are exposed when needed.
28623         * lib/stdio.in.h (includes): Likewise.
28624         Reported by Ralf Wildenhues.
28625
28626 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28627
28628         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28629         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28630         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28631
28632 2010-01-06  Jim Meyering  <meyering@redhat.com>
28633
28634         readtokens: this module *does* require xalloc.h
28635         It uses only functions that were omitted by the old syntax-check rule.
28636         * lib/readtokens.c: Include "xalloc.h" once again.
28637         * modules/readtokens (Depends-on): Add xalloc.
28638         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28639
28640 2010-01-05  Eric Blake  <ebb9@byu.net>
28641
28642         maint: support 'make announcement' from a VPATH build
28643         * top/maint.mk (announcement): Look for correct NEWS file.
28644
28645 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28646
28647         utimens (fdutimens): ignore a negative FD, per contract
28648         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28649         when we have a valid file descriptor.  Otherwise, using a brand
28650         new glibc (with just-patched futimens that now fails with EBADF)
28651         would cause this function to fail with ENOSYS.
28652         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28653         See also http://bugzilla.redhat.com/552320.
28654
28655 2010-01-05  Eric Blake  <ebb9@byu.net>
28656
28657         strcase: document what it provides
28658         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28659         gnulib module.
28660         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28661         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28662
28663 2010-01-05  Jim Meyering  <meyering@redhat.com>
28664
28665         maint: remove useless inclusions of "xalloc.h"
28666         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28667         * lib/readtokens.c: Likewise.
28668         * lib/same.c: Likewise.
28669         * modules/getloadavg (Depends-on): Remove xalloc.
28670         * modules/readtokens: Likewise.
28671         * modules/same: Likewise.
28672
28673         maint.mk: include 4 more function names in alloca.h-checking regexp
28674         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28675         regexp.  Before, we would give a false-positive (saying alloca.h
28676         is included unnecessarily) when the only uses involved omitted symbols.
28677
28678         xalloc.h: use consistent formatting
28679         * lib/xalloc.h: Move declarations to start in the first column.
28680
28681 2010-01-05  Eric Blake  <ebb9@byu.net>
28682
28683         mkdir: avoid xalloc
28684         * lib/mkdir.c (includes): Drop unused header.
28685         Reported by John W. Eaton.
28686
28687 2010-01-04  Jim Meyering  <meyering@redhat.com>
28688
28689         nl_langinfo: avoid configure-time syntax error
28690         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28691         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28692         the empty string.  Don't let that provoke a shell syntax error.
28693
28694         regcomp, regexec, fnmatch: avoid array bounds read error
28695         * lib/regcomp.c (build_equiv_class): From glibc:
28696         Use only the low 24 bits of a findidx return value as an index
28697         into the weights array.  Patch by Ulrich Drepper:
28698         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28699         * lib/regexec.c (check_node_accept_bytes): Likewise.
28700         * lib/fnmatch_loop.c (FCT): Likewise.
28701
28702         regcomp: skip collseq lookup when there are no rules
28703         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28704         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28705
28706         regcomp: recognize ill-formed { } expressions
28707         * lib/regcomp.c (parse_dup_op): From glibc:
28708         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28709
28710         regcomp: fix typo in comment
28711         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28712         s/satisfy/satisfies/.
28713
28714         regcomp: sync from glibc: remove dead store
28715         * lib/regcomp.c (duplicate_node_closure): Remove useless
28716         search_duplicated_node call and dead store.
28717
28718         regcomp: sync from glibc; always use nl_langinfo
28719         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28720         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28721         * modules/regex (Depends-on): Add nl_langinfo.
28722
28723 2010-01-04  Eric Blake  <ebb9@byu.net>
28724
28725         fdopendir: fix configure test
28726         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28727
28728 2010-01-01  Bruno Haible  <bruno@clisp.org>
28729
28730         wchar: Remove unused configure check.
28731         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28732
28733 2010-01-01  Eric Blake  <ebb9@byu.net>
28734
28735         headers: make check of system header explicit
28736         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28737         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28738         ourselves.
28739         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28740         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28741         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28742         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28743         internals.
28744         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28745         missing.
28746         Suggested by Bruno Haible.
28747
28748 2010-01-01  Jim Meyering  <meyering@redhat.com>
28749
28750         ChangeLog: tweak to eliminate unnecessary copyright line
28751         * ChangeLog: Remove a copyright line that was mistakenly updated
28752         by today's update-copyright run.  Reported by Eric Blake.
28753
28754         test-update-copyright: don't let envvar setting cause test failure
28755         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28756
28757 2010-01-01  Bruno Haible  <bruno@clisp.org>
28758
28759         localename: Avoid gcc warning.
28760         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28761         function if it is not used.
28762
28763 2010-01-01  Jim Meyering  <meyering@redhat.com>
28764
28765         update nearly all FSF copyright year lists to include 2010
28766         Use the same procedure as for 2009, outlined in
28767         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28768
28769         version-etc: set COPYRIGHT_YEAR to 2010
28770         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28771
28772 2009-12-31  Eric Blake  <ebb9@byu.net>
28773
28774         doc: correct availability of cygwin 1.5.x getopt
28775         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28776         variables.
28777         * doc/posix-functions/opterr.texi (opterr): Likewise.
28778         * doc/posix-functions/optind.texi (optind): Likewise.
28779         * doc/posix-functions/optopt.texi (optopt): Likewise.
28780         * doc/posix-functions/tzname.texi (tzname): Likewise.
28781
28782         openat: update maintainer
28783         * modules/openat (Maintainer): Add myself.
28784
28785         utimens: avoid shadowing warning
28786         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28787         buffers into one, to avoid shadowing, as well as avoiding a
28788         redundant stat.
28789         Reported by Jim Meyering.
28790
28791         test-dup2: avoid compiler warning
28792         * tests/test-dup2.c (is_inheritable): Only define if used.
28793
28794 2010-01-01  Bruno Haible  <bruno@clisp.org>
28795
28796         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28797         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28798         defined, use wctomb instead of wcrtomb.
28799
28800 2010-01-01  Bruno Haible  <bruno@clisp.org>
28801
28802         iconv: Reject native Solaris iconv.
28803         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28804         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28805
28806 2009-12-31  Bruno Haible  <bruno@clisp.org>
28807
28808         * tests/test-signal.c (main): Remove test of 'SIG'.
28809
28810 2009-12-31  Bruno Haible  <bruno@clisp.org>
28811
28812         spawn: Fix incomplete fix.
28813         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28814         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28815         warnings for GNULIB_POSIXCHECK again.
28816         Reported by Eric Blake.
28817
28818 2009-12-31  Bruno Haible  <bruno@clisp.org>
28819
28820         Avoid namespace pollution on glibc systems.
28821         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28822         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28823         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28824         glibc systems.
28825
28826 2009-12-31  Bruno Haible  <bruno@clisp.org>
28827
28828         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28829         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28830         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28831         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28832         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28833         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28834         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28835
28836 2009-12-31  Bruno Haible  <bruno@clisp.org>
28837
28838         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28839         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28840         afterwards.
28841
28842 2009-12-31  Bruno Haible  <bruno@clisp.org>
28843
28844         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28845         SYS_UTSNAME_H.
28846
28847 2009-12-31  Bruno Haible  <bruno@clisp.org>
28848
28849         spawn: Fix misapplied patch.
28850         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28851         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28852         warnings for GNULIB_POSIXCHECK.
28853
28854 2009-12-31  Bruno Haible  <bruno@clisp.org>
28855
28856         times: Update after sys_times changed.
28857         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28858         * modules/times (Files): Add it.
28859         (configure.ac): Invoke gl_FUNC_TIMES.
28860
28861 2009-12-31  Bruno Haible  <bruno@clisp.org>
28862
28863         Use AC_C_INLINE where necessary.
28864         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28865         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28866         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28867         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28868         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28869         * m4/mbiter.m4 (gl_MBITER): Likewise.
28870         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28871         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28872         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28873         * modules/u64 (configure.ac): Likewise.
28874
28875 2009-12-31  Bruno Haible  <bruno@clisp.org>
28876
28877         Use AC_C_INLINE instead of module 'inline' where possible.
28878         * modules/inline (Description): Clarify purpose.
28879         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28880         * modules/count-one-bits (Depends-on): Remove inline.
28881         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28882         * modules/openat (Depends-on): Remove inline.
28883         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28884         instead of depending on module 'inline'.
28885         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28886         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28887         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28888         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28889         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28890         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28891         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28892         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28893         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28894         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28895         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28896         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28897         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28898         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28899         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28900         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28901         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28902         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28903         Likewise.
28904         * modules/unictype/property-ascii-hex-digit (Depends-on,
28905         configure.ac): Likewise.
28906         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28907         configure.ac): Likewise.
28908         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28909         configure.ac): Likewise.
28910         * modules/unictype/property-bidi-block-separator (Depends-on,
28911         configure.ac): Likewise.
28912         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28913         configure.ac): Likewise.
28914         * modules/unictype/property-bidi-common-separator (Depends-on,
28915         configure.ac): Likewise.
28916         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28917         Likewise.
28918         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28919         configure.ac): Likewise.
28920         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28921         configure.ac): Likewise.
28922         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28923         configure.ac): Likewise.
28924         * modules/unictype/property-bidi-european-digit (Depends-on,
28925         configure.ac): Likewise.
28926         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28927         configure.ac): Likewise.
28928         * modules/unictype/property-bidi-left-to-right (Depends-on,
28929         configure.ac): Likewise.
28930         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28931         configure.ac): Likewise.
28932         * modules/unictype/property-bidi-other-neutral (Depends-on,
28933         configure.ac): Likewise.
28934         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28935         Likewise.
28936         * modules/unictype/property-bidi-segment-separator (Depends-on,
28937         configure.ac): Likewise.
28938         * modules/unictype/property-bidi-whitespace (Depends-on,
28939         configure.ac): Likewise.
28940         * modules/unictype/property-combining (Depends-on, configure.ac):
28941         Likewise.
28942         * modules/unictype/property-composite (Depends-on, configure.ac):
28943         Likewise.
28944         * modules/unictype/property-currency-symbol (Depends-on,
28945         configure.ac): Likewise.
28946         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28947         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28948         Likewise.
28949         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28950         configure.ac): Likewise.
28951         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28952         Likewise.
28953         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28954         Likewise.
28955         * modules/unictype/property-extender (Depends-on, configure.ac):
28956         Likewise.
28957         * modules/unictype/property-format-control (Depends-on, configure.ac):
28958         Likewise.
28959         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28960         Likewise.
28961         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28962         Likewise.
28963         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28964         Likewise.
28965         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28966         Likewise.
28967         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28968         Likewise.
28969         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28970         Likewise.
28971         * modules/unictype/property-id-start (Depends-on, configure.ac):
28972         Likewise.
28973         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28974         Likewise.
28975         * modules/unictype/property-ids-binary-operator (Depends-on,
28976         configure.ac): Likewise.
28977         * modules/unictype/property-ids-trinary-operator (Depends-on,
28978         configure.ac): Likewise.
28979         * modules/unictype/property-ignorable-control (Depends-on,
28980         configure.ac): Likewise.
28981         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28982         Likewise.
28983         * modules/unictype/property-join-control (Depends-on, configure.ac):
28984         Likewise.
28985         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28986         Likewise.
28987         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28988         Likewise.
28989         * modules/unictype/property-logical-order-exception (Depends-on,
28990         configure.ac): Likewise.
28991         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28992         Likewise.
28993         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28994         * modules/unictype/property-non-break (Depends-on, configure.ac):
28995         Likewise.
28996         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28997         Likewise.
28998         * modules/unictype/property-numeric (Depends-on, configure.ac):
28999         Likewise.
29000         * modules/unictype/property-other-alphabetic (Depends-on,
29001         configure.ac): Likewise.
29002         * modules/unictype/property-other-default-ignorable-code-point
29003         (Depends-on, configure.ac): Likewise.
29004         * modules/unictype/property-other-grapheme-extend (Depends-on,
29005         configure.ac): Likewise.
29006         * modules/unictype/property-other-id-continue (Depends-on,
29007         configure.ac): Likewise.
29008         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
29009         Likewise.
29010         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
29011         Likewise.
29012         * modules/unictype/property-other-math (Depends-on, configure.ac):
29013         Likewise.
29014         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
29015         Likewise.
29016         * modules/unictype/property-paired-punctuation (Depends-on,
29017         configure.ac): Likewise.
29018         * modules/unictype/property-paragraph-separator (Depends-on,
29019         configure.ac): Likewise.
29020         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
29021         Likewise.
29022         * modules/unictype/property-pattern-white-space (Depends-on,
29023         configure.ac): Likewise.
29024         * modules/unictype/property-private-use (Depends-on, configure.ac):
29025         Likewise.
29026         * modules/unictype/property-punctuation (Depends-on, configure.ac):
29027         Likewise.
29028         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
29029         Likewise.
29030         * modules/unictype/property-radical (Depends-on, configure.ac):
29031         Likewise.
29032         * modules/unictype/property-sentence-terminal (Depends-on,
29033         configure.ac): Likewise.
29034         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
29035         Likewise.
29036         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
29037         * modules/unictype/property-terminal-punctuation (Depends-on,
29038         configure.ac): Likewise.
29039         * modules/unictype/property-titlecase (Depends-on, configure.ac):
29040         Likewise.
29041         * modules/unictype/property-unassigned-code-value (Depends-on,
29042         configure.ac): Likewise.
29043         * modules/unictype/property-unified-ideograph (Depends-on,
29044         configure.ac): Likewise.
29045         * modules/unictype/property-uppercase (Depends-on, configure.ac):
29046         Likewise.
29047         * modules/unictype/property-variation-selector (Depends-on,
29048         configure.ac): Likewise.
29049         * modules/unictype/property-white-space (Depends-on, configure.ac):
29050         Likewise.
29051         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
29052         Likewise.
29053         * modules/unictype/property-xid-start (Depends-on, configure.ac):
29054         Likewise.
29055         * modules/unictype/property-zero-width (Depends-on, configure.ac):
29056         Likewise.
29057         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
29058         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
29059         Likewise.
29060
29061 2009-12-31  Bruno Haible  <bruno@clisp.org>
29062
29063         Remove unnecessary AC_C_INLINE invocation.
29064         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
29065         since 2009-08-21.
29066
29067 2009-12-31  Jim Meyering  <meyering@redhat.com>
29068
29069         maint.mk: don't require explicit gpg_key_ID in cfg.mk
29070         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
29071         With this change, we can all remove the gpg_key_ID = ... definition
29072         from our respective cfg.mk files.
29073
29074         maint.mk: create announcement template in ~/, not in /tmp
29075         * top/maint.mk (emit_upload_commands): Adjust.
29076         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
29077         Remove temporary file, .ci-msg.
29078
29079 2009-12-31  Eric Blake  <ebb9@byu.net>
29080
29081         link-warning: always build headers with link warnings
29082         * modules/arpa_inet (Makefile.am): Always build replacement
29083         header.
29084         * modules/ctype (Makefile.am): Likewise.
29085         * modules/dirent (Makefile.am): Likewise.
29086         * modules/inttypes (Makefile.am): Likewise.
29087         * modules/langinfo (Makefile.am): Likewise.
29088         * modules/locale (Makefile.am): Likewise.
29089         * modules/spawn (Makefile.am): Likewise.
29090         * modules/sys_file (Makefile.am): Likewise.
29091         * modules/sys_ioctl (Makefile.am): Likewise.
29092         * modules/sys_select (Makefile.am): Likewise.
29093         * modules/sys_socket (Makefile.am): Likewise.
29094         * modules/sys_times (Makefile.am): Likewise.
29095         * modules/sys_utsname (Makefile.am): Likewise.
29096         * modules/sys_wait (Makefile.am): Likewise.
29097         * modules/wchar (Makefile.am): Likewise.
29098         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
29099         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
29100         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
29101         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
29102         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
29103         Likewise.
29104         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29105         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29106         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
29107         Likewise.
29108         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
29109         Likewise.
29110         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
29111         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
29112         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
29113         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29114         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29115         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29116         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29117         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
29118         (gl_WCHAR_H_DEFAULTS): Likewise.
29119
29120 2009-12-31  Eric Blake  <ebb9@byu.net>
29121
29122         signal, spawn: use link warnings
29123         * lib/signal.in.h (sigset_t): Make unconditional.
29124         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
29125         (sigpending, sigprocmask, sigaction): Add link warnings.
29126         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
29127         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
29128         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
29129         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
29130         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
29131         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
29132         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
29133         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
29134         (posix_spawn_file_actions_destroy)
29135         (posix_spawn_file_actions_addopen)
29136         (posix_spawn_file_actions_addclose)
29137         (posix_spawn_file_actions_adddup2): Likewise.
29138         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
29139         * tests/test-signal.c (main): Enhance test.
29140
29141         spawn: improve wrapper support
29142         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
29143         (gl_SPAWN_H_DEFAULTS): New defaults.
29144         * modules/spawn (Makefile.am): Substitute them.
29145         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
29146         Only declare if missing or broken.
29147
29148         sys_times, sys_utsname: use include_next
29149         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
29150         header.
29151         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
29152         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
29153         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
29154         * modules/sys_times (Depends-on): Add include_next.
29155         (Makefile.am): Substitute additional values.
29156         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29157         * lib/sys_times.in.h (includes): Include native header, if
29158         available.
29159         * lib/sys_utsname.in.h (includes): Likewise.
29160         * tests/test-sys_times.c (main): Enhance test.
29161
29162         fdutimensat: revert prior patch
29163         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
29164         utimens.h.
29165         Reported by Bruno Haible.
29166
29167 2009-12-30  Eric Blake  <ebb9@byu.net>
29168
29169         sys_wait: drop link-warning dependency
29170         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29171         link-warning efforts.
29172         * lib/sys_wait.in.h: Likewise.
29173
29174         fdutimensat: remove bogus dependency
29175         * modules/fdutimensat (Depends-on): Drop inline.
29176
29177         unistd: fix typo
29178         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29179
29180 2009-12-30  Bruno Haible  <bruno@clisp.org>
29181
29182         Fix compilation error with Solaris cc.
29183         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29184         * lib/unicase/u16-is-invariant.c: Likewise.
29185         * lib/unicase/u32-is-invariant.c: Likewise.
29186         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29187
29188 2009-12-30  Bruno Haible  <bruno@clisp.org>
29189
29190         Fix test crash.
29191         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29192         locales.
29193         Reported by Simon Josefsson <simon@josefsson.org>.
29194
29195 2009-12-30  Bruno Haible  <bruno@clisp.org>
29196
29197         Fix compilation error on most platforms.
29198         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29199         Reported by Simon Josefsson <simon@josefsson.org>
29200         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29201
29202 2009-12-30  Eric Blake  <ebb9@byu.net>
29203
29204         futimens, utimensat: work around ntfs-3g bug
29205         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29206         a ctime bug is present, and expand workaround to cover ntfs-3g.
29207         * lib/utimens.c (fdutimens, lutimens): Likewise.
29208         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29209         (validate_timespec): Adjust return value.
29210         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29211         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29212         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29213
29214 2009-12-29  Eric Blake  <ebb9@byu.net>
29215
29216         link-warning: make usage consistent
29217         * modules/ctype (Depends-on): Add link-warning.
29218         (Makefile.am): Update rules accordingly.
29219         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29220         * modules/locale (Depends-on, Makefile.am): Likewise.
29221         * modules/sys_file (Makefile.am): Likewise.
29222         * modules/getopt-posix (Makefile.am): Delete unused link warning
29223         efforts.
29224         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29225         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29226         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29227         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29228
29229         stdio: remove unused variables
29230         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29231         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29232         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29233
29234         tests: test more substitute headers
29235         * modules/ctype-tests: New file.
29236         * modules/dirent-tests: Likewise.
29237         * modules/spawn-tests: Likewise.
29238         * modules/sys_file-tests: Likewise.
29239         * modules/sys_ioctl-tests: Likewise.
29240         * modules/sys_wait-tests: Likewise.
29241         * tests/test-ctype.c: Likewise.
29242         * tests/test-dirent.c: Likewise.
29243         * tests/test-spawn.c: Likewise.
29244         * tests/test-sys_file.c: Likewise.
29245         * tests/test-sys_ioctl.c: Likewise.
29246         * tests/test-sys_wait.c: Likewise.
29247         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29248         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29249         whether or not flock is in use.
29250
29251         tests: remove License section from module
29252         * modules/arpa_inet-tests: Remove unneeded section.
29253         * modules/byteswap-tests: Likewise.
29254         * modules/ceilf-tests: Likewise.
29255         * modules/ceill-tests: Likewise.
29256         * modules/crypto/des-tests: Likewise.
29257         * modules/crypto/gc-arcfour-tests: Likewise.
29258         * modules/crypto/gc-arctwo-tests: Likewise.
29259         * modules/crypto/gc-des-tests: Likewise.
29260         * modules/crypto/gc-hmac-md5-tests: Likewise.
29261         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29262         * modules/crypto/gc-md2-tests: Likewise.
29263         * modules/crypto/gc-md4-tests: Likewise.
29264         * modules/crypto/gc-md5-tests: Likewise.
29265         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29266         * modules/crypto/gc-rijndael-tests: Likewise.
29267         * modules/crypto/gc-sha1-tests: Likewise.
29268         * modules/crypto/gc-tests: Likewise.
29269         * modules/crypto/md2-tests: Likewise.
29270         * modules/crypto/md4-tests: Likewise.
29271         * modules/fcntl-h-tests: Likewise.
29272         * modules/floorf-tests: Likewise.
29273         * modules/floorl-tests: Likewise.
29274         * modules/frexp-nolibm-tests: Likewise.
29275         * modules/frexp-tests: Likewise.
29276         * modules/frexpl-nolibm-tests: Likewise.
29277         * modules/frexpl-tests: Likewise.
29278         * modules/getaddrinfo-tests: Likewise.
29279         * modules/inttypes-tests: Likewise.
29280         * modules/isfinite-tests: Likewise.
29281         * modules/isinf-tests: Likewise.
29282         * modules/ldexpl-tests: Likewise.
29283         * modules/locale-tests: Likewise.
29284         * modules/math-tests: Likewise.
29285         * modules/netdb-tests: Likewise.
29286         * modules/netinet_in-tests: Likewise.
29287         * modules/printf-frexp-tests: Likewise.
29288         * modules/printf-frexpl-tests: Likewise.
29289         * modules/priv-set-tests: Likewise.
29290         * modules/random_r-tests: Likewise.
29291         * modules/round-tests: Likewise.
29292         * modules/roundf-tests: Likewise.
29293         * modules/roundl-tests: Likewise.
29294         * modules/search-tests: Likewise.
29295         * modules/select-tests: Likewise.
29296         * modules/signal-tests: Likewise.
29297         * modules/stdbool-tests: Likewise.
29298         * modules/stddef-tests: Likewise.
29299         * modules/stdint-tests: Likewise.
29300         * modules/stdio-tests: Likewise.
29301         * modules/stdlib-tests: Likewise.
29302         * modules/string-tests: Likewise.
29303         * modules/strings-tests: Likewise.
29304         * modules/sys_select-tests: Likewise.
29305         * modules/sys_socket-tests: Likewise.
29306         * modules/sys_stat-tests: Likewise.
29307         * modules/sys_time-tests: Likewise.
29308         * modules/sys_utsname-tests: Likewise.
29309         * modules/sysexits-tests: Likewise.
29310         * modules/time-tests: Likewise.
29311         * modules/trunc-tests: Likewise.
29312         * modules/truncf-tests: Likewise.
29313         * modules/truncl-tests: Likewise.
29314         * modules/tsearch-tests: Likewise.
29315         * modules/unistd-tests: Likewise.
29316         * modules/wchar-tests: Likewise.
29317         * modules/wctype-tests: Likewise.
29318
29319         tests: fix license on several tests
29320         * tests/test-des.c: Update to GPLv3+.
29321         * tests/test-flock.c: Likewise.
29322         * tests/test-fsync.c: Likewise.
29323         * tests/test-futimens.h: Likewise.
29324         * tests/test-gc-arcfour.c: Likewise.
29325         * tests/test-gc-arctwo.c: Likewise.
29326         * tests/test-gc-des.c: Likewise.
29327         * tests/test-gc-hmac-md5.c: Likewise.
29328         * tests/test-gc-hmac-sha1.c: Likewise.
29329         * tests/test-gc-md2.c: Likewise.
29330         * tests/test-gc-md4.c: Likewise.
29331         * tests/test-gc-md5.c: Likewise.
29332         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29333         * tests/test-gc-rijndael.c: Likewise.
29334         * tests/test-gc-sha1.c: Likewise.
29335         * tests/test-gc.c: Likewise.
29336         * tests/test-getcwd.c: Likewise.
29337         * tests/test-link.c: Likewise.
29338         * tests/test-link.h: Likewise.
29339         * tests/test-lutimens.h: Likewise.
29340         * tests/test-md2.c: Likewise.
29341         * tests/test-md4.c: Likewise.
29342         * tests/test-mkdir.h: Likewise.
29343         * tests/test-rename.c: Likewise.
29344         * tests/test-rename.h: Likewise.
29345         * tests/test-safe-alloc.c: Likewise.
29346         * tests/test-utimens-common.h: Likewise.
29347         * tests/test-utimens.h: Likewise.
29348
29349         maint: sync license texts
29350         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29351         * doc/gpl-3.0.texi: Revert copyright year update.
29352         * doc/lgpl-3.0.texi: Likewise.
29353
29354 2009-12-29  Jim Meyering  <meyering@redhat.com>
29355
29356         update nearly all FSF copyright year lists to include 2009
29357         The files named by the following are exempted:
29358             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29359               test -f "$dst" && { echo "$dst"; continue; }
29360               test -d "$dst" || continue
29361               echo "$dst"/$(basename "$src")
29362             done > exempt
29363             git ls-files tests/unictype >> exempt
29364         In the remaining files, convert to all-interval notation if
29365         - there is already at least one year interval like 2000-2003
29366         - the file is maintained by me
29367         - the file is in lib/uni*/, where that style already prevails
29368         Otherwise, use update-copyright's default.
29369
29370 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29371         and Eric Blake  <ebb9@byu.net>
29372
29373         tests: don't require debug system() to pass
29374         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29375         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29376         * tests/test-unlink.h (test_unlink_func): Likewise.
29377         * tests/test-fstatat.c (main): ...into callers.
29378         * tests/test-lstat.c (main): Likewise.
29379         * tests/test-rmdir.c (main): Likewise.
29380         * tests/test-unlink.c (main): Likewise.
29381         * tests/test-unlinkat.c (main): Likewise.
29382         * tests/test-areadlink-with-size.c (main): Don't require a
29383         debug-only system call to pass, aiding cross-testing to mingw.
29384         * tests/test-areadlink.c (main): Likewise.
29385         * tests/test-areadlinkat-with-size.c (main): Likewise.
29386         * tests/test-areadlinkat.c (main): Likewise.
29387         * tests/test-canonicalize-lgpl.c (main): Likewise.
29388         * tests/test-canonicalize.c (main): Likewise.
29389         * tests/test-chown.c (main): Likewise.
29390         * tests/test-fchownat.c (main): Likewise.
29391         * tests/test-lchown.c (main): Likewise.
29392         * tests/test-fdutimensat.c (main): Likewise.
29393         * tests/test-futimens.c (main): Likewise.
29394         * tests/test-link.c (main): Likewise.
29395         * tests/test-linkat.c (main): Likewise.
29396         * tests/test-mkdir.c (main): Likewise.
29397         * tests/test-mkdirat.c (main): Likewise.
29398         * tests/test-mkfifo.c (main): Likewise.
29399         * tests/test-mkfifoat.c (main): Likewise.
29400         * tests/test-mknod.c (main): Likewise.
29401         * tests/test-readlink.c (main): Likewise.
29402         * tests/test-remove.c (main): Likewise.
29403         * tests/test-rename.c (main): Likewise.
29404         * tests/test-renameat.c (main): Likewise.
29405         * tests/test-symlink.c (main): Likewise.
29406         * tests/test-symlinkat.c (main): Likewise.
29407         * tests/test-utimens.c (main): Likewise.
29408         * tests/test-utimensat.c (main): Likewise.
29409
29410 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29411
29412         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29413         on $(UNUSED_PARAMETER_H) to avoid build failure.
29414
29415 2009-12-28  Jim Meyering  <meyering@redhat.com>
29416
29417         update-copyright: you may specify a max. line length other than 72
29418         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29419
29420         maint: use consistent FSF copyright line syntax
29421         * lib/posixtm.c: Add missing comma in FSF copyright line.
29422         * lib/posixtm.h: Likewise.
29423         * lib/getugroups.c: Add missing ", Inc.".
29424
29425         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29426         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29427         FSF copyright line.  Remove trailing blanks.
29428
29429 2009-12-28  Eric Blake  <ebb9@byu.net>
29430
29431         test-dup2: reduce dependencies
29432         * modules/cloexec (Configure.ac): Set witness.
29433         * modules/dup2-tests (Depends-on): Drop cloexec.
29434         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29435         not present.
29436         Suggested by Bruno Haible.
29437
29438 2009-12-26  Bruno Haible  <bruno@clisp.org>
29439
29440         Remove an unneeded dependency.
29441         * modules/fseterr (Depends-on): Remove dup2.
29442
29443 2009-12-26  Eric Blake  <ebb9@byu.net>
29444
29445         tests: use macros.h in more places
29446         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29447         (ASSERT_STREAM): Provide default of stderr.
29448         * tests/test-dirent-safer.c: Include macros.h, using alternate
29449         stream for assertions.
29450         * tests/test-dup-safer.c: Likewise.
29451         * tests/test-freopen-safer.c: Likewise.
29452         * tests/test-getopt.c: Likewise.
29453         * tests/test-openat-safer.c: Likewise.
29454         * tests/test-pipe.c: Likewise.
29455         * tests/test-popen-safer.c: Likewise.
29456         * modules/dirent-safer-tests (Files): Include macros.h.
29457         * modules/unistd-safer-tests (Files): Likewise.
29458         * modules/freopen-safer-tests (Files): Likewise.
29459         * modules/getopt-posix-tests (Files): Likewise.
29460         * modules/openat-safer-tests (Files): Likewise.
29461         * modules/pipe-tests (Files): Likewise.
29462
29463 2009-12-26  Bruno Haible  <bruno@clisp.org>
29464
29465         javacomp: Portability fix.
29466         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29467         that it also works on Solaris.
29468
29469 2009-12-26  Bruno Haible  <bruno@clisp.org>
29470
29471         localename: Fix storage allocation of gl_locale_name_thread's result.
29472         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29473         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29474         all platforms that have 'uselocale'.
29475         (gl_locale_name_thread_unsafe): New function, extracted from
29476         gl_locale_name_thread.
29477         (gl_locale_name_thread): Call struniq on all platforms that have
29478         'uselocale'.
29479         * tests/test-localename.c (test_locale_name_thread): Check that the
29480         resulting strings are permanently allocated.
29481         * modules/localename-tests (Depends-on): Add strdup.
29482
29483 2009-12-26  Bruno Haible  <bruno@clisp.org>
29484
29485         * tests/test-localename.c (categories): Fill in the strings.
29486
29487 2009-12-26  Jim Meyering  <meyering@redhat.com>
29488
29489         isdir: complete the removal of m4/isdir.m4
29490         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29491
29492         isdir: clean up, since at least grep still uses it
29493         * lib/isdir.c: Include "isdir.h".
29494         (S_ISDIR): Remove now-unneeded definition.
29495         * modules/isdir (Files): Add lib/isdir.h.
29496         * lib/isdir.h: New file, with declaration.
29497         * m4/isdir.m4: Remove file -- unneeded.
29498
29499 2009-12-25  Bruno Haible  <bruno@clisp.org>
29500
29501         selinux-h: Make generated .h files standalone.
29502         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29503         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29504         * lib/se-selinux.in.h: Likewise.
29505         * modules/selinux-h (Depends-on): Add unused-parameter.
29506         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29507         selinux/selinux.h and selinux/context.h.
29508         Suggested by Eric Blake.
29509
29510 2009-12-25  Bruno Haible  <bruno@clisp.org>
29511
29512         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29513         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29514         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29515         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29516         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29517
29518 2009-12-24  Bruno Haible  <bruno@clisp.org>
29519
29520         openat: Fix warning.
29521         * lib/openat-proc.c: Include <unistd.h>.
29522
29523 2009-12-24  Bruno Haible  <bruno@clisp.org>
29524
29525         New module 'unused-parameter'.
29526         * build-aux/unused-parameter.h: New file, extracted from earlier
29527         gnulib-common.m4.
29528         * modules/unused-parameter: New file.
29529         * lib/unistr.h: Include unused-parameter.h.
29530         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29531         _GL_UNUSED.
29532         * modules/unistr/base (Depends-on): Add unused-parameter.
29533
29534 2009-12-24  Bruno Haible  <bruno@clisp.org>
29535
29536         Add missing dependencies to 'extensions' module.
29537         * m4/extensions.m4: Add comment.
29538         * modules/accept4 (Depends-on): Add extensions.
29539         * modules/dup3 (Depends-on): Likewise.
29540         * modules/fcntl (Depends-on): Likewise.
29541         * modules/futimens (Depends-on): Likewise.
29542         * modules/mknod (Depends-on): Likewise.
29543         * modules/pipe2 (Depends-on): Likewise.
29544         * modules/stat-time (Depends-on): Likewise.
29545         * modules/strcasestr-simple (Depends-on): Likewise.
29546         * modules/strsignal (Depends-on): Likewise.
29547         * modules/utimensat (Depends-on): Likewise.
29548         * modules/localcharset (Depends-on): Likewise. Needed because of
29549         gl_FCNTL_O_FLAGS.
29550         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29551         AC_TYPE_MBSTATE_T.
29552         * modules/wcsnrtombs (Depends-on): Likewise.
29553         * modules/wcsrtombs (Depends-on): Likewise.
29554
29555 2009-12-24  Bruno Haible  <bruno@clisp.org>
29556
29557         binary-io: Avoid gcc warning due to SET_BINARY.
29558         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29559         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29560
29561 2009-12-24  Bruno Haible  <bruno@clisp.org>
29562
29563         Avoid future namespace pollution on glibc systems.
29564         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29565         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29566         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29567         glibc systems.
29568
29569 2009-12-24  Bruno Haible  <bruno@clisp.org>
29570
29571         Refactor common macros used in tests.
29572         * tests/macros.h: New file.
29573         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29574         and/or <stdlib.h>, if appropriate.
29575         (ASSERT, SIZEOF): Remove macros.
29576         * tests/test-areadlink-with-size.c: Likewise.
29577         * tests/test-areadlinkat.c: Likewise.
29578         * tests/test-areadlinkat-with-size.c: Likewise.
29579         * tests/test-argmatch.c: Likewise.
29580         * tests/test-argv-iter.c: Likewise.
29581         * tests/test-array-mergesort.c: Likewise.
29582         * tests/test-array_list.c: Likewise.
29583         * tests/test-array_oset.c: Likewise.
29584         * tests/test-avltree_list.c: Likewise.
29585         * tests/test-avltree_oset.c: Likewise.
29586         * tests/test-avltreehash_list.c: Likewise.
29587         * tests/test-base64.c: Likewise.
29588         * tests/test-binary-io.c: Likewise.
29589         * tests/test-bitrotate.c: Likewise.
29590         * tests/test-btowc.c: Likewise.
29591         * tests/test-byteswap.c: Likewise.
29592         * tests/test-c-ctype.c: Likewise.
29593         * tests/test-c-stack.c: Likewise.
29594         * tests/test-c-strcasecmp.c: Likewise.
29595         * tests/test-c-strcasestr.c: Likewise.
29596         * tests/test-c-strncasecmp.c: Likewise.
29597         * tests/test-c-strstr.c: Likewise.
29598         * tests/test-canonicalize-lgpl.c: Likewise.
29599         * tests/test-canonicalize.c: Likewise.
29600         * tests/test-carray_list.c: Likewise.
29601         * tests/test-ceilf1.c: Likewise.
29602         * tests/test-ceilf2.c: Likewise.
29603         * tests/test-ceill.c: Likewise.
29604         * tests/test-chown.c: Likewise.
29605         * tests/test-cloexec.c: Likewise.
29606         * tests/test-copy-acl.c: Likewise.
29607         * tests/test-copy-file.c: Likewise.
29608         * tests/test-count-one-bits.c: Likewise.
29609         * tests/test-dprintf-posix.c: Likewise.
29610         * tests/test-dup2.c: Likewise.
29611         * tests/test-dup3.c: Likewise.
29612         * tests/test-duplocale.c: Likewise.
29613         * tests/test-fbufmode.c: Likewise.
29614         * tests/test-fchdir.c: Likewise.
29615         * tests/test-fchownat.c: Likewise.
29616         * tests/test-fcntl-safer.c: Likewise.
29617         * tests/test-fcntl.c: Likewise.
29618         * tests/test-fdopendir.c: Likewise.
29619         * tests/test-fdutimensat.c: Likewise.
29620         * tests/test-fflush2.c: Likewise.
29621         * tests/test-file-has-acl.c: Likewise.
29622         * tests/test-filevercmp.c: Likewise.
29623         * tests/test-flock.c: Likewise.
29624         * tests/test-floorf1.c: Likewise.
29625         * tests/test-floorf2.c: Likewise.
29626         * tests/test-floorl.c: Likewise.
29627         * tests/test-fnmatch.c: Likewise.
29628         * tests/test-fopen.h: Likewise.
29629         * tests/test-fpending.c: Likewise.
29630         * tests/test-fprintf-posix.c: Likewise.
29631         * tests/test-fpurge.c: Likewise.
29632         * tests/test-freadable.c: Likewise.
29633         * tests/test-freadahead.c: Likewise.
29634         * tests/test-freading.c: Likewise.
29635         * tests/test-freadptr.c: Likewise.
29636         * tests/test-freadptr2.c: Likewise.
29637         * tests/test-freadseek.c: Likewise.
29638         * tests/test-freopen.c: Likewise.
29639         * tests/test-frexp.c: Likewise.
29640         * tests/test-frexpl.c: Likewise.
29641         * tests/test-fseek.c: Likewise.
29642         * tests/test-fseeko.c: Likewise.
29643         * tests/test-fstatat.c: Likewise.
29644         * tests/test-fstrcmp.c: Likewise.
29645         * tests/test-fsync.c: Likewise.
29646         * tests/test-ftell.c: Likewise.
29647         * tests/test-ftello.c: Likewise.
29648         * tests/test-func.c: Likewise.
29649         * tests/test-futimens.c: Likewise.
29650         * tests/test-fwritable.c: Likewise.
29651         * tests/test-fwriting.c: Likewise.
29652         * tests/test-getcwd.c: Likewise.
29653         * tests/test-getdate.c: Likewise.
29654         * tests/test-getdelim.c: Likewise.
29655         * tests/test-getdtablesize.c: Likewise.
29656         * tests/test-getgroups.c: Likewise.
29657         * tests/test-getline.c: Likewise.
29658         * tests/test-getndelim2.c: Likewise.
29659         * tests/test-glob.c: Likewise.
29660         * tests/test-hash.c: Likewise.
29661         * tests/test-i-ring.c: Likewise.
29662         * tests/test-iconv-utf.c: Likewise.
29663         * tests/test-iconv.c: Likewise.
29664         * tests/test-idpriv-drop.c: Likewise.
29665         * tests/test-idpriv-droptemp.c: Likewise.
29666         * tests/test-inet_ntop.c: Likewise.
29667         * tests/test-inet_pton.c: Likewise.
29668         * tests/test-isblank.c: Likewise.
29669         * tests/test-isfinite.c: Likewise.
29670         * tests/test-isinf.c: Likewise.
29671         * tests/test-isnan.c: Likewise.
29672         * tests/test-isnand.h: Likewise.
29673         * tests/test-isnanf.h: Likewise.
29674         * tests/test-isnanl.h: Likewise.
29675         * tests/test-lchown.c: Likewise.
29676         * tests/test-ldexpl.c: Likewise.
29677         * tests/test-link.c: Likewise.
29678         * tests/test-linkat.c: Likewise.
29679         * tests/test-linked_list.c: Likewise.
29680         * tests/test-linkedhash_list.c: Likewise.
29681         * tests/test-localename.c: Likewise.
29682         * tests/test-lseek.c: Likewise.
29683         * tests/test-lstat.c: Likewise.
29684         * tests/test-mbmemcasecmp.c: Likewise.
29685         * tests/test-mbmemcasecoll.c: Likewise.
29686         * tests/test-mbrtowc.c: Likewise.
29687         * tests/test-mbscasecmp.c: Likewise.
29688         * tests/test-mbscasestr1.c: Likewise.
29689         * tests/test-mbscasestr2.c: Likewise.
29690         * tests/test-mbscasestr3.c: Likewise.
29691         * tests/test-mbscasestr4.c: Likewise.
29692         * tests/test-mbschr.c: Likewise.
29693         * tests/test-mbscspn.c: Likewise.
29694         * tests/test-mbsinit.c: Likewise.
29695         * tests/test-mbsncasecmp.c: Likewise.
29696         * tests/test-mbsnrtowcs.c: Likewise.
29697         * tests/test-mbspbrk.c: Likewise.
29698         * tests/test-mbspcasecmp.c: Likewise.
29699         * tests/test-mbsrchr.c: Likewise.
29700         * tests/test-mbsrtowcs.c: Likewise.
29701         * tests/test-mbsspn.c: Likewise.
29702         * tests/test-mbsstr1.c: Likewise.
29703         * tests/test-mbsstr2.c: Likewise.
29704         * tests/test-mbsstr3.c: Likewise.
29705         * tests/test-memchr.c: Likewise.
29706         * tests/test-memchr2.c: Likewise.
29707         * tests/test-memcmp.c: Likewise.
29708         * tests/test-memmem.c: Likewise.
29709         * tests/test-memrchr.c: Likewise.
29710         * tests/test-mkdir.c: Likewise.
29711         * tests/test-mkdirat.c: Likewise.
29712         * tests/test-mkfifo.c: Likewise.
29713         * tests/test-mkfifoat.c: Likewise.
29714         * tests/test-mknod.c: Likewise.
29715         * tests/test-nanosleep.c: Likewise.
29716         * tests/test-nl_langinfo.c: Likewise.
29717         * tests/test-obstack-printf.c: Likewise.
29718         * tests/test-open.c: Likewise.
29719         * tests/test-openat.c: Likewise.
29720         * tests/test-pipe-filter-gi1.c: Likewise.
29721         * tests/test-pipe-filter-gi2-main.c: Likewise.
29722         * tests/test-pipe-filter-ii1.c: Likewise.
29723         * tests/test-pipe-filter-ii2-main.c: Likewise.
29724         * tests/test-pipe2.c: Likewise.
29725         * tests/test-popen.h: Likewise.
29726         * tests/test-posixtm.c: Likewise.
29727         * tests/test-pread.c: Likewise.
29728         * tests/test-printf-frexp.c: Likewise.
29729         * tests/test-printf-frexpl.c: Likewise.
29730         * tests/test-printf-posix.c: Likewise.
29731         * tests/test-priv-set.c: Likewise.
29732         * tests/test-quotearg.c: Likewise.
29733         * tests/test-random_r.c: Likewise.
29734         * tests/test-rawmemchr.c: Likewise.
29735         * tests/test-rbtree_list.c: Likewise.
29736         * tests/test-rbtree_oset.c: Likewise.
29737         * tests/test-rbtreehash_list.c: Likewise.
29738         * tests/test-readlink.c: Likewise.
29739         * tests/test-remove.c: Likewise.
29740         * tests/test-rename.c: Likewise.
29741         * tests/test-renameat.c: Likewise.
29742         * tests/test-rmdir.c: Likewise.
29743         * tests/test-round1.c: Likewise.
29744         * tests/test-roundf1.c: Likewise.
29745         * tests/test-roundl.c: Likewise.
29746         * tests/test-safe-alloc.c: Likewise.
29747         * tests/test-sameacls.c: Likewise.
29748         * tests/test-set-mode-acl.c: Likewise.
29749         * tests/test-setenv.c: Likewise.
29750         * tests/test-sigaction.c: Likewise.
29751         * tests/test-signbit.c: Likewise.
29752         * tests/test-sleep.c: Likewise.
29753         * tests/test-snprintf-posix.c: Likewise.
29754         * tests/test-snprintf.c: Likewise.
29755         * tests/test-sprintf-posix.c: Likewise.
29756         * tests/test-stat-time.c: Likewise.
29757         * tests/test-stat.c: Likewise.
29758         * tests/test-strcasestr.c: Likewise.
29759         * tests/test-strchrnul.c: Likewise.
29760         * tests/test-strerror.c: Likewise.
29761         * tests/test-striconv.c: Likewise.
29762         * tests/test-striconveh.c: Likewise.
29763         * tests/test-striconveha.c: Likewise.
29764         * tests/test-strsignal.c: Likewise.
29765         * tests/test-strstr.c: Likewise.
29766         * tests/test-strtod.c: Likewise.
29767         * tests/test-strverscmp.c: Likewise.
29768         * tests/test-symlink.c: Likewise.
29769         * tests/test-symlinkat.c: Likewise.
29770         * tests/test-trunc1.c: Likewise.
29771         * tests/test-trunc2.c: Likewise.
29772         * tests/test-truncf1.c: Likewise.
29773         * tests/test-truncf2.c: Likewise.
29774         * tests/test-truncl.c: Likewise.
29775         * tests/test-uname.c: Likewise.
29776         * tests/test-unlink.c: Likewise.
29777         * tests/test-unlinkat.c: Likewise.
29778         * tests/test-unsetenv.c: Likewise.
29779         * tests/test-usleep.c: Likewise.
29780         * tests/test-utimens.c: Likewise.
29781         * tests/test-utimensat.c: Likewise.
29782         * tests/test-vasnprintf-posix.c: Likewise.
29783         * tests/test-vasnprintf-posix2.c: Likewise.
29784         * tests/test-vasnprintf.c: Likewise.
29785         * tests/test-vasprintf-posix.c: Likewise.
29786         * tests/test-vasprintf.c: Likewise.
29787         * tests/test-vdprintf-posix.c: Likewise.
29788         * tests/test-vfprintf-posix.c: Likewise.
29789         * tests/test-vprintf-posix.c: Likewise.
29790         * tests/test-vsnprintf-posix.c: Likewise.
29791         * tests/test-vsnprintf.c: Likewise.
29792         * tests/test-vsprintf-posix.c: Likewise.
29793         * tests/test-wcrtomb.c: Likewise.
29794         * tests/test-wcsnrtombs.c: Likewise.
29795         * tests/test-wcsrtombs.c: Likewise.
29796         * tests/test-wctype.c: Likewise.
29797         * tests/test-wcwidth.c: Likewise.
29798         * tests/test-xfprintf-posix.c: Likewise.
29799         * tests/test-xmemdup0.c: Likewise.
29800         * tests/test-xprintf-posix.c: Likewise.
29801         * tests/test-xvasprintf.c: Likewise.
29802         * tests/unicase/test-locale-language.c: Likewise.
29803         * tests/unicase/test-mapping-part1.h: Likewise.
29804         * tests/unicase/test-predicate-part1.h: Likewise.
29805         * tests/unicase/test-u8-casecmp.c: Likewise.
29806         * tests/unicase/test-u8-casecoll.c: Likewise.
29807         * tests/unicase/test-u8-casefold.c: Likewise.
29808         * tests/unicase/test-u8-is-cased.c: Likewise.
29809         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29810         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29811         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29812         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29813         * tests/unicase/test-u8-tolower.c: Likewise.
29814         * tests/unicase/test-u8-totitle.c: Likewise.
29815         * tests/unicase/test-u8-toupper.c: Likewise.
29816         * tests/unicase/test-u16-casecmp.c: Likewise.
29817         * tests/unicase/test-u16-casecoll.c: Likewise.
29818         * tests/unicase/test-u16-casefold.c: Likewise.
29819         * tests/unicase/test-u16-is-cased.c: Likewise.
29820         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29821         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29822         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29823         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29824         * tests/unicase/test-u16-tolower.c: Likewise.
29825         * tests/unicase/test-u16-totitle.c: Likewise.
29826         * tests/unicase/test-u16-toupper.c: Likewise.
29827         * tests/unicase/test-u32-casecmp.c: Likewise.
29828         * tests/unicase/test-u32-casecoll.c: Likewise.
29829         * tests/unicase/test-u32-casefold.c: Likewise.
29830         * tests/unicase/test-u32-is-cased.c: Likewise.
29831         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29832         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29833         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29834         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29835         * tests/unicase/test-u32-tolower.c: Likewise.
29836         * tests/unicase/test-u32-totitle.c: Likewise.
29837         * tests/unicase/test-u32-toupper.c: Likewise.
29838         * tests/unicase/test-ulc-casecmp.c: Likewise.
29839         * tests/unicase/test-ulc-casecoll.c: Likewise.
29840         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29841         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29842         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29843         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29844         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29845         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29846         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29847         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29848         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29849         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29850         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29851         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29852         * tests/unictype/test-bidi_byname.c: Likewise.
29853         * tests/unictype/test-bidi_name.c: Likewise.
29854         * tests/unictype/test-bidi_of.c: Likewise.
29855         * tests/unictype/test-bidi_test.c: Likewise.
29856         * tests/unictype/test-block_list.c: Likewise.
29857         * tests/unictype/test-block_of.c: Likewise.
29858         * tests/unictype/test-block_test.c: Likewise.
29859         * tests/unictype/test-categ_and.c: Likewise.
29860         * tests/unictype/test-categ_and_not.c: Likewise.
29861         * tests/unictype/test-categ_byname.c: Likewise.
29862         * tests/unictype/test-categ_name.c: Likewise.
29863         * tests/unictype/test-categ_none.c: Likewise.
29864         * tests/unictype/test-categ_of.c: Likewise.
29865         * tests/unictype/test-categ_or.c: Likewise.
29866         * tests/unictype/test-categ_test_withtable.c: Likewise.
29867         * tests/unictype/test-combining.c: Likewise.
29868         * tests/unictype/test-decdigit.c: Likewise.
29869         * tests/unictype/test-digit.c: Likewise.
29870         * tests/unictype/test-mirror.c: Likewise.
29871         * tests/unictype/test-numeric.c: Likewise.
29872         * tests/unictype/test-pr_byname.c: Likewise.
29873         * tests/unictype/test-pr_test.c: Likewise.
29874         * tests/unictype/test-predicate-part1.h: Likewise.
29875         * tests/unictype/test-scripts.c: Likewise.
29876         * tests/unictype/test-sy_c_ident.c: Likewise.
29877         * tests/unictype/test-sy_java_ident.c: Likewise.
29878         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29879         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29880         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29881         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29882         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29883         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29884         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29885         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29886         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29887         * tests/uninorm/test-compat-decomposition.c: Likewise.
29888         * tests/uninorm/test-composition.c: Likewise.
29889         * tests/uninorm/test-decomposing-form.c: Likewise.
29890         * tests/uninorm/test-decomposition.c: Likewise.
29891         * tests/uninorm/test-u8-nfc.c: Likewise.
29892         * tests/uninorm/test-u8-nfd.c: Likewise.
29893         * tests/uninorm/test-u8-nfkc.c: Likewise.
29894         * tests/uninorm/test-u8-nfkd.c: Likewise.
29895         * tests/uninorm/test-u8-normcmp.c: Likewise.
29896         * tests/uninorm/test-u8-normcoll.c: Likewise.
29897         * tests/uninorm/test-u16-nfc.c: Likewise.
29898         * tests/uninorm/test-u16-nfd.c: Likewise.
29899         * tests/uninorm/test-u16-nfkc.c: Likewise.
29900         * tests/uninorm/test-u16-nfkd.c: Likewise.
29901         * tests/uninorm/test-u16-normcmp.c: Likewise.
29902         * tests/uninorm/test-u16-normcoll.c: Likewise.
29903         * tests/uninorm/test-u32-nfc.c: Likewise.
29904         * tests/uninorm/test-u32-nfd.c: Likewise.
29905         * tests/uninorm/test-u32-nfkc.c: Likewise.
29906         * tests/uninorm/test-u32-nfkd.c: Likewise.
29907         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29908         * tests/uninorm/test-u32-normcmp.c: Likewise.
29909         * tests/uninorm/test-u32-normcoll.c: Likewise.
29910         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29911         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29912         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29913         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29914         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29915         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29916         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29917         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29918         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29919         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29920         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29921         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29922         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29923         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29924         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29925         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29926         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29927         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29928         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29929         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29930         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29931         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29932         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29933         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29934         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29935         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29936         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29937         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29938         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29939         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29940         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29941         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29942         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29943         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29944         * tests/uniwidth/test-u8-width.c: Likewise.
29945         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29946         * tests/uniwidth/test-u16-width.c: Likewise.
29947         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29948         * tests/uniwidth/test-u32-width.c: Likewise.
29949         * tests/uniwidth/test-uc_width.c: Likewise.
29950         * tests/uniwidth/test-uc_width2.c: Likewise.
29951         * modules/acl-tests (Files): Add tests/macros.h.
29952         * modules/areadlink-tests (Files): Likewise.
29953         * modules/areadlink-with-size-tests (Files): Likewise.
29954         * modules/areadlinkat-tests (Files): Likewise.
29955         * modules/areadlinkat-with-size-tests (Files): Likewise.
29956         * modules/argmatch-tests (Files): Likewise.
29957         * modules/argv-iter-tests (Files): Likewise.
29958         * modules/array-list-tests (Files): Likewise.
29959         * modules/array-mergesort-tests (Files): Likewise.
29960         * modules/array-oset-tests (Files): Likewise.
29961         * modules/avltree-list-tests (Files): Likewise.
29962         * modules/avltree-oset-tests (Files): Likewise.
29963         * modules/avltreehash-list-tests (Files): Likewise.
29964         * modules/base64-tests (Files): Likewise.
29965         * modules/binary-io-tests (Files): Likewise.
29966         * modules/bitrotate-tests (Files): Likewise.
29967         * modules/btowc-tests (Files): Likewise.
29968         * modules/byteswap-tests (Files): Likewise.
29969         * modules/c-ctype-tests (Files): Likewise.
29970         * modules/c-stack-tests (Files): Likewise.
29971         * modules/c-strcase-tests (Files): Likewise.
29972         * modules/c-strcasestr-tests (Files): Likewise.
29973         * modules/c-strstr-tests (Files): Likewise.
29974         * modules/canonicalize-lgpl-tests (Files): Likewise.
29975         * modules/canonicalize-tests (Files): Likewise.
29976         * modules/carray-list-tests (Files): Likewise.
29977         * modules/ceilf-tests (Files): Likewise.
29978         * modules/ceill-tests (Files): Likewise.
29979         * modules/chown-tests (Files): Likewise.
29980         * modules/cloexec-tests (Files): Likewise.
29981         * modules/copy-file-tests (Files): Likewise.
29982         * modules/count-one-bits-tests (Files): Likewise.
29983         * modules/dprintf-posix-tests (Files): Likewise.
29984         * modules/dup2-tests (Files): Likewise.
29985         * modules/dup3-tests (Files): Likewise.
29986         * modules/duplocale-tests (Files): Likewise.
29987         * modules/fbufmode-tests (Files): Likewise.
29988         * modules/fchdir-tests (Files): Likewise.
29989         * modules/fcntl-safer-tests (Files): Likewise.
29990         * modules/fcntl-tests (Files): Likewise.
29991         * modules/fdopendir-tests (Files): Likewise.
29992         * modules/fdutimensat-tests (Files): Likewise.
29993         * modules/fflush-tests (Files): Likewise.
29994         * modules/filevercmp-tests (Files): Likewise.
29995         * modules/flock-tests (Files): Likewise.
29996         * modules/floorf-tests (Files): Likewise.
29997         * modules/floorl-tests (Files): Likewise.
29998         * modules/fnmatch-tests (Files): Likewise.
29999         * modules/fopen-safer-tests (Files): Likewise.
30000         * modules/fopen-tests (Files): Likewise.
30001         * modules/fpending-tests (Files): Likewise.
30002         * modules/fprintf-posix-tests (Files): Likewise.
30003         * modules/fpurge-tests (Files): Likewise.
30004         * modules/freadable-tests (Files): Likewise.
30005         * modules/freadahead-tests (Files): Likewise.
30006         * modules/freading-tests (Files): Likewise.
30007         * modules/freadptr-tests (Files): Likewise.
30008         * modules/freadseek-tests (Files): Likewise.
30009         * modules/freopen-tests (Files): Likewise.
30010         * modules/frexp-nolibm-tests (Files): Likewise.
30011         * modules/frexp-tests (Files): Likewise.
30012         * modules/frexpl-nolibm-tests (Files): Likewise.
30013         * modules/frexpl-tests (Files): Likewise.
30014         * modules/fseek-tests (Files): Likewise.
30015         * modules/fseeko-tests (Files): Likewise.
30016         * modules/fstrcmp-tests (Files): Likewise.
30017         * modules/fsync-tests (Files): Likewise.
30018         * modules/ftell-tests (Files): Likewise.
30019         * modules/ftello-tests (Files): Likewise.
30020         * modules/func-tests (Files): Likewise.
30021         * modules/futimens-tests (Files): Likewise.
30022         * modules/fwritable-tests (Files): Likewise.
30023         * modules/fwriting-tests (Files): Likewise.
30024         * modules/getcwd-tests (Files): Likewise.
30025         * modules/getdate-tests (Files): Likewise.
30026         * modules/getdelim-tests (Files): Likewise.
30027         * modules/getdtablesize-tests (Files): Likewise.
30028         * modules/getgroups-tests (Files): Likewise.
30029         * modules/getline-tests (Files): Likewise.
30030         * modules/getndelim2-tests (Files): Likewise.
30031         * modules/glob-tests (Files): Likewise.
30032         * modules/hash-tests (Files): Likewise.
30033         * modules/i-ring-tests (Files): Likewise.
30034         * modules/iconv-tests (Files): Likewise.
30035         * modules/iconv_open-utf-tests (Files): Likewise.
30036         * modules/idpriv-drop-tests (Files): Likewise.
30037         * modules/idpriv-droptemp-tests (Files): Likewise.
30038         * modules/inet_ntop-tests (Files): Likewise.
30039         * modules/inet_pton-tests (Files): Likewise.
30040         * modules/isblank-tests (Files): Likewise.
30041         * modules/isfinite-tests (Files): Likewise.
30042         * modules/isinf-tests (Files): Likewise.
30043         * modules/isnan-tests (Files): Likewise.
30044         * modules/isnand-nolibm-tests (Files): Likewise.
30045         * modules/isnand-tests (Files): Likewise.
30046         * modules/isnanf-nolibm-tests (Files): Likewise.
30047         * modules/isnanf-tests (Files): Likewise.
30048         * modules/isnanl-nolibm-tests (Files): Likewise.
30049         * modules/isnanl-tests (Files): Likewise.
30050         * modules/lchown-tests (Files): Likewise.
30051         * modules/ldexpl-tests (Files): Likewise.
30052         * modules/link-tests (Files): Likewise.
30053         * modules/linkat-tests (Files): Likewise.
30054         * modules/linked-list-tests (Files): Likewise.
30055         * modules/linkedhash-list-tests (Files): Likewise.
30056         * modules/localename-tests (Files): Likewise.
30057         * modules/lseek-tests (Files): Likewise.
30058         * modules/lstat-tests (Files): Likewise.
30059         * modules/mbmemcasecmp-tests (Files): Likewise.
30060         * modules/mbmemcasecoll-tests (Files): Likewise.
30061         * modules/mbrtowc-tests (Files): Likewise.
30062         * modules/mbscasecmp-tests (Files): Likewise.
30063         * modules/mbscasestr-tests (Files): Likewise.
30064         * modules/mbschr-tests (Files): Likewise.
30065         * modules/mbscspn-tests (Files): Likewise.
30066         * modules/mbsinit-tests (Files): Likewise.
30067         * modules/mbsncasecmp-tests (Files): Likewise.
30068         * modules/mbsnrtowcs-tests (Files): Likewise.
30069         * modules/mbspbrk-tests (Files): Likewise.
30070         * modules/mbspcasecmp-tests (Files): Likewise.
30071         * modules/mbsrchr-tests (Files): Likewise.
30072         * modules/mbsrtowcs-tests (Files): Likewise.
30073         * modules/mbsspn-tests (Files): Likewise.
30074         * modules/mbsstr-tests (Files): Likewise.
30075         * modules/memchr-tests (Files): Likewise.
30076         * modules/memchr2-tests (Files): Likewise.
30077         * modules/memcmp-tests (Files): Likewise.
30078         * modules/memmem-tests (Files): Likewise.
30079         * modules/memrchr-tests (Files): Likewise.
30080         * modules/mkdir-tests (Files): Likewise.
30081         * modules/mkfifo-tests (Files): Likewise.
30082         * modules/mkfifoat-tests (Files): Likewise.
30083         * modules/mknod-tests (Files): Likewise.
30084         * modules/nanosleep-tests (Files): Likewise.
30085         * modules/nl_langinfo-tests (Files): Likewise.
30086         * modules/obstack-printf-tests (Files): Likewise.
30087         * modules/open-tests (Files): Likewise.
30088         * modules/openat-tests (Files): Likewise.
30089         * modules/pipe-filter-gi-tests (Files): Likewise.
30090         * modules/pipe-filter-ii-tests (Files): Likewise.
30091         * modules/pipe2-tests (Files): Likewise.
30092         * modules/popen-safer-tests (Files): Likewise.
30093         * modules/popen-tests (Files): Likewise.
30094         * modules/posixtm-tests (Files): Likewise.
30095         * modules/pread-tests (Files): Likewise.
30096         * modules/printf-frexp-tests (Files): Likewise.
30097         * modules/printf-frexpl-tests (Files): Likewise.
30098         * modules/printf-posix-tests (Files): Likewise.
30099         * modules/priv-set-tests (Files): Likewise.
30100         * modules/quotearg-tests (Files): Likewise.
30101         * modules/random_r-tests (Files): Likewise.
30102         * modules/rawmemchr-tests (Files): Likewise.
30103         * modules/rbtree-list-tests (Files): Likewise.
30104         * modules/rbtree-oset-tests (Files): Likewise.
30105         * modules/rbtreehash-list-tests (Files): Likewise.
30106         * modules/readlink-tests (Files): Likewise.
30107         * modules/remove-tests (Files): Likewise.
30108         * modules/rename-tests (Files): Likewise.
30109         * modules/renameat-tests (Files): Likewise.
30110         * modules/rmdir-tests (Files): Likewise.
30111         * modules/round-tests (Files): Likewise.
30112         * modules/roundf-tests (Files): Likewise.
30113         * modules/roundl-tests (Files): Likewise.
30114         * modules/safe-alloc-tests (Files): Likewise.
30115         * modules/setenv-tests (Files): Likewise.
30116         * modules/sigaction-tests (Files): Likewise.
30117         * modules/signbit-tests (Files): Likewise.
30118         * modules/sleep-tests (Files): Likewise.
30119         * modules/snprintf-posix-tests (Files): Likewise.
30120         * modules/snprintf-tests (Files): Likewise.
30121         * modules/sprintf-posix-tests (Files): Likewise.
30122         * modules/stat-tests (Files): Likewise.
30123         * modules/stat-time-tests (Files): Likewise.
30124         * modules/strcasestr-tests (Files): Likewise.
30125         * modules/strchrnul-tests (Files): Likewise.
30126         * modules/strerror-tests (Files): Likewise.
30127         * modules/striconv-tests (Files): Likewise.
30128         * modules/striconveh-tests (Files): Likewise.
30129         * modules/striconveha-tests (Files): Likewise.
30130         * modules/strsignal-tests (Files): Likewise.
30131         * modules/strstr-tests (Files): Likewise.
30132         * modules/strtod-tests (Files): Likewise.
30133         * modules/strverscmp-tests (Files): Likewise.
30134         * modules/symlink-tests (Files): Likewise.
30135         * modules/symlinkat-tests (Files): Likewise.
30136         * modules/trunc-tests (Files): Likewise.
30137         * modules/truncf-tests (Files): Likewise.
30138         * modules/truncl-tests (Files): Likewise.
30139         * modules/uname-tests (Files): Likewise.
30140         * modules/unicase/cased-tests (Files): Likewise.
30141         * modules/unicase/ignorable-tests (Files): Likewise.
30142         * modules/unicase/locale-language-tests (Files): Likewise.
30143         * modules/unicase/tolower-tests (Files): Likewise.
30144         * modules/unicase/totitle-tests (Files): Likewise.
30145         * modules/unicase/toupper-tests (Files): Likewise.
30146         * modules/unicase/u8-casecmp-tests (Files): Likewise.
30147         * modules/unicase/u8-casecoll-tests (Files): Likewise.
30148         * modules/unicase/u8-casefold-tests (Files): Likewise.
30149         * modules/unicase/u8-is-cased-tests (Files): Likewise.
30150         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
30151         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
30152         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
30153         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
30154         * modules/unicase/u8-tolower-tests (Files): Likewise.
30155         * modules/unicase/u8-totitle-tests (Files): Likewise.
30156         * modules/unicase/u8-toupper-tests (Files): Likewise.
30157         * modules/unicase/u16-casecmp-tests (Files): Likewise.
30158         * modules/unicase/u16-casecoll-tests (Files): Likewise.
30159         * modules/unicase/u16-casefold-tests (Files): Likewise.
30160         * modules/unicase/u16-is-cased-tests (Files): Likewise.
30161         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
30162         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
30163         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
30164         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
30165         * modules/unicase/u16-tolower-tests (Files): Likewise.
30166         * modules/unicase/u16-totitle-tests (Files): Likewise.
30167         * modules/unicase/u16-toupper-tests (Files): Likewise.
30168         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30169         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30170         * modules/unicase/u32-casefold-tests (Files): Likewise.
30171         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30172         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30173         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30174         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30175         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30176         * modules/unicase/u32-tolower-tests (Files): Likewise.
30177         * modules/unicase/u32-totitle-tests (Files): Likewise.
30178         * modules/unicase/u32-toupper-tests (Files): Likewise.
30179         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30180         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30181         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30182         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30183         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30184         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30185         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30186         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30187         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30188         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30189         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30190         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30191         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30192         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30193         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30194         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30195         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30196         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30197         * modules/unictype/block-list-tests (Files): Likewise.
30198         * modules/unictype/block-of-tests (Files): Likewise.
30199         * modules/unictype/block-test-tests (Files): Likewise.
30200         * modules/unictype/category-C-tests (Files): Likewise.
30201         * modules/unictype/category-Cc-tests (Files): Likewise.
30202         * modules/unictype/category-Cf-tests (Files): Likewise.
30203         * modules/unictype/category-Cn-tests (Files): Likewise.
30204         * modules/unictype/category-Co-tests (Files): Likewise.
30205         * modules/unictype/category-Cs-tests (Files): Likewise.
30206         * modules/unictype/category-L-tests (Files): Likewise.
30207         * modules/unictype/category-Ll-tests (Files): Likewise.
30208         * modules/unictype/category-Lm-tests (Files): Likewise.
30209         * modules/unictype/category-Lo-tests (Files): Likewise.
30210         * modules/unictype/category-Lt-tests (Files): Likewise.
30211         * modules/unictype/category-Lu-tests (Files): Likewise.
30212         * modules/unictype/category-M-tests (Files): Likewise.
30213         * modules/unictype/category-Mc-tests (Files): Likewise.
30214         * modules/unictype/category-Me-tests (Files): Likewise.
30215         * modules/unictype/category-Mn-tests (Files): Likewise.
30216         * modules/unictype/category-N-tests (Files): Likewise.
30217         * modules/unictype/category-Nd-tests (Files): Likewise.
30218         * modules/unictype/category-Nl-tests (Files): Likewise.
30219         * modules/unictype/category-No-tests (Files): Likewise.
30220         * modules/unictype/category-P-tests (Files): Likewise.
30221         * modules/unictype/category-Pc-tests (Files): Likewise.
30222         * modules/unictype/category-Pd-tests (Files): Likewise.
30223         * modules/unictype/category-Pe-tests (Files): Likewise.
30224         * modules/unictype/category-Pf-tests (Files): Likewise.
30225         * modules/unictype/category-Pi-tests (Files): Likewise.
30226         * modules/unictype/category-Po-tests (Files): Likewise.
30227         * modules/unictype/category-Ps-tests (Files): Likewise.
30228         * modules/unictype/category-S-tests (Files): Likewise.
30229         * modules/unictype/category-Sc-tests (Files): Likewise.
30230         * modules/unictype/category-Sk-tests (Files): Likewise.
30231         * modules/unictype/category-Sm-tests (Files): Likewise.
30232         * modules/unictype/category-So-tests (Files): Likewise.
30233         * modules/unictype/category-Z-tests (Files): Likewise.
30234         * modules/unictype/category-Zl-tests (Files): Likewise.
30235         * modules/unictype/category-Zp-tests (Files): Likewise.
30236         * modules/unictype/category-Zs-tests (Files): Likewise.
30237         * modules/unictype/category-and-not-tests (Files): Likewise.
30238         * modules/unictype/category-and-tests (Files): Likewise.
30239         * modules/unictype/category-byname-tests (Files): Likewise.
30240         * modules/unictype/category-name-tests (Files): Likewise.
30241         * modules/unictype/category-none-tests (Files): Likewise.
30242         * modules/unictype/category-of-tests (Files): Likewise.
30243         * modules/unictype/category-or-tests (Files): Likewise.
30244         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30245         * modules/unictype/combining-class-tests (Files): Likewise.
30246         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30247         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30248         * modules/unictype/ctype-blank-tests (Files): Likewise.
30249         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30250         * modules/unictype/ctype-digit-tests (Files): Likewise.
30251         * modules/unictype/ctype-graph-tests (Files): Likewise.
30252         * modules/unictype/ctype-lower-tests (Files): Likewise.
30253         * modules/unictype/ctype-print-tests (Files): Likewise.
30254         * modules/unictype/ctype-punct-tests (Files): Likewise.
30255         * modules/unictype/ctype-space-tests (Files): Likewise.
30256         * modules/unictype/ctype-upper-tests (Files): Likewise.
30257         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30258         * modules/unictype/decimal-digit-tests (Files): Likewise.
30259         * modules/unictype/digit-tests (Files): Likewise.
30260         * modules/unictype/mirror-tests (Files): Likewise.
30261         * modules/unictype/numeric-tests (Files): Likewise.
30262         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30263         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30264         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30265         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30266         Likewise.
30267         * modules/unictype/property-bidi-block-separator-tests (Files):
30268         Likewise.
30269         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30270         Likewise.
30271         * modules/unictype/property-bidi-common-separator-tests (Files):
30272         Likewise.
30273         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30274         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30275         Likewise.
30276         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30277         Likewise.
30278         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30279         Likewise.
30280         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30281         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30282         Likewise.
30283         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30284         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30285         Likewise.
30286         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30287         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30288         * modules/unictype/property-bidi-segment-separator-tests (Files):
30289         Likewise.
30290         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30291         * modules/unictype/property-byname-tests (Files): Likewise.
30292         * modules/unictype/property-combining-tests (Files): Likewise.
30293         * modules/unictype/property-composite-tests (Files): Likewise.
30294         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30295         * modules/unictype/property-dash-tests (Files): Likewise.
30296         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30297         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30298         Likewise.
30299         * modules/unictype/property-deprecated-tests (Files): Likewise.
30300         * modules/unictype/property-diacritic-tests (Files): Likewise.
30301         * modules/unictype/property-extender-tests (Files): Likewise.
30302         * modules/unictype/property-format-control-tests (Files): Likewise.
30303         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30304         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30305         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30306         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30307         * modules/unictype/property-hyphen-tests (Files): Likewise.
30308         * modules/unictype/property-id-continue-tests (Files): Likewise.
30309         * modules/unictype/property-id-start-tests (Files): Likewise.
30310         * modules/unictype/property-ideographic-tests (Files): Likewise.
30311         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30312         * modules/unictype/property-ids-trinary-operator-tests (Files):
30313         Likewise.
30314         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30315         * modules/unictype/property-iso-control-tests (Files): Likewise.
30316         * modules/unictype/property-join-control-tests (Files): Likewise.
30317         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30318         * modules/unictype/property-line-separator-tests (Files): Likewise.
30319         * modules/unictype/property-logical-order-exception-tests (Files):
30320         Likewise.
30321         * modules/unictype/property-lowercase-tests (Files): Likewise.
30322         * modules/unictype/property-math-tests (Files): Likewise.
30323         * modules/unictype/property-non-break-tests (Files): Likewise.
30324         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30325         * modules/unictype/property-numeric-tests (Files): Likewise.
30326         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30327         * modules/unictype/property-other-default-ignorable-code-point-tests
30328         (Files): Likewise.
30329         * modules/unictype/property-other-grapheme-extend-tests (Files):
30330         Likewise.
30331         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30332         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30333         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30334         * modules/unictype/property-other-math-tests (Files): Likewise.
30335         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30336         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30337         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30338         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30339         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30340         * modules/unictype/property-private-use-tests (Files): Likewise.
30341         * modules/unictype/property-punctuation-tests (Files): Likewise.
30342         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30343         * modules/unictype/property-radical-tests (Files): Likewise.
30344         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30345         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30346         * modules/unictype/property-space-tests (Files): Likewise.
30347         * modules/unictype/property-terminal-punctuation-tests (Files):
30348         Likewise.
30349         * modules/unictype/property-test-tests (Files): Likewise.
30350         * modules/unictype/property-titlecase-tests (Files): Likewise.
30351         * modules/unictype/property-unassigned-code-value-tests (Files):
30352         Likewise.
30353         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30354         * modules/unictype/property-uppercase-tests (Files): Likewise.
30355         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30356         * modules/unictype/property-white-space-tests (Files): Likewise.
30357         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30358         * modules/unictype/property-xid-start-tests (Files): Likewise.
30359         * modules/unictype/property-zero-width-tests (Files): Likewise.
30360         * modules/unictype/scripts-tests (Files): Likewise.
30361         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30362         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30363         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30364         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30365         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30366         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30367         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30368         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30369         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30370         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30371         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30372         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30373         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30374         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30375         * modules/uninorm/composition-tests (Files): Likewise.
30376         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30377         * modules/uninorm/decomposition-tests (Files): Likewise.
30378         * modules/uninorm/filter-tests (Files): Likewise.
30379         * modules/uninorm/nfc-tests (Files): Likewise.
30380         * modules/uninorm/nfd-tests (Files): Likewise.
30381         * modules/uninorm/nfkc-tests (Files): Likewise.
30382         * modules/uninorm/nfkd-tests (Files): Likewise.
30383         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30384         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30385         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30386         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30387         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30388         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30389         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30390         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30391         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30392         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30393         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30394         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30395         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30396         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30397         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30398         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30399         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30400         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30401         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30402         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30403         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30404         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30405         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30406         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30407         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30408         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30409         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30410         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30411         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30412         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30413         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30414         * modules/uniwidth/u8-width-tests (Files): Likewise.
30415         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30416         * modules/uniwidth/u16-width-tests (Files): Likewise.
30417         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30418         * modules/uniwidth/u32-width-tests (Files): Likewise.
30419         * modules/uniwidth/width-tests (Files): Likewise.
30420         * modules/unlink-tests (Files): Likewise.
30421         * modules/unsetenv-tests (Files): Likewise.
30422         * modules/usleep-tests (Files): Likewise.
30423         * modules/utimens-tests (Files): Likewise.
30424         * modules/utimensat-tests (Files): Likewise.
30425         * modules/vasnprintf-posix-tests (Files): Likewise.
30426         * modules/vasnprintf-tests (Files): Likewise.
30427         * modules/vasprintf-posix-tests (Files): Likewise.
30428         * modules/vasprintf-tests (Files): Likewise.
30429         * modules/vdprintf-posix-tests (Files): Likewise.
30430         * modules/vfprintf-posix-tests (Files): Likewise.
30431         * modules/vprintf-posix-tests (Files): Likewise.
30432         * modules/vsnprintf-posix-tests (Files): Likewise.
30433         * modules/vsnprintf-tests (Files): Likewise.
30434         * modules/vsprintf-posix-tests (Files): Likewise.
30435         * modules/wcrtomb-tests (Files): Likewise.
30436         * modules/wcsnrtombs-tests (Files): Likewise.
30437         * modules/wcsrtombs-tests (Files): Likewise.
30438         * modules/wctype-tests (Files): Likewise.
30439         * modules/wcwidth-tests (Files): Likewise.
30440         * modules/xmemdup0-tests (Files): Likewise.
30441         * modules/xprintf-posix-tests (Files): Likewise.
30442         * modules/xvasprintf-tests (Files): Likewise.
30443
30444 2009-12-24  Eric Blake  <ebb9@byu.net>
30445
30446         test-nanosleep: fix typo
30447         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30448         patch.
30449         Reported by Bruno Haible.
30450
30451 2009-12-24  Bruno Haible  <bruno@clisp.org>
30452
30453         Reduce namespace pollution on glibc systems.
30454         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30455         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30456         systems.
30457         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30458         <getopt.h> on glibc systems.
30459         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30460         systems.
30461         * lib/fcntl.c: Include <unistd.h> here instead.
30462
30463 2009-12-24  Bruno Haible  <bruno@clisp.org>
30464
30465         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30466
30467 2009-12-24  Eric Blake  <ebb9@byu.net>
30468
30469         tests: add signature checks
30470         * tests/signature.h (SIGNATURE_CHECK): New file.
30471         * modules/atexit-tests (Files): Use it.
30472         * modules/btowc-tests (Files): Likewise.
30473         * modules/canonicalize-lgpl-tests (Files): Likewise.
30474         * modules/ceilf-tests (Files): Likewise.
30475         * modules/ceill-tests (Files): Likewise.
30476         * modules/chown-tests (Files): Likewise.
30477         * modules/dprintf-posix-tests (Files): Likewise.
30478         * modules/dup2-tests (Files): Likewise.
30479         * modules/dup3-tests (Files): Likewise.
30480         * modules/duplocale-tests (Files): Likewise.
30481         * modules/fchdir-tests (Files): Likewise.
30482         * modules/fcntl-tests (Files): Likewise.
30483         * modules/fdopendir-tests (Files): Likewise.
30484         * modules/fflush-tests (Files): Likewise.
30485         * modules/flock-tests (Files): Likewise.
30486         * modules/floorf-tests (Files): Likewise.
30487         * modules/floorl-tests (Files): Likewise.
30488         * modules/fnmatch-tests (Files): Likewise.
30489         * modules/fopen-tests (Files): Likewise.
30490         * modules/fprintf-posix-tests (Files): Likewise.
30491         * modules/freopen-tests (Files): Likewise.
30492         * modules/frexp-nolibm-tests (Files): Likewise.
30493         * modules/frexp-tests (Files): Likewise.
30494         * modules/frexpl-nolibm-tests (Files): Likewise.
30495         * modules/frexpl-tests (Files): Likewise.
30496         * modules/fseek-tests (Files): Likewise.
30497         * modules/fseeko-tests (Files): Likewise.
30498         * modules/fsync-tests (Files): Likewise.
30499         * modules/ftell-tests (Files): Likewise.
30500         * modules/ftello-tests (Files): Likewise.
30501         * modules/futimens-tests (Files): Likewise.
30502         * modules/getaddrinfo-tests (Files): Likewise.
30503         * modules/getcwd-tests (Files): Likewise.
30504         * modules/getdelim-tests (Files): Likewise.
30505         * modules/getdtablesize-tests (Files): Likewise.
30506         * modules/getgroups-tests (Files): Likewise.
30507         * modules/gethostname-tests (Files): Likewise.
30508         * modules/getline-tests (Files): Likewise.
30509         * modules/getopt-posix-tests (Files): Likewise.
30510         * modules/gettimeofday-tests (Files): Likewise.
30511         * modules/glob-tests (Files): Likewise.
30512         * modules/iconv-tests (Files): Likewise.
30513         * modules/inet_ntop-tests (Files): Likewise.
30514         * modules/inet_pton-tests (Files): Likewise.
30515         * modules/isblank-tests (Files): Likewise.
30516         * modules/lchown-tests (Files): Likewise.
30517         * modules/ldexpl-tests (Files): Likewise.
30518         * modules/link-tests (Files): Likewise.
30519         * modules/linkat-tests (Files): Likewise.
30520         * modules/lseek-tests (Files): Likewise.
30521         * modules/lstat-tests (Files): Likewise.
30522         * modules/mbrtowc-tests (Files): Likewise.
30523         * modules/mbsinit-tests (Files): Likewise.
30524         * modules/mbsnrtowcs-tests (Files): Likewise.
30525         * modules/mbsrtowcs-tests (Files): Likewise.
30526         * modules/memchr-tests (Files): Likewise.
30527         * modules/memcmp-tests (Files): Likewise.
30528         * modules/memmem-tests (Files): Likewise.
30529         * modules/memrchr-tests (Files): Likewise.
30530         * modules/mkdir-tests (Files): Likewise.
30531         * modules/mkfifo-tests (Files): Likewise.
30532         * modules/mkfifoat-tests (Files): Likewise.
30533         * modules/mknod-tests (Files): Likewise.
30534         * modules/nanosleep-tests (Files): Likewise.
30535         * modules/nl_langinfo-tests (Files): Likewise.
30536         * modules/obstack-printf-tests (Files): Likewise.
30537         * modules/open-tests (Files): Likewise.
30538         * modules/openat-tests (Files): Likewise.
30539         * modules/perror-tests (Files): Likewise.
30540         * modules/pipe2-tests (Files): Likewise.
30541         * modules/poll-tests (Files): Likewise.
30542         * modules/popen-tests (Files): Likewise.
30543         * modules/posix_spawn-tests (Files): Likewise.
30544         * modules/posix_spawnp-tests (Files): Likewise.
30545         * modules/pread-tests (Files): Likewise.
30546         * modules/printf-posix-tests (Files): Likewise.
30547         * modules/pty-tests (Files): Likewise.
30548         * modules/random_r-tests (Files): Likewise.
30549         * modules/rawmemchr-tests (Files): Likewise.
30550         * modules/readlink-tests (Files): Likewise.
30551         * modules/remove-tests (Files): Likewise.
30552         * modules/rename-tests (Files): Likewise.
30553         * modules/renameat-tests (Files): Likewise.
30554         * modules/rmdir-tests (Files): Likewise.
30555         * modules/round-tests (Files): Likewise.
30556         * modules/roundf-tests (Files): Likewise.
30557         * modules/roundl-tests (Files): Likewise.
30558         * modules/select-tests (Files): Likewise.
30559         * modules/setenv-tests (Files): Likewise.
30560         * modules/sigaction-tests (Files): Likewise.
30561         * modules/sleep-tests (Files): Likewise.
30562         * modules/snprintf-posix-tests (Files): Likewise.
30563         * modules/snprintf-tests (Files): Likewise.
30564         * modules/sprintf-posix-tests (Files): Likewise.
30565         * modules/stat-tests (Files): Likewise.
30566         * modules/strcasestr-tests (Files): Likewise.
30567         * modules/strchrnul-tests (Files): Likewise.
30568         * modules/strerror-tests (Files): Likewise.
30569         * modules/strsignal-tests (Files): Likewise.
30570         * modules/strstr-tests (Files): Likewise.
30571         * modules/strtod-tests (Files): Likewise.
30572         * modules/strverscmp-tests (Files): Likewise.
30573         * modules/symlink-tests (Files): Likewise.
30574         * modules/symlinkat-tests (Files): Likewise.
30575         * modules/times-tests (Files): Likewise.
30576         * modules/trunc-tests (Files): Likewise.
30577         * modules/truncf-tests (Files): Likewise.
30578         * modules/truncl-tests (Files): Likewise.
30579         * modules/tsearch-tests (Files): Likewise.
30580         * modules/uname-tests (Files): Likewise.
30581         * modules/unlink-tests (Files): Likewise.
30582         * modules/unsetenv-tests (Files): Likewise.
30583         * modules/usleep-tests (Files): Likewise.
30584         * modules/utimensat-tests (Files): Likewise.
30585         * modules/vasprintf-tests (Files): Likewise.
30586         * modules/vdprintf-posix-tests (Files): Likewise.
30587         * modules/vfprintf-posix-tests (Files): Likewise.
30588         * modules/vprintf-posix-tests (Files): Likewise.
30589         * modules/vsnprintf-posix-tests (Files): Likewise.
30590         * modules/vsnprintf-tests (Files): Likewise.
30591         * modules/vsprintf-posix-tests (Files): Likewise.
30592         * modules/wcrtomb-tests (Files): Likewise.
30593         * modules/wcsnrtombs-tests (Files): Likewise.
30594         * modules/wcsrtombs-tests (Files): Likewise.
30595         * modules/wcwidth-tests (Files): Likewise.
30596         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30597         * tests/test-isinf.c (isinf): Likewise.
30598         * tests/test-isnan.c (isnan): Likewise.
30599         * tests/test-signbit.c (signbit): Likewise.
30600         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30601         declaration, either as macro or with correct signature.
30602         (select): Ensure function under test is declared with correct
30603         signature in correct header.
30604         * tests/test-atexit.c (atexit): Likewise.
30605         * tests/test-btowc.c (btowc): Likewise.
30606         * tests/test-canonicalize-lgpl.c (realpath)
30607         (canonicalize_file_name): Likewise.
30608         * tests/test-ceilf1.c (ceilf): Likewise.
30609         * tests/test-ceill.c (ceill): Likewise.
30610         * tests/test-chown.c (chown): Likewise.
30611         * tests/test-dprintf-posix.c (dprintf): Likewise.
30612         * tests/test-dup2.c (dup2): Likewise.
30613         * tests/test-dup3.c (dup3): Likewise.
30614         * tests/test-duplocale.c (duplocale): Likewise.
30615         * tests/test-fchdir.c (fchdir): Likewise.
30616         * tests/test-fchownat.c (fchownat): Likewise.
30617         * tests/test-fcntl.c (fcntl): Likewise.
30618         * tests/test-fdopendir.c (fdopendir): Likewise.
30619         * tests/test-fflush.c (fflush): Likewise.
30620         * tests/test-flock.c (flock): Likewise.
30621         * tests/test-floorf1.c (floorf): Likewise.
30622         * tests/test-floorl.c (floorl): Likewise.
30623         * tests/test-fnmatch.c (fnmatch): Likewise.
30624         * tests/test-fopen.c (fopen): Likewise.
30625         * tests/test-fprintf-posix.c (fprintf): Likewise.
30626         * tests/test-freopen.c (freopen): Likewise.
30627         * tests/test-frexp.c (frexp): Likewise.
30628         * tests/test-frexpl.c (frexpl): Likewise.
30629         * tests/test-fseek.c (fseek): Likewise.
30630         * tests/test-fseeko.c (fseeko): Likewise.
30631         * tests/test-fstatat.c (fstatat): Likewise.
30632         * tests/test-fsync.c (fsync): Likewise.
30633         * tests/test-ftell.c (ftell): Likewise.
30634         * tests/test-ftello.c (ftello): Likewise.
30635         * tests/test-futimens.c (futimens): Likewise.
30636         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30637         (gai_strerror): Likewise.
30638         * tests/test-getcwd.c (getcwd): Likewise.
30639         * tests/test-getdelim.c (getdelim): Likewise.
30640         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30641         * tests/test-getgroups.c (getgroups): Likewise.
30642         * tests/test-gethostname.c (gethostname): Likewise.
30643         * tests/test-getline.c (getline): Likewise.
30644         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30645         Likewise.
30646         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30647         * tests/test-glob.c (glob, globfree): Likewise.
30648         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30649         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30650         * tests/test-inet_pton.c (inet_pton): Likewise.
30651         * tests/test-isblank.c (isblank): Likewise.
30652         * tests/test-lchown.c (lchown): Likewise.
30653         * tests/test-ldexpl.c (ldexpl): Likewise.
30654         * tests/test-link.c (link): Likewise.
30655         * tests/test-linkat.c (linkat): Likewise.
30656         * tests/test-lseek.c (lseek): Likewise.
30657         * tests/test-lstat.c (lstat): Likewise.
30658         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30659         * tests/test-mbsinit.c (mbsinit): Likewise.
30660         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30661         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30662         * tests/test-memchr.c (memchr): Likewise.
30663         * tests/test-memcmp.c (memcmp): Likewise.
30664         * tests/test-memmem.c (memmem): Likewise.
30665         * tests/test-memrchr.c (memrchr): Likewise.
30666         * tests/test-mkdir.c (mkdir): Likewise.
30667         * tests/test-mkdirat.c (mkdirat): Likewise.
30668         * tests/test-mkfifo.c (mkfifo): Likewise.
30669         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30670         * tests/test-mknod.c (mknod): Likewise.
30671         * tests/test-nanosleep.c (nanosleep): Likewise.
30672         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30673         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30674         Likewise.
30675         * tests/test-open.c (open): Likewise.
30676         * tests/test-openat.c (openat): Likewise.
30677         * tests/test-perror.c (perror): Likewise.
30678         * tests/test-pipe2.c (pipe2): Likewise.
30679         * tests/test-poll.c (poll): Likewise.
30680         * tests/test-popen.c (popen, pclose): Likewise.
30681         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30682         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30683         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30684         (posix_spawn_file_actions_destroy)
30685         (posix_spawn_file_actions_addclose)
30686         (posix_spawn_file_actions_addopen)
30687         (posix_spawn_file_actions_adddup2): Likewise.
30688         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30689         * tests/test-pread.c (pread): Likewise.
30690         * tests/test-printf-posix.c (printf): Likewise.
30691         * tests/test-pty.c (openpty, forkpty): Likewise.
30692         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30693         (random_r): Likewise.
30694         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30695         * tests/test-readlink.c (readlink): Likewise.
30696         * tests/test-remove.c (remove): Likewise.
30697         * tests/test-rename.c (rename): Likewise.
30698         * tests/test-renameat.c (renameat): Likewise.
30699         * tests/test-rmdir.c (rmdir): Likewise.
30700         * tests/test-round1.c (round): Likewise.
30701         * tests/test-roundf1.c (roundf): Likewise.
30702         * tests/test-roundl.c (roundl): Likewise.
30703         * tests/test-setenv.c (setenv): Likewise.
30704         * tests/test-sigaction.c (sigaction): Likewise.
30705         * tests/test-sleep.c (sleep): Likewise.
30706         * tests/test-snprintf.c (snprintf): Likewise.
30707         * tests/test-sprintf-posix.c (sprintf): Likewise.
30708         * tests/test-stat.c (stat): Likewise.
30709         * tests/test-stpncpy.c (stpncpy): Likewise.
30710         * tests/test-strcasestr.c (strcasestr): Likewise.
30711         * tests/test-strchrnul.c (strchrnul): Likewise.
30712         * tests/test-strerror.c (strerror): Likewise.
30713         * tests/test-strsignal.c (strsignal): Likewise.
30714         * tests/test-strstr.c (strstr): Likewise.
30715         * tests/test-strtod.c (strtod): Likewise.
30716         * tests/test-strverscmp.c (strverscmp): Likewise.
30717         * tests/test-symlink.c (symlink): Likewise.
30718         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30719         * tests/test-times.c (times): Likewise.
30720         * tests/test-trunc1.c (trunc): Likewise.
30721         * tests/test-truncf1.c (truncf): Likewise.
30722         * tests/test-truncl.c (truncl): Likewise.
30723         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30724         Likewise.
30725         * tests/test-uname.c (uname): Likewise.
30726         * tests/test-unlink.c (unlink): Likewise.
30727         * tests/test-unlinkat.c (unlinkat): Likewise.
30728         * tests/test-unsetenv.c (unsetenv): Likewise.
30729         * tests/test-usleep.c (usleep): Likewise.
30730         * tests/test-utimensat.c (utimensat): Likewise.
30731         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30732         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30733         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30734         * tests/test-vprintf-posix.c (vprintf): Likewise.
30735         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30736         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30737         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30738         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30739         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30740         * tests/test-wcwidth.c (wcwidth): Likewise.
30741
30742         build: pull in conditional headers during GNULIB_POSIXCHECK
30743         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30744         definitions from any conditionally-included headers.
30745         * lib/stdlib.in.h (includes): Likewise.
30746         * lib/unistd.in.h (includes): Likewise.
30747
30748 2009-12-24  Bruno Haible  <bruno@clisp.org>
30749
30750         * tests/test-argv-iter.c: Include header file being tested immediately
30751         after config.h.
30752         * tests/test-base64.c: Likewise.
30753         * tests/test-flock.c: Likewise.
30754         * tests/test-fsync.c: Likewise.
30755         * tests/test-getdate.c: Likewise.
30756         * tests/test-getndelim2.c: Likewise.
30757         * tests/test-isfinite.c: Likewise.
30758         * tests/test-isinf.c: Likewise.
30759         * tests/test-strerror.c: Likewise.
30760         * tests/test-strsignal.c: Likewise.
30761
30762 2009-12-23  Eric Blake  <ebb9@byu.net>
30763
30764         unistd: work around cygwin bug
30765         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30766         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30767         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30768
30769 2009-12-23  Bruno Haible  <bruno@clisp.org>
30770
30771         localename: More tests.
30772         * tests/test-localename.c (SIZEOF): New macro.
30773         (categories): New variable.
30774         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30775         test_locale_name_default): Add test w.r.t. thread locale.
30776         (test_locale_name_thread): New function.
30777         (main): Invoke it.
30778
30779         localename: Make aware of thread locale.
30780         * lib/localename.h (gl_locale_name_thread): New declaration.
30781         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30782         behaviour with respect to thread locale.
30783         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30784         <langinfo.h>, glthread/lock.h.
30785         (SIZE_BITS): New macro.
30786         (string_hash): New function.
30787         (struct hash_node): New type.
30788         (HASH_TABLE_SIZE): New macro.
30789         (struniq_hash_table, struniq_lock): New variables.
30790         (struniq): New function.
30791         (gl_locale_name_thread): New function.
30792         (gl_locale_name): Invoke it.
30793         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30794         * modules/localename (Depends-on): Add lock.
30795         Reported by Mike Gran <spk121@yahoo.com>.
30796
30797 2009-12-23  Eric Blake  <ebb9@byu.net>
30798
30799         va-args: new module
30800         * modules/va-args: New file.
30801         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30802         * MODULES.html.sh (Core language properties): Mention it.
30803
30804         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30805         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30806         named alias for __attribute__((__unused__)).
30807         * lib/chown.c: Update client.
30808         * lib/fchmodat.c: Likewise.
30809         * lib/fts.c: Likewise.
30810         * lib/getdate.y: Likewise.
30811         * lib/getgroups.c: Likewise.
30812         * lib/getopt.c: Likewise.
30813         * lib/getugroups.c: Likewise.
30814         * lib/mkdir.c: Likewise.
30815         * lib/mkfifo.c: Likewise.
30816         * lib/mkfifoat.c: Likewise.
30817         * lib/mknod.c: Likewise.
30818         * lib/mknodat.c: Likewise.
30819         * lib/readlink.c: Likewise.
30820         * lib/se-context.in.h: Likewise.
30821         * lib/se-selinux.in.h: Likewise.
30822         * lib/sockets.c: Likewise.
30823         * lib/symlink.c: Likewise.
30824         * lib/symlinkat.c: Likewise.
30825         * lib/unicodeio.c: Likewise.
30826         * lib/unistr.h: Likewise.
30827         * tests/test-areadlink.c: Likewise.
30828         * tests/test-areadlinkat.c: Likewise.
30829         * tests/test-filenamecat.c: Likewise.
30830         * tests/test-fseeko.c: Likewise.
30831         * tests/test-ftello.c: Likewise.
30832         * tests/test-getdate.c: Likewise.
30833         * tests/test-getgroups.c: Likewise.
30834         * tests/test-gethostname.c: Likewise.
30835         * tests/test-quotearg.c: Likewise.
30836         * tests/test-version-etc.c: Likewise.
30837         * tests/test-xalloc-die.c: Likewise.
30838         * tests/test-xfprintf-posix.c: Likewise.
30839         * tests/test-xprintf-posix.c: Likewise.
30840         * tests/test-xvasprintf.c: Likewise.
30841
30842         tests: avoid compiler warnings
30843         * tests/test-fcntl.c (main): Delete unused parameters.
30844         * tests/test-freopen-safer.c (main): Likewise.
30845         * tests/test-xalloc-die.c (main): Mark unused parameters.
30846         * tests/test-fseeko.c (main): Likewise.
30847         * tests/test-ftello.c (main): Likewise.
30848         * tests/test-nanosleep.c (main): Avoid declaration warning.
30849         * tests/test-sleep.c (main): Likewise.
30850         * tests/test-unsetenv.c (main): Silence warning about string
30851         literal.
30852         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30853
30854 2009-12-23  Bruno Haible  <bruno@clisp.org>
30855
30856         * tests/test-localename.c (test_locale_name): New function, extracted
30857         from main. Also test mixed situations.
30858         (test_locale_name_posix, test_locale_name_environ,
30859         test_locale_name_default): New functions.
30860         (main): Invoke them all.
30861         * modules/localename-tests (configure.ac): Test for newlocale.
30862
30863 2009-12-23  Bruno Haible  <bruno@clisp.org>
30864
30865         unistd: Ensure getcwd gets declared before being overridden.
30866         * lib/unistd.in.h: Conditionally include <io.h>.
30867
30868 2009-12-22  Bruno Haible  <bruno@clisp.org>
30869
30870         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30871         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30872         (gl_WCHAR_H): Invoke it.
30873         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30874         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30875         Reported by Karl Berry <karl@freefriends.org>.
30876
30877 2009-12-22  Eric Blake  <ebb9@byu.net>
30878
30879         math, unistd: avoid redundant includes
30880         * lib/math.in.h (isnan): No need to re-include <math.h>.
30881         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30882
30883         getsubopt: work around cygwin bug
30884         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30885         avoid conflicting with system getsubopt.
30886         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30887         bug.
30888
30889         getopt: synchronize from glibc
30890         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30891         parameter order.  Adjust all callers.
30892         (_getopt_internal_r, main): Adjust quoting in error messages.
30893         Drop considerations for outdated POSIX 1003.2 error message.
30894         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30895         callers.
30896         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30897
30898         test-getopt: test stderr behavior
30899         * modules/getopt-posix-tests (Depends-on): Add dup2.
30900         * tests/test-getopt.c (ASSERT): Avoid stderr.
30901         (main): Move stderr to a temporary file.
30902         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30903         Instead, add parameter to inform caller if output occurred.
30904         (test_getopt): Adjust all existing tests to expect silence, and
30905         add new tests of leading ":".
30906         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30907         glibc shortcomings with leading "-:" or "+:" in optstring.
30908         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30909         Likewise.
30910         * doc/posix-functions/getopt.texi (getopt): Likewise.
30911
30912         test-getopt: enhance test
30913         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30914         supports optind=0.
30915         * tests/test-getopt.c (OPTIND_MIN): Move...
30916         * tests/test-getopt.h (OPTIND_MIN): ...here.
30917         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30918         Require that optind=0 works, since modern BSD supports it in
30919         addition to optreset, and since coreutils expects it.
30920         (test_getopt_long_only): New test.
30921         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30922         glibc shortcomings with 'W;', and enforcement of optind=0.
30923         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30924         Likewise.
30925
30926 2009-12-21  Bruno Haible  <bruno@clisp.org>
30927
30928         localename: Improvements for MacOS X and Cygwin.
30929         * lib/localename.h (gl_locale_name_environ): New declaration.
30930         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30931         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30932         (gl_locale_name_posix): Invoke it.
30933         (gl_locale_name_default): Add comments. Use Windows native API also on
30934         Cygwin.
30935
30936 2009-12-21  Bruno Haible  <bruno@clisp.org>
30937
30938         Update list of Win32 locale ids.
30939         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30940         (LANG_SAMI): Renamed from LANG_SAAMI.
30941         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30942         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30943         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30944         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30945         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30946         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30947         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30948         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30949         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30950         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30951         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30952         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30953         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30954         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30955         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30956         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30957         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30958         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30959         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30960         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30961         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30962         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30963         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30964         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30965         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30966         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30967         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30968         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30969         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30970         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30971         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30972         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30973         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30974         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30975         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30976         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30977         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30978         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30979         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30980         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30981         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30982         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30983         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30984         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30985         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30986         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30987         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30988         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30989         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30990         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30991         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30992         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30993         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30994         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30995         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30996         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30997         Add more languages and countries for Sami, Sorbian. Add more countries
30998         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30999         for Pashto. Change country for Syriac, Tswana.
31000
31001 2009-12-21  Eric Blake  <ebb9@byu.net>
31002
31003         test-utimens: avoid spurious failure
31004         * tests/test-chown.h (nap): Factor...
31005         * tests/nap.h: ...into new file.
31006         * tests/test-lchown.h (nap): Avoid duplication.
31007         * tests/test-utimens-common.h (nap): Use shared implementation,
31008         necessary on file systems with 1-second resolution.
31009         * modules/chown-tests (Files): Include new file.
31010         * modules/fdutimensat-tests (Files): Likewise.
31011         * modules/futimens-tests (Files): Likewise.
31012         * modules/lchown-tests (Files): Likewise.
31013         * modules/openat-tests (Files): Likewise.
31014         * modules/utimens-tests (Files): Likewise.
31015         * modules/utimensat-tests (Files): Likewise.
31016
31017 2009-12-19  Eric Blake  <ebb9@byu.net>
31018
31019         futimens, utimensat: work around Linux bug
31020         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
31021         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31022         * lib/utimensat.c (rpl_utimensat): Work around it.
31023         * lib/futimens.c (rpl_futimens): Adjust comment.
31024
31025         utimens: work around Linux ctime bug
31026         * lib/utimens.c (detect_ctime_bug): New helper function.
31027         (update_timespec): Differentiate between workaround needed for
31028         this bug vs. what is needed for systems that lack utimensat.
31029         (fdutimens, lutimens): Work around bug.
31030
31031         utimens: check for ctime update
31032         * tests/test-utimens-common.h (check_ctime): Define.
31033         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
31034         * tests/test-futimens.h (test_futimens): Likewise.
31035         * tests/test-lutimens.h (test_lutimens): Likewise.
31036         * doc/posix-functions/futimens.texi (futimens): Document the bug.
31037         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31038
31039 2009-12-19  Bruno Haible  <bruno@clisp.org>
31040
31041         dprintf-posix: Check against memory leak fixed on 2009-12-15.
31042         * tests/test-dprintf-posix2.sh: New file.
31043         * tests/test-dprintf-posix2.c: New file.
31044         * modules/dprintf-posix-tests (Files): Add them.
31045         (configure.ac): Check for getrlimit and setrlimit.
31046         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31047
31048 2009-12-19  Bruno Haible  <bruno@clisp.org>
31049
31050         fprintf-posix: Check against memory leak fixed on 2009-12-15.
31051         * tests/test-fprintf-posix3.sh: New file.
31052         * tests/test-fprintf-posix3.c: New file.
31053         * modules/fprintf-posix-tests (Files): Add them.
31054         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
31055
31056 2009-12-19  Eric Blake  <ebb9@byu.net>
31057
31058         dirfd: fix prototype
31059         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
31060         * lib/dirfd.c (dirfd): Likewise.
31061
31062         canonicalize: reduce memory usage
31063         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
31064         allocation to size.
31065         Reported by Solar Designer <solar@openwall.com>.
31066
31067 2009-12-19  Bruno Haible  <bruno@clisp.org>
31068
31069         New module attribute 'Applicability'.
31070         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
31071         * gnulib-tool: New option --extract-applicability.
31072         (func_usage): Document it.
31073         (sed_extract_prog): Recognize it.
31074         (func_get_applicability): New function.
31075         (func_import): Generalize handling of 'link-warning' module.
31076         * modules/link-warning (Applicability): New section.
31077         * modules/arg-nonnull (Applicability): New section.
31078         Repoted by Simon Josefsson <simon@josefsson.org>.
31079
31080 2009-12-19  Bruno Haible  <bruno@clisp.org>
31081
31082         fflush: tweak
31083         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
31084         * lib/fseeko.c (rpl_fseeko): Likewise.
31085
31086 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
31087
31088         * lib/gl_list.h: Fix typo in comment.
31089
31090 2009-12-16  Eric Blake  <ebb9@byu.net>
31091
31092         fcntl: use to simplify other modules
31093         * modules/cloexec (Depends-on): Add fcntl.
31094         * modules/fchdir (Depends-on): Likewise.
31095         * modules/fd-safer-flag (Depends-on): Likewise.
31096         * modules/unistd-safer (Depends-on): Likewise.
31097         * modules/dup3 (configure.ac): Set module indicator.
31098         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
31099         missing.
31100         * lib/fchdir.c (_gl_register_dup): Fix comment.
31101         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
31102         * lib/dup-safer.c (dup_safer): Likewise.
31103         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
31104         * lib/dup3.c (dup3): Likewise.
31105         * tests/test-fchdir.c (main): Enhance test.
31106         Fixes a dup_cloexec bug reported by Ondřej Vašík.
31107
31108         fcntl: port portions of fcntl to mingw
31109         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
31110         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
31111         replacement for mingw.
31112         * modules/fcntl (Description): Update.
31113         (Depends-on): Add dup2.
31114         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
31115         * modules/fcntl-h (Makefile.am): Substitute it.
31116         * lib/fcntl.in.h (fcntl): Update declaration.
31117         (F_DUPFD, F_GETFD): New macros, when needed.
31118         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31119         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
31120         * tests/test-fcntl.c (check_flags, main): Enhance test for items
31121         we now guarantee.
31122
31123         fcntl: work around cygwin bug in F_DUPFD
31124         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
31125         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
31126         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
31127         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
31128         * doc/posix-functions/fcntl.texi (fcntl): Document it.
31129
31130         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
31131         * modules/fcntl (Files): List new files.
31132         (configure.ac): Run a test.
31133         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
31134         * lib/fcntl.c (rpl_fcntl): Likewise.
31135         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
31136         (gl_FCNTL_H): Always replace fcntl.h.
31137         * modules/fcntl-h (Makefile.am): Substitute witnesses.
31138         * lib/fcntl.in.h (fcntl): Declare replacement.
31139         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
31140         needed, plus a witness.
31141         * doc/posix-functions/fcntl.texi (fcntl): Document this.
31142         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31143         * tests/test-fcntl.c: New file.
31144         * modules/fcntl-tests: Likewise.
31145
31146         binary-io: avoid potential compilation warning
31147         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
31148         directives.
31149
31150         fflush: avoid compilation error on NetBSD
31151         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
31152         between off_t and fpos_t, since the latter is sometimes a struct.
31153         * lib/fseeko.c (rpl_fseeko): Likewise.
31154         Reported by Alexander Nasonov <alnsn@yandex.ru>.
31155
31156 2009-12-15  Eric Blake  <ebb9@byu.net>
31157
31158         fcntl-h, stdio, sys_ioctl: fix declarations
31159         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
31160         function must not take arguments.
31161         * lib/sys_ioctl.in.h (ioctl): Likewise.
31162         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
31163         (open): Add a link warning.
31164
31165 2009-12-15  Jim Meyering  <meyering@redhat.com>
31166
31167         areadlink, areadlink-with-size: relax license to LGPLv2+
31168         * modules/areadlink (License): Relax to LGPLv2+.
31169         * modules/areadlink-with-size (License): Likewise.
31170
31171 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31172             Bruno Haible  <bruno@clisp.org>
31173
31174         *printf: Fix memory leak.
31175         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31176         * lib/vfprintf.c (vfprintf): Likewise.
31177         * lib/dprintf.c (dprintf): Likewise.
31178         * lib/vdprintf.c (vdprintf): Likewise.
31179
31180 2009-12-14  Eric Blake  <ebb9@byu.net>
31181
31182         accept4: adjust module dependencies
31183         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31184
31185         utimens: one more try at avoiding compiler warning
31186         * lib/utimens.c (lutimens): Lower scope of result.
31187
31188 2009-12-13  Bruno Haible  <bruno@clisp.org>
31189
31190         Move the malloc checking from module 'list' to new module 'xlist'.
31191         * modules/xlist: New file.
31192         * lib/gl_xlist.h: New file.
31193         * lib/gl_xlist.c: New file.
31194         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31195         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31196         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31197         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31198         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31199         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31200         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31201         gl_sortedlist_nx_add): New declarations.
31202         (struct gl_list_implementation): Rename and change methods accordingly.
31203         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31204         (gl_list_nx_create): Renamed from gl_list_create.
31205         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31206         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31207         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31208         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31209         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31210         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31211         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31212         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31213         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31214         gl_list_create_empty.
31215         (gl_list_nx_create): Renamed from gl_list_create.
31216         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31217         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31218         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31219         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31220         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31221         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31222         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31223         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31224         * lib/gl_array_list.c: Don't include xalloc.h.
31225         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31226         NULL upon out-of-memory.
31227         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31228         out-of-memory.
31229         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31230         Change return type to 'int'.
31231         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31232         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31233         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31234         upon out-of-memory.
31235         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31236         upon out-of-memory.
31237         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31238         upon out-of-memory.
31239         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31240         upon out-of-memory.
31241         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31242         out-of-memory.
31243         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31244         Update.
31245         (gl_array_list_implementation): Update.
31246         * lib/gl_carray_list.c: Don't include xalloc.h.
31247         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31248         Return NULL upon out-of-memory.
31249         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31250         out-of-memory.
31251         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31252         Change return type to 'int'.
31253         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31254         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31255         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31256         upon out-of-memory.
31257         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31258         upon out-of-memory.
31259         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31260         out-of-memory.
31261         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31262         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31263         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31264         Update.
31265         (gl_carray_list_implementation): Update.
31266         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31267         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31268         gl_linked_create_empty. Return NULL upon out-of-memory.
31269         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31270         out-of-memory.
31271         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31272         Change return type to 'int'. Return -1 upon out-of-memory.
31273         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31274         out-of-memory.
31275         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31276         upon out-of-memory.
31277         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31278         upon out-of-memory.
31279         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31280         NULL upon out-of-memory.
31281         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31282         upon out-of-memory.
31283         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31284         out-of-memory.
31285         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31286         Update.
31287         * lib/gl_linked_list.c: Don't include xalloc.h.
31288         (gl_linked_list_implementation): Update.
31289         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31290         (add_to_bucket): Change return type to 'int'.
31291         (gl_linkedhash_list_implementation): Update.
31292         * lib/gl_anytree_list1.h (free_subtree): New function.
31293         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31294         gl_tree_create_empty. Return NULL upon out-of-memory.
31295         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31296         Change return type to 'int'. Return -1 upon out-of-memory.
31297         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31298         out-of-memory.
31299         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31300         (gl_tree_remove_node): New function, moved here from
31301         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31302         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31303         Update.
31304         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31305         malloc, not xmalloc. Return NULL upon out-of-memory.
31306         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31307         out-of-memory.
31308         (gl_tree_remove_node_from_tree): New function, extracted from
31309         gl_tree_remove_node.
31310         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31311         upon out-of-memory.
31312         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31313         out-of-memory.
31314         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31315         upon out-of-memory.
31316         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31317         upon out-of-memory.
31318         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31319         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31320         not xmalloc. Return NULL upon out-of-memory.
31321         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31322         out-of-memory.
31323         (gl_tree_remove_node_from_tree): New function, extracted from
31324         gl_tree_remove_node.
31325         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31326         upon out-of-memory.
31327         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31328         out-of-memory.
31329         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31330         upon out-of-memory.
31331         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31332         upon out-of-memory.
31333         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31334         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31335         gl_anytree_list1.h before gl_anyavltree_list2.h.
31336         (gl_avltree_list_implementation): Update.
31337         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31338         gl_anytree_list1.h before gl_anyavltree_list2.h.
31339         (gl_rbtree_list_implementation): Update.
31340         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31341         Change return type to 'int'. Return -1 upon out-of-memory. Use
31342         __builtin_expect.
31343         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31344         (gl_avltreehash_list_implementation): Update.
31345         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31346         (gl_rbtreehash_list_implementation): Update.
31347         * modules/array-list (Depends-on): Remove xalloc.
31348         * modules/carray-list (Depends-on): Likewise.
31349         * modules/linked-list (Depends-on): Likewise.
31350         * modules/linkedhash-list (Depends-on): Likewise.
31351         * modules/avltree-list (Depends-on): Likewise.
31352         * modules/rbtree-list (Depends-on): Likewise.
31353         * modules/avltreehash-list (Depends-on): Likewise.
31354         * modules/rbtreehash-list (Depends-on): Likewise.
31355
31356         * modules/xsublist: New file.
31357         * lib/gl_xsublist.h: New file.
31358         * lib/gl_xsublist.c: New file.
31359         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31360         (gl_sublist_nx_create): New declaration.
31361         * lib/gl_sublist.c: Don't include xalloc.h.
31362         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31363         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31364         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31365         Change return type to 'int'. Return -1 upon out-of-memory.
31366         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31367         upon out-of-memory.
31368         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31369         NULL upon out-of-memory.
31370         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31371         upon out-of-memory.
31372         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31373         NULL upon out-of-memory.
31374         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31375         NULL upon out-of-memory.
31376         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31377         upon out-of-memory.
31378         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31379         (gl_sublist_list_implementation): Update.
31380         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31381         upon out-of-memory.
31382         * modules/sublist (Depends-on): Remove xalloc.
31383
31384         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31385         * tests/test-carray_list.c: Likewise.
31386         * tests/test-linked_list.c: Likewise.
31387         * tests/test-linkedhash_list.c: Likewise.
31388         * tests/test-avltree_list.c: Likewise.
31389         * tests/test-rbtree_list.c: Likewise.
31390         * tests/test-avltreehash_list.c: Likewise.
31391         * tests/test-rbtreehash_list.c: Likewise.
31392         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31393         * modules/carray-list-tests (Makefile.am): Likewise.
31394         * modules/linked-list-tests (Makefile.am): Likewise.
31395         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31396         * modules/avltree-list-tests (Makefile.am): Likewise.
31397         * modules/rbtree-list-tests (Makefile.am): Likewise.
31398         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31399         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31400
31401         * NEWS: Mention the changes.
31402
31403         * lib/clean-temp.c: Include gl_xlist.h.
31404         * modules/clean-temp (Depends-on): Add xlist.
31405
31406         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31407         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31408
31409         * tests/test-array_oset.c: Include gl_xlist.h.
31410         * modules/array-oset-tests (Depends-on): Add xlist.
31411
31412         Reported by José E. Marchesi <jemarch@gnu.org>.
31413
31414 2009-12-13  Bruno Haible  <bruno@clisp.org>
31415
31416         Move the malloc checking from module 'oset' to new module 'xoset'.
31417         * modules/xoset: New file.
31418         * lib/gl_xoset.h: New file.
31419         * lib/gl_xoset.c: New file.
31420         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31421         declarations.
31422         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31423         (struct gl_oset_implementation): Rename and change methods accordingly.
31424         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31425         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31426         'int'. Mark as __warn_unused_result__.
31427         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31428         gl_oset_create_empty.
31429         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31430         'int'.
31431         * lib/gl_array_oset.c: Don't include xalloc.h.
31432         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31433         malloc, not xmalloc.
31434         (grow): Change return type to 'int'. Don't call xalloc_die.
31435         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31436         to 'int'.
31437         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31438         'int'.
31439         (gl_array_oset_implementation): Update.
31440         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31441         gl_tree_create_empty.
31442         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31443         'int'.
31444         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31445         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31446         xmalloc.
31447         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31448         not xmalloc.
31449         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31450         xmalloc.
31451         (gl_avltree_oset_implementation): Update.
31452         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31453         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31454         xmalloc.
31455         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31456         not xmalloc.
31457         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31458         xmalloc.
31459         (gl_rbtree_oset_implementation): Update.
31460         * modules/array-oset (Depends-on): Remove xalloc.
31461         * modules/avltree-oset (Depends-on): Likewise.
31462         * modules/rbtree-oset (Depends-on): Likewise.
31463         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31464         * tests/test-avltree_oset.c: Likewise.
31465         * tests/test-rbtree_oset.c: Likewise.
31466         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31467         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31468         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31469         * NEWS: Mention the change.
31470
31471 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31472
31473         maint.mk: allow a project to override release-prep commands
31474         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31475         commands into a new rule.
31476         (release-prep): New rule.
31477         (release-prep-hook): New overridable variable.
31478
31479 2009-12-13  Bruno Haible  <bruno@clisp.org>
31480
31481         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31482
31483 2009-12-13  Jim Meyering  <meyering@redhat.com>
31484
31485         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31486         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31487
31488 2009-12-12  Bruno Haible  <bruno@clisp.org>
31489
31490         duplocale: Tweak.
31491         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31492
31493 2009-12-12  Karl Berry  <karl@gnu.org>
31494
31495         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31496
31497 2009-12-12  Bruno Haible  <bruno@clisp.org>
31498
31499         * m4/po.m4: Undo incorrect untabification.
31500
31501 2009-12-12  Bruno Haible  <bruno@clisp.org>
31502
31503         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31504         * modules/c-strtod (Depends-on): Add locale.
31505         * modules/c-strtold (Depends-on): Likewise.
31506
31507 2009-12-12  Bruno Haible  <bruno@clisp.org>
31508
31509         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31510
31511 2009-12-11  Eric Blake  <ebb9@byu.net>
31512
31513         setenv: relax requirement in light of POSIX ruling
31514         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31515         not NULL.
31516         * tests/test-setenv.c (main): Relax test.
31517         * tests/test-unsetenv.c (main): Likewise.
31518         * doc/posix-functions/setenv.texi (setenv): Document this.
31519         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31520
31521 2009-12-11  Bruno Haible  <bruno@clisp.org>
31522
31523         New module 'fd-safer-flag'.
31524         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31525         * lib/dup-safer.c (dup_safer_flag): Remove function.
31526         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31527         * lib/fd-safer.c (fd_safer_flag): Remove function.
31528         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31529         * modules/cloexec (configure.ac): Drop indicator macro.
31530         * modules/fd-safer-flag: New file.
31531         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31532         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31533         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31534
31535 2009-12-11  Bruno Haible  <bruno@clisp.org>
31536
31537         Tests for module 'nl_langinfo'.
31538         * modules/nl_langinfo-tests: New file.
31539         * tests/test-nl_langinfo.sh: New file.
31540         * tests/test-nl_langinfo.c: New file.
31541
31542         New module 'nl_langinfo'.
31543         * lib/nl_langinfo.c: New file.
31544         * m4/nl_langinfo.m4: New file.
31545         * modules/nl_langinfo: New file.
31546         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31547
31548 2009-12-11  Bruno Haible  <bruno@clisp.org>
31549
31550         Tests for module 'langinfo'.
31551         * modules/langinfo-tests: New file.
31552         * tests/test-langinfo.c: New file.
31553
31554         New module 'langinfo'.
31555         * lib/langinfo.in.h: New file.
31556         * m4/langinfo_h.m4: New file.
31557         * modules/langinfo: New file.
31558         * doc/posix-headers/langinfo.texi: Mention the new module.
31559
31560 2009-12-11  Bruno Haible  <bruno@clisp.org>
31561
31562         * lib/config.charset: Untabify.
31563
31564 2009-12-11  Bruno Haible  <bruno@clisp.org>
31565
31566         * modules/unistd-safer (configure.ac): Drop indicator macro.
31567
31568 2009-12-11  Bruno Haible  <bruno@clisp.org>
31569
31570         Move pipe2-safer code to its own file.
31571         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31572         * lib/pipe-safer.c (pipe2_safer): Remove function.
31573         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31574         (Makefile.am): Add it to lib_SOURCES.
31575
31576 2009-12-10  Bruno Haible  <bruno@clisp.org>
31577
31578         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31579
31580 2009-12-10  Bruno Haible  <bruno@clisp.org>
31581
31582         Declare which arguments expect non-NULL values, for GCC and clang.
31583         * build-aux/arg-nonnull.h: New file.
31584         * modules/arg-nonnull: New file.
31585         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31586         (inet_ntop, inet_pton): Use it.
31587         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31588         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31589         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31590         (open, openat): Use it.
31591         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31592         (fnmatch): Use it.
31593         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31594         (getopt, getopt_long, getopt_long_only): Use it.
31595         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31596         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31597         Use it.
31598         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31599         (iconv_open): Use it.
31600         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31601         (strtoimax, strtoumax): Use it.
31602         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31603         (duplocale): Use it.
31604         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31605         (frexp, frexpl): Use it.
31606         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31607         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31608         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31609         (tsearch, tfind, tdelete, twalk): Use it.
31610         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31611         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31612         sigpending): Use it.
31613         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31614         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31615         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31616         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31617         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31618         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31619         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31620         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31621         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31622         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31623         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31624         Use it.
31625         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31626         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31627         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31628         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31629         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31630         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31631         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31632         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31633         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31634         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31635         strtoull, unsetenv): Use it.
31636         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31637         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31638         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31639         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31640         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31641         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31642         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31643         (strcasecmp, strncasecmp): Use it.
31644         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31645         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31646         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31647         rpl_setsockopt): Use it.
31648         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31649         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31650         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31651         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31652         (gettimeofday): Use it.
31653         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31654         (times): Use it.
31655         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31656         (uname): Use it.
31657         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31658         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31659         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31660         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31661         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31662         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31663         unlinkat, write): Use it.
31664         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31665         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31666         * lib/argv-iter.h: Include arg-nonnull.h.
31667         (_ATTRIBUTE_NONNULL_): Remove macro.
31668         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31669         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31670         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31671         optimization.
31672         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31673         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31674         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31675         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31676         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31677         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31678         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31679         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31680         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31681         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31682         * modules/dirent (Depends-on): Add arg-nonnull.
31683         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31684         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31685         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31686         * modules/fnmatch (Depends-on): Add arg-nonnull.
31687         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31688         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31689         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31690         * modules/glob (Depends-on): Add arg-nonnull.
31691         (Makefile.am): Insert arg-nonnull.h into glob.h.
31692         * modules/iconv_open (Depends-on): Add arg-nonnull.
31693         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31694         * modules/inttypes (Depends-on): Add arg-nonnull.
31695         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31696         * modules/locale (Depends-on): Add arg-nonnull.
31697         (Makefile.am): Insert arg-nonnull.h into locale.h.
31698         * modules/math (Depends-on): Add arg-nonnull.
31699         (Makefile.am): Insert arg-nonnull.h into math.h.
31700         * modules/netdb (Depends-on): Add arg-nonnull.
31701         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31702         * modules/search (Depends-on): Add arg-nonnull.
31703         (Makefile.am): Insert arg-nonnull.h into search.h.
31704         * modules/signal (Depends-on): Add arg-nonnull.
31705         (Makefile.am): Insert arg-nonnull.h into signal.h.
31706         * modules/spawn (Depends-on): Add arg-nonnull.
31707         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31708         * modules/stdio (Depends-on): Add arg-nonnull.
31709         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31710         * modules/stdlib (Depends-on): Add arg-nonnull.
31711         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31712         * modules/string (Depends-on): Add arg-nonnull.
31713         (Makefile.am): Insert arg-nonnull.h into string.h.
31714         * modules/strings (Depends-on): Add arg-nonnull.
31715         (Makefile.am): Insert arg-nonnull.h into strings.h.
31716         * modules/sys_socket (Depends-on): Add arg-nonnull.
31717         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31718         * modules/sys_stat (Depends-on): Add arg-nonnull.
31719         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31720         * modules/sys_time (Depends-on): Add arg-nonnull.
31721         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31722         * modules/sys_times (Depends-on): Add arg-nonnull.
31723         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31724         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31725         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31726         * modules/time (Depends-on): Add arg-nonnull.
31727         (Makefile.am): Insert arg-nonnull.h into time.h.
31728         * modules/unistd (Depends-on): Add arg-nonnull.
31729         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31730         * modules/wchar (Depends-on): Add arg-nonnull.
31731         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31732         * modules/argv-iter (Depends-on): Add arg-nonnull.
31733         * tests/test-canonicalize.c (null_ptr): New function.
31734         (main): Use it.
31735         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31736         (main): Use it.
31737         * tests/test-memmem.c (null_ptr): New function.
31738         (main): Use it.
31739         Reported by Jim Meyering.
31740
31741 2009-12-10  Bruno Haible  <bruno@clisp.org>
31742
31743         Use spaces for indentation, not tabs.
31744         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31745         * m4/*.m4: Untabify.
31746         * build-aux/*.h: Untabify.
31747         * tests/**/*.[hc]: Untabify.
31748         * README: New section "Indent with spaces, not TABs", based on
31749         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31750         * NEWS: Mention the change.
31751
31752 2009-12-10  Bruno Haible  <bruno@clisp.org>
31753
31754         pty test: Fix link error.
31755         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31756         test_pty_LDADD.
31757
31758 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31759
31760         * modules/pty: New file.
31761         * modules/pty-tests: New file.
31762         * m4/pty.m4: New file.
31763         * tests/test-pty.c: New file.
31764         * doc/glibc-headers/pty.texi: Modified.
31765         * doc/glibc-functions/forkpty.texi: Modified.
31766         * doc/glibc-functions/openpty.texi: Modified.
31767
31768 2009-12-10  Bruno Haible  <bruno@clisp.org>
31769
31770         Avoid syntax error in C++ mode.
31771         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31772
31773 2009-12-10  Bruno Haible  <bruno@clisp.org>
31774
31775         Use sed with option -e.
31776         * gnulib-tool (func_version, func_emit_copyright_notice,
31777         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31778         option -e to sed.
31779         * modules/link-warning (Makefile.am): Likewise.
31780
31781 2009-12-10  Jim Meyering  <meyering@redhat.com>
31782
31783         mgetgroups: do not write bytes beyond end of malloc'd buffer
31784         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31785         username, we call getgroups with a one-element-shorter buffer,
31786         but still told it the length was original, max_n_groups.
31787
31788 2009-12-09  Eric Blake  <ebb9@byu.net>
31789
31790         cloexec: relax license
31791         * modules/cloexec (Maintainer): Add myself.
31792         (License): Use LGPL, not GPL.
31793
31794         link-warning: optimize generation
31795         * modules/link-warning (Makefile.am): Reduce process usage.
31796
31797 2009-12-09  Bruno Haible  <bruno@clisp.org>
31798
31799         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31800         workaround was added on 2009-11-17.
31801
31802 2009-12-09  Jim Meyering  <meyering@redhat.com>
31803             Bruno Haible  <bruno@clisp.org>
31804
31805         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31806         * modules/link-warning (Makefile.am): Make the comment-removing sed
31807         command more robust in the face of bootstrap-prepended comment lines.
31808
31809 2009-12-09  Bruno Haible  <bruno@clisp.org>
31810
31811         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31812         most one group.
31813
31814 2009-12-09  Simon Josefsson <simon@josefsson.org>
31815             Bruno Haible  <bruno@clisp.org>
31816
31817         * build-aux/link-warning.h: Add copyright notice.
31818         * modules/link-warning (Makefile.am): Generate link-warning.h from
31819         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31820         * NEWS: Mention change in link-warning module.
31821         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31822         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31823         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31824         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31825         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31826         * modules/math (Makefile.am): Add dependency to math.h.
31827         * modules/search (Makefile.am): Add dependency to search.h.
31828         * modules/signal (Makefile.am): Add dependency to signal.h.
31829         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31830         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31831         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31832         * modules/string (Makefile.am): Add dependency to string.h.
31833         * modules/strings (Makefile.am): Add dependency to strings.h.
31834         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31835         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31836         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31837         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31838         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31839         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31840         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31841         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31842         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31843
31844 2009-12-09  Bruno Haible  <bruno@clisp.org>
31845
31846         fchdir: Optimize away rpl_fstat when possible.
31847         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31848         REPLACE_OPEN_DIRECTORY.
31849         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31850
31851 2009-12-09  Bruno Haible  <bruno@clisp.org>
31852
31853         * lib/fchdir.c: Update comment.
31854
31855 2009-12-09  Bruno Haible  <bruno@clisp.org>
31856
31857         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31858
31859 2009-12-08  Eric Blake  <ebb9@byu.net>
31860
31861         fchdir: avoid memory leak on re-registration.
31862         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31863
31864 2009-12-08  Jim Meyering  <meyering@redhat.com>
31865
31866         init.sh: avoid Solaris 10 /bin/sh portability problem
31867         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31868         sourced script:
31869           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31870           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31871           bar
31872         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31873         and two tests used that idiom.
31874         * tests/init.sh: Update suggested usage comments.
31875         (path_prepend_): New function, to be used in place
31876         of the --src-path=DIR option.
31877         (setup_): Move PATH-prepending code into path_prepend_.
31878         * tests/test-pread.sh: Adapt to new usage.
31879         * tests/test-xalloc-die.sh: Likewise.
31880
31881 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31882
31883         * doc/gnulib.texi (Glibc pty.h): Add.
31884         * doc/glibc-functions/forkpty.texi: Add.
31885         * doc/glibc-functions/openpty.texi: Add.
31886         Suggested by Bruno Haible.
31887
31888 2009-12-08  Eric Blake  <ebb9@byu.net>
31889
31890         fchdir: fix logic bugs
31891         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31892         * tests/test-fchdir.c (main): Enhance test.
31893         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31894         is in use.
31895
31896         dup2: fix logic bugs
31897         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31898         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31899         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31900         exists.
31901         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31902
31903 2009-12-07  Eric Blake  <ebb9@byu.net>
31904
31905         unlink: fix m4 detection
31906         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31907
31908         unistd-safer: add unit test
31909         * modules/unistd-safer-tests: New file.
31910         * tests/test-dup-safer.c: Likewise.
31911         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31912         * tests/test-dup2.c (setmode): Likewise.
31913         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31914
31915         cloexec: preserve text vs. binary across dup_cloexec
31916         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31917         mode.
31918         * modules/dup2-tests (Depends-on): Add binary-io.
31919         * modules/cloexec-tests (Depends-on): Likewise.
31920         * tests/test-dup2.c (setmode, is_mode): New helpers.
31921         (main): Add tests that translation mode is preserved.
31922         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31923         Reported by Bruno Haible.
31924
31925         mgetgroups: reduce duplicate listings
31926         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31927         resulting array.
31928         * tests/test-chown.h (test_chown): Simplify client.
31929         * tests/test-lchown.h (test_lchown): Likewise.
31930
31931 2009-12-06  Bruno Haible  <bruno@clisp.org>
31932
31933         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31934         value.
31935
31936 2009-12-06  Bruno Haible  <bruno@clisp.org>
31937
31938         * lib/progname.c: Include stdio.h, stdlib.h.
31939         (set_program_name): Reject a NULL argument.
31940
31941 2009-12-05  Eric Blake  <ebb9@byu.net>
31942
31943         pipe2-safer: new module
31944         * modules/pipe2-safer: New file.
31945         * lib/unistd-safer.h (pipe2_safer): New prototype.
31946         * lib/unistd--.h (pipe2): New wrapper.
31947         * lib/pipe-safer.c (pipe2_safer): New function.
31948         * modules/pipe (Depends-on): Add pipe2-safer.
31949         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31950
31951         stdlib-safer: preserve cloexec flag for mkostemp[s]
31952         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31953         fd_safer_flag.
31954
31955         unistd-safer: allow preservation of cloexec status via flag
31956         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31957         prototypes.
31958         * lib/dup-safer.c (dup_safer_flag): New function.
31959         * lib/fd-safer.c (fd_safer_flag): Likewise.
31960         * modules/cloexec (configure.ac): Set witness.
31961
31962         test-dup2: enhance test
31963         * modules/dup2-tests (Depends-on): Add cloexec.
31964         * tests/test-dup2.c (main): Enhance test.
31965
31966         cloexec: add dup_cloexec
31967         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31968         header and comments.
31969         * lib/cloexec.c (set_cloexec_flag): Add comments.
31970         (dup_cloexec): New function, with mingw implementation borrowed
31971         from...
31972         * lib/w32spawn.h (dup_noinherit): ...here.
31973         * modules/execute (Depends-on): Add cloexec.
31974         * modules/pipe (Depends-on): Likewise.
31975         * modules/cloexec (Depends-on): Add dup2.
31976         * modules/cloexec-tests (Files): New file.
31977         * tests/test-cloexec.c: Likewise.
31978
31979         test-xalloc-die: fix test for mingw
31980         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31981         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31982         directory and .exe suffix off argv[0] output.
31983
31984         test-fseeko: fix test for mingw
31985         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31986         than undefining fseek, so test will pass on mingw.
31987
31988 2009-12-05  Bruno Haible  <bruno@clisp.org>
31989
31990         * lib/progname.h (set_program_name): Clarify specification.
31991         * lib/progname.c (set_program_name): Likewise.
31992         Reported by Jim Meyering.
31993
31994 2009-12-05  Jim Meyering  <meyering@redhat.com>
31995
31996         maint.mk: backslash-escape parens in default regexp
31997         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31998         backslash-escape the literal parentheses.
31999
32000         maint.mk: news-date-check: use grep -E
32001         * top/maint.mk (today): Define a Make variable, not a...
32002         (news-date-check): ...shell variable.
32003         (news-date-regexp): Use the Make variable.
32004         Use grep's -E option.  Change the failing diagnostic to mention
32005         the variable, $(news-date-regexp).
32006
32007 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
32008
32009         maintainer-makefile: allow customization of NEWS entry format
32010         * top/maint.mk (news-date-regexp): New overridable variable.
32011         (news-date-check): Use it.
32012
32013 2009-12-04  Eric Blake  <ebb9@byu.net>
32014
32015         mgetgroups: add xgetgroups, and avoid ENOSYS failures
32016         * lib/mgetgroups.h (xgetgroups): New prototype.
32017         * lib/mgetgroups.c (xgetgroups): New wrapper.
32018         (mgetgroups): Handle ENOSYS.
32019         * modules/mgetgroups (Depends-on): Add realloc.
32020         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
32021
32022         mgetgroups: avoid argument promotion issues with -1
32023         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
32024         for invalid gid_t.
32025         * tests/test-chown.h (getegid, test_chown): Likewise.
32026         * tests/test-lchown.h (getegid, test_lchown): Likewise.
32027
32028 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
32029
32030         exclude: Fix header file problems.
32031         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
32032
32033 2009-12-01  Jim Meyering  <meyering@redhat.com>
32034
32035         fts: fts_open: do not let an empty string cause immediate failure
32036         This is required in support of GNU rm, for which the command
32037         "rm A '' B" must process and remove both A and B, in spite of
32038         the empty string argument.
32039         * lib/fts.c (fts_open): Do not let the presence of an empty string
32040         cause fts_open to fail immediately.  Most fts-using tools must be
32041         able to process all arguments, in order, and can be expected to
32042         diagnose such arguments themselves.
32043
32044 2009-11-30  Eric Blake  <ebb9@byu.net>
32045
32046         utimens: fix compilation error
32047         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
32048         Declare variable at right scope.
32049
32050 2009-11-29  Jim Meyering  <meyering@redhat.com>
32051
32052         bootstrap: handle perl-5.11's changed --version output
32053         * build-aux/bootstrap (get_version): Handle perl separately,
32054         since perl-5.11's --version output is different.
32055
32056 2009-11-28  Jim Meyering  <meyering@redhat.com>
32057
32058         userspec: depend on the inttostr module, too
32059         * modules/userspec (Depends-on): Add inttostr.
32060
32061         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
32062         * lib/userspec.c (parse_with_separator): Do not accept a user ID
32063         number of MAXUID when it evaluates to (uid_t) -1.
32064         Likewise for group ID.  Reported by Matt McCutchen in
32065         <http://savannah.gnu.org/bugs/?28113>
32066
32067         userspec: reformat to use spaces, not TABs
32068         * lib/userspec.c: Expand TABs to spaces.
32069         Add Emacs' "indent-tabs-mode: nil" hint.
32070
32071 2009-11-27  Eric Blake  <ebb9@byu.net>
32072
32073         getopt-gnu: flush out another BSD bug
32074         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
32075         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
32076         flush out BSD bug.
32077         * tests/test-getopt.h (test_getopt): End lists with NULL.
32078         * tests/test-getopt_long.h (test_getopt_long): Likewise.
32079         (test_getopt_long_posix): Enhance test.
32080         * modules/getopt-posix-tests (Depends-on): Add stdbool.
32081         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
32082         getopt-gnu.
32083         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32084         Likewise.
32085
32086 2009-11-27  Simon Josefsson  <simon@josefsson.org>
32087
32088         * modules/idpriv-droptemp-tests (Notice): Fix text.
32089
32090 2009-11-27  Jim Meyering  <meyering@redhat.com>
32091
32092         test-xalloc-die: avoid spurious failure due to libtool argv difference
32093         In a libtool-enabled project, this test would fail due to a difference
32094         in the emitted program name, e.g.,
32095         -test-xalloc-die: memory exhausted
32096         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
32097         Use program to avoid that.
32098         * modules/xalloc-die-tests (Depends-on): Add progname.
32099         * tests/test-xalloc-die.c: Include progname.h".
32100         (program_name): Remove decl.
32101         (main): Call set_program_name.
32102         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
32103
32104 2009-11-26  Richard Jones  <rjones@redhat.com>
32105
32106         w32sock: leave win32 error in place.
32107         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
32108
32109 2009-11-26  Eric Blake  <ebb9@byu.net>
32110
32111         init.sh: suggest to use skip_ and fail_ functions in comments
32112         * tests/init.sh: Add a sentence.
32113
32114 2009-11-25  Bruno Haible  <bruno@clisp.org>
32115
32116         init.sh: add documentation in comments
32117         * tests/init.sh: Add some developer and user documentation.
32118
32119 2009-11-26  Jim Meyering  <meyering@redhat.com>
32120
32121         init.sh: accommodate even those who specify bogus srcdir manually
32122         * tests/init.sh: Normally, srcdir is guaranteed by automake and
32123         configure-time tests to be sanitized, so that there is no need to
32124         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
32125         (with no double quotes) suffices.  However, since tests may be
32126         invoked manually, and since you may explicitly set srcdir to the
32127         name of a directory containing spaces, do quote its uses here.
32128         * tests/test-pread.sh: Likewise.
32129         Suggested by Bruno Haible.
32130
32131         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
32132         * tests/test-pread.sh: Write no data into the pipe, because
32133         test-pread actually reads none.  This avoids a diagnostic,
32134         "bash: echo: write error: Broken pipe", that arises in the unusual
32135         event something is ignoring SIGPIPE, and might be interpreted
32136         as some sort of failure.  Reported by Bruno Haible.
32137
32138 2009-11-25  Jim Meyering  <meyering@redhat.com>
32139
32140         test-pread: cover failure with ESPIPE and EINVAL
32141         * tests/test-pread.c (main): Test for failure, too.
32142         * tests/test-pread.sh: Invoke with stdin on a pipe.
32143         Suggested by Eric Blake.
32144
32145         pread: improvement and fix
32146         * modules/pread (Depends-on): Depend on lseek, for portability to
32147         e.g., mingw.  Suggested by Eric Blake.
32148         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
32149
32150         unistd.in.h: correct declaration of pread
32151         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
32152         Reported by Richard W.M. Jones.
32153
32154         test-pread.sh: distribute the test script
32155         * modules/pread-tests (Files): Include test-pread.sh.
32156
32157         test-pread.sh: clean up
32158         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
32159         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
32160         That is unnecessary, since it's always ".".
32161         Suggestion from Eric Blake.
32162
32163         test-pread.sh: make executable
32164         * tests/test-pread.sh: Set executable bit.
32165         Reported by Eric Blake.
32166
32167         correct typo in test-pread.sh
32168         * tests/test-pread.sh: Add #! line.
32169
32170         test pread
32171         * tests/test-pread.c: New file.
32172         * tests/test-pread.sh: Likewise.
32173         * modules/pread-tests: Likewise.
32174
32175         pread: new module
32176         * modules/pread: New file.
32177         * lib/unistd.in.h (pread): Define/declare.
32178         * lib/pread.c (pread): New file.
32179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32180         * modules/unistd (Makefile.am): Substitute witnesses.
32181         * doc/posix-functions/pread.texi (pread): Update.
32182         * MODULES.html.sh: Add pread.
32183
32184 2009-11-25  Jim Meyering  <meyering@redhat.com>
32185
32186         tests/init.sh: new file to be used via most *.sh tests
32187         * tests/init.sh: New file.
32188
32189 2009-11-25  Eric Blake  <ebb9@byu.net>
32190
32191         utimens: work around older Linux failure with symlinks
32192         * lib/utimens.c (lutimensat_works_really): New variable.
32193         (fdutimens, lutimens): Use it to manage kernels that support
32194         nanosecond times on files, but not on symlinks.
32195         Reported by Ondřej Vašík.
32196
32197         utimes: fix configure grammar
32198         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32199
32200 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32201
32202         regex: Fix fastmap for multibyte character ranges.
32203         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32204         characters when a multibyte character range is included.
32205
32206 2009-11-22  Andy Wingo  <wingo@pobox.com>
32207
32208         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32209         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32210
32211 2009-11-24  Bruno Haible  <bruno@clisp.org>
32212
32213         doc: Most *_l functions exist in MacOS X 10.5.
32214         * doc/posix-functions/duplocale.texi: Update platforms list.
32215         * doc/posix-functions/freelocale.texi: Likewise.
32216         * doc/posix-functions/newlocale.texi: Likewise.
32217         * doc/posix-functions/uselocale.texi: Likewise.
32218         * doc/posix-functions/isalnum_l.texi: Likewise.
32219         * doc/posix-functions/isalpha_l.texi: Likewise.
32220         * doc/posix-functions/isblank_l.texi: Likewise.
32221         * doc/posix-functions/iscntrl_l.texi: Likewise.
32222         * doc/posix-functions/isdigit_l.texi: Likewise.
32223         * doc/posix-functions/isgraph_l.texi: Likewise.
32224         * doc/posix-functions/islower_l.texi: Likewise.
32225         * doc/posix-functions/isprint_l.texi: Likewise.
32226         * doc/posix-functions/ispunct_l.texi: Likewise.
32227         * doc/posix-functions/isspace_l.texi: Likewise.
32228         * doc/posix-functions/isupper_l.texi: Likewise.
32229         * doc/posix-functions/iswalnum_l.texi: Likewise.
32230         * doc/posix-functions/iswalpha_l.texi: Likewise.
32231         * doc/posix-functions/iswblank_l.texi: Likewise.
32232         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32233         * doc/posix-functions/iswctype_l.texi: Likewise.
32234         * doc/posix-functions/iswdigit_l.texi: Likewise.
32235         * doc/posix-functions/iswgraph_l.texi: Likewise.
32236         * doc/posix-functions/iswlower_l.texi: Likewise.
32237         * doc/posix-functions/iswprint_l.texi: Likewise.
32238         * doc/posix-functions/iswpunct_l.texi: Likewise.
32239         * doc/posix-functions/iswspace_l.texi: Likewise.
32240         * doc/posix-functions/iswupper_l.texi: Likewise.
32241         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32242         * doc/posix-functions/isxdigit_l.texi: Likewise.
32243         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32244         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32245         * doc/posix-functions/strcoll_l.texi: Likewise.
32246         * doc/posix-functions/strfmon_l.texi: Likewise.
32247         * doc/posix-functions/strftime_l.texi: Likewise.
32248         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32249         * doc/posix-functions/strxfrm_l.texi: Likewise.
32250         * doc/posix-functions/tolower_l.texi: Likewise.
32251         * doc/posix-functions/toupper_l.texi: Likewise.
32252         * doc/posix-functions/towctrans_l.texi: Likewise.
32253         * doc/posix-functions/towlower_l.texi: Likewise.
32254         * doc/posix-functions/towupper_l.texi: Likewise.
32255         * doc/posix-functions/wcscoll_l.texi: Likewise.
32256         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32257         * doc/posix-functions/wctrans_l.texi: Likewise.
32258         * doc/posix-functions/wctype_l.texi: Likewise.
32259         * doc/glibc-functions/strptime_l.texi: Likewise.
32260         * doc/glibc-functions/strtod_l.texi: Likewise.
32261         * doc/glibc-functions/strtof_l.texi: Likewise.
32262         * doc/glibc-functions/strtol_l.texi: Likewise.
32263         * doc/glibc-functions/strtold_l.texi: Likewise.
32264         * doc/glibc-functions/strtoll_l.texi: Likewise.
32265         * doc/glibc-functions/strtoul_l.texi: Likewise.
32266         * doc/glibc-functions/strtoull_l.texi: Likewise.
32267         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32268         * doc/glibc-functions/wcstod_l.texi: Likewise.
32269         * doc/glibc-functions/wcstof_l.texi: Likewise.
32270         * doc/glibc-functions/wcstol_l.texi: Likewise.
32271         * doc/glibc-functions/wcstold_l.texi: Likewise.
32272         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32273         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32274         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32275
32276 2009-11-24  Bruno Haible  <bruno@clisp.org>
32277
32278         duplocale: Fix logic bug.
32279         * lib/duplocale.c: Don't include <langinfo.h>.
32280         (_NL_LOCALE_NAME): Remove macro.
32281         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32282         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32283
32284 2009-11-23  Jim Meyering  <meyering@redhat.com>
32285
32286         test-update-copyright: don't hard-code /usr/bin/perl
32287         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32288         perl to print the current year.  Gilles Espinasse reported that
32289         the replaced use of perl was hard-coded as /usr/bin/perl.
32290
32291 2009-11-23  Bruno Haible  <bruno@clisp.org>
32292
32293         duplocale: Add support for glibc 2.3.x.
32294         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32295
32296 2009-11-22  Bruno Haible  <bruno@clisp.org>
32297
32298         vasnprintf: Tiny optimization.
32299         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32300         MacOS X.
32301
32302 2009-11-22  Bruno Haible  <bruno@clisp.org>
32303
32304         Tests for module 'duplocale'.
32305         * modules/duplocale-tests: New file.
32306         * tests/test-duplocale.c: New file.
32307
32308         New module 'duplocale'.
32309         * m4/duplocale.m4: New file.
32310         * lib/locale.in.h (duplocale): New declaration.
32311         * lib/duplocale.c: New file.
32312         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32313         gl_LOCALE_H_DEFAULTS): New macros.
32314         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32315         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32316         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32317         REPLACE_DUPLOCALE.
32318         * modules/duplocale: New file.
32319         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32320
32321 2009-11-22  Bruno Haible  <bruno@clisp.org>
32322
32323         * modules/locale-tests (configure.ac): Test for newlocale function.
32324         * tests/test-locale.c: When the system has extended locale functions,
32325         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32326
32327         locale: Make locale_t available when possible.
32328         * lib/locale.in.h: Include <xlocale.h> when it exists.
32329         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32330         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32331         * modules/locale (Depends-on): Add extensions.
32332         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32333         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32334
32335 2009-11-22  Bruno Haible  <bruno@clisp.org>
32336
32337         Add comments.
32338         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32339         invocation.
32340         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32341         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32342         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32343
32344 2009-11-22  Bruno Haible  <bruno@clisp.org>
32345
32346         error: account for the possibility of freopen (stdout).
32347         * lib/error.c: Include <unistd.h>.
32348         (flush_stdout): New function, extracted from error and error_at_line.
32349         Determine stdout's fd dynamically.
32350         (error, error_at_line): Invoke flush_stdout.
32351         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32352         * modules/error (Depends-on): Add unistd.
32353
32354 2009-11-22  Bruno Haible  <bruno@clisp.org>
32355
32356         diffseq: Add comment.
32357         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32358
32359 2009-11-22  Jim Meyering  <meyering@redhat.com>
32360
32361         c-stack: avoid defining an unused static function
32362         * lib/c-stack.c (find_stack_direction): Do not define this function
32363         when it will not be used.
32364
32365         diffseq: avoid spurious gcc warnings
32366         * lib/diffseq.h (IF_LINT2): Define.
32367         (compareseq): Use it to initialize two members of "part".
32368         This avoids two used-uninitialized warnings.
32369
32370 2009-11-21  Jim Meyering  <meyering@redhat.com>
32371
32372         c-stack: avoid "ignoring return value of `write'" warning
32373         * lib/c-stack.c: Include "ignore-value.h".
32374         (die): Explicitly ignore each write return value.
32375         * modules/c-stack (Depends-on): Add ignore-value.
32376
32377 2009-11-21  Bruno Haible  <bruno@clisp.org>
32378
32379         diffseq: reduce scope of variable 'best'.
32380         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32381         variable, earlier used for two different purposes.
32382
32383 2009-11-21  Jim Meyering  <meyering@redhat.com>
32384
32385         diffseq: remove useless assignment to "best"
32386         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32387         assignment.  At that point "best" is already guaranteed to be zero.
32388
32389 2009-11-20  Eric Blake  <ebb9@byu.net>
32390
32391         build: mention ftp redirector in release announcements
32392         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32393         values that used to come from cfg.mk; mention FTP redirect URL.
32394         * build-aux/announce-gen: Mention the mirror list.
32395         Suggested by Karl Berry.
32396
32397         nanosleep: improve port to mingw
32398         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32400         LIB_NANOSLEEP, but only when needed.
32401         * modules/select (Link): Document LIBSOCKET.
32402         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32403         enough.
32404
32405         nanosleep: work around cygwin bug
32406         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32407         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32408         bug.
32409         (getnow): Delete, not needed.
32410         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32411         LIB_CLOCK_GETTIME.
32412         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32413         clock-time, gettime.
32414         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32415         bug.
32416         * modules/nanosleep-tests: New test.
32417         * tests/test-nanosleep.c: New file.
32418
32419         sleep: work around cygwin bug
32420         * lib/sleep.c (rpl_sleep): Work around the bug.
32421         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32422         (gl_PREREQ_SLEEP): Delete unused macro.
32423         * modules/sleep (Depends-on): Add verify.
32424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32425         * modules/unistd (Makefile.am): Substitute witness.
32426         * lib/unistd.in.h (sleep): Update prototype.
32427         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32428         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32429         * modules/sleep-tests (Depends-on): Check for alarm.
32430
32431 2009-11-20  Jim Meyering  <meyering@redhat.com>
32432
32433         maint.mk: improve sc_prohibit_magic_number_exit
32434         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32435         so it does not match uses like System.exit(1).
32436         Add comments showing how to correct all offenders.
32437
32438 2009-11-19  Eric Blake  <ebb9@byu.net>
32439
32440         xalloc-die-tests: add missing library
32441         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32442
32443         test-xvasprintf: silence compiler warnings
32444         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32445         empty string from gcc.
32446
32447 2009-11-19  Jim Meyering  <meyering@redhat.com>
32448
32449         xfreopen: new module, from coreutils
32450         * modules/xfreopen: New module.
32451         * lib/xfreopen.c: New file.
32452         * lib/xfreopen.h: New file.
32453         * MODULES.html.sh (File stream based Input/Output"): Add it.
32454
32455 2009-11-19  Eric Blake  <ebb9@byu.net>
32456
32457         manywarnings: depend on warnings
32458         * modules/manywarnings (Depends-on): Add warnings.
32459
32460         build: avoid compiler warnings
32461         * lib/select.c (rpl_select): Delete unused variable.
32462         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32463
32464 2009-11-18  Eric Blake  <ebb9@byu.net>
32465
32466         tests: avoid false negative with --with-packager
32467         * tests/test-version-etc.sh: Discard packager information.
32468         * tests/test-argp-version-etc-1.sh: Likewise.
32469         Reported by Mike Frysinger.
32470
32471         utimens: fix regression on Solaris
32472         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32473         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32474         can only change fd timestamps via futimesat.  Instead, use an
32475         additional witness macro to avoid BSD bug.
32476         Reported by Jim Meyering.
32477
32478 2009-11-17  Eric Blake  <ebb9@byu.net>
32479
32480         usleep: use it to simplify tests
32481         * modules/stat-time-tests (Depends-on): Add usleep.
32482         (configure.ac): Drop usleep check.
32483         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32484         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32485         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32486         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32487         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32488         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32489         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32490         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32491         Likewise.
32492         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32493         * tests/test-lchown.h (nap): Likewise.
32494         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32495         * tests/test-stat-time.c (nap): Likewise.
32496         * tests/test-utimens-common.h (nap): Update comments.
32497
32498         usleep: new module
32499         * modules/usleep: New file.
32500         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32501         * lib/usleep.c (usleep): Likewise.
32502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32503         * modules/unistd (Makefile.am): Substitute witnesses.
32504         * lib/unistd.in.h (usleep): Add declaration.
32505         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32506         * MODULES.html.sh (Date and time): Likewise.
32507         * modules/usleep-tests (Depends-on): New test.
32508         * tests/test-usleep.c: New file.
32509
32510         chown: work around OpenBSD bug
32511         * lib/chown.c (rpl_chown): Work around the bug.
32512         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32513         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32514         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32515         * modules/chown (Depends-on): Add stdbool.
32516         * modules/lchown (Depends-on): Likewise.
32517         * doc/posix-functions/chown.texi (chown): Document the bug.
32518         * doc/posix-functions/lchown.texi (lchown): Likewise.
32519         * tests/test-lchown.h (test_chown): Relax test.
32520
32521         mkstemp: avoid conflict with C++ keyword template
32522         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32523         * lib/mkostemp.c (mkostemp): Likewise.
32524         * lib/mkostemps.c (mkostemps): Likewise.
32525         * lib/mkstemp.c (mkstemp): Likewise.
32526         * lib/mkstemps.c (mkstemps): Likewise.
32527
32528         xalloc-die-tests: optimize
32529         * tests/test-xalloc-die.sh: Reduce number of processes.
32530
32531 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32532
32533         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32534         patch from ludo@gnu.org (Ludovic Courtès).
32535
32536 2009-11-17  Jim Meyering  <meyering@redhat.com>
32537
32538         version-etc: use proper license string
32539         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32540         * modules/version-etc-fsf: Likewise.
32541
32542 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32543
32544         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32545         printed to stdout.  Deal with EOL differences.
32546
32547 2009-11-17  Eric Blake  <ebb9@byu.net>
32548
32549         unsetenv: work around Solaris bug
32550         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32551         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32552         Reported by Jim Meyering.
32553
32554         vasnprintf: avoid compiler warnings
32555         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32556         variables.
32557         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32558
32559 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32560
32561         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32562         settings since xalloc-die is no longer the self test,
32563         xalloc-die.sh is.
32564
32565 2009-11-17  Jim Meyering  <meyering@redhat.com>
32566
32567         test-xalloc-die.sh: make the code agree with the commit log
32568         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32569         at the end, just in case you happen to have a test-xalloc-die
32570         program in some other PATH directory.
32571
32572         test-xalloc-die.sh: fix a portability bug
32573         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32574         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32575         Otherwise, argv[0] (as often seen in diagnostics) would be too
32576         system-dependent, sometimes with, and sometimes without the leading "./".
32577
32578         version-etc-fsf: relax license to LGPLv3+
32579         * modules/version-etc-fsf (License): Relax license.
32580
32581 2009-11-16  Eric Blake  <ebb9@byu.net>
32582
32583         xalloc-die-tests: avoid printing null pointer
32584         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32585         shell script.
32586         * tests/test-xalloc-die.c (program_name): Declare.
32587         * tests/test-xalloc-die.sh (tmpfiles): New file.
32588
32589         setenv, unsetenv: work around various bugs
32590         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32591         (setenv) [HAVE_SETENV]: Work around bugs.
32592         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32593         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32594         for bugs.
32595         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32596         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32598         * modules/stdlib (Makefile.am): Update substitutions.
32599         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32600         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32601         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32602         * modules/setenv-tests: New test.
32603         * modules/unsetenv-tests: Likewise.
32604         * tests/test-setenv.c: New file.
32605         * tests/test-unsetenv.c: Likewise.
32606
32607 2009-11-16  Jim Meyering  <meyering@redhat.com>
32608
32609         version-etc: relax license to LGPLv3+
32610         * modules/version-etc (License): Relax license.
32611
32612         better AC_REQUIRE expanded-before-required-warning avoidance
32613         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32614         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32615         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32616         which is no longer needed.
32617
32618 2009-11-16  Eric Blake  <ebb9@byu.net>
32619
32620         test-freading: clean up temporary file
32621         * tests/test-freading.c (main): Remove file on success, and use
32622         ASSERT more liberally.
32623         Reported by Jim Meyering.
32624
32625 2009-11-16  Jim Meyering  <meyering@redhat.com>
32626
32627         avoid new AC_REQUIRE expanded-before-required warnings
32628         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32629         merely using it.
32630         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32631         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32632
32633 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32634
32635         * tests/test-xalloc-die.c: New file.
32636         * modules/xalloc-die-tests: New file.
32637         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32638         XFAIL_TESTS so it can be appended by modules.
32639
32640 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32641
32642         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32643         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32644
32645 2009-11-14  Eric Blake  <ebb9@byu.net>
32646
32647         fnmatch: avoid compiler warning
32648         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32649         to silence compiler warning about mismatch signedness in ?:.
32650         Reported by Robert Millan.
32651
32652         intprops: add double-inclusion guard
32653         * lib/intprops.h: Allow idempotent includes.
32654         Suggested by Bruce Korb.
32655
32656         openat: detect Solaris fchownat bug
32657         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32658         penalizing glibc chownat when only lchownat is broken.
32659         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32660         trailing slash bugs.
32661         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32662         * modules/openat-tests (Files): Include more files.
32663         (Depends-on): Add mgetgroups, sleep, stat-time.
32664         (configure.ac): Add additional checks.
32665         (Makefile.am): Build new test.
32666         * tests/test-fchownat.c: New file.
32667
32668         lchown: detect Solaris and FreeBSD bug
32669         * lib/lchown.c (rpl_lchown): Work around bug.
32670         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32672         * modules/unistd (Makefile.am): Populate it.
32673         * lib/unistd.in.h (lchown): Update declaration.
32674         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32675         * modules/lchown-tests: New file.
32676         * tests/test-lchown.h (test_lchown): Likewise.
32677         * tests/test-lchown.c (main): Likewise.
32678
32679         chown: detect Solaris and FreeBSD bug
32680         * lib/chown.c (rpl_chown): Work around bug.
32681         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32682         (gl_PREREQ_CHOWN): Delete.
32683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32684         * modules/unistd (Makefile.am): Populate it.
32685         * lib/unistd.in.h (chown): Update declaration.
32686         * lib/lchown.c (chown): Update client.
32687         * modules/lchown (Depends-on): Add lstat.
32688         * doc/posix-functions/chown.texi (chown): Document the bug.
32689         * doc/posix-functions/getgroups.texi (getgroups): Document
32690         getgroups pitfall.
32691         * modules/chown-tests: New file.
32692         * tests/test-chown.h (test_chown): Likewise.
32693         * tests/test-chown.c (main): Likewise.
32694
32695 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32696
32697         gnulib-tool: correctly detect absence of m4 directories
32698         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32699
32700 2009-11-14  Jim Meyering  <meyering@redhat.com>
32701
32702         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32703         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32704
32705 2009-11-14  John W. Eaton  <jwe@gnu.org>
32706
32707         strftime.h: wrap funtion declaration in extern "C" block
32708         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32709
32710 2009-11-13  Eric Blake  <ebb9@byu.net>
32711
32712         getgroups: avoid compiler warning
32713         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32714
32715         getgroups: work around FreeBSD bug
32716         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32717         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32718         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32719         * tests/test-getgroups.c (main): Fix buffer overrun.
32720
32721         getgroups: avoid compilation failure
32722         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32723         * modules/getgroups (Depends-on): Add stdint.
32724
32725 2009-11-13  Jim Meyering  <meyering@redhat.com>
32726
32727         test-getgroups: avoid compilation failure
32728         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32729
32730 2009-11-13  Eric Blake  <ebb9@byu.net>
32731
32732         mgetgroups: new module, taken from coreutils
32733         * modules/mgetgroups: New file.
32734         * lib/mgetgroups.h: Likewise.
32735         * lib/mgetgroups.c (mgetgroups): Likewise.
32736         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32737         * MODULES.html.sh (Users and groups): Mention it.
32738
32739         getgroups: don't expose GETGROUPS_T to user
32740         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32741         an element at a time if GETGROUPS_T is wrong size.
32742         * lib/getugroups.h (getugroups): Change signature.
32743         * lib/unistd.in.h (getgroups): Likewise.
32744         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32745         signature needs fixing.
32746         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32747         AC_TYPE_GETGROUPS.
32748         * modules/group-member (Depends-on): Add getgroups.
32749         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32750         (group_member): Rely on getgroups replacement.
32751         * lib/getugroups.c (getugroups): Use gid_t.
32752         * tests/test-getgroups.c (main): Likewise.
32753         * NEWS: Mention the signature change.
32754         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32755         problem with signature.
32756         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32757         GETGROUPS_T is still useful for setgroups.
32758
32759         getgroups, getugroups: provide stubs for mingw
32760         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32761         * lib/getugroups.c (getugroups): Likewise.
32762         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32763         function.  Modernize replacement scheme.
32764         (gl_PREREQ_GETGROUPS): Delete.
32765         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32766         * modules/getgroups (configure.ac): Declare witness.
32767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32768         * modules/unistd (Depends-on): Substitute witness.
32769         * lib/unistd.in.h (getgroups): Declare replacement.
32770
32771         getgroups: avoid calling exit
32772         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32773         drop xalloc.
32774         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32775         dependencies.
32776         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32777         exiting, in the rare case of malloc failure.
32778
32779         getgroups: fix logic error
32780         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32781         has more than 20 groups.
32782         * modules/getgroups-tests: New test.
32783         * tests/test-getgroups.c: New file.
32784
32785 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32786
32787         * tests/test-base64.c: Improve.
32788
32789 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32790
32791         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32792         Blake <ebb9@byu.net>.
32793
32794 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32795
32796         * tests/test-xvasprintf.c: Add %s%s related checks.
32797
32798 2009-11-12  Eric Blake  <ebb9@byu.net>
32799
32800         version-etc: match standards.texi style
32801         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32802         and use <> only for URLs.
32803
32804 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32805
32806         fts: do not fail on a submount during traversal
32807         * lib/fts.c (fts_build): Read the stat info again after opening
32808         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32809         Original report at http://bugzilla.redhat.com/501848.
32810
32811 2009-11-12  Jim Meyering  <meyering@redhat.com>
32812
32813         bootstrap: sync from coreutils
32814         * build-aux/bootstrap (bootstrap_epilogue): New function.
32815         Use git_modules_config in one more place.  This make bootstrap's
32816         --gnulib-srcdir option more useful for testing.
32817
32818         bootstrap: generalize autoheader check
32819         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32820         AC_CONFIG_HEADERS.
32821
32822 2009-11-11  Eric Blake  <ebb9@byu.net>
32823
32824         mkfifoat: use new modules for Solaris and BSD bugs
32825         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32826         * lib/mkfifoat.c (mknodat): Split...
32827         * lib/mknodat.c (mknodat): ...into new file.
32828         * modules/mkfifoat (Files): Ship new file.
32829         (Depends-on): Add mkfifo, mknod.
32830         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32831         (Depends-on): Add symlink.
32832         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32833         redundant with test_mkfifo.h.
32834         (do_mkfifoat, do_mknodat): New helpers.
32835
32836         mknod: new module
32837         * modules/mknod: New file.
32838         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32839         * lib/mknod.c (mknod): Likewise.
32840         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32841         defaults.
32842         * modules/sys_stat (Makefile.am): Substitute them.
32843         * lib/sys_stat.in.h (mknod): Declare replacement.
32844         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32845         Document it.
32846         * doc/posix-functions/mknod.texi (mknod): Likewise.
32847         * modules/mknod-tests: New test.
32848         * tests/test-mknod.c: Likewise.
32849
32850         mkfifo: new module
32851         * modules/mkfifo: New file.
32852         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32853         * lib/mkfifo.c (mkfifo): Likewise.
32854         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32855         defaults.
32856         * modules/sys_stat (Makefile.am): Substitute them.
32857         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32858         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32859         Document it.
32860         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32861         * modules/mkfifo-tests: New test.
32862         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32863         from test-mkfifoat.c.
32864         * tests/test-mkfifo.c: New file.
32865
32866         readlink: detect FreeBSD bug
32867         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32868         slash on symlink.
32869         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32870         * tests/test-readlink.h (test_readlink): Enhance test.
32871
32872         symlink: detect FreeBSD bug
32873         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32874         slash on symlink.
32875         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32876         * tests/test-symlink.h (test_symlink): Enhance test.
32877
32878 2009-11-10  Eric Blake  <ebb9@byu.net>
32879
32880         link: detect FreeBSD bug
32881         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32882         symlink.
32883         * doc/posix-functions/link.texi (link): Document the bug.
32884         * tests/test-link.h (test_link): Enhance test.
32885         * tests/test-linkat.c (main): Update caller.
32886
32887         unlink, remove: detect FreeBSD bug
32888         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32889         slash on symlink.
32890         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32891         * doc/posix-functions/remove.texi (remove): Likewise.
32892         * tests/test-unlink.h (test_unlink): Enhance test.
32893         * tests/test-remove.c (main): Likewise.
32894
32895 2009-11-09  Eric Blake  <ebb9@byu.net>
32896
32897         rename: detect FreeBSD bug
32898         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32899         slash on symlink.
32900         * modules/renameat-tests (Depends-on): Add filenamecat.
32901         * tests/test-rename.h (test_rename): Allow one more errno.
32902         * tests/test-renameat.c (main): Likewise.
32903         * doc/posix-functions/rename.texi (rename): Document the bug.
32904
32905         open: detect FreeBSD bug
32906         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32907         symlink.
32908         * doc/posix-functions/open.texi (open): Document the bug.
32909         * doc/posix-functions/utimes.texi (utimes): Likewise.
32910         * tests/test-open.h (test_open): Add parameters, and test symlink
32911         handling.
32912         * tests/test-open.c (main): Adjust caller.
32913         * tests/test-fcntl-safer.c (main): Likewise.
32914         * modules/open-tests (Depends-on): Add stdbool, symlink.
32915         * modules/fcntl-safer-tests (Depends-on): Likewise.
32916         * tests/test-openat.c (main): Add test-open tests.
32917
32918         stat: detect FreeBSD bug
32919         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32920         symlink.
32921         * doc/posix-functions/stat.texi (stat): Document the bug.
32922         * tests/test-stat.h (test_stat_func): Add argument.
32923         * tests/test-stat.c (main): Adjust caller.
32924         * tests/test-fstatat.c (main): Likewise.
32925         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32926         Reported by Jim Meyering.
32927
32928 2009-11-09  James Youngman  <jay@gnu.org>
32929
32930         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32931         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32932
32933 2009-11-08  Jim Meyering  <meyering@redhat.com>
32934
32935         utimens: remove invalid futimesat call
32936         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32937         It used the file descriptor of the target file as the DIR_FD
32938         parameter and NULL as the file name.  That caused failure with
32939         errno == EFAULT on FreeBSD-8.0-rc2
32940
32941 2009-11-07  Eric Blake  <ebb9@byu.net>
32942
32943         fflush, freadseek: use fseeko, not fseek
32944         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32945         (clear_ungetc_buffer): Avoid potential problems on large files.
32946         * lib/freadseek.c (freadseek): Likewise.
32947         * modules/freadseek (Depends-on): Add fseeko.
32948         * modules/fseek (configure.ac): Set a witness.
32949         * tests/test-fflush.c (main): Use fseeko.
32950         * tests/test-fpurge.c (fseek): Disable link warning.
32951         * tests/test-freadable.c (fseek): Likewise.
32952         * tests/test-freading.c (fseek): Likewise.
32953         * tests/test-fseeko.c (fseek): Likewise.
32954         * tests/test-ftell.c (fseek): Likewise.
32955         * tests/test-ftello.c (fseek): Likewise.
32956         * tests/test-fwritable.c (fseek): Likewise.
32957         * tests/test-fwriting.c (fseek): Likewise.
32958
32959 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32960
32961         * modules/memchr (Depends-on): Drop getpagesize dependency.
32962
32963 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32964
32965         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32966         Reported by Ludovic Courtès.
32967         * build-aux/pmccabe2html: Improve example usage.
32968         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32969
32970 2009-11-06  Jim Meyering  <meyering@redhat.com>
32971
32972         do-release-commit-and-tag: New module.
32973         Automate the release-commit and tag process.
32974         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32975         * modules/do-release-commit-and-tag: New file.
32976         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32977
32978 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32979
32980         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32981         because test-select.c uses inet_pton.
32982
32983 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32984
32985         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32986         GETADDRINFO_LIB.  Bump serial number.
32987         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32988         Suggested by Eric Blake <ebb9@byu.net>.
32989
32990 2009-11-05  Eric Blake  <ebb9@byu.net>
32991
32992         strtod: detect darwin bug
32993         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32994         Reported by Leo Davis.
32995
32996         freopen-safer: new module
32997         * modules/freopen-safer: New module.
32998         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32999         * lib/freopen-safer.c (freopen_safer): New file.
33000         * lib/stdio-safer.h (freopen_safer): New declaration.
33001         * lib/stdio--.h (freopen): New override.
33002         * MODULES.html.sh (File stream based Input/Output): Mention it.
33003         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
33004         freopen-safer module.
33005         * doc/posix-functions/stderr.texi (stderr): Likewise.
33006         * doc/posix-functions/stdin.texi (stdin): Likewise.
33007         * doc/posix-functions/stdout.texi (stdout): Likewise.
33008         * modules/freopen-safer-tests: New test.
33009         * tests/test-reopen-safer.c: New file.
33010
33011 2009-11-05  Jim Meyering  <meyering@redhat.com>
33012
33013         maint.mk: Prohibit inclusion of "close-stream.h" without use.
33014         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
33015
33016 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33017
33018         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
33019
33020 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33021
33022         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
33023
33024 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33025
33026         Fix link error.
33027         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33028         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33029
33030 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33031
33032         * tests/test-func.c: Also test value of __func__.
33033
33034 2009-11-05  Simon Josefsson  <simon@josefsson.org>
33035
33036         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
33037         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
33038
33039 2009-11-05  Bruno Haible  <bruno@clisp.org>
33040
33041         Fix link error.
33042         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
33043         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33044         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
33045
33046 2009-11-05  Bruno Haible  <bruno@clisp.org>
33047
33048         Tests for module 'inet_pton'.
33049         * modules/inet_pton-tests: New file.
33050         * tests/test-inet_pton.c: New file.
33051
33052 2009-11-05  Bruno Haible  <bruno@clisp.org>
33053
33054         Tests for module 'inet_ntop'.
33055         * modules/inet_ntop-tests: New file.
33056         * tests/test-inet_ntop.c: New file.
33057
33058 2009-11-04  Eric Blake  <ebb9@byu.net>
33059
33060         stdlib-safer: wrap all mkstemp variants
33061         * modules/mkostemp (configure.ac): Set witness.
33062         * modules/mkostemps (configure.ac): Likewise.
33063         * modules/mkstemps (configure.ac): Likewise.
33064         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
33065         (mkstemps_safer): Wrap more functions.
33066         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
33067         wrapping.
33068         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
33069         (mkstemps_safer): Implement the wrappers.
33070
33071         mkstemps, mkostemps: new modules
33072         * modules/mkostemps: New module.
33073         * modules/mkstemps: Likewise.
33074         * lib/mkostemps.c (mkostemps): New file.
33075         * lib/mkstemps.c (mkstemps): Likewise.
33076         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
33077         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
33078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
33079         * modules/stdlib (Makefile.am): Substitute them.
33080         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
33081         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
33082         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
33083         * doc/gnulib.texi (Glibc stdlib.h): Include them.
33084         * MODULES.html.sh (File system functions): Mention them.
33085
33086         tempname: resync from glibc
33087         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
33088         same values for __GT_FILE as glibc.  Abort even when assertions
33089         are disabled.
33090         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
33091         match its value otherwise.  Allow idempotent inclusion.
33092         * lib/mkdtemp.c (mkdtemp): Adjust caller.
33093         * lib/mkostemp.c (mkostemp): Likewise.
33094         * lib/mkstemp.c (mkstemp): Likewise.
33095         * lib/tmpfile.c (tmpfile): Likewise.
33096         * NEWS: Document this.
33097
33098         utimens: fix use of futimens on older Linux
33099         * lib/utimens.c (fdutimens): Use updated, rather than original,
33100         timespec to avoid bug in older Linux kernel.
33101         Reported by Simon Josefsson.
33102
33103 2009-11-04  Bruno Haible  <bruno@clisp.org>
33104
33105         Make num_processors more flexible and consistent.
33106         * lib/nproc.h (enum nproc_query): New type.
33107         (num_processors): Add a 'query' argument.
33108         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
33109         (num_processors): Add a 'query' argument. Test the value of the
33110         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
33111         mingw, count the number of CPUs available for the current process.
33112         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
33113         Check for sched_getaffinity and sched_getaffinity_np.
33114         * modules/nproc (Depends-on): Add c-ctype, extensions.
33115         * NEWS: Mention the change.
33116
33117 2009-11-03  Bruno Haible  <bruno@clisp.org>
33118
33119         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
33120
33121 2009-11-03  Jim Meyering  <meyering@redhat.com>
33122
33123         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
33124         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
33125         if it is defined.
33126
33127 2009-11-02  Eric Blake  <ebb9@byu.net>
33128
33129         mktime, timegm: share common declaration
33130         * lib/mktime-internal.h: New file.
33131         * lib/mktime.c: Use it rather than open-coding a declaration.
33132         * lib/timegm.c: Likewise.
33133         * modules/mktime (Files): Ship it.
33134         * modules/timegm (Files): Likewise.
33135         Suggested by Bruno Haible.
33136
33137         test-update-copyright: update test to match script changes
33138         * tests/test-update-copyright.sh: Avoid hard-coding perl
33139         location.  Don't update *.bak created by earlier runs.
33140
33141 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
33142             Simon Josefsson  <simon@josefsson.org>
33143             Bruno Haible  <bruno@clisp.org>
33144
33145         Fix link error on Solaris 8.
33146         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
33147         also in libnsl. Define also INET_PTON_LIB.
33148         * modules/inet_pton (Link): New section.
33149
33150 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33151             Bruno Haible  <bruno@clisp.org>
33152
33153         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
33154         * modules/inet_ntop (Link): New section.
33155         Reported by Boyan Kasarov <bkasarov@gmail.com>.
33156
33157 2009-11-02  Eric Blake  <ebb9@byu.net>
33158
33159         maint: avoid compiler warnings in m4 macros
33160         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
33161         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
33162
33163 2009-11-02  Simon Josefsson  <simon@josefsson.org>
33164
33165         * m4/pmccabe2html.m4: Remove file.
33166         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
33167         function.  Change maintainer.
33168         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33169         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33170         Courtès).
33171
33172 2009-10-31  Eric Blake  <ebb9@byu.net>
33173
33174         fseeko: fix m4 regression
33175         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33176         regression from 2009-10-27.
33177         Reported by Ralf Wildenhues.
33178
33179 2009-10-31  Jim Meyering  <meyering@redhat.com>
33180
33181         inttostr: aesthetics and improved (compile-time) safety
33182         Define inttype_is_signed rather than inttype_is_unsigned,
33183         since the sole use is via "#if inttype_is_signed".
33184         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33185         inttype_is_unsigned.
33186         * lib/offtostr.c (inttype_is_signed): Likewise.
33187         * lib/uinttostr.c (inttype_is_signed): Likewise.
33188         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33189         * lib/inttostr.c (inttostr): Use verify to cross-check the
33190         inttype_is_signed value and the signedness of the actual type.
33191         * modules/inttostr (Depends-on): Add verify.
33192
33193 2009-10-30  Eric Blake  <ebb9@byu.net>
33194
33195         build: avoid compiler warnings
33196         * lib/fchmodat.c (lchmod): Mark unused variables.
33197         * lib/getopt.c (_getopt_initialize): Likewise.
33198         * lib/mktime.c (__mktime_internal): Provide prototype.
33199         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33200         older gcc that do not understand #pragma GCC diagnostic.
33201         * lib/uinttostr.c (inttype_is_unsigned): Define.
33202         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33203
33204 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33205
33206         stat: fix compilation on AIX
33207         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33208         only see struct stat64.
33209
33210 2009-10-30  Eric Blake  <ebb9@byu.net>
33211
33212         exclude: make more robust
33213         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33214         rather than masking a coding bug.
33215         Suggested by Bruno Haible.
33216
33217 2009-10-30  Jim Meyering  <meyering@redhat.com>
33218
33219         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33220         Rather than putting #!/usr/bin/perl on the first line,
33221         start with a variant of what's recommended by "man perlrun" that
33222         invokes the first "perl" program from your shell's search path.
33223         * build-aux/gitlog-to-changelog: Replace #!... as above.
33224         Add a "Local Variables" perl mode setting.
33225         Prompted by a patch from Ludovic Courtès.
33226         Improved by Eric Blake.
33227         * build-aux/useless-if-before-free: Likewise.
33228         * build-aux/announce-gen: Likewise.
33229         * build-aux/update-copyright: Likewise.
33230
33231 2009-10-29  Eric Blake  <ebb9@byu.net>
33232
33233         filenamecat-lgpl: adjust clients
33234         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33235         filenamecat.
33236         * modules/renameat (Depends-on): Likewise.
33237
33238         filenamecat: split into filenamecat-lgpl
33239         * modules/filenamecat-lgpl: New module.
33240         * modules/filenamecat (Files): Move library-safe files into
33241         filenamecat-lgpl.
33242         (Depends-on): Add filenamecat-lgpl.
33243         (configure.ac): Declare witness.
33244         * lib/filenamecat.h (file_name_concat): Only declare when using
33245         GPL module.
33246         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33247         Move...
33248         * lib/filenamecat-lgpl.c: ...into new file.
33249         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33250         (gl_FILE_NAME_CONCAT): Use it.
33251         * MODULES.html.sh (File system functions): Mention new module.
33252
33253         argp: avoid memory leak
33254         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33255         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33256         base_name, since the latter malloc()s and can call exit().
33257         Leak introduced 2006-07-03.
33258
33259         dirname-lgpl: adjust clients that don't need full dirname
33260         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33261         * modules/filenamecat (Depends-on): Likewise.
33262         * modules/linkat (Depends-on): Likewise.
33263         * modules/mkancesdirs (Depends-on): Likewise.
33264         * modules/mkdir (Depends-on): Likewise.
33265         * modules/openat (Depends-on): Likewise.
33266         * modules/savewd (Depends-on): Likewise.
33267         * modules/rename (Depends-on): Likewise.
33268         (License): Relax license.
33269         * modules/mkdir-tests (Depends-on): Drop progname.
33270         (Makefile.am): Delete unneeded LDADD.
33271         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33272
33273         dirname: split into dirname-lgpl
33274         * modules/dirname-lgpl: New module.
33275         * modules/dirname (Files): Move library-safe files into
33276         dirname-lgpl.
33277         (Depends-on): Add dirname-lgpl.
33278         (configure.ac): Declare witness.
33279         * modules/double-slash-root (License): Relax license.
33280         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33281         module.
33282         * lib/dirname.c (dir_len, mdir_name): Move...
33283         * lib/dirname-lgpl.c: ...into new file.
33284         * lib/basename.c (last_component, base_len): Move...
33285         * lib/basename-lgpl.c: ...into new file.
33286         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33287         (gl_DIRNAME): Use it.
33288         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33289         Mention new module.
33290         * modules/dirname-tests (Depends-on): Add progname.
33291         * tests/test-dirname.c (program_name): Delete.
33292
33293         mkdir: make safe for libraries
33294         * modules/mkdir (Depends-on): Drop xalloc.
33295         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33296         exit.
33297
33298         tests: avoid some compiler warnings
33299         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33300         literals.
33301         * tests/test-memchr.c (main): Avoid type mismatch.
33302         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33303         * tests/test-base64.c (main): Likewise.
33304         * tests/test-getdelim.c (main): Likewise.
33305         * tests/test-gethostname.c (main): Likewise.
33306         * tests/test-getline.c (main): Likewise.
33307         * tests/test-netinet_in.c (main): Likewise.
33308         * tests/test-select.c (open_server_socket, main): Likewise.
33309         * tests/test-select-stdin.c (main): Likewise.
33310         * tests/test-sockets.c (main): Likewise.
33311         * tests/test-strsignal.c (main): Likewise.
33312         * tests/test-sys_select.c (main): Likewise.
33313         * tests/test-sys_socket.c (main): Likewise.
33314         * tests/test-u64.c (main): Likewise.
33315         * tests/test-xfprintf-posix.c (main): Likewise.
33316         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33317
33318         sockets: avoid compiler warning
33319         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33320
33321         maint: detect usage(1) and other suspicious exits
33322         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33323
33324 2009-10-29  Jim Meyering  <meyering@redhat.com>
33325
33326         timespec: long-to-int truncation could make timespec_cmp malfunction
33327         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33328         a multiple of 2^32 nanoseconds as no difference.
33329
33330 2009-10-28  Jim Meyering  <meyering@redhat.com>
33331
33332         fprintftime: wrap macro code argument in "do {...} while(0)"
33333         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33334         cpy macro must be a statement that can be followed by a semicolon.
33335         Now that the else clause contains a comment and is hence longer
33336         than one line, I require curly braces.  That in turn requires
33337         that we wrap this code block in the standard do...while(0).
33338
33339         fprintftime: remove stray semicolon from previous change
33340         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33341
33342         fprintftime: avoid a warning about ignored fwrite return value
33343         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33344         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33345         that is unsafe.
33346         * modules/fprintftime (Depends-on): Add ignore-value.
33347
33348         exclude: avoid an unwarranted warning
33349         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33350
33351 2009-10-27  Eric Blake  <ebb9@byu.net>
33352
33353         fseek: avoid compilation failure when fflush is replaced
33354         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33355         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33356         module is in use.
33357         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33358         module is not in use; since REPLACE_FSEEK worked otherwise.
33359         (GNULIB_FTELLO): Likewise for ftell.
33360         Reported by Ian Beckwith and others.
33361
33362 2009-10-27  Bruno Haible  <bruno@clisp.org>
33363
33364         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33365         Reported by Jim Meyering.
33366
33367 2009-10-27  Jim Meyering  <jim@meyering.net>
33368             Bruno Haible  <bruno@clisp.org>
33369
33370         Avoid warning despite dropping the return value of fwrite.
33371         * lib/unicodeio.c: Include ignore-value.h.
33372         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33373         * modules/unicodeio (Depends-on): Add ignore-value.
33374
33375 2009-10-26  Eric Blake  <ebb9@byu.net>
33376
33377         areadlinkat: fix fallback path
33378         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33379         pointer and zero.
33380
33381 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33382
33383         Use a better IO block size for modern systems
33384         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33385         * lib/md2.c: Likewise.
33386         * lib/md4.c: Likewise.
33387         * lib/md5.c: Likewise.
33388         * lib/sha1.c: Likewise.
33389         * lib/sha256.c: Likewise.
33390         * lib/sha512.c: Likewise.
33391
33392 2009-10-22  Eric Blake  <ebb9@byu.net>
33393
33394         tests: avoid several compiler warnings
33395         * tests/test-getcwd.c (main): Avoid buffer underflow.
33396         * tests/test-getdate.c (main): String literals are not safe with
33397         putenv, so use setenv.  Declare unused argument.
33398         * modules/getdate-tests (Depends-on): Add setenv.
33399         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33400         problems with string literals in char *.
33401         * tests/test-hash.c (main): Avoid shadowing declaration.
33402         (insert_new): Treat string literals as char const *.
33403         * tests/test-getopt.h (test_getopt): Likewise.
33404         (getopt_loop): Alter types to minimize casting elsewhere.
33405         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33406         (test_getopt_long_posix): Likewise.
33407         (do_getopt_long): Add wrapper to minimize casting.
33408         * tests/test-atexit.c (clear_temp_file): Use void.
33409         * tests/test-areadlink-with-size.c (main): Declare unused
33410         arguments.
33411         * tests/test-areadlink.c (main): Likewise.
33412         * tests/test-areadlinkat-with-size.c (main): Likewise.
33413         * tests/test-areadlinkat.c (main): Likewise.
33414         * tests/test-canonicalize-lgpl.c (main): Likewise.
33415         * tests/test-canonicalize.c (main): Likewise.
33416         * tests/test-dirent-safer.c (main): Likewise.
33417         * tests/test-dirname.c (main): Likewise.
33418         * tests/test-dup2.c (main): Likewise.
33419         * tests/test-fchdir.c (main): Likewise.
33420         * tests/test-fcntl-h.c (main): Likewise.
33421         * tests/test-fcntl-safer.c (main): Likewise.
33422         * tests/test-fdopendir.c (main): Likewise.
33423         * tests/test-fdutimensat.c (main): Likewise.
33424         * tests/test-fflush.c (main): Likewise.
33425         * tests/test-filenamecat.c (main): Likewise.
33426         * tests/test-filevercmp.c (main): Likewise.
33427         * tests/test-fopen-safer.c (main): Likewise.
33428         * tests/test-fopen.c (main): Likewise.
33429         * tests/test-fpending.c (main): Likewise.
33430         * tests/test-fpurge.c (main): Likewise.
33431         * tests/test-freading.c (main): Likewise.
33432         * tests/test-fstatat.c (main): Likewise.
33433         * tests/test-fsync.c (main): Likewise.
33434         * tests/test-futimens.c (main): Likewise.
33435         * tests/test-getndelim2.c (main): Likewise.
33436         * tests/test-gettimeofday.c (main): Likewise.
33437         * tests/test-getopt.c (main): Likewise.
33438         * tests/test-i-ring.c (main): Likewise.
33439         * tests/test-inttypes.c (main): Likewise.
33440         * tests/test-link.c (main): Likewise.
33441         * tests/test-lstat.c (main): Likewise.
33442         * tests/test-math.c (main): Likewise.
33443         * tests/test-md5.c (main): Likewise.
33444         * tests/test-memchr2.c (main): Likewise.
33445         * tests/test-memrchr.c (main): Likewise.
33446         * tests/test-mkdir.c (main): Likewise.
33447         * tests/test-mkdirat.c (main): Likewise.
33448         * tests/test-mkfifoat.c (main): Likewise.
33449         * tests/test-open.c (main): Likewise.
33450         * tests/test-openat-safer.c (main): Likewise.
33451         * tests/test-openat.c (main): Likewise.
33452         * tests/test-quotearg.c (main): Likewise.
33453         * tests/test-rawmemchr.c (main): Likewise.
33454         * tests/test-readlink.c (main): Likewise.
33455         * tests/test-remove.c (main): Likewise.
33456         * tests/test-rename.c (main): Likewise.
33457         * tests/test-renameat.c (main): Likewise.
33458         * tests/test-rmdir.c (main): Likewise.
33459         * tests/test-sha1.c (main): Likewise.
33460         * tests/test-signal.c (main): Likewise.
33461         * tests/test-sigaction.c (main): Likewise.
33462         * tests/test-stat.c (main): Likewise.
33463         * tests/test-stat-time.c (main): Likewise.
33464         * tests/test-stddef.c (main): Likewise.
33465         * tests/test-stdint.c (main): Likewise.
33466         * tests/test-stdio.c (main): Likewise.
33467         * tests/test-stdlib.c (main): Likewise.
33468         * tests/test-strchrnul.c (main): Likewise.
33469         * tests/test-strerror.c (main): Likewise.
33470         * tests/test-string.c (main): Likewise.
33471         * tests/test-strtod.c (main): Likewise.
33472         * tests/test-strverscmp.c (main): Likewise.
33473         * tests/test-symlink.c (main): Likewise.
33474         * tests/test-symlinkat.c (main): Likewise.
33475         * tests/test-sys_stat.c (main): Likewise.
33476         * tests/test-sys_time.c (main): Likewise.
33477         * tests/test-time.c (main): Likewise.
33478         * tests/test-unistd.c (main): Likewise.
33479         * tests/test-unlink.c (main): Likewise.
33480         * tests/test-unlinkat.c (main): Likewise.
33481         * tests/test-utimens.c (main): Likewise.
33482         * tests/test-utimensat.c (main): Likewise.
33483         * tests/test-version-etc.c (main): Likewise.
33484         * tests/test-wchar.c (main): Likewise.
33485         * tests/test-wctype.c (main): Likewise.
33486         * tests/test-xprintf-posix.c (main): Likewise.
33487         * tests/test-posixtm.c (main): Likewise.
33488         (STREQ): Delete unused macro.
33489         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33490         shadowed variables.
33491         * tests/test-memchr.c (main): Likewise.
33492
33493 2009-10-21  Eric Blake  <ebb9@byu.net>
33494
33495         areadlinkat: avoid failure on older glibc
33496         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33497         rather than mis-comparing 0 against FUNC_RESULT of char*.
33498
33499 2009-10-21  Bruno Haible  <bruno@clisp.org>
33500
33501         * modules/stpncpy (License): Relicense under LGPLv2+.
33502         Reported by David Lutterkort <lutter@redhat.com>.
33503
33504 2009-10-20  Eric Blake  <ebb9@byu.net>
33505
33506         utimensat: work around Solaris 9 bug
33507         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33508         has trailing slash bugs.
33509         * tests/test-lutimens.h (test_lutimens): Enhance test.
33510         * tests/test-utimens.h (test_utimens): Likewise.
33511         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33512         * doc/posix-functions/utimes.texi (utimes): Likewise.
33513         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33514         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33515         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33516         * doc/posix-functions/futimens.texi (futimens): Likewise.
33517
33518         fdutimensat: new module
33519         * modules/fdutimensat: New file.
33520         * lib/fdutimensat.c (fdutimensat): Likewise.
33521         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33522         * MODULES.html.sh (File system functions): Mention module.
33523         * modules/fdutimensat-tests: New test.
33524         * tests/test-fdutimensat.c: Likewise.
33525
33526         doc: regenerate INSTALL
33527         * doc/INSTALL: Reflect recent autoconf update.
33528         * doc/INSTALL.ISO: Likewise.
33529         * doc/INSTALL.UTF-8: Likewise.
33530
33531 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33532
33533         acl: warn if ACL support is not detected
33534         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33535
33536 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33537
33538         * lib/nproc.h: Add extern "C" block for C++.
33539
33540 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33541             Bruno Haible  <bruno@clisp.org>
33542
33543         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33544         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33545         * doc/posix-functions/isalpha.texi: Likewise.
33546         * doc/posix-functions/isblank.texi: Likewise.
33547         * doc/posix-functions/iscntrl.texi: Likewise.
33548         * doc/posix-functions/isdigit.texi: Likewise.
33549         * doc/posix-functions/isgraph.texi: Likewise.
33550         * doc/posix-functions/islower.texi: Likewise.
33551         * doc/posix-functions/isprint.texi: Likewise.
33552         * doc/posix-functions/ispunct.texi: Likewise.
33553         * doc/posix-functions/isspace.texi: Likewise.
33554         * doc/posix-functions/isupper.texi: Likewise.
33555         * doc/posix-functions/isxdigit.texi: Likewise.
33556
33557 2009-10-18  Bruno Haible  <bruno@clisp.org>
33558
33559         Tests for module 'isblank'.
33560         * modules/isblank-tests: New file.
33561         * tests/test-isblank.c: New file.
33562
33563         New module 'isblank'.
33564         * lib/isblank.c: New file.
33565         * m4/isblank.m4: New file.
33566         * modules/isblank: New file.
33567         * doc/posix-functions/isblank.texi: Mention the new module.
33568
33569 2009-10-18  Bruno Haible  <bruno@clisp.org>
33570
33571         New module 'ctype'.
33572         * lib/ctype.in.h: New file.
33573         * m4/ctype.m4: New file.
33574         * modules/ctype: New file.
33575         * doc/posix-headers/ctype.texi: Mention the new module.
33576
33577 2009-10-18  Jim Meyering  <meyering@redhat.com>
33578
33579         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33580         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33581         right after its initialization, rather than farther down.
33582         Keeping these in close proximity makes it easier to ensure
33583         that each such variable is initialized.  E.g.,
33584
33585             LIB_CLOCK_GETTIME=
33586             AC_SUBST([LIB_CLOCK_GETTIME])
33587
33588         This change also increments these serial numbers.
33589         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33590         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33592
33593 2009-10-18  Bruno Haible  <bruno@clisp.org>
33594
33595         Don't let environment variables perturb build.
33596         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33597         (gl_PREREQ_GETHRXTIME): ... not here.
33598
33599 2009-10-18  Bruno Haible  <bruno@clisp.org>
33600
33601         Avoid symlink attack in localcharset module.
33602         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33603         (O_NOFOLLOW): Define fallback.
33604         (get_charset_aliases): Don't open the file if it is a symbolic link.
33605         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33606         gl_FCNTL_H.
33607         (gl_FCNTL_H): Require it.
33608         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33609         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33610         Reported by Fergal Glynn <fglynn@veracode.com>.
33611
33612 2009-10-18  Bruno Haible  <bruno@clisp.org>
33613
33614         Implement nproc for mingw.
33615         * lib/nproc.c: Include <windows.h>
33616         (num_processors): On native Windows platforms, try GetSystemInfo.
33617
33618 2009-10-18  Bruno Haible  <bruno@clisp.org>
33619
33620         Implement nproc for IRIX.
33621         * lib/nproc.c: Include <sys/sysmp.h>.
33622         (num_processors): On IRIX systems, try sysmp.
33623         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33624
33625 2009-10-18  Bruno Haible  <bruno@clisp.org>
33626
33627         Implement nproc for HP-UX.
33628         * lib/nproc.c: Include <sys/pstat.h>
33629         (num_processors): On HP-UX systems, try pstat_getdynamic.
33630         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33631         pstat_getdynamic.
33632
33633 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33634             Bruno Haible  <bruno@clisp.org>
33635
33636         Implement nproc for NetBSD, OpenBSD.
33637         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33638         (ARRAY_SIZE): New macro.
33639         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33640         * m4/nproc.m4: New file.
33641         * modules/nproc (Files): Add m4/nproc.m4.
33642         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33643         (Makefile.am): Instead, augment lib_SOURCES.
33644
33645 2009-10-18  Bruno Haible  <bruno@clisp.org>
33646
33647         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33648         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33649         sys/param.h.
33650
33651 2009-10-16  Eric Blake  <ebb9@byu.net>
33652
33653         utimensat: new module
33654         * modules/utimensat: New file.
33655         * lib/utimensat.c (utimensat): Likewise.
33656         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33657         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33658         so we can work around Linux bugs.
33659         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33660         * modules/sys_stat (Makefile.am): Substitute them.
33661         * lib/sys_stat.in.h (utimensat): Declare it.
33662         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33663         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33664         * modules/utimensat-tests: New test.
33665         * tests/test-utimensat.c: Likewise.
33666
33667         utimens: let lutimens work on non-symlinks
33668         * lib/utimens.c (lutimens): Fall back to utimens rather than
33669         failing with ENOSYS, when file is not a symlink.
33670         (utimens): Reduce redirection.
33671         * tests/test-lutimens.h (test_lutimens): Update test to cover
33672         non-symlinks.
33673         * tests/test-utimens.h (test_utimens): Update test to cover
33674         symlinks.
33675         * tests/test-utimens.c (main): Update caller.
33676
33677         utimens: cache whether utimensat syscall works
33678         * lib/utimens.c (utimensat_works_really): New cache variable.
33679         (fdutimens, lutimens): Use it to avoid failing syscall.
33680
33681         test-stat-time, test-utimens: improve portability
33682         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33683         ext4 on alpha, and for cygwin.
33684         * tests/test-utimens-common.h: New file.
33685         (nap): Factor delays into single function.
33686         * tests/test-lutimens.h (test_lutimens): Use new header.
33687         * tests/test-futimens.h (test_futimens): Likewise.
33688         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33689         timestamps to occur from same machine, as was done previously for
33690         test_utimens.
33691         * modules/utimens-tests (Files): Ship new file.
33692         * modules/futimens-tests (Files): Likewise.
33693         Reported in part by Jim Meyering.
33694
33695         sys_stat: sort replacement declarations
33696         * lib/sys_stat.in.h: Sort declarations.
33697         * lib/futimens.c (futimens): Fix typo.
33698
33699 2009-10-15  Jim Meyering  <meyering@redhat.com>
33700
33701         don't let environment settings perturb build
33702         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33703         could cause a configure-time and/or build-time malfunction.
33704         Typically, a configure-time function-in-library test is performed
33705         via code like this:
33706
33707           LIB_VAR=
33708           AC_SUBST([LIB_VAR])
33709           prefix_saved_LIBS=$LIBS
33710             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33711                        [test "$ac_cv_search_FUNC" = "none required" ||
33712                         LIB_VAR=$ac_cv_search_FUNC])
33713           LIBS=$prefix_saved_LIBS
33714
33715         However, in each of the files affected by this change, the LIB_VAR=
33716         initialization was omitted.  Thus, when set in the environment, its
33717         value would propagate into generated Makefiles when FUNC is not found
33718         in LIB_NAME.
33719         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33720         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33721         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33722
33723 2009-10-14  Eric Blake  <ebb9@byu.net>
33724
33725         fchdir: avoid infinite recursion in mingw
33726         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33727         recursing.
33728
33729         test-stat-time: port to mingw
33730         * tests/test-stat-time.c (force_unlink): Return a value.
33731         (test_ctime) [W32]: Fix compilation error.
33732         (nap): Don't call usleep with too large an argument.  Use
33733         force_unlink.
33734         * doc/pastposix-functions/usleep.texi (usleep): Document the
33735         portability issue.
33736
33737 2009-10-13  Jim Meyering  <meyering@redhat.com>
33738
33739         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33740         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33741         * modules/pipe-filter-ii: Likewise.
33742         * modules/sys_socket-tests: Likewise.
33743         * modules/tsearch-tests: Likewise.
33744         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33745         (check): Depend on it.
33746
33747 2009-10-12  Eric Blake  <ebb9@byu.net>
33748
33749         utimens-tests: port to NFS file systems
33750         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33751         comparisons to avoid spurious failures from timestamp drift
33752         between NFS machines.
33753
33754 2009-10-12  Eric Blake  <ebb9@byu.net>
33755
33756         stat-time-tests: minor cleanups
33757         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33758         * tests/test-stat-time.c (nap): Separate assignment from call.
33759         Suggested by Paolo Bonzini and Bruno Haible.
33760
33761         sys_stat: guarantee struct timespec
33762         * lib/sys_stat.in.h (includes): Always include <time.h>
33763         * modules/sys_stat (Depends-on): Add time.
33764         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33765         mode_t permission values.
33766         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33767         get at subsecond timestamps.
33768
33769 2009-10-10  Eric Blake  <ebb9@byu.net>
33770
33771         futimens: new module
33772         * modules/futimens: New file.
33773         * lib/futimens.c (futimens): Likewise.
33774         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33775         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33776         we can work around Linux bugs.
33777         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33778         * modules/sys_stat (Makefile.am): Substitute them.
33779         * lib/sys_stat.in.h (futimens): Declare it.
33780         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33781         * doc/posix-functions/futimens.texi (futimens): Likewise.
33782         * modules/futimens-tests: New test.
33783         * tests/test-futimens.c: Likewise.
33784
33785         utimens: introduce fdutimens
33786         * lib/utimens.h (fdutimens): New prototype.
33787         * lib/utimens.c (gl_futimens): Move guts...
33788         (fdutimens): ...to new interface.
33789         * tests/test-utimens.c (do_fdutimens): Use it.
33790
33791         utimens: add UTIME_NOW and UTIME_OMIT support
33792         * lib/utimens.c (validate_timespec, update_timespec): New helper
33793         functions.
33794         (gl_futimens, lutimens): Use them.
33795         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33796         stdbool, sys_stat.
33797         (Link): Mention resulting library dependency.
33798         * modules/utimecmp (Link): Likewise.
33799         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33800         (Makefile.am): Pick up library dependency.
33801         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33802         definition.
33803         * tests/test-sys_stat.c: Test the definitions.
33804         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33805         * NEWS: Document library dependency.
33806
33807         utimecmp: support symlink timestamps
33808         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33809         hashing when possible.  Use pathconf when available.
33810         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33811         * modules/utimecmp (Depends-on): Add lstat.
33812
33813         utimens: add lutimens interface
33814         * lib/utimens.c (lutimens): New function.
33815         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33816         * lib/utimens.h (lutimens): Declare new interface.
33817         * tests/test-utimens.c (main): Enhance test.
33818         * tests/test-lutimens.h (test_lutimens): New file.
33819         * modules/utimens-tests (Files): Distribute it.
33820         (Depends-on): Add symlink.
33821         (configure.ac): Check for usleep.
33822
33823         utimens: validate futimens usage
33824         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33825         fewer syscalls on failure later on.  Avoid compiler warning on
33826         mingw.
33827         * modules/utimens (Depends-on): Add dup2.
33828
33829         utimens: add test
33830         * modules/utimens-tests: New test.
33831         * tests/test-utimens.h: New file.
33832         * tests/test-futimens.h: Likewise.
33833         * tests/test-utimens.c: Likewise.
33834
33835         doc: mention timestamp portability issues
33836         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33837         instead.
33838         * doc/posix-functions/utime.texi (utime): Likewise.
33839         * doc/posix-functions/utimes.texi (utimes): Likewise.
33840         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33841         instead.
33842         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33843         module.
33844         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33845         Mention weakness with symlink timestamps.
33846         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33847         to utimensat/futimens instead.
33848         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33849
33850         test-dup2: enhance test
33851         * tests/test-dup2.c (main): Also check AT_FDCWD.
33852
33853         test-stat-time: avoid more spurious failures
33854         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33855         xfs; and avoid race if the two timestamps cross quantization edge.
33856
33857         relocatable: prefer 'file system' over 'filesystem'
33858         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33859         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33860         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33861         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33862         * lib/relocatable.c (compute_curr_prefix): Likewise.
33863
33864 2009-10-10  Jim Meyering  <meyering@redhat.com>
33865
33866         stat-time-tests: check for the usleep function
33867         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33868
33869 2009-10-10  Bruno Haible  <bruno@clisp.org>
33870
33871         * modules/xnanosleep: Put the Link section after the Include section.
33872
33873 2009-10-09  Eric Blake  <ebb9@byu.net>
33874
33875         dup2: work around FreeBSD 6.1 bug
33876         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33877         * doc/posix-functions/dup2.texi (dup2): Document it.
33878         Reported by Nelson H. F. Beebe and Jim Meyering.
33879
33880         test-stat-time: port to buggy NFS clients
33881         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33882         (test_ctime): Also skip test if mtime and ctime are skewed.
33883
33884         maint: prefer 'file system' over 'filesystem'
33885         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33886         * doc/posix-functions/lstat.texi (lstat): Likewise.
33887         * lib/file-has-acl.c (file_has_acl): Likewise.
33888         * lib/fwriteerror.c [TEST]: Likewise.
33889         * tests/test-areadlink.h (test_areadlink): Likewise.
33890         * tests/test-areadlinkat-with-size.c (main): Likewise.
33891         * tests/test-areadlinkat.c (main): Likewise.
33892         * tests/test-canonicalize-lgpl.c (main): Likewise.
33893         * tests/test-canonicalize.c (main): Likewise.
33894         * tests/test-fstatat.c (main): Likewise.
33895         * tests/test-linkat.c (main): Likewise.
33896         * tests/test-lstat.h (test_lstat_func): Likewise.
33897         * tests/test-mkdir.h (test_mkdir): Likewise.
33898         * tests/test-readlink.h (test_readlink): Likewise.
33899         * tests/test-remove.c (main): Likewise.
33900         * tests/test-rename.h (test_rename): Likewise.
33901         * tests/test-renameat.c (main): Likewise.
33902         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33903         * tests/test-symlink.h (test_symlink): Likewise.
33904         * tests/test-symlinkat.c (main): Likewise.
33905         * tests/test-unlink.h (test_unlink_func): Likewise.
33906         * tests/test-unlinkat.c (main): Likewise.
33907
33908         maint: make realtime library usage explicit
33909         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33910         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33911         * modules/settime (Link): Likewise.
33912         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33913
33914         test-stat-time: speed up execution
33915         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33916         warning on mingw.
33917         (nap): New helper function.
33918         (prepare_test): Use it to reduce sleep time.
33919         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33920         execution.
33921         * modules/stat-time-tests (configure.ac): Check for usleep.
33922
33923 2009-10-09  Jim Meyering  <meyering@redhat.com>
33924
33925         selinux-h: always use getfilecon wrappers
33926         * lib/getfilecon.c: New file.
33927         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33928         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33929         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33930         (fgetfilecon): Provide a stub.
33931         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33932         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33933         file unconditionally.
33934         When <selinux/selinux.h> is found, arrange to use wrappers.
33935         * modules/selinux-h (Files): Add getfilecon.c.
33936         (Makefile.am): Substitute include-next-related bits
33937         into the now-always-generated selinux/selinux.h file.
33938         * doc/glibc-functions/lgetfilecon.texi: New file.
33939         * doc/glibc-functions/fgetfilecon.texi: New file.
33940         * doc/glibc-functions/getfilecon.texi: New file.
33941         * doc/glibc-functions/getfilecon-desc.texi: New file.
33942         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33943         which to pull in the new files.
33944         * MODULES.html.sh (Misc): Add selinux-h.
33945
33946 2009-10-08  Jim Meyering  <meyering@redhat.com>
33947
33948         unistd: fix comment typo
33949         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33950
33951 2009-10-08  Eric Blake  <ebb9@byu.net>
33952
33953         areadlink: use SIZE_MAX consistently
33954         * modules/areadlink (Depends-on): Add stdint.
33955         * modules/areadlink-with-size (Depends-on): Likewise.
33956         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33957         gives NULL; drop sys/types, since unistd gives size_t; and add
33958         stdint for SIZE_MAX.
33959         (SIZE_MAX): Rely on headers.
33960         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33961         and add stdint.
33962         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33963         (SIZE_MAX): Likewise.
33964         (INITIAL_BUF_SIZE): Turn into enum.
33965         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33966
33967 2009-10-08  Jim Meyering  <meyering@redhat.com>
33968
33969         areadlinkat: avoid compilation failure
33970         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33971         Fix typo in comment.
33972
33973 2009-10-07  Eric Blake  <ebb9@byu.net>
33974
33975         areadlinkat-with-size: new module
33976         * modules/areadlinkat-with-size: New module.
33977         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33978         * lib/areadlink.h (areadlinkat): Declare it.
33979         * MODULES.html.sh (File system functions): Mention it.
33980         * modules/areadlinkat-with-size-tests: New test.
33981         * tests/test-areadlinkat-with-size.c: New file.
33982
33983         xreadlinkat: new module
33984         * modules/xreadlinkat: New module.
33985         * lib/xreadlinkat.c (xreadlinkat): New file.
33986         * lib/xreadlink.h (xreadlinkat): Declare it.
33987         * MODULES.html.sh (File system functions): Mention it.
33988
33989         areadlinkat: new module
33990         * lib/at-func.c (FUNC_FAIL): New define.
33991         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33992         * modules/areadlinkat: New module.
33993         * lib/linkat.c (areadlinkat): Move...
33994         * lib/areadlinkat.c (areadlinkat): ...to new file.
33995         * lib/areadlink.h (areadlinkat): Declare it.
33996         * modules/linkat (Depends-on): Add areadlinkat.
33997         * MODULES.html.sh (File system functions): Mention it.
33998         * modules/areadlinkat-tests: New test.
33999         * tests/test-areadlinkat.c: New file.
34000
34001         areadlink, areadlink-with-size: add tests
34002         * modules/areadlink-tests: New test.
34003         * modules/areadlink-with-size-tests: Likewise.
34004         * tests/test-areadlink.h: New file.
34005         * tests/test-areadlink.c: Likewise.
34006         * tests/test-areadlink-with-size.c: Likewise.
34007
34008         maint: minor cleanups
34009         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
34010         _UNUSED_PARAMETER_ instead.
34011         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
34012         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
34013         * modules/linkat-tests (Files): Distribute test-link.h.
34014
34015         openat, utimens: whitespace cleanup
34016         * lib/openat.c: Prefer space throughout, rather than mix of 8
34017         spaces vs. tabs.
34018         * lib/at-func.c: Likewise.
34019         * lib/utimens.c: Likewise.
34020
34021         openat: avoid using wrong fd
34022         * lib/openat.c (openat_permissive): Reject user's fd if saving the
34023         working directory chooses same fd.
34024         * lib/at-func.c (AT_FUNC_NAME): Likewise.
34025
34026         mkdir, mkdirat: fix cygwin 1.5.x bug
34027         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
34028         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
34029         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
34030         bug.
34031         (gl_PREREQ_MKDIR): Delete unused macro.
34032         * modules/mkdir (Files): Track file rename.
34033         (configure.ac): Update macro name.
34034         * modules/openat (Depends-on): Add mkdir.
34035         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
34036
34037         mkdir, mkdirat: add tests
34038         * modules/mkdir-tests: New test.
34039         * tests/test-mkdir.h: New file.
34040         * tests/test-mkdir.c: Likewise.
34041         * tests/test-mkdirat.c: Likewise.
34042         * modules/openat-tests (Files): Add new files.
34043         (Makefile.am): Run new test.
34044
34045 2009-10-06  Eric Blake  <ebb9@byu.net>
34046
34047         doc: tweak *at function documentation
34048         * doc/posix-functions/faccessat.texi (faccessat): Mention
34049         known issue with replacement.
34050         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
34051         * doc/posix-functions/linkat.texi (linkat): Likewise.
34052         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34053         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34054         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34055         * doc/posix-functions/renameat.texi (renameat): Likewise.
34056         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34057
34058         openat: fix GNU/Hurd bug in unlinkat
34059         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
34060         broken.
34061         * doc/posix-functions/unlink.texi (unlink): Document this.
34062         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
34063
34064         fdopendir: fix GNU/Hurd bug
34065         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
34066         allowing non-directory fds.
34067         * lib/fdopendir.c (rpl_fdopendir): Work around it.
34068         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34069         * modules/dirent (Makefile.am): Substitute it.
34070         * lib/dirent.in.h (fdopendir): Declare replacement.
34071         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
34072         * tests/test-fdopendir.c (main): Test something other than
34073         /dev/null, since on Hurd that behaves like a directory.
34074
34075         test-symlink: port to GNU/Hurd
34076         * tests/test-symlink.h (test_symlink): Relax expected errno.
34077
34078         doc: tweak more cygwin information
34079         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
34080         now compatible with glibc.
34081         * doc/posix-functions/getopt.texi (getopt): Likewise.
34082
34083         getopt-gnu: add another test
34084         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
34085         guarantee behavior relied on by m4.
34086         * tests/test-getopt.c (main): Use it.
34087         * modules/getopt-posix-tests (Depends-on): Add setenv.
34088         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
34089
34090         getopt: fix compilation on darwin
34091         * lib/getopt.in.h (includes): Leave breadcrumbs during system
34092         include.
34093         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
34094         Reported by Ludovic Courtès.
34095
34096 2009-10-06  Bruno Haible  <bruno@clisp.org>
34097
34098         * modules/size_max (Description): Discourage its use.
34099         Reported by Simon Josefsson.
34100
34101 2009-10-06  Jim Meyering  <meyering@redhat.com>
34102
34103         linkat: avoid compilation failure
34104         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
34105
34106 2009-10-05  Eric Blake  <ebb9@byu.net>
34107
34108         linkat: support Linux 2.6.17
34109         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
34110         linkat on Linux, but allow cache variable override.
34111         * lib/linkat.c (rpl_linkat): Define override.
34112         * modules/linkat (Depends-on): Add symlinkat.
34113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
34114         * modules/unistd (Makefile.am): Substitute it.
34115         * lib/unistd.in.h (linkat): Declare replacement.
34116         Reported by Pádraig Brady.
34117
34118         quotearg: port test to systems with C.UTF-8 locale
34119         * tests/test-quotearg.c (struct result_strings): Add another
34120         member, differentiating between C.ASCII and C.UTF-8 handling.
34121         (compare_strings): Add parameter.
34122         (main): Adjust all callers.
34123
34124         getopt: avoid clash with FreeBSD _getopt_internal
34125         * lib/getopt.in.h (_getopt_internal): Override the name.
34126         * lib/getopt_int.h (includes): Pick up any overrides.
34127         Reported by Reuben Thomas.
34128
34129         hash: allow C89 compilation
34130         * lib/hash.c (check_tuning): Move declaration before statement.
34131         Reported by Reuben Thomas.
34132
34133 2009-10-05  Karl Berry  <karl@gnu.org>
34134
34135         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
34136
34137 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
34138             Bruno Haible  <bruno@clisp.org>
34139
34140         * lib/uname.c (uname): Use a table-driven algorithm to compute
34141         Windows NT versions.
34142
34143 2009-10-04  Bruno Haible  <bruno@clisp.org>
34144
34145         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
34146         program_invocation_short_name.
34147         * modules/progname (configure.ac): Test for presence of
34148         program_invocation_short_name.
34149         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
34150
34151 2009-10-04  Bruno Haible  <bruno@clisp.org>
34152
34153         * lib/progname.c (set_program_name): Fix comment.
34154         Reported by Jim Meyering.
34155
34156 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34157             Bruno Haible  <bruno@clisp.org>
34158
34159         * lib/uname.c: Include <string.h>.
34160         (uname): Do only one call to GetVersionEx in the common case.
34161
34162 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
34163             Bruno Haible  <bruno@clisp.org>
34164
34165         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
34166         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
34167         (uname): Add support for Windows CE and various non-x86 CPU types.
34168
34169 2009-10-03  Bruno Haible  <bruno@clisp.org>
34170
34171         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34172         invocation to tests/configure.ac.
34173         Reported by Ian Beckwith <ianb@erislabs.net>.
34174
34175 2009-10-02  Eric Blake  <ebb9@byu.net>
34176
34177         fchdir: avoid compiler warning
34178         * lib/fchdir.c (canonicalize_file_name)
34179         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34180
34181         test-open: support mingw errno values
34182         * tests/test-open.h (test_open): Relax test.
34183         * tests/test-fopen.h (test_fopen): Likewise.
34184         * tests/test-openat-safer.c (main): Likewise.
34185
34186         open: fix opening directory on mingw
34187         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34188
34189         test-open: on GNU/Hurd, /dev/null is a directory
34190         * tests/test-fopen.h (main): Rename...
34191         (test_fopen): ...to this.  Use a guaranteed non-directory when
34192         confirming open behavior on trailing slash.
34193         * tests/test-openat-safer.c (main): Likewise.
34194         * tests/test-open.h (main): Likewise....
34195         (test_open): ...to this.
34196         * tests/test-fopen.c (main): Adjust caller.
34197         * tests/test-fopen-safer.c (main): Likewise.
34198         * tests/test-open.c (main): Likewise.
34199         * tests/test-fcntl-safer.c (main): Likewise.
34200         Reported by Samuel Thibault.
34201
34202         rename, fchdir: don't ignore chdir failure
34203         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34204         * lib/rename.c (rpl_rename) [W32]: Likewise.
34205         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34206         an empty destination directory if source cannot be renamed,
34207         although there is still possibility for failure.
34208         * doc/posix-functions/rename.texi (rename): Document the race.
34209         Reported by Jim Meyering.
34210
34211         maint: cleanup whitespace in recent commits
34212         * lib/rename.c (rpl_rename): Remove tabs.
34213         * tests/test-link.h (test_link): Likewise.
34214         * lib/fchdir.c (get_name): Likewise.
34215         Reported by Jim Meyering.
34216
34217 2009-10-02  Ben Pfaff  <blp@gnu.org>
34218
34219         relocatable-prog-wrapper: Add missing dependency on
34220         double-slash-root.
34221         * modules/relocatable-prog-wrapper: Add dependency.
34222         Reported by Ian Beckwith <ianb@erislabs.net>.
34223
34224 2009-10-02  Eric Blake  <ebb9@byu.net>
34225
34226         renameat: fix Solaris bugs
34227         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34228         needed fixing.
34229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34230         * modules/stdio (Makefile.am): Substitute it.
34231         * lib/stdio.in.h (renameat): Declare replacement.
34232         * lib/renameat.c (rpl_renameat): Implement fix.
34233
34234         renameat: new module
34235         * modules/renameat: New file.
34236         * lib/renameat.c (renameat): Likewise.
34237         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34239         * modules/stdio (Makefile.am): Substitute them.
34240         * lib/stdio.in.h (renameat): Declare it.
34241         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34242         * doc/posix-functions/renameat.texi (renameat): Likewise.
34243         * modules/renameat-tests: New test.
34244         * tests/test-renameat.c: Likewise.
34245
34246         rename: fix mingw bugs
34247         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34248         directory overwrite bugs.
34249
34250         rename: fix another cygwin 1.5 bug
34251         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34252         checks.
34253         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34254         unnecessary cygwin workarounds.  Also work around bug with moving
34255         full directory onto an empty one.
34256         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34257
34258         rename-dest-slash: merge into rename module
34259         * modules/rename-dest-slash (Status): Mark obsolete.
34260         (Depends-on): Add rename.
34261         (Files): Let rename do it all.
34262         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34263         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34264         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34265         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34266         * lib/rename.c (rpl_rename): Update comments.
34267
34268         rename: fix cygwin 1.5.x bugs
34269         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34270         * lib/rename.c (rpl_rename): Work around them.
34271         * modules/rename (Depends-on): Add same-inode.
34272
34273         rename: fix Solaris 10 bug
34274         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34275         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34276         was the only bug.
34277
34278         rename: fix Solaris 9 bug
34279         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34280         on non-directory.  Avoid calling exit.
34281         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34282         strdup.
34283         * modules/rename-tests (Depends-on): Drop lstat.
34284         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34285         (gl_PREREQ_RENAME): Delete unused macro.
34286
34287         rename-dest-slash: fix NetBSD bug
34288         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34289         links.
34290         * modules/rename-dest-slash (Depends-on): Add same-inode.
34291
34292         rename-tests: new test, exposes several platform bugs
34293         * modules/rename-tests: New file.
34294         * tests/test-rename.h: Likewise.
34295         * tests/test-rename.c: Likewise.
34296         * doc/posix-functions/rename.texi (rename): Improve documentation,
34297         including bugs that will eventually be fixed in gnulib.
34298
34299 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34300
34301         * lib/uname.c: Include <stdlib.h>
34302         (uname): Assume version info is available.
34303
34304 2009-10-02  Jim Meyering  <meyering@redhat.com>
34305
34306         gnu-web-doc-update: correct --help output
34307         * build-aux/gnu-web-doc-update: Make --help output relevant.
34308
34309         gnu-web-doc-update: add standard options
34310         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34311
34312         gnu-web-doc-update: New module.
34313         Use this script to automatically update the on-line web documentation
34314         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34315         * modules/gnu-web-doc-update: New file, from coreutils.
34316         * build-aux/gnu-web-doc-update: New script.
34317
34318 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34319
34320         link: LoadLibrary is not needed.
34321         * lib/link.c: Use GetModuleHandle.
34322
34323 2009-10-01  Eric Blake  <ebb9@byu.net>
34324
34325         getopt: bump serial number
34326         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34327         change.
34328
34329         tests: tighten link, rmdir, and remove tests
34330         * tests/test-link.h (includes): No need to use <config.h> here.
34331         Clean up if directory hard link was created, otherwise test for
34332         trailing '.'.
34333         * tests/test-linkat.c (main): Simplify.
34334         * tests/test-remove.c (main): Enhance test for trailing '.'.
34335         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34336
34337 2009-10-01  Jim Meyering  <meyering@redhat.com>
34338
34339         maint.mk: requiring "make major" was annoying, for a "minor" release.
34340         What is intended is "stable", to contrast with alpha and beta,
34341         so require "make stable", not "make major".
34342         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34343         (get_tool_versions): Likewise.
34344         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34345
34346 2009-09-30  Ben Pfaff  <blp@gnu.org>
34347
34348         Fix broken build of replacement for Windows tmpfile().
34349         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34350         flags argument added along with the 'mkostemp' module.
34351
34352 2009-09-28  Bruno Haible  <bruno@clisp.org>
34353
34354         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34355         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34356         to 'remove_elt'.
34357         (gl_list_remove): Update.
34358         * lib/gl_list.c (gl_list_remove): Update.
34359         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34360         to 'remove_elt'.
34361         (gl_oset_remove): Update.
34362         * lib/gl_list.c (gl_oset_remove): Update.
34363         Reported by Eric Blake.
34364
34365 2009-09-28  Eric Blake  <ebb9@byu.net>
34366
34367         doc: mention yet more cygwin 1.7 status
34368         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34369         cygwin.
34370         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34371         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34372
34373         argp: fix test failure
34374         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34375         that are not upper-case.  Pass correct range to tolower.
34376
34377 2009-09-27  Jim Meyering  <meyering@redhat.com>
34378
34379         test-yesno: work around sparc-dash here-document infelicity
34380         Without this change, the literal \177 byte in a here document
34381         would make dash 0.5.5.1-3 access uninitialized memory.
34382         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34383         Instead, use a marker, "@", and filter through tr to create the desired
34384         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34385
34386 2009-09-27  Bruno Haible  <bruno@clisp.org>
34387
34388         Disable untested support for new flavours of ACLs on AIX.
34389         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34390         progress.
34391         * lib/set-mode-acl.c (qset_acl): Likewise.
34392
34393 2008-12-07  Bruno Haible  <bruno@clisp.org>
34394
34395         Add support for new flavours of ACLs on AIX. (Untested.)
34396         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34397         (file_has_acl): Add support for newer AIX.
34398         * lib/set-mode-acl.c (qset_acl): Likewise.
34399         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34400         Rainer Tammer <tammer@tammer.net>.
34401
34402 2009-09-26  Eric Blake  <ebb9@byu.net>
34403
34404         argp: fix compilation of getopt
34405         * lib/getopt.in.h (includes): Use different guard than glibc.
34406         Reported by Sergey Poznyakoff.
34407
34408         doc: mention more cygwin 1.7 status
34409         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34410         bug.
34411         * doc/posix-functions/execl.texi (execl): Likewise.
34412         * doc/posix-functions/execle.texi (execle): Likewise.
34413         * doc/posix-functions/execlp.texi (execlp): Likewise.
34414         * doc/posix-functions/execv.texi (execv): Likewise.
34415         * doc/posix-functions/execve.texi (execve): Likewise.
34416         * doc/posix-functions/execvp.texi (execvp): Likewise.
34417         * doc/glibc-functions/canonicalize_file_name.texi
34418         (canonicalize_file_name): Cygwin 1.7 now provides this.
34419         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34420         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34421         on AT_SYMLINK_NOFOLLOW.
34422
34423 2009-09-24  Eric Blake  <ebb9@byu.net>
34424
34425         test-linkat: make test more robust
34426         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34427
34428         getopt: fix inclusion guards for cygwin
34429         * modules/getopt-posix (Depends-on): Add include-next.
34430         (Makefile.am): Substitute more items in replacement header.
34431         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34432         <getopt.h>.
34433         * lib/getopt.in.h (includes): Use split inclusion guard, and
34434         prefer <getopt.h> over include <unistd.h> when one is present.
34435         (option): Also override name of 'struct option'.
34436
34437         same-inode: revert prior change; it is not yet ready
34438         * NEWS: Undo mention of this change.
34439         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34440         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34441         * lib/cycle-check.c (cycle_check): Likewise.
34442         * lib/same.c (same_name): Likewise.
34443         * lib/at-func2.c (at_func2): Likewise.
34444
34445 2009-09-23  Eric Blake  <ebb9@byu.net>
34446
34447         linkat: new module
34448         * modules/linkat: New file.
34449         * lib/at-func2.c (at_func2): Likewise.
34450         * lib/linkat.c (linkat): Likewise.
34451         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34452         * lib/openat-priv.h (at_func2): Add declaration.
34453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34454         * modules/unistd (Makefile.am): Substitute them.
34455         * lib/unistd.in.h (linkat): Declare it.
34456         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34457         * doc/posix-functions/linkat.texi (linkat): Likewise.
34458         * doc/posix-functions/link.texi (link): Tweak wording.
34459         * tests/test-link.c (main): Move guts...
34460         * tests/test-link.h (test_link): ...into new file.
34461         * modules/linkat-tests: New test.
34462         * tests/test-linkat.c: Likewise.
34463         * modules/link-tests (Files): Ship new file.
34464         (Depends-on): Add stdbool.
34465
34466         dirname: add library-safe mdir_name
34467         * lib/dirname.h (mdir_name): New prototype.
34468         * lib/dirname.c (dir_name): Move guts...
34469         (mdir_name): ...to new function that avoids xalloc_die.
34470
34471         fchdir: another mingw fix
34472         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34473         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34474         on mingw (where it has not yet been ported), and make it optional
34475         elsewhere.
34476         (_gl_register_fd): Use it.
34477
34478         same-inode: make SAME_INODE tri-state, to port to mingw
34479         * NEWS: Mention this change.
34480         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34481         st_ino always being 0.
34482         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34483         * lib/cycle-check.c (cycle_check): Likewise.
34484         * lib/same.c (same_name): Likewise.
34485
34486         lstat: avoid mingw compilation error
34487         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34488         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34489         lstat ourselves.
34490         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34491         was adequate.
34492         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34493         the checks for lstat.
34494         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34495
34496         link: fix test failure on Solaris 9
34497         * lib/link.c (rpl_link): Don't assume link will catch bogus
34498         trailing slash on source.
34499
34500         test-symlinkat: enhance test
34501         * tests/test-readlink.c (main): Move guts...
34502         * tests/test-readlink.h (test_readlink): ...into new file.
34503         * tests/test-symlink.c (main): Move guts...
34504         * tests/test-symlink.h (test_symlink): ...into new file.
34505         * tests/test-symlinkat.c (main): Use new files for further
34506         coverage.
34507         (do_symlink, do_readlink): New helper functions.
34508         * modules/symlink-tests (Files): Ship new file.
34509         (Depends-on): Add stdbool.
34510         * modules/readlink-tests (Files): Ship new file.
34511         (Depends-on): Add stdbool.
34512         * modules/symlinkat-tests (Files): Use new files.
34513
34514 2009-09-23  Eric Blake  <ebb9@byu.net>
34515
34516         readlink: document portability issue with symlink length
34517         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34518         systems have bogus st_size on symlinks, and mention the
34519         areadlink-with-size module.
34520         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34521         * doc/posix-functions/readlink.texi (readlink): Mention the
34522         areadlink module, and ERANGE failure.
34523         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34524         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34525
34526         readlink: fix Solaris 9 bug with trailing slash
34527         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34528         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34529         * doc/posix-functions/readlink.texi (readlink): Document this.
34530         * modules/readlink-tests: New test.
34531         * tests/test-readlink.c: Likewise.
34532
34533         readlink: fix cygwin 1.5.x bug with return type
34534         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34535         * lib/unistd.in.h (readlink): Use ssize_t.
34536         * lib/readlink.c (readlink): Likewise.
34537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34538         * modules/unistd (Makefile.am): Substitute it.
34539         * lib/unistd.in.h (readlink): Declare replacement.
34540         * doc/posix-functions/readlink.texi (readlink): Document this.
34541
34542         symlink: use throughout gnulib
34543         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34544         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34545         symlink is not used.
34546         * modules/symlinkat (Depends-on): Add symlink.
34547         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34548         * modules/canonicalize-tests (Depends-on): Likewise.
34549         * modules/lstat-tests (Depends-on): Likewise.
34550         * modules/openat-tests (Depends-on): Likewise.
34551         * modules/remove-tests (Depends-on): Likewise.
34552         * modules/rmdir-tests (Depends-on): Likewise.
34553         * modules/unlink-tests (Depends-on): Likewise.
34554         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34555         * tests/test-canonicalize.c (symlink): Likewise.
34556         * tests/test-fstatat.c (symlink): Likewise.
34557         * tests/test-lstat.c (symlink): Likewise.
34558         * tests/test-remove.c (symlink): Likewise.
34559         * tests/test-rmdir.c (symlink): Likewise.
34560         * tests/test-unlink.c (symlink): Likewise.
34561         * tests/test-unlinkat.c (symlink): Likewise.
34562
34563         symlink: new module, for Solaris 9 bug
34564         * modules/symlink: New file.
34565         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34566         * lib/symlink.c: Likewise.
34567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34568         * modules/unistd (Makefile.am): Substitute them.
34569         * lib/unistd.in.h (symlink): Declare replacement.
34570         * MODULES.html.sh (File system functions): Mention it.
34571         * doc/posix-functions/symlink.texi (symlink): Likewise.
34572         * modules/symlink-tests: New test.
34573         * tests/test-symlink.c: Likewise.
34574
34575 2009-09-23  Bruno Haible  <bruno@clisp.org>
34576
34577         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34578         when needed.
34579         Test case: gnulib-tool --import --with-tests atexit inttypes.
34580         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34581
34582 2009-09-23  Bruno Haible  <bruno@clisp.org>
34583
34584         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34585         subcommand, not in a subshell.
34586
34587 2009-09-22  Eric Blake  <ebb9@byu.net>
34588
34589         unistd: sort replacement declarations
34590         * lib/unistd.in.h: Sort declarations.
34591
34592         open, openat: minor optimization
34593         * lib/open.c (open): If open succeeded, len is non-zero.
34594         * lib/openat.c (rpl_openat): Likewise.
34595
34596         link-follow: ensure correct result
34597         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34598         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34599         distinguish between possible failures.
34600
34601 2009-09-21  Eric Blake  <ebb9@byu.net>
34602
34603         fts: avoid compiler warning
34604         * lib/fts.c (dirent_inode_sort_may_be_useful)
34605         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34606
34607 2009-09-19  Bruno Haible  <bruno@clisp.org>
34608
34609         * lib/progreloc.c (canonicalize_file_name): New declaration.
34610
34611 2009-09-19  Eric Blake  <ebb9@byu.net>
34612
34613         link: fix quoting
34614         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34615
34616         openat: fix openat bugs on Solaris 9
34617         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34618         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34619         * modules/openat (Depends-on): Add open.
34620         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34621         * modules/fcntl-h (Makefile.am): Substitute it.
34622         * lib/fcntl.in.h (openat): Declare replacement.
34623         * doc/posix-functions/openat.texi (openat): Document this.
34624
34625         openat: move fstatat and unlinkat into correct files
34626         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34627         compiled.
34628         * lib/openat.c (fstatat, unlinkat): Move...
34629         * lib/fstatat.c (fstatat): ...into correct files.
34630         * lib/unlinkat.c (unlinkat): Likewise.
34631
34632         openat: fix unlinkat bugs on Solaris 9
34633         * lib/unlinkat.c (unlinkat): New file.
34634         * modules/openat (Depends-on): Add unlink.
34635         (Files): Distribute it.
34636         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34637         trailing slash behavior is broken.
34638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34639         * modules/unistd (Makefile.am): Substitute it.
34640         * lib/unistd.in.h (unlinkat): Declare replacement.
34641         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34642
34643         openat: fix fstatat bugs on Solaris 9
34644         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34645         stat.
34646         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34647
34648         test-unlinkat: enhance test, to expose Solaris 9 bug
34649         * tests/test-unlink.c (main): Factor guts...
34650         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34651         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34652         * tests/test-rmdir.c (main): Adjust caller.
34653         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34654         (unlinker): New helper function.
34655         (rmdirat): Enhance check.
34656         * modules/rmdir-tests (Depends-on): Add stdbool.
34657         * modules/unlink-tests (Depends-on): Likewise.
34658         (Files): Add test-unlink.h.
34659         * modules/openat-tests (Files): Likewise.
34660         (Depends-on): Add unlinkdir.
34661
34662         test-fstatat: new test, to expose Solaris 9 bugs
34663         * tests/test-stat.c (main): Factor guts...
34664         * tests/test-stat.h (test_stat_func): ...into new file.
34665         * tests/test-lstat.c (main): Factor guts...
34666         * tests/test-lstat.h (test_lstat_func): ...into new file.
34667         * tests/test-fstatat.c: New file.
34668         * modules/stat-tests (Files): Add test-stat.h.
34669         * modules/lstat-tests (Files): Add test-lstat.h.
34670         (Depends-on): Add stdbool.
34671         * modules/openat-tests (Depends-on): Add pathmax.
34672         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34673         (Makefile.am): Run new test.
34674
34675         remove: new module, for mingw and Solaris 9 bugs
34676         * modules/remove: New file.
34677         * lib/remove.c: Likewise.
34678         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34680         * modules/stdio (Makefile.am): Use them.
34681         * lib/stdio.in.h (remove): Declare replacement.
34682         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34683         * doc/posix-functions/remove.texi (remove): Likewise.
34684         * modules/remove-tests: New test.
34685         * tests/test-remove.c: Likewise.
34686
34687         unlink: new module, for Solaris 9 bug
34688         * modules/unlink: New file.
34689         * lib/unlink.c: Likewise.
34690         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34692         * modules/unistd (Makefile.am): Use them.
34693         * lib/unistd.in.h (stat): Declare replacement.
34694         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34695         * doc/posix-functions/unlink.texi (unlink): Likewise.
34696         * modules/unlink-tests: New test.
34697         * tests/test-unlink.c: Likewise.
34698
34699         lstat: fix Solaris 9 bug
34700         * lib/lstat.c (lstat): Also check for trailing slash on
34701         non-symlink, non-directories.  Use stat module to simplify logic.
34702         * doc/posix-functions/lstat.texi (lstat): Document it.
34703         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34704         (configure.ac): Check for symlink.
34705         * tests/test-lstat.c (main): Add more tests.
34706
34707         stat: add as dependency to other modules
34708         * modules/chown (Depends-on): Add stat.
34709         * modules/euidaccess (Depends-on): Likewise.
34710         * modules/fchdir (Depends-on): Likewise.
34711         * modules/isdir (Depends-on): Likewise.
34712         * modules/link (Depends-on): Likewise.
34713         * modules/lstat (Depends-on): Likewise.
34714         * modules/mkdir-p (Depends-on): Likewise.
34715         * modules/modechange (Depends-on): Likewise.
34716         * modules/open (Depends-on): Likewise.
34717         * modules/readlink (Depends-on): Likewise.
34718         * modules/same (Depends-on): Likewise.
34719
34720         stat: fix Solaris 9 bug
34721         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34722         slash.
34723         * lib/stat.c (rpl_stat): Work around it.
34724         * doc/posix-functions/stat.texi (stat): Update documentation.
34725
34726         stat: new module, for mingw bug
34727         * modules/stat: New file.
34728         * lib/stat.c: Likewise.
34729         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34730         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34731         * modules/sys_stat (Makefile.am): Use them.
34732         * lib/sys_stat.in.h (stat): Declare replacement.
34733         * lib/openat.c (fstatat): Deal with lstat and stat being function
34734         macros.
34735         * modules/openat (Depends-on): Add inline.
34736         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34737         * doc/posix-functions/stat.texi (stat): Likewise.
34738         * modules/stat-tests: New test.
34739         * tests/test-stat.c: Likewise.
34740
34741 2009-09-19  Jim Meyering  <meyering@redhat.com>
34742
34743         syntax-check: detect unnecessary inclusion of canonicalize.h
34744         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34745
34746 2009-09-19  Eric Blake  <ebb9@byu.net>
34747
34748         canonicalize-lgpl: adjust clients to use correct header
34749         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34750         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34751         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34752         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34753         * lib/progreloc.c (includes): Likewise.
34754
34755 2009-09-19  Jim Meyering  <meyering@redhat.com>
34756
34757         test-posixtm.c: correct a comment
34758         * tests/test-posixtm.c: Correct first-line comment.
34759         Spotted by Eric Blake.
34760
34761 2009-09-16  Jim Meyering  <meyering@redhat.com>
34762
34763         posixtm-tests: make T const-correct; add a test case
34764         * tests/test-posixtm.c (T): Declare const.
34765         Add a test for -(2^31+1).
34766         Remove useless can-succeed-only-in-2002 test.
34767
34768         posixtm-tests: adjust the sole failing test
34769         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34770         expected output matches what mktime now produces.  Cross-checked via
34771         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34772
34773         posixtm: move #ifdef'd tests into a new module
34774         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34775         * tests/test-posixtm.c: ... this new file.
34776         * modules/posixtm-tests: New module.
34777
34778 2009-09-19  Eric Blake  <ebb9@byu.net>
34779
34780         openat: simplify use of at-func.c
34781         * lib/at-func.c (includes): Include prerequisites here, to
34782         simplify requirements on client files.
34783         * lib/openat-priv.h: Add double-inclusion guard.
34784         * lib/faccessat.c (includes): Simplify.
34785         * lib/fchmodat.c (includes): Likewise.
34786         * lib/fchownat.c (includes): Likewise.
34787         * lib/mkdirat.c (includes): Likewise.
34788         * lib/mkfifoat.c (includes): Likewise.
34789         * lib/symlinkat.c (includes): Likewise.
34790
34791         openat: allow return of fd 0
34792         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34793         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34794         unistd-safer.
34795         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34796         <fcntl.h>; this module does not leak fds.
34797         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34798         must be allowed to return 0, leaving openat_safer to add the
34799         safety.
34800         (openat_permissive): Avoid writing to just-opened fd 2 if
34801         restoring the current directory fails.
34802         * lib/openat-die.c (openat_restore_fail): Add comment.
34803         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34804         (save_cwd): Guarantee safe fd, but without use of open_safer.
34805         * tests/test-openat.c: New test.
34806         * modules/openat-tests (Files, Makefile.am): Distribute and build
34807         new file.
34808
34809         relocatable-prog-wrapper: fix build
34810         * modules/relocatable-prog-wrapper (Files): Update name of
34811         canonicalize m4 file, broken on 2009-09-17.
34812         Reported by emad hajjar <aleppos@hotmail.com>.
34813
34814 2009-09-19  Bruno Haible  <bruno@clisp.org>
34815
34816         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34817         * lib/safe-alloc.c: Likewise.
34818         Reported by Ian Beckwith <ianb@erislabs.net>.
34819
34820 2009-09-18  Bruno Haible  <bruno@clisp.org>
34821
34822         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34823         Reported by <erobles@sensacd.com.mx>.
34824
34825 2009-09-17  Eric Blake  <ebb9@byu.net>
34826
34827         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34828         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34829         slashes when checking if last component is missing.
34830         * tests/test-canonicalize.c (main): Test this.
34831
34832         canonicalize, canonicalize-lgpl: honor // if distinct from /
34833         * modules/canonicalize (Files): Add double-slash-root.m4.
34834         * modules/canonicalize-lgpl (Files): Likewise.
34835         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34836         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34837         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34838         fallback definition.
34839         (canonicalize_filename_mode): Use it to protect //.
34840         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34841         (__realpath): Likewise.
34842         * tests/test-canonicalize.c (main): Test this.
34843         * tests/test-canonicalize-lgpl.c (main): Likewise.
34844         * modules/canonicalize-tests (Depends-on): Add same-inode.
34845         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34846
34847         canonicalize-lgpl: fix glibc bug with trailing slash
34848         * m4/canonicalize-lgpl.m4: Move contents...
34849         * m4/canonicalize.m4: ...here.
34850         (gl_CANONICALIZE_LGPL): Factor realpath check...
34851         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34852         glibc 2.3.5 bug, fixed 2005-04-27.
34853         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34854         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34855         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34856         * modules/canonicalize-lgpl (Files): Manage file rename.
34857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34858         * modules/stdlib (Makefile.am): Substitute witness.
34859         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34860         is needed.
34861         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34862         replacement is required.
34863         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34864         * doc/glibc-functions/canonicalize_file_name.texi
34865         (canonicalize_file_name): Document this.
34866         * doc/posix-functions/realpath.texi (realpath): Likewise.
34867
34868         canonicalize-lgpl: reject non-directory with trailing slash
34869         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34870         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34871         catches failures in glibc 2.3.5.
34872         * tests/test-canonicalize.c (main): Likewise.
34873
34874         canonicalize-lgpl: use native realpath if it works
34875         * lib/canonicalize-lgpl.c (realpath): Guard with
34876         FUNC_REALPATH_WORKS.
34877         * lib/stdlib.in.h (realpath): Make declaration optional based on
34878         HAVE_REALPATH.
34879         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34880         native realpath works.
34881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34882         * modules/stdlib (Makefile.am): Substitute witness.
34883
34884         canonicalize, canonicalize-lgpl: use <stdlib.h>
34885         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34886         (Include): Mention <stdlib.h>.
34887         (configure.ac): Mention functions we provide.
34888         * modules/canonicalize (configure.ac): Likewise.
34889         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34890         realpath if canonicalize_file_name is missing.
34891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34892         * modules/stdlib (Makefile.am): Substitute witnesses.
34893         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34894         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34895         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34896         * NEWS: Document this.
34897         * doc/glibc-functions/canonicalize_file_name.texi
34898         (canonicalize_file_name): Likewise.
34899         * doc/posix-functions/realpath.texi (realpath): Likewise.
34900         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34901
34902         test-canonicalize: consolidate into single C program
34903         * tests/test-canonicalize.sh: Delete; move setup into...
34904         * tests/test-canonicalize.c (main): ...the program, making it
34905         easier to run in debugger.  Add some tests.
34906         * modules/canonicalize-tests (Files): Remove unused file.
34907         (Depends-on): Add progname.
34908         (configure.ac, Makefile.am): Simplify.
34909
34910         test-canonicalize-lgpl: consolidate into single C program
34911         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34912         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34913         easier to run in debugger.  Add some tests.
34914         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34915         (configure.ac, Makefile.am): Simplify.
34916
34917         canonicalize: avoid resolvepath
34918         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34919         unnecessary checks.
34920         * lib/canonicalize.c (includes): Simplify.
34921         (canonicalize_file_name): Drop resolvepath implementation.
34922         * modules/canonicalize (Depends-on): Drop filenamecat.
34923
34924         canonicalize: don't lose errno
34925         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34926         over calls to free.
34927
34928         canonicalize: simplify errno handling
34929         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34930         assignment.
34931
34932         canonicalize, canonicalize-lgpl: update module dependencies
34933         * modules/canonicalize (Depends-on): Add extensions, lstat,
34934         pathmax, stdlib.
34935         (Files): Drop pathmax.h.
34936         (configure.ac): Adjust macro name.
34937         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34938         lstat, stdlib, sys_stat.
34939         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34940         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34941         extensions.
34942         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34943         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34944         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34945         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34946         declaration, if available.
34947         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34948         we can rely on the readlink module.
34949         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34950         (includes): Use <unistd.h> unconditionally.
34951
34952 2009-09-17  Eric Blake  <ebb9@byu.net>
34953
34954         maint: make Include sections of modules consistent
34955         * modules/alloca: Use only header name; no need to list #include.
34956         * modules/alloca-opt: Likewise.
34957         * modules/arpa_inet: Likewise.
34958         * modules/canon-host: Likewise.
34959         * modules/configmake: Likewise.
34960         * modules/dirent: Likewise.
34961         * modules/eealloc: Likewise.
34962         * modules/environ: Likewise.
34963         * modules/fchdir: Likewise.
34964         * modules/fcntl: Likewise.
34965         * modules/fcntl-h: Likewise.
34966         * modules/gethrxtime: Likewise.
34967         * modules/gettime: Likewise.
34968         * modules/ignore-value: Likewise.
34969         * modules/inet_ntop: Likewise.
34970         * modules/inet_pton: Likewise.
34971         * modules/inttypes: Likewise.
34972         * modules/isnand-nolibm: Likewise.
34973         * modules/isnanf-nolibm: Likewise.
34974         * modules/mbchar: Likewise.
34975         * modules/mbfile: Likewise.
34976         * modules/mbiter: Likewise.
34977         * modules/mbuiter: Likewise.
34978         * modules/netdb: Likewise.
34979         * modules/netinet_in: Likewise.
34980         * modules/nproc: Likewise.
34981         * modules/pagealign_alloc: Likewise.
34982         * modules/poll: Likewise.
34983         * modules/printf-frexp: Likewise.
34984         * modules/pthread: Likewise.
34985         * modules/putenv: Likewise.
34986         * modules/random_r: Likewise.
34987         * modules/relocatable-prog: Likewise.
34988         * modules/search: Likewise.
34989         * modules/select: Likewise.
34990         * modules/selinux-h: Likewise.
34991         * modules/settime: Likewise.
34992         * modules/signal: Likewise.
34993         * modules/size_max: Likewise.
34994         * modules/socklen: Likewise.
34995         * modules/ssize_t: Likewise.
34996         * modules/stdarg: Likewise.
34997         * modules/stdbool: Likewise.
34998         * modules/stddef: Likewise.
34999         * modules/stdint: Likewise.
35000         * modules/stdio: Likewise.
35001         * modules/stdlib: Likewise.
35002         * modules/string: Likewise.
35003         * modules/strings: Likewise.
35004         * modules/sys_file: Likewise.
35005         * modules/sys_ioctl: Likewise.
35006         * modules/sys_select: Likewise.
35007         * modules/sys_socket: Likewise.
35008         * modules/sys_stat: Likewise.
35009         * modules/sys_time: Likewise.
35010         * modules/sys_times: Likewise.
35011         * modules/sys_utsname: Likewise.
35012         * modules/sys_wait: Likewise.
35013         * modules/sysexits: Likewise.
35014         * modules/time: Likewise.
35015         * modules/times: Likewise.
35016         * modules/tmpfile: Likewise.
35017         * modules/trim: Likewise.
35018         * modules/unistd: Likewise.
35019         * modules/wchar: Likewise.
35020         * modules/wctype: Likewise.
35021
35022 2009-09-17  Bruno Haible  <bruno@clisp.org>
35023
35024         Make getdate.y compile on QNX and NetBSD 5 / i386.
35025         * m4/getdate.m4 (gl_GETDATE): Conditionally define
35026         TIME_T_FITS_IN_LONG_INT.
35027         * lib/getdate.y (long_time_t): New type.
35028         (relative_time): Change type of 'seconds' field to long_time_t.
35029         (get_date): Update types of local variables. Check against overflow
35030         during conversion from long_time_t to time_t.
35031         Reported by Matt Kraai <kraai@ftbfs.org>
35032         and Hasso Tepper <hasso@netbsd.org>.
35033
35034 2009-09-17  Bruno Haible  <bruno@clisp.org>
35035
35036         * modules/COPYING: Update copyright years.
35037         * modules/README: Likeiwse.
35038         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
35039         Reported by Ian Beckwith <ianb@erislabs.net>.
35040
35041 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35042
35043         * users.txt: Update references for gnuit package.
35044
35045 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
35046
35047         * m4/getdelim.m4: Fix typo in copyright line.
35048
35049 2009-09-17  Bruno Haible  <bruno@clisp.org>
35050
35051         * lib/atoll.c: Use the standard header with GPL copyright.
35052         * lib/argz.in.h: Likewise.
35053         * lib/glob.c: Likewise.
35054         * lib/glob-libc.h: Likewise.
35055         * lib/random_r.c: Likewise.
35056         * lib/siglist.h: Likewise.
35057         * lib/strsignal.c: Likewise.
35058         Reported by Ian Beckwith <ianb@erislabs.net>.
35059
35060 2009-09-17  Eric Blake  <ebb9@byu.net>
35061
35062         rmdir: ensure correct dependency order
35063         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
35064
35065 2009-09-17  Bruno Haible  <bruno@clisp.org>
35066
35067         Disable assertion that fails on NetBSD 5 / i386.
35068         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
35069         Reported by Sam Steingold <sds@gnu.org>
35070         and Hasso Tepper <hasso@netbsd.org>.
35071
35072 2009-09-16  Eric Blake  <ebb9@byu.net>
35073
35074         unlinkdir: port to mingw
35075         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
35076         on which no one can unlink a directory.
35077
35078         stdlib: sort witness names
35079         * modules/stdlib (Makefile.am): Sort replacements.
35080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
35081         * lib/stdlib.in.h: Likewise.
35082
35083         parse-duration-tests: avoid link failure
35084         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
35085         LIBINTL.
35086         Reported by Tom G. Christensen.
35087
35088         openat-tests: ensure unlinkat behaves like rmdir
35089         * tests/test-rmdir.c (main): Factor guts...
35090         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
35091         * modules/rmdir-tests (Files): Ship new file.
35092         * modules/openat-tests: New test.
35093         * tests/test-unlinkat.c: Likewise.
35094
35095         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
35096         * modules/rmdir-errno (Status, Notice): Now obsolete.
35097
35098         rmdir: work around cygwin 1.5.x and mingw bugs
35099         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
35100         * lib/rmdir.c (rmdir): Work around it.
35101         * modules/rmdir (Status, Notice): No longer obsolete.
35102         (Files): Add dos.m4.
35103         (Depends-on): Add unistd.
35104         (configure.ac): Set witnesses.
35105         (License): Relax to LGPLv2+.
35106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
35107         * modules/unistd (Makefile.am): Substitute witnesses.
35108         * lib/unistd.in.h (rmdir): Declare replacement.
35109         * doc/posix-functions/rmdir.texi (rmdir): Document this.
35110         * modules/rmdir-tests: New tests.
35111         * tests/test-rmdir.c: Likewise.
35112
35113 2009-09-15  Eric Blake  <ebb9@byu.net>
35114
35115         fchdir: improve use of replacement functions
35116         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
35117         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
35118         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
35119         REPLACE_CLOSEDIR.
35120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
35121         * modules/sys_stat (Makefile.am): Substitute correct witness.
35122         * modules/dirent (Makefile.am): Likewise.
35123         * modules/unistd (Makefile.am): Likewise.
35124         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
35125         * lib/unistd.in.h (dup): Likewise.
35126         * lib/sys_stat.in.h (fstat): Likewise.
35127
35128         maint: ignore gnulib-tool temp files
35129         * .gitignore: Ignore files created during gnulib-tool --test.
35130
35131 2009-09-13  Jim Meyering  <meyering@redhat.com>
35132
35133         posixtm: don't reject a time that specify "60" as the number of seconds
35134         * lib/posixtm.c (posixtime): The code to reject invalid dates
35135         would also reject a time specified with the .60 suffix.
35136         But POSIX allows that, in order to accommodate leap seconds.
35137         So don't reject it.
35138         (main): Adjust tests accordingly.
35139         * modules/posixtm (Depends-on): Add stpcpy.
35140
35141 2009-09-11  Jim Meyering  <meyering@redhat.com>
35142
35143         announce-gen: include [$release_type] in emitted Subject:
35144         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
35145         e.g., [stable] in the emitted Subject: line.
35146
35147 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35148
35149         Remove obsolete macros from several modules.
35150         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
35151         obsolete Autoconf macros with their modern counterparts.
35152         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
35153         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
35154         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
35155         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35156         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
35157         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35158         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35159         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35160         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35161         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
35162         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35163         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35164         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
35165         * m4/sockets.m4 (gl_SOCKETS): Likewise.
35166         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
35167         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
35168         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35169         * m4/time_r.m4 (gl_TIME_R): Likewise.
35170         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35171         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35172         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35173
35174         Fix copyright header in build-aux scripts.
35175         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35176         recommendation.
35177         * build-aux/ncftpput-ftp: Likewise.
35178         * build-aux/update-copyright: Likewise.
35179
35180 2009-09-09  Eric Blake  <ebb9@byu.net>
35181
35182         test-link: allow Linux choice of errno
35183         * tests/test-link.c (main): Relax test for alternate error.
35184
35185         strndup: fix improper m4 caching
35186         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35187         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35188         (gl_PREREQ_STRNDUP): Delete.
35189         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35190         * modules/string (Makefile.am): Substitute it.
35191         * lib/string.in.h (strndup): Modernize prototype.
35192
35193         getcwd: port to mingw
35194         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35195         different from the POSIX assumptions made throughout the getcwd
35196         module; fortunately, the mingw getcwd does not need replacement.
35197         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35198         * modules/getcwd-tests: New test.
35199         * tests/test-getcwd.c: Likewise.
35200
35201         link: fix platform bugs
35202         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35203         * lib/link.c (link): Work around them.  Fix related mingw bug.
35204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35205         * modules/unistd (Makefile.am): Substitute it.
35206         * lib/unistd.in.h (link): Declare replacement.
35207         * doc/posix-functions/link.texi (link): Document this.
35208         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35209
35210         test-link: consolidate into single C program, test more cases
35211         * tests/test-link.sh: Delete.
35212         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35213         at least Cygwin and Solaris.
35214         * modules/link-tests (Files): Remove unused file.
35215         (Depends-on): Add errno, sys_stat.
35216         (Makefile.am): Simplify.
35217
35218 2009-09-08  Bruno Haible  <bruno@clisp.org>
35219
35220         Work around towlower, towupper bug on mingw.
35221         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35222         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35223         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35224         * doc/posix-functions/towupper.texi: Likewise.
35225         Reported by Eric Blake.
35226
35227 2009-09-08  Jim Meyering  <meyering@redhat.com>
35228
35229         build: don't try to run autoheader if we don't use it
35230         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35231         is not used in configure.ac.
35232
35233 2009-09-08  Eric Blake  <ebb9@byu.net>
35234
35235         euidaccess: fix compilation error
35236         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35237
35238         rawmemchr: relax license
35239         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35240         okay.
35241         Reported by Jim Meyering.
35242
35243         mkfifoat: new module
35244         * modules/mkfifoat: New file.
35245         * lib/mkfifoat.c: Likewise.
35246         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35247         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35248         * modules/sys_stat (Makefile.am): Use them.
35249         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35250         * MODULES.html.sh (File system functions): Mention module.
35251         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35252         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35253         * modules/mkfifoat-tests: New test.
35254         * tests/test-mkfifoat.c: Likewise.
35255
35256         strchrnul: relax license
35257         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35258         okay.
35259         Reported by Jim Meyering.
35260
35261 2009-09-08  Eric Blake  <ebb9@byu.net>
35262
35263         fstatat: fix compilation on Solaris
35264         * lib/fstatat.c (includes): Add fcntl.h.
35265         Reported by Pádraig Brady.
35266
35267 2009-09-07  Eric Blake  <ebb9@byu.net>
35268
35269         rename: modernize replacement
35270         * modules/rename (Depends-on): Add stdio.
35271         (configure.ac): Declare witness.
35272         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35273         stdio take care of replacement.
35274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35275         * modules/stdio (Makefile.am): Substitute them.
35276         * lib/stdio.in.h (rename): Declare replacement.
35277         * lib/rename.c (includes): Allow cross-compilation to non-windows
35278         machines.
35279         * doc/posix-functions/rename.texi (rename): Improve
35280         documentation.
35281
35282         stdio: sort witness names
35283         * modules/stdio (Makefile.am): Sort replacements.
35284         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35285         * lib/stdio.in.h: Likewise.
35286
35287         getcwd: minor cleanups
35288         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35289         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35290
35291         openat: provide more convenience names
35292         * modules/faccessat (configure.ac): Add C witness.
35293         * lib/unistd.in.h (readlinkat): Fix typo.
35294         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35295         convenience wrappers.
35296         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35297         wrappers in syntax checks.
35298
35299 2009-09-06  Eric Blake  <ebb9@byu.net>
35300
35301         doc: fix comments in recent patches
35302         * lib/faccessat.c: Mention correct function.
35303         * lib/fchmodat.c: Likewise.
35304         * lib/fchownat.c: Likewise.
35305         * lib/symlinkat.c: Likewise.
35306         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35307         constants.
35308
35309         faccessat, symlinkat: continue cleanup of previous patch
35310         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35311         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35312         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35314         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35315         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35316         set.
35317
35318 2009-09-06  Bruno Haible  <bruno@clisp.org>
35319
35320         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35321         (fstatat): Declare if GNULIB_FSTATAT is set.
35322         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35323         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35324         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35325         * modules/fcntl-h (Files): Remove m4/openat.m4.
35326         * modules/sys_stat (Files): Remove m4/openat.m4.
35327         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35328         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35329         * modules/unistd (Files): Remove m4/openat.m4.
35330         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35331         GNULIB_OPENAT.
35332         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35333         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35334         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35335         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35336         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35337         gl_OPENAT_DEFAULTS.
35338         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35339         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35340         Don't require gl_OPENAT_DEFAULTS.
35341         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35342         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35343         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35344         (gl_OPENAT_DEFAULTS): Remove macro.
35345
35346 2009-09-06  Bruno Haible  <bruno@clisp.org>
35347
35348         * modules/openat (configure.ac): Remove unneeded witness.
35349
35350 2009-09-06  Bruno Haible  <bruno@clisp.org>
35351
35352         Set errno to ENOSYS when a function is entirely unsupported.
35353         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35354         EOPNOTSUPP.
35355         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35356         * modules/chown (Depends-on): Remove errno.
35357
35358 2009-09-06  Bruno Haible  <bruno@clisp.org>
35359
35360         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35361
35362 2009-09-06  Bruno Haible  <bruno@clisp.org>
35363
35364         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35365
35366 2009-09-06  Ben Pfaff  <blp@gnu.org>
35367             Bruno Haible  <bruno@clisp.org>
35368
35369         Work around a glibc bug in strtok_r.
35370         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35371         Undefine if UNDEFINE_STRTOK_R is set.
35372         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35373         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35374         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35375         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35376         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35377         UNDEFINE_STRTOK_R.
35378         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35379
35380 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35381
35382         exclude: minor fix
35383         * lib/exclude.c: Include wctype.h
35384
35385 2009-09-06  Akim Demaille  <demaille@gostai.com>
35386
35387         bootstrap: improve error message
35388         * build-aux/bootstrap (find_tool): Upon failure, report the list
35389         of candidates.
35390         Honor the initial value of the envvar.
35391
35392 2009-09-05  Eric Blake  <ebb9@byu.net>
35393
35394         symlinkat: new module
35395         * modules/symlinkat: New file.
35396         * lib/symlinkat.c: Likewise.
35397         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35399         * modules/unistd (Makefile.am): Use them.
35400         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35401         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35402         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35403         * MODULES.html.sh (File system functions): Mention module.
35404         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35405         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35406         * modules/symlinkat-tests: New test.
35407         * tests/test-symlinkat.c: Likewise.
35408
35409         test-openat-safer: add more checks
35410         * tests/test-openat-safer.c (main): Check more code paths.
35411
35412 2009-09-05  Jim Meyering  <meyering@redhat.com>
35413
35414         syntax-check: detect unnecessary inclusion of openat.h
35415         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35416
35417 2009-09-05  Bruno Haible  <bruno@clisp.org>
35418
35419         Support towlower, towupper.
35420         * doc/posix-functions/towlower.texi: Mention module wctype.
35421         * doc/posix-functions/towupper.texi: Likewise.
35422         * lib/wctype.in.h (towlower, towupper): New functions.
35423         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35424         (ASSERT): New macro.
35425         (e): New variable.
35426         (main): Test also towlower, towupper. Test WEOF argument.
35427         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35428
35429 2009-09-05  Bruno Haible  <bruno@clisp.org>
35430
35431         Fix conversion behaviour when the input is invalid.
35432         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35433         mark occurring in first pass of indirect conversion.
35434         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35435         input.
35436         Found by clang's static analyzer.
35437
35438 2009-09-05  Bruno Haible  <bruno@clisp.org>
35439
35440         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35441         where direct conversion is possible.
35442
35443 2009-09-04  Eric Blake  <ebb9@byu.net>
35444
35445         openat: fail with ENOENT on empty name
35446         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35447         buffer.
35448
35449         link-follow: fix logic bug in prior patch
35450         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35451         reversed sense of yes and no in prior patch.  Avoid confusing
35452         compilation failure with desired semantics.
35453
35454         link-follow: accomodate mingw and cross-compilation
35455         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35456         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35457         cross-compilation results to -1, to make linkat easier to
35458         implement when cross-compiling.  Trivially support mingw.
35459         * modules/link-follow (configure.ac): Call new name.
35460         * NEWS: Mention this.
35461
35462 2009-09-03  Eric Blake  <ebb9@byu.net>
35463
35464         faccessat: compile replacement
35465         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35466         needed.
35467
35468         fts: fix compilation error
35469         * lib/fts.c (includes): Re-add "openat.h", for
35470         openat_needs_fchdir.
35471
35472         faccessat: new module
35473         * modules/faccessat: New file.
35474         * lib/faccessat.c: Likewise.
35475         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35477         * modules/unistd (Makefile.am): Use it.
35478         * lib/unistd.in.h (faccessat): Declare it.
35479         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35480         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35481         * MODULES.html.sh (File system functions): Mention it.
35482         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35483         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35484
35485         euidaccess: prefer POSIX over non-standard implementation
35486         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35487         * lib/euidaccess.c (euidaccess): Use it if available.
35488
35489         openat: make template easier to use
35490         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35491         AT_FUNC_F2 to be undefined.
35492         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35493         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35494         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35495         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35496         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35497         Likewise.
35498         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35499         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35500         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35501         Likewise.
35502
35503         openat: declare in POSIX headers
35504         * NEWS: Mention this.
35505         * modules/openat (configure.ac): Declare witnesses.
35506         (Depends-on): Add fcntl-h, sys_stat, unistd.
35507         (Include): Mention correct headers.
35508         * modules/fcntl-h (Depends-on): Add link-warning.
35509         (Files): Add openat.m4.
35510         (Makefile.am): Substitute witnesses.
35511         * modules/sys_stat (Files, Makefile.am): Likewise.
35512         * modules/unistd (Files, Makefile.am): Likewise.
35513         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35514         (gl_OPENAT_DEFAULTS): New macro.
35515         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35517         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35518         (SYS_STAT_H): Remove unused variable.
35519         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35520         * lib/fcntl--.h (includes): Remove unneeded header.
35521         * lib/openat-safer.c (includes): Likewise.
35522         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35523         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35524         appropriate headers.
35525         (__OPENAT_PREFIX): Delete.
35526         * lib/fcntl.in.h (openat): Provide declaration.
35527         (AT_FDCWD): Fix Solaris bug.
35528         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35529         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35530         * lib/fchmodat.c (includes):  Adjust to find declaration.
35531         * lib/fchownat.c (includes): Likewise.
35532         * lib/mkdirat.c (includes): Likewise.
35533         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35534         still visible.
35535
35536 2009-09-02  Eric Blake  <ebb9@byu.net>
35537
35538         errno: use consistently
35539         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35540         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35541         * lib/canonicalize.c (ELOOP): Likewise.
35542         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35543         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35544         * lib/lchown.c (EOPNOTSUPP): Likewise.
35545         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35546         * lib/savewd.c (ESTALE): Likewise.
35547         * lib/settime.c (ENOSYS): Likewise.
35548         * lib/utimens.c (ENOSYS): Likewise.
35549         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35550         * lib/chdir-safer.c (ELOOP): Likewise.
35551         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35552         * modules/c-stack (Depends-on): Add errno.
35553         * modules/canonicalize (Depends-on): Likewise.
35554         * modules/chdir-safer (Depends-on): Likewise.
35555         * modules/fdopendir (Depends-on): Likewise.
35556         * modules/inet_ntop (Depends-on): Likewise.
35557         * modules/inet_pton (Depends-on): Likewise.
35558         * modules/lchown (Depends-on): Likewise.
35559         * modules/openat (Depends-on): Likewise.
35560         * modules/savewd (Depends-on): Likewise.
35561         * modules/settime (Depends-on): Likewise.
35562         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35563
35564         fts: avoid leaking fds
35565         * modules/fts (Depends-on): Add cloexec.
35566         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35567         flag.
35568
35569         fts: make directory fds more robust
35570         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35571         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35572
35573         backupfile, chdir-long, fts, savedir: make safer
35574         * lib/backupfile.c (includes): Use "dirent--.h", since
35575         numbered_backup can write to stderr during readdir.
35576         * lib/savedir.c (includes): Likewise.
35577         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35578         emulation can write to stderr on failure.
35579         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35580         * lib/getcwd.c: Document why opendir_safer is unused.
35581         * lib/glob.c: Likewise.
35582         * lib/scandir.c: Likewise.
35583         * lib/openat-proc.c: Likewise, for open_safer.
35584         * modules/backupfile (Depends-on): Add dirent-safer.
35585         * modules/savedir (Depends-on): Likewise.
35586         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35587         * modules/chdir-long (Depends-on): Add openat-safer.
35588
35589         openat-safer: new module
35590         * modules/openat-safer: New file.
35591         * lib/openat-safer.c: Likewise.
35592         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35593         * lib/fcntl-safer.h (openat_safer): Declare.
35594         * lib/fcntl--.h (openat): Override.
35595         * MODULES.html.sh (File descriptor based I/O): Mention it.
35596         * lib/openat.h: Add double-inclusion guards.
35597         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35598         "fcntl--.h", so we can implement openat.
35599         * modules/openat-safer-tests: New test.
35600         * tests/test-openat-safer.c: New file.
35601
35602         dirent-safer: new module
35603         * modules/dirent-safer: New file.
35604         * lib/dirent--.h: Likewise.
35605         * lib/dirent-safer.h: Likewise.
35606         * lib/opendir-safer.c: Likewise.
35607         * m4/dirent-safer.m4: Likewise.
35608         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35609         * modules/dirent-safer-tests: New test.
35610         * tests/test-dirent-safer.c: New file.
35611         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35612
35613         fdopendir: optimize on mingw
35614         * lib/unistd.in.h (_gl_directory_name): New prototype.
35615         * lib/fchdir.c (_gl_directory_name): Implement it.
35616         (fchdir): Use it to simplify implementation.
35617         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35618         fchdir, when available, to avoid calling [f]chdir().
35619
35620         fdopendir: split into its own module
35621         * lib/openat.c (fdopendir): Move...
35622         * lib/fdopendir.c: ...into new file.
35623         * modules/fdopendir: New module.
35624         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35625         * modules/openat (Depends-on): Add fdopendir.
35626         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35627         fdopendir here.
35628         * modules/savedir (Depends-on): Only need fdopendir, not full
35629         openat.
35630         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35631         * lib/openat.h (fdopendir): Drop prototype.
35632         * lib/dirent.in.h (fdopendir): Provide prototype.
35633         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35634         * modules/dirent (Makefile.am): Substitute them.
35635         * MODULES.html.sh (File system functions): Mention it.
35636         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35637         * modules/fdopendir-tests: New file.
35638         * tests/test-fdopendir.c: Likewise.
35639
35640         fchdir: use more consistent macro convention
35641         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35642         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35643         REPLACE_FCHDIR, rather than relying on config.h macros.
35644         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35645         inside a single make-time REPLACE_FCHDIR block, rather than using
35646         the config.h FCHDIR_REPLACEMENT.
35647         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35648         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35649         Manage fstat replacement.
35650         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35651         REPLACE_FCHDIR.
35652         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35653         (Makefile.am): Substitute REPLACE_FCHDIR.
35654         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35655         FCHDIR_REPLACEMENT.
35656         * lib/dup-safer.c (dup_safer): Likewise.
35657         * lib/dup2.c (rpl_dup2): Likewise.
35658         * lib/dup3.c (rpl_dup3): Likewise.
35659         * lib/open.c (rpl_open): Likewise.
35660
35661         fchdir: simplify error handling, and support dup3
35662         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35663         stdbool, malloc-posix, realloc-posix.
35664         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35665         (ensure_dirs_slot): Return false on allocation failure.
35666         (rpl_dup2): Delete.
35667         (_gl_register_dup): New function.
35668         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35669         (_gl_register_fd): Close fd on allocation failure.
35670         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35671         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35672         prototype.
35673         (rpl_dup2_fchdir): Delete prototype.
35674         * lib/open.c (open): Update caller.
35675         * lib/dup2.c (dup2): Track fchdir metadata.
35676         * lib/dup3.c (dup3): Likewise.
35677         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35679
35680 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35681
35682         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35683         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35684         don't pass arguments to AC_OUTPUT.
35685
35686 2009-09-02  Bruno Haible  <bruno@clisp.org>
35687
35688         * modules/mkdtemp (License): Relicense under LGPLv2+.
35689         Reported by Paolo Bonzini.
35690
35691 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35692
35693         Replace uses of obsolete autoconf macros in Jim's modules.
35694         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35695         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35696         can evoke a warning from autoconf when run with -Wobsolete
35697         enabled.  They were declared obsolete for good reasons (see
35698         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35699         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35700         should not continue using the deprecated macros.
35701         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35702         obsolete Autoconf macros with modern counterparts.
35703         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35704         * m4/dos.m4 (gl_AC_DOS): Likewise.
35705         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35706         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35707         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35708         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35709         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35710         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35711         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35712         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35713         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35714         Likewise.
35715         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35716         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35717         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35718         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35719         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35720         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35721
35722 2009-09-01  Eric Blake  <ebb9@byu.net>
35723
35724         fchdir: fix off-by-one bug in previous patch
35725         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35726         (_gl_unregister_fd): Delete useless if.
35727
35728 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35729
35730         maint.mk: sort the list of syntax-check rules
35731         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35732         easier to get a sense of progress when the rules are run sequentially
35733         and take a long time.
35734
35735 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35736
35737         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35738         * modules/netinet_in: Likewise.
35739         * modules/sys_file: Likewise.
35740         * modules/sys_ioctl: Likewise.
35741         * modules/sys_select: Likewise.
35742         * modules/sys_socket: Likewise.
35743         * modules/sys_stat: Likewise.
35744         * modules/sys_time: Likewise.
35745         * modules/sys_times: Likewise.
35746         * modules/sys_utsname: Likewise.
35747         * modules/sys_wait: Likewise.
35748
35749 2009-09-01  Jim Meyering  <meyering@redhat.com>
35750
35751         fts: help ensure that return values are not ignored
35752         * lib/fts_.h (__GNUC_PREREQ): Define.
35753         (__attribute_warn_unused_result__): Define.
35754         (fts_children, fts_close, fts_open, fts_read): Declare with
35755         __attribute_warn_unused_result__.
35756
35757         fts: fts_close now fails also when closing a dir file descriptor fails
35758         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35759         and propagate to caller, along with errno.
35760
35761         announce-gen: correct formatting in --help output
35762         * build-aux/announce-gen (usage): Move the one-line description in
35763         --help output "up", to where it belongs, just after Usage:.
35764
35765 2009-08-31  Eric Blake  <ebb9@byu.net>
35766
35767         fchdir: port to mingw
35768         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35769         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35770         opened, then use a substitute.
35771         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35772         replacement.
35773         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35774         (_gl_register_fd): No need to check stat if open already filters
35775         all directories.
35776         (fchdir): Fix error condition to match POSIX.
35777         * modules/fchdir (Depends-on): Add sys_stat.
35778         * doc/posix-functions/open.texi (open): Document the limitation.
35779         * modules/fchdir-tests: New file.
35780         * tests/test-fchdir.c: Likewise.
35781
35782         canonicalize: allow cross-testing from cygwin to mingw
35783         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35784         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35785         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35786         Likewise.
35787         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35788         target does not support symlinks.
35789         * tests/test-canonicalize-lgpl.sh: Likewise.
35790
35791         chown: avoid compilation warning on mingw
35792         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35793         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35794         mingw.
35795         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35796         * modules/chown (Depends-on): Add errno.
35797
35798 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35799
35800         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35801         command.
35802
35803 2009-08-31  Jim Meyering  <meyering@redhat.com>
35804
35805         canonicalize: remove useless initialization
35806         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35807         initialization of local, "end".
35808
35809 2009-08-30  Bruno Haible  <bruno@clisp.org>
35810
35811         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35812         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35813         ENOSYS.
35814
35815 2009-08-30  Bruno Haible  <bruno@clisp.org>
35816
35817         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35818         /usr/xpg4/bin/tr when it exists.
35819         * tests/test-pipe-filter-gi1.sh: Likewise.
35820
35821 2009-08-30  Bruno Haible  <bruno@clisp.org>
35822
35823         Work around deficient /usr/bin/id program on Solaris.
35824         * tests/test-file-has-acl.sh (ID): New variable.
35825         * tests/test-set-mode-acl.sh (ID): Likewise.
35826         * tests/test-copy-acl.sh (ID): Likewise.
35827         * tests/test-copy-file.sh (ID): Likewise.
35828
35829 2009-08-30  Bruno Haible  <bruno@clisp.org>
35830
35831         New module 'xstriconveh'.
35832         * lib/xstriconveh.h: New file.
35833         * lib/xstriconveh.c: New file.
35834         * modules/xstriconveh: New file.
35835
35836 2009-08-30  Bruno Haible  <bruno@clisp.org>
35837
35838         Make it easier to use mem_cd_iconveh.
35839         * lib/striconveh.h (iconveh_t): New type.
35840         (iconveh_open, iconveh_close): New declarations.
35841         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35842         with a single 'const iconveh_t *' argument.
35843         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35844         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35845         with a single 'const iconveh_t *' argument.
35846         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35847         * tests/test-striconveh.c (main): Update.
35848         * NEWS: Mention the change.
35849
35850 2009-08-30  Bruno Haible  <bruno@clisp.org>
35851
35852         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35853         problem.
35854
35855 2009-08-30  Bruno Haible  <bruno@clisp.org>
35856
35857         Work around iconv_open problem on Solaris.
35858         * lib/iconv_open-solaris.gperf: New file.
35859         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35860         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35861         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35862         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35863         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35864         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35865
35866 2009-08-29  Jim Meyering  <meyering@redhat.com>
35867
35868         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35869         * top/maint.mk (cvs-check): Remove target; it was just an alias
35870         to the better-named vc-diff-check.
35871         (maintainer-distcheck): Remove rule.  It was used only from
35872         the (alpha/beta/major) target, and all of its commands but one
35873         were coreutils-specific.
35874         (vc-dist): Remove rule.
35875         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35876         Run vc-diff-check, not vc-dist.
35877         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35878
35879 2009-08-27  Bruno Haible  <bruno@clisp.org>
35880
35881         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35882         of 0.
35883
35884 2009-08-27  Bruno Haible  <bruno@clisp.org>
35885
35886         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35887         compilers.
35888         * doc/func.texi: Document the SunPRO C bug.
35889
35890 2009-08-27  Bruno Haible  <bruno@clisp.org>
35891
35892         Fix link error on Solaris.
35893         * tests/test-parse-duration.c (xstrdup): Remove function.
35894
35895 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35896
35897         ignore-value: handle pointer types, too
35898         * lib/ignore-value.h (__attribute__): Remove definition.
35899         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35900         of a more concise and more-often effective "(void) i" statement.
35901         (ignore_ptr): New function to suppress warnings from functions that
35902         return pointers, and to make it explicit that one function doesn't
35903         handle all cases.
35904
35905 2009-08-25  Bruno Haible  <bruno@clisp.org>
35906
35907         dup2: work around a Linux bug.
35908         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35909         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35910         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35911         Reported by Simon Josefsson.
35912
35913 2009-08-25  Jim Meyering  <meyering@redhat.com>
35914
35915         libguestfs uses gnulib
35916         * users.txt: Add libguestfs.
35917
35918 2009-08-24  Eric Blake  <ebb9@byu.net>
35919
35920         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35921         * lib/pipe2.c (includes): Add binary-io.h.
35922         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35923
35924 2009-08-24  Bruno Haible  <bruno@clisp.org>
35925
35926         Tolerate declared but missing accept4 syscall.
35927         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35928         available.
35929         * lib/sys_socket.in.h (accept4): If the function is already present,
35930         override it.
35931         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35932         * modules/accept4 (Makefile.am): Compile accept4.c always.
35933         Reported by Paolo Bonzini and Eric Blake.
35934
35935 2009-08-23  Bruno Haible  <bruno@clisp.org>
35936
35937         New module 'accept4'.
35938         * lib/sys_socket.in.h (accept4): New declaration.
35939         * lib/accept4.c: New file.
35940         * m4/accept4.m4: New file.
35941         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35942         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35943         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35944         HAVE_ACCEPT4.
35945         * modules/accept4: New file.
35946         * doc/glibc-functions/accept4.texi: Mention the new module.
35947
35948 2009-08-24  Jim Meyering  <meyering@redhat.com>
35949
35950         progname: also set global program_invocation_name, when possible
35951         Before this change, a libtool-enabled program that calls glibc's
35952         error function would report the program name as
35953         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35954         * modules/progname (configure.ac): Check for a declaration of
35955         program_invocation_name.
35956         * lib/progname.c:  Include <errno.h>.
35957         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35958         Set program_invocation_name.
35959
35960 2009-08-23  Bruno Haible  <bruno@clisp.org>
35961
35962         * lib/dup3.c: Include <string.h>.
35963
35964 2009-08-23  Bruno Haible  <bruno@clisp.org>
35965
35966         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35967         * lib/pipe2.c (pipe2): Likewise.
35968         Suggested by Eric Blake.
35969
35970 2009-08-23  Bruno Haible  <bruno@clisp.org>
35971
35972         Tolerate declared but missing dup3 syscall.
35973         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35974         * lib/unistd.in.h (dup3): If the function is already present,
35975         override it.
35976         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35977         * modules/dup3 (Makefile.am): Compile dup3.c always.
35978         Reported by Paolo Bonzini.
35979
35980 2009-08-23  Bruno Haible  <bruno@clisp.org>
35981
35982         Tolerate declared but missing pipe2 syscall.
35983         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35984         available.
35985         * lib/unistd.in.h (pipe2): If the function is already present,
35986         override it.
35987         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35988         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35989         Reported by Paolo Bonzini.
35990
35991 2009-08-23  Bruno Haible  <bruno@clisp.org>
35992
35993         * lib/pipe2.c (pipe2): Move #ifs inside function.
35994
35995 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35996
35997         quotearg: document limitations of quote_these_too
35998         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35999         those limitations are created.
36000         * lib/quotearg.h (set_char_quoting): Document that digits and
36001         letters that are special after backslash are not permitted.
36002         (quotearg_char): Cross-reference set_char_quoting documentation.
36003
36004 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
36005
36006         quotearg: implement custom_quoting_style
36007         * lib/quotearg.c: (struct quoting_options): Add left_quote and
36008         right_quote fields.
36009         (set_custom_quoting): New public function.
36010         (quotearg_buffer_restyled): Add left_quote and right_quote
36011         arguments, handle them very much like locale quoting, and update
36012         all uses.
36013         (quotearg_n_custom): New public function.
36014         (quotearg_n_custom_mem): New public function.
36015         (quotearg_custom): New public function.
36016         (quotearg_custom_mem): New public function.
36017         * lib/quotearg.h: Prototype and document new public functions.
36018         (enum quoting_style): For escape_quoting_style and
36019         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
36020         ignored even though they're otherwise like c_quoting_style.
36021         Add custom_quoting_style member and document with comparison to
36022         clocale_quoting_style.
36023         * tests/test-quotearg.c (custom_quotes): New array.
36024         (custom_results): New array.
36025         (main): Extend to test custom quoting.
36026
36027 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36028
36029         quotearg: fix right quote escaping when it's in quote_these_too
36030         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
36031         quote, be sure to prepend only one backslash.
36032         * tests/test-quotearg.c (use_quote_double_quotes): New function.
36033         (main): Test it.
36034
36035 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
36036
36037         quotearg-tests: test escaping of embedded locale quotes
36038         * tests/test-quotearg.c (struct result_strings): Add member for
36039         new input.
36040         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
36041         (inputs): Add new input.
36042         (results_g): Add expected results.
36043         (flag_results): Likewise.
36044         (locale_results): Likewise.
36045         (compare_strings): Check those.
36046
36047 2009-08-23  Bruno Haible  <bruno@clisp.org>
36048
36049         Tests for module 'dup3'.
36050         * modules/dup3-tests: New file.
36051         * tests/test-dup3.c: New file.
36052
36053         New module 'dup3'.
36054         * lib/unistd.in.h (dup3): New declaration.
36055         * lib/dup3.c: New file.
36056         * m4/dup3.m4: New file.
36057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
36058         HAVE_DUP3.
36059         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
36060         * modules/dup3: New file.
36061         * doc/glibc-functions/dup3.texi: Mention the new module.
36062
36063 2009-08-23  Bruno Haible  <bruno@clisp.org>
36064
36065         Tweak the dup2 test.
36066         * tests/test-dup2.c (main): Create the test file empty. Verify that an
36067         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
36068         the test file is still empty. Fix argument order of lseek.
36069
36070 2009-08-23  Bruno Haible  <bruno@clisp.org>
36071
36072         Avoid test link errors when the modules getopt-gnu, gettext are used.
36073         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
36074         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36075
36076 2009-08-23  Bruno Haible  <bruno@clisp.org>
36077
36078         Fix getdtablesize() on mingw.
36079         * lib/getdtablesize.c (getdtablesize): Implement differently.
36080         * lib/unistd.in.h (getdtablesize): Improve comment.
36081
36082 2009-08-23  Bruno Haible  <bruno@clisp.org>
36083
36084         New module 'mkostemp'.
36085         Based on Ulrich Drepper's 2007-08-10 change in glibc.
36086         * lib/stdlib.in.h (mksotemp): New declaration.
36087         * lib/mkostemp.c: New file, from glibc with modifications.
36088         * lib/tempname.h (GT_FILE): Remove outdated comment.
36089         (gen_tempname): Add flags argument.
36090         * lib/tempname.c (__GT_BIGFILE): Remove macro.
36091         (__GT_FILE): Map to 1.
36092         (small_open, large_open): Remove macros.
36093         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
36094         * lib/mkstemp.c (mkstemp): Update.
36095         * lib/mkdtemp.c (mkdtemp): Likewise.
36096         * m4/mkostemp.m4: New file.
36097         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
36098         HAVE_MKOSTEMP.
36099         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
36100         HAVE_MKOSTEMP.
36101         * modules/mkostemp: New file, based on modules/mkstemp.
36102         * doc/glibc-functions/mkostemp.texi: Mention the new module.
36103         * NEWS: Mention the change.
36104
36105 2009-08-23  Bruno Haible  <bruno@clisp.org>
36106
36107         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
36108         Reported by Eric Blake.
36109
36110 2009-08-23  Bruno Haible  <bruno@clisp.org>
36111
36112         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
36113         Reported by Eric Blake.
36114
36115 2009-08-23  Bruno Haible  <bruno@clisp.org>
36116
36117         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
36118         * modules/pipe2 (Depends-on): Likewise.
36119
36120 2009-08-23  Eric Blake  <ebb9@byu.net>
36121
36122         fcntl-h: add O_TTY_INIT support
36123         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
36124         * tests/test-fcntl-h.c (o): Test it.
36125         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36126
36127         fcntl-h: rename from fcntl, in preparation for fcntl(2)
36128         * modules/fcntl: Move <fcntl.h> header replacement...
36129         * modules/fcntl-h: ...to new name, so as not to collide with
36130         like-named function.
36131         * tests/test-fcntl.c: Rename...
36132         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
36133         * modules/fcntl-tests: Rename...
36134         * modules/fcntl-h-tests: ...to this.  Update test file name.
36135         * modules/chdir-long (Depends-on): Update clients.
36136         * modules/chdir-safer (Depends-on): Likewise.
36137         * modules/fcntl-safer (Depends-on): Likewise.
36138         * modules/fts (Depends-on): Likewise.
36139         * modules/mkancesdirs (Depends-on): Likewise.
36140         * modules/mkdir-p (Depends-on): Likewise.
36141         * modules/open (Depends-on): Likewise.
36142         * modules/savewd (Depends-on): Likewise.
36143         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
36144         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36145
36146 2009-08-22  Bruno Haible  <bruno@clisp.org>
36147
36148         * modules/binary-io (License): Relicense under LGPL.
36149         * modules/pipe2 (License): Likewise.
36150
36151 2009-08-22  Bruno Haible  <bruno@clisp.org>
36152
36153         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
36154         return value.
36155         * lib/pipe-filter-gi.c (filter_init): Likewise.
36156         Reported by Eric Blake.
36157
36158 2009-08-22  Bruno Haible  <bruno@clisp.org>
36159
36160         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
36161         * modules/pipe (Depends-on): Add pipe2.
36162
36163 2009-08-22  Bruno Haible  <bruno@clisp.org>
36164
36165         Tests for module 'pipe2'.
36166         * modules/pipe2-tests: New file.
36167         * tests/test-pipe2.c: New file.
36168
36169         New module 'pipe2'.
36170         * lib/unistd.in.h (pipe2): New declaration.
36171         * lib/pipe2.c: New file.
36172         * m4/pipe2.m4: New file.
36173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36174         HAVE_PIPE2.
36175         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36176         * modules/pipe2: New file.
36177         * doc/glibc-functions/pipe2.texi: Mention the new module.
36178
36179 2009-08-22  Bruno Haible  <bruno@clisp.org>
36180
36181         Reference some new glibc functions.
36182         * doc/glibc-functions/accept4.texi: New file.
36183         * doc/glibc-functions/dup3.texi: New file.
36184         * doc/glibc-functions/mkostemp.texi: New file.
36185         * doc/glibc-functions/pipe2.texi: New file.
36186         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36187         (Glibc sys/socket.h): Refer to accept4.
36188         (Glibc unistd.h): Refer to dup3, pipe2.
36189         Reported by Eric Blake.
36190
36191 2009-08-22  Jim Meyering  <meyering@redhat.com>
36192             Bruno Haible  <bruno@clisp.org>
36193
36194         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36195         This makes it so packages using automake-1.11's silent-rules option
36196         can print e.g., a single "GEN    configmake.h" line, rather than
36197         the 30+ statements that perform the job.  If you want to see the
36198         actual commands, you can still run "make V=1".
36199         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36200         so that make output is abbreviated when those variables are defined
36201         appropriately.
36202         * modules/argz: Likewise.
36203         * modules/arpa_inet: Likewise.
36204         * modules/byteswap: Likewise.
36205         * modules/configmake: Likewise.
36206         * modules/dirent: Likewise.
36207         * modules/errno: Likewise.
36208         * modules/fcntl: Likewise.
36209         * modules/float: Likewise.
36210         * modules/fnmatch: Likewise.
36211         * modules/getopt-posix: Likewise.
36212         * modules/glob: Likewise.
36213         * modules/iconv_open: Likewise.
36214         * modules/inttypes: Likewise.
36215         * modules/localcharset: Likewise.
36216         * modules/locale: Likewise.
36217         * modules/math: Likewise.
36218         * modules/netdb: Likewise.
36219         * modules/netinet_in: Likewise.
36220         * modules/poll: Likewise.
36221         * modules/posix_spawnp-tests: Likewise.
36222         * modules/sched: Likewise.
36223         * modules/search: Likewise.
36224         * modules/selinux-h: Likewise.
36225         * modules/signal: Likewise.
36226         * modules/spawn: Likewise.
36227         * modules/stdarg: Likewise.
36228         * modules/stdbool: Likewise.
36229         * modules/stddef: Likewise.
36230         * modules/stdint: Likewise.
36231         * modules/stdio: Likewise.
36232         * modules/stdlib: Likewise.
36233         * modules/string: Likewise.
36234         * modules/strings: Likewise.
36235         * modules/sys_file: Likewise.
36236         * modules/sys_ioctl: Likewise.
36237         * modules/sys_select: Likewise.
36238         * modules/sys_socket: Likewise.
36239         * modules/sys_stat: Likewise.
36240         * modules/sys_time: Likewise.
36241         * modules/sys_times: Likewise.
36242         * modules/sys_utsname: Likewise.
36243         * modules/sys_wait: Likewise.
36244         * modules/sysexits: Likewise.
36245         * modules/time: Likewise.
36246         * modules/unistd: Likewise.
36247         * modules/wchar: Likewise.
36248         * modules/wctype: Likewise.
36249
36250 2009-08-22  Jim Meyering  <meyering@redhat.com>
36251
36252         announce-gen: detect write failure
36253         * build-aux/announce-gen: Add Coda at end.
36254         Remove equivalent-but-more-verbose block at top.
36255
36256 2009-08-19  Akim Demaille  <demaille@gostai.com>
36257
36258         bootstrap: --help to stdout.
36259         * bootstrap (usage): Don't send --help to stderr.
36260         Use a here doc instead of a long string.
36261
36262 2009-08-21  Eric Blake  <ebb9@byu.net>
36263
36264         test-popen-safer: split from test-popen
36265         * tests/test-popen.c (main): Move...
36266         * tests/test-popen.h: ...into new file.
36267         * tests/test-popen-safer2.c: New file.
36268         * modules/popen-tests (Files): Add test-popen.h.
36269         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36270         Suggested by Bruno Haible.
36271
36272         test-fcntl-safer: split from test-open
36273         * tests/test-open.c (main): Move...
36274         * tests/test-open.h: ...into new file.
36275         * tests/test-fcntl-safer.c: New file.
36276         * modules/open-tests (Files): Add test-open.h.
36277         * modules/fcntl-safer-tests: New file.
36278         Suggested by Bruno Haible.
36279
36280         test-fopen-safer: split from test-fopen
36281         * tests/test-fopen.c (main): Move...
36282         * tests/test-fopen.h: ...into new file.
36283         * tests/test-fopen-safer.c: New file.
36284         * modules/fopen-tests (Files): Add test-fopen.h.
36285         * modules/fopen-safer-tests: New file.
36286         Suggested by Bruno Haible.
36287
36288 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36289
36290         popen-safer: test O_CLOEXEC at run-time.
36291         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36292
36293 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36294
36295         fcntl: move more flags to the header
36296         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36297         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36298         * lib/fcntl.in.h: Do both things here.
36299
36300 2009-08-21  Jim Meyering  <meyering@redhat.com>
36301
36302         consistently remove $@-t before redirecting to it
36303         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36304         * modules/alloca-opt: Likewise.
36305         * modules/byteswap: Likewise.
36306         * modules/fnmatch: Likewise.
36307         * modules/getopt-posix: Likewise.
36308         * modules/glob: Likewise.
36309         * modules/poll: Likewise.
36310         * modules/posix_spawnp-tests: Likewise.
36311         * modules/sys_socket: Likewise.
36312         * modules/sysexits: Likewise.
36313
36314 2009-08-21  Eric Blake  <ebb9@byu.net>
36315
36316         popen: simplify access to original popen
36317         * lib/popen.c (rpl_popen): No need to worry about popen being a
36318         macro.
36319         Reported by Bruno Haible.
36320
36321 2009-08-20  Eric Blake  <ebb9@byu.net>
36322
36323         build: avoid some compiler warnings
36324         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36325         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36326         type.
36327         (new_exclude_segment, excluded_file_pattern_p)
36328         (excluded_file_name_p): Reduce scope.
36329         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36330         old-style declaration.
36331
36332 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36333
36334         * tests/test-exclude1.sh: Handle Windows EOL.
36335         * tests/test-exclude2.sh: Likewise.
36336         * tests/test-exclude3.sh: Likewise.
36337         * tests/test-exclude4.sh: Likewise.
36338         * tests/test-exclude5.sh: Likewise.
36339         * tests/test-exclude6.sh: Likewise.
36340         * tests/test-exclude7.sh: Likewise.
36341
36342 2009-08-19  Akim Demaille  <demaille@gostai.com>
36343
36344         bootstrap: find sha1sum when named gsha1sum.
36345         * bootstrap (find_tool): New.
36346         ($SHA1SUM): New.
36347         Use it.
36348
36349 2009-08-20  Jim Meyering  <meyering@redhat.com>
36350
36351         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36352         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36353         expression that converts "." in a file name to "\." in the resulting
36354         regexp.  Start with a dummy statement, so that prior shell variable
36355         definitions are expanded portably.  Reported by Simon Josefsson.
36356
36357 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36358
36359         Fix polling for writeability of a screen buffer.
36360         * lib/poll.c: Distinguish input and screen buffers for the
36361         Win32 implementation.
36362         * lib/select.c: Likewise.
36363
36364 2009-08-19  Eric Blake  <ebb9@byu.net>
36365
36366         popen-safer: prevent popen from clobbering std descriptors
36367         * modules/popen-safer: New file.
36368         * lib/popen-safer.c: Likewise.
36369         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36370         * lib/stdio--.h (popen): Provide override.
36371         * lib/stdio-safer.h (popen_safer): Provide declaration.
36372         * tests/test-popen.c (includes): Partially test this.
36373         * modules/popen-safer-tests: New file, for more tests.
36374         * tests/test-popen-safer.c: Likewise.
36375         * MODULES.html.sh (file stream based Input/Output): Mention it.
36376
36377         tests: test some of the *-safer modules
36378         * modules/fopen-safer (Depends-on): Add fopen.
36379         * modules/fcntl-safer (Depends-on): Add fcntl.
36380         * modules/stdlib-safer (Depends-on): Add stdlib.
36381         (configure.ac): Set indicator.
36382         * modules/unistd-safer (configure.ac): Likewise.
36383         * modules/tmpfile-safer (configure.ac): Likewise.
36384         (Depends-on): Add tmpfile.
36385         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36386         active.
36387         * tests/test-fopen.c (includes): Test safer versions when they are
36388         in use.
36389         * tests/test-open.c (includes): Likewise.
36390
36391         popen: fix cygwin 1.5 bug when stdin closed
36392         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36393         * modules/popen: New file.
36394         * modules/popen-tests: Likewise.
36395         * tests/test-popen.c: Likewise.
36396         * m4/popen.m4: Likewise.
36397         * lib/popen.c: Likewise.
36398         * lib/stdio.in.h (popen): New declaration.
36399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36400         * modules/stdio (Makefile.am): Likewise.
36401         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36402
36403 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36404
36405         maint.mk: give full control over update-copyright exclusions
36406         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36407         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36408         (update-copyright): Don't force inclusion of top-level
36409         ChangeLog.  Don't force exclusion of all COPYING files, but make
36410         them the default exclusion instead.
36411
36412 2009-08-16  Bruno Haible  <bruno@clisp.org>
36413
36414         Fix test failures on Solaris 10.
36415         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36416         tests when Solaris iconv() is used.
36417         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36418         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36419         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36420         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36421         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36422
36423 2009-08-16  Bruno Haible  <bruno@clisp.org>
36424
36425         Fix test failures on Solaris 10.
36426         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36427         'tr' program and pass it as first argument.
36428         * tests/test-pipe-filter-gi1.sh: Likewise.
36429         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36430         program as first argument.
36431         * tests/test-pipe-filter-gi1.c (main): Likewise.
36432
36433 2009-08-16  Eric Blake  <ebb9@byu.net>
36434
36435         fpurge: fix previous commits
36436         * modules/fpurge (Makefile.am): Make replacement conditional,
36437         partially reverting 2007-04-29 change; missed in previous
36438         attempt.
36439         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36440         is missing.
36441
36442 2009-08-16  Bruno Haible  <bruno@clisp.org>
36443
36444         Clarify fpurge's effect on the file position.
36445         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36446         * tests/test-fpurge.c (main): Make a second pass for checking the file
36447         position.
36448
36449 2009-08-16  Bruno Haible  <bruno@clisp.org>
36450
36451         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36452         declaration of fpurge is missing.
36453         * tests/test-fpurge.c (main): Check that the file has not more contents
36454         than expected. Close the file before removing it.
36455
36456 2009-08-15  Eric Blake  <ebb9@byu.net>
36457
36458         fpurge: don't wrap working cygwin implementation
36459         * lib/fpurge.c (fpurge): Fix comment typo.
36460         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36461         1.7 to avoid replacement.
36462         * tests/test-fpurge.c (main): Enhance test.
36463
36464 2009-08-15  Eric Blake  <ebb9@byu.net>
36465         and Jim Meyering  <meyering@redhat.com>
36466
36467         test-update-copyright: skip if perl is insufficient
36468         * tests/test-update-copyright.sh: Failure to run maintainer tool
36469         should not cause testsuite failure on cygwin 1.5.
36470
36471 2009-08-14  Eric Blake  <ebb9@byu.net>
36472
36473         doc: mention more functions added in cygwin 1.7.0
36474         * doc/posix-headers/limits.texi (limits.h): Update for recent
36475         cygwin additions.
36476         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36477         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36478         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36479         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36480         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36481
36482 2009-08-14  Eric Blake  <ebb9@byu.net>
36483
36484         maint.mk: simplify update-copyright rule
36485         * top/maint.mk (update-copyright-local): Delete, and document how
36486         to do it in cfg.mk instead.
36487         (update-copyright-exclude-regexp): Delete, and document how to do
36488         it in .x-update-copyright instead.
36489         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36490         exclude ChangeLog.
36491
36492 2009-08-14  Bruno Haible  <bruno@clisp.org>
36493
36494         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36495
36496 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36497
36498         maint.mk: support update-copyright-env
36499         * top/maint.mk (update-copyright-env): Define place-holder.
36500         (update-copyright): Expand $(update-copyright-env) before
36501         invoking update-copyright.
36502
36503 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36504
36505         update-copyright: implement forced reformatting
36506         * build-aux/update-copyright: Implement and document
36507         UPDATE_COPYRIGHT_FORCE.
36508         * tests/test-update-copyright.sh: Test it.
36509
36510 2009-08-14  Eric Blake  <ebb9@byu.net>
36511         and Bruno Haible  <bruno@clisp.org>
36512
36513         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36514         * tests/test-locale.c: Revert previous patch related to NULL.
36515         * tests/test-stdio.c: Likewise.
36516         * tests/test-stdlib.c: Likewise.
36517         * tests/test-string.c: Likewise.
36518         * tests/test-unistd.c: Likewise.
36519         * modules/time-tests (Depends-on): Add verify.
36520         * modules/wchar-tests (Depends-on): Likewise.
36521         * tests/test-time.c: Test for NULL compliance.
36522         * tests/test-wchar.c: Likewise.
36523         * modules/locale (Depends-on): Add stddef.
36524         * modules/stdio (Depends-on): Likewise.
36525         * modules/stdlib (Depends-on): Likewise.
36526         * modules/string (Depends-on): Likewise.
36527         * modules/time (Depends-on): Likewise.
36528         * modules/unistd (Depends-on): Likewise.
36529         * modules/wchar (Depends-on): Likewise.
36530         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36531         * lib/stdlib.in.h (includes): Likewise.
36532         * lib/string.in.h (includes): Likewise.
36533         * lib/time.in.h (includes): Likewise.
36534         * lib/unistd.in.h (includes): Likewise.
36535         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36536         replaced.
36537         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36538         * m4/stddef_h.m4: New file.
36539         * modules/stddef: Likewise.
36540         * lib/stddef.in.h: Likewise.
36541         * modules/stddef-tests: Likewise.
36542         * tests/test-stddef.c: Likewise.
36543         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36544         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36545         * doc/posix-headers/locale.texi (locale.h): Likewise.
36546         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36547         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36548         * doc/posix-headers/string.texi (string.h): Likewise.
36549         * doc/posix-headers/time.texi (time.h): Likewise.
36550         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36551         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36552
36553 2009-08-14  Eric Blake  <ebb9@byu.net>
36554
36555         doc: improve git diff of texinfo files
36556         * .gitattributes: Add rule for *.texi files, with hint on how to
36557         use it.
36558         Copied from m4, and based on a report by Bruno Haible.
36559
36560 2009-08-14  Bruno Haible  <bruno@clisp.org>
36561
36562         Disable multithread support by default on Cygwin 1.5.x for real.
36563         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36564
36565 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36566
36567         update-copyright: much ado about intervals
36568         * build-aux/update-copyright: Implement and document
36569         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36570         of copyright year intervals.
36571         Also, document UPDATE_COPYRIGHT_YEAR.
36572         * tests/test-update-copyright.sh: Test it.
36573
36574         update-copyright: convert 2-digit to 4-digit years
36575         * build-aux/update-copyright: Implement and document.
36576         * tests/test-update-copyright.sh: Update.
36577
36578 2009-08-14  Jim Meyering  <meyering@redhat.com>
36579
36580         test-exclude: avoid coreutils "make check" failure
36581         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36582         just as in test-argmatch.c.
36583
36584 2009-08-13  Eric Blake  <ebb9@byu.net>
36585
36586         test-dup2: fix bad assumption
36587         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36588         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36589
36590         test-version-etc: fix CRLF portability issue
36591         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36592         recognize \r.
36593         * tests/test-argp-version-etc-1.sh: Likewise.
36594
36595         getopt: update client modules
36596         * modules/argp (Depends-on): Use getopt-gnu.
36597         * modules/git-merge-changelog (Depends-on): Likewise.
36598         * modules/long-options (Depends-on): Likewise.
36599         * modules/xstrtol (Depends-on): Likewise.
36600
36601 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36602
36603         * tests/test-version-etc.sh: Don't fail on different
36604         project/version.  Don't fail on CRLF differences.  Rewrite to use
36605         multiple -e instead of multiple sed forks, suggested by Eric Blake
36606         <ebb9@byu.net>.
36607         * tests/test-argp-version-etc-1.sh: Likewise.
36608
36609 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36610
36611         * tests/test-version-etc.sh: Don't fail on different
36612         project/version.
36613
36614 2009-08-12  Bruno Haible  <bruno@clisp.org>
36615
36616         Tests for modules 'getopt-posix', 'getopt-gnu'.
36617         * modules/getopt-posix-tests: New file.
36618         * tests/test-getopt.c: New file.
36619         * tests/test-getopt.h: New file.
36620         * tests/test-getopt_long.h: New file.
36621
36622         New modules 'getopt-posix', 'getopt-gnu'.
36623         * modules/getopt-gnu: New file, renamed from modules/getopt.
36624         * modules/getopt-posix: New file.
36625         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36626         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36627         (gl_GETOPT): Remove macro.
36628         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36629         Disable the test against BSD systems that declare optreset. Test
36630         against mingw bug. Test against lack of support of optional arguments
36631         on many platforms.
36632         * doc/glibc-headers/getopt.texi: Update module name and list of
36633         relevant platforms.
36634         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36635         'getopt-gnu' and more portability problems.
36636         * NEWS: Mention the changes.
36637
36638 2009-08-12  Bruno Haible  <bruno@clisp.org>
36639
36640         Ensure that optarg etc. get declared by <unistd.h>.
36641         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36642         AC_USE_SYSTEM_EXTENSIONS.
36643         * modules/getopt (Depends-on): Add 'extensions'.
36644
36645 2009-08-12  Bruno Haible  <bruno@clisp.org>
36646
36647         Avoid test link errors.
36648         * modules/pipe-filter-ii-tests (Makefile.am): Define
36649         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36650         * modules/pipe-filter-gi-tests (Makefile.am): Define
36651         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36652         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36653
36654 2009-08-12  Bruno Haible  <bruno@clisp.org>
36655
36656         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36657         gl_GETOPT_SUBSTITUTE before.
36658         (gl_GETOPT): Use it.
36659         * m4/argp.m4 (gl_ARGP): Update.
36660         Reported by Sergey Poznyakoff.
36661
36662         * m4/getopt.m4: Reorder macros.
36663         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36664         (gl_GETOPT_SUBSTITUTE): Remove macro.
36665
36666 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36667
36668         Minor improvement in gitlog-to-changelog
36669
36670         * build-aux/gitlog-to-changelog: New option `--format' makes
36671         output format string configurable.
36672
36673 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36674
36675         Optimize exclude: use hash tables for non-wildcard patterns.
36676
36677         * lib/exclude.c: Include hash.h and mbuiter.h
36678         (struct exclude_pattern, exclude_segment): New data types.
36679         (struct exclude): Rewrite.
36680         (fnmatch_pattern_has_wildcards): New function.
36681         (new_exclude_segment, free_exclude_segment): New functions.
36682         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36683         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36684         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36685         * modules/exclude: Depend on hash and mbuiter.
36686
36687         * modules/exclude-tests: New file.
36688         * tests/test-exclude.c: New file.
36689         * tests/test-exclude1.sh: New file.
36690         * tests/test-exclude2.sh: New file.
36691         * tests/test-exclude3.sh: New file.
36692         * tests/test-exclude4.sh: New file.
36693         * tests/test-exclude5.sh: New file.
36694         * tests/test-exclude6.sh: New file.
36695         * tests/test-exclude7.sh: New file.
36696
36697 2009-08-12  Bruno Haible  <bruno@clisp.org>
36698
36699         Ensure that getopt() gets declared by <unistd.h>.
36700         * lib/unistd.in.h: Conditionally include getopt.h.
36701         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36702         Set GNULIB_UNISTD_H_GETOPT.
36703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36704         GNULIB_UNISTD_H_GETOPT.
36705         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36706
36707 2009-08-12  Bruno Haible  <bruno@clisp.org>
36708
36709         Clarify logic.
36710         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36711         gl_replace_getopt instead of GETOPT_H.
36712
36713 2009-08-12  Bruno Haible  <bruno@clisp.org>
36714
36715         * m4/getopt.m4: Add comments.
36716
36717 2009-08-12  Bruno Haible  <bruno@clisp.org>
36718
36719         Disable multithread support by default on Cygwin 1.5.x.
36720         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36721         set gl_use_threads=no if not specified otherwise.
36722
36723 2009-08-11  Bruno Haible  <bruno@clisp.org>
36724
36725         Avoid compilation error on NetBSD 5.0.
36726         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36727         * tests/test-stdio.c: Likewise.
36728         * tests/test-stdlib.c: Likewise.
36729         * tests/test-string.c: Likewise.
36730         * tests/test-unistd.c: Likewise.
36731         Reported by Greg Troxel <gdt@ir.bbn.com>
36732         at <https://savannah.gnu.org/support/?106973>.
36733
36734 2009-08-11  Bruno Haible  <bruno@clisp.org>
36735
36736         * modules/dup2-tests (Depends-on): Remove close.
36737
36738         Undo 2009-07-19 commit.
36739         * modules/acl-tests (Depends-on): Remove close.
36740         * modules/binary-io-tests (Depends-on): Likewise.
36741         * modules/closein-tests (Depends-on): Likewise.
36742         * modules/flock-tests (Depends-on): Likewise.
36743         * modules/fsync-tests (Depends-on): Likewise.
36744         * modules/lseek-tests (Depends-on): Likewise.
36745         * modules/pipe-tests (Depends-on): Likewise.
36746         * modules/posix_spawn-tests (Depends-on): Likewise.
36747         * modules/posix_spawnp-tests (Depends-on): Likewise.
36748         * modules/stat-time-tests (Depends-on): Likewise.
36749         * modules/yesno-tests (Depends-on): Likewise.
36750
36751 2009-08-10  Bruno Haible  <bruno@clisp.org>
36752
36753         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36754
36755 2009-08-10  Bruno Haible  <bruno@clisp.org>
36756
36757         Fix a gcc warning.
36758         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36759
36760 2009-08-10  Bruno Haible  <bruno@clisp.org>
36761
36762         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36763         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36764         not only the first time.
36765         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36766         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36767         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36768         is 1, not only the the first time.
36769
36770 2009-08-10  Bruno Haible  <bruno@clisp.org>
36771
36772         Make it possible to use module 'gethostname' without module 'close'.
36773         * lib/unistd.in.h (close): Evoke a link error only if
36774         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36776         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36777         * modules/unistd (Makefile.am): Substitute
36778         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36779         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36780         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36781         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36782         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36783         * modules/sys_ioctl (Makefile.am): Substitute
36784         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36785         * modules/socket (configure.ac): On native Windows, set
36786         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36787         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36788         Reported by Sam Steingold <sds@gnu.org>.
36789
36790 2009-08-10  Bruno Haible  <bruno@clisp.org>
36791
36792         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36793         * modules/ioctl (configure.ac): Likewise.
36794
36795 2009-08-10  Bruno Haible  <bruno@clisp.org>
36796
36797         Avoid collision between gnulib wrapper and libintl wrapper.
36798         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36799         already defined in intl/printf.c.
36800         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36801         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36802
36803 2009-08-09  Bruno Haible  <bruno@clisp.org>
36804
36805         Make <sys/select.h> really self-contained, also on Solaris 10.
36806         * lib/sys_select.in.h: Include <string.h>.
36807         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36808         Solaris 10 problem.
36809         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36810         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36811         Reported by Jim Meyering.
36812
36813 2009-08-09  Bruno Haible  <bruno@clisp.org>
36814
36815         Avoid warnings from 'aclocal' that are due to a use of macro name
36816         AM_XGETTEXT_OPTION that is not defined in automake.
36817         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36818         automake.
36819         * modules/error (configure.ac): Likewise.
36820         * modules/propername (configure.ac): Likewise.
36821         * modules/vasprintf (configure.ac): Likewise.
36822         * modules/verror (configure.ac): Likewise.
36823         * modules/xprintf (configure.ac): Likewise.
36824         * modules/xvasprintf (configure.ac): Likewise.
36825
36826 2009-08-08  Bruno Haible  <bruno@clisp.org>
36827
36828         Avoid compilation error in C++ mode.
36829         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36830         Reported by Sam Steingold <sds@gnu.org>.
36831
36832 2009-08-08  Bruno Haible  <bruno@clisp.org>
36833
36834         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36835         for the various Unix platforms.
36836         * doc/posix-headers/limits.texi: Update platforms list regarding
36837         HOST_NAME_MAX.
36838         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36839
36840 2009-08-07  Jim Meyering  <meyering@redhat.com>
36841
36842         selinux-at: fix typo in a comment
36843         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36844         Spotted by Paolo Bonzini.
36845
36846         selinux-at: remove redundant m4 code, add documentation
36847         * modules/selinux-at (configure.ac): Remove redundant code.
36848         LIB_SELINUX is already set via the dependent module, selinux-h.
36849         (Include): Add quotes around selinux-at.h.
36850         * lib/selinux-at.h: Add documentation.
36851         Reported by Bruno Haible in
36852         http://marc.info/?l=gnulib-bug&m=124958988300749
36853
36854 2009-08-07  Bruno Haible  <bruno@clisp.org>
36855
36856         Avoid link error on MacOS X 10.3 and 10.4.
36857         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36858         on non-ELF systems.
36859         * lib/argp-pv.c (argp_program_version): Likewise.
36860         Reported by Simon Josefsson.
36861
36862 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36863
36864         * tests/test-version-etc.sh: Use $EXEEXT.
36865
36866 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36867
36868         update-copyright: update documentation to point to maint.mk
36869         * build-aux/update-copyright: Here.
36870
36871 2009-08-06  Jim Meyering  <meyering@redhat.com>
36872
36873         maint.mk: support update-copyright-local
36874         * top/maint.mk (update-copyright-local): Define place-holder.
36875         (update-copyright): Depend on $(update-copyright-local).
36876
36877 2009-08-06  Jim Meyering  <meyering@redhat.com>
36878
36879         selinux-at: new module
36880         Initially written for coreutils, this module will soon be
36881         used by findutils, too.
36882         * MODULES.html.sh [Misc]: Add selinux-at.
36883         * lib/selinux-at.h: New file, from coreutils.
36884         * lib/selinux-at.c: Likewise.
36885         * modules/selinux-at: Likewise.
36886         (License): Change from LGPL to GPL, since it depends
36887         on the GPL'd openat module.
36888
36889         doc: update README
36890         * README: Remove references to cogito.
36891         Remove cvs-repo-updating instructions from 2007.
36892         Don't imply that CVS is better if you have limited disk space.
36893
36894 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36895
36896         update-copyright: support C-style comments
36897         * build-aux/update-copyright: Implement and document.
36898         * tests/test-update-copyright.sh: Test.
36899
36900 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36901
36902         update-copyright: support omitted "(C)"
36903         * build-aux/update-copyright: Implement and document.  Also,
36904         allow variable whitespace before "(C)".
36905         * tests/test-update-copyright.sh: Test.
36906
36907 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36908
36909         update-copyright: don't trip on non-FSF copyright statements
36910         * build-aux/update-copyright: Fix so that the first correctly
36911         formatted FSF copyright statement is recognized no matter what
36912         appears before it.  Update documentation.
36913         * tests/test-update-copyright.sh: Test that.
36914
36915 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36916
36917         update-copyright: clean up code a little
36918         * build-aux/update-copyright: Append "_re" to the name of any
36919         variable holding a regular expression.
36920         Replace "old" and "new" with "stmt" in variable names.
36921         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36922         handled correctly.
36923         Format code more consistently.
36924
36925 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36926
36927         update-copyright-tests: improve portability
36928         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36929         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36930
36931 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36932
36933         update-copyright: support @copyright{} and &copy;
36934         * build-aux/update-copyright: Implement and document.
36935         * tests/test-update-copyright.sh: Test.
36936
36937 2009-08-04  Jim Meyering  <meyering@redhat.com>
36938
36939         update-copyright-tests: correctly test EOL=\r\n handling
36940         * tests/test-update-copyright.sh: Put \r at the end of some lines
36941         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36942
36943         maint.mk: make update-copyright exclusion list more configurable
36944         * top/maint.mk (update-copyright): Default to excluding COPYING,
36945         but allow an override, in case someone does want to update that file.
36946
36947         maint.mk: don't update copyright date in COPYING
36948         * top/maint.mk (update-copyright): Exclude COPYING.
36949
36950         maint.mk: add a copyright-updating rule
36951         * top/maint.mk (update-copyright): New rule.
36952         Derived from coreutils/Makefile.am.
36953
36954         update-copyright: rename some variables
36955         * build-aux/update-copyright: Rename a few variables for clarity.
36956         Tweak syntax.  List Joel E. Denny as coauthor.
36957
36958 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36959
36960         update-copyright: fix bug for 2-digit last year and add tests
36961         * build-aux/update-copyright: Fix bug.
36962         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36963         specified.
36964         * modules/update-copyright-tests: New
36965         * tests/test-update-copyright.sh: New.
36966
36967 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36968
36969         update-copyright: handle leading tabs in line prefix
36970         * build-aux/update-copyright: Count leading tabs as 8 spaces
36971         when computing margin.  This helps with the formatting of
36972         ChangeLogs, for example.
36973         Fix documentation a little.
36974
36975 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36976
36977         update-copyright: support EOL=\r\n
36978         * build-aux/update-copyright: Implement that.
36979
36980 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36981
36982         update-copyright: automatically format copyright statements
36983         * build-aux/update-copyright: Implement that.
36984         Also, be a little more predictable and safer by always failing
36985         when the full copyright format is not perfectly recognized as an
36986         unbroken whole.  Discussed at
36987         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36988         Rewrite documentation.
36989
36990 2009-08-03  Bruno Haible  <bruno@clisp.org>
36991
36992         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36993
36994 2009-08-02  Bruno Haible  <bruno@clisp.org>
36995
36996         Tests for module 'uname'.
36997         * modules/uname-tests: New file.
36998         * tests/test-uname.c: New file.
36999
37000         New module 'uname'.
37001         * lib/uname.c: New file.
37002         * m4/uname.m4: New file.
37003         * modules/uname: New file.
37004         * doc/posix-functions/uname.texi: Mention the new module.
37005
37006 2009-08-02  Bruno Haible  <bruno@clisp.org>
37007
37008         Tests for module 'sys_utsname'.
37009         * modules/sys_utsname-tests: New file.
37010         * tests/test-sys_utsname.c: New file.
37011
37012         New module 'sys_utsname'.
37013         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
37014         * m4/sys_utsname_h.m4: New file.
37015         * modules/sys_utsname: New file.
37016         * doc/posix-headers/sys_utsname.texi: Mention the new module.
37017
37018 2009-08-02  Bruno Haible  <bruno@clisp.org>
37019
37020         Implicitly initialize the sockets library.
37021         * lib/gethostname.c: Include sockets.h.
37022         (rpl_gethostname): Invoke gl_sockets_startup.
37023         * lib/socket.c: Include sockets.h.
37024         (rpl_socket): Invoke gl_sockets_startup.
37025         * modules/gethostname (Depends-on): Add sockets.
37026         * modules/socket (Depends-on): Likewise.
37027         * tests/test-poll.c: Don't include sockets.h.
37028         (main): Don't invoke gl_sockets_startup.
37029         * tests/test-select.c: Don't include sockets.h.
37030         (main): Don't invoke gl_sockets_startup.
37031
37032 2009-08-02  Bruno Haible  <bruno@clisp.org>
37033
37034         Allow multiple calls to gl_sockets_startup.
37035         * lib/sockets.c (initialized_sockets_version): New variable.
37036         (gl_sockets_startup): Do nothing if already called for this or a higher
37037         version.
37038         (gl_sockets_cleanup): Reset initialized_sockets_version.
37039
37040 2009-08-03  Simon Josefsson  <simon@josefsson.org>
37041
37042         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
37043         different project/version.
37044
37045 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
37046             Bruno Haible  <bruno@clisp.org>
37047
37048         Tests for module 'pipe-filter-gi'.
37049         * modules/pipe-filter-gi-tests: New file.
37050         * tests/test-pipe-filter-gi1.sh: New file.
37051         * tests/test-pipe-filter-gi1.c: New file.
37052         * tests/test-pipe-filter-gi2.sh: New file.
37053         * tests/test-pipe-filter-gi2-main.c: New file.
37054         * tests/test-pipe-filter-gi2-child.c: New file.
37055
37056         New module 'pipe-filter-gi'.
37057         * lib/pipe-filter-gi.c: New file.
37058         * modules/pipe-filter-gi: New file.
37059
37060 2009-08-02  Bruno Haible  <bruno@clisp.org>
37061             Paolo Bonzini  <bonzini@gnu.org>
37062
37063         Tests for module 'pipe-filter-ii'.
37064         * modules/pipe-filter-ii-tests: New file.
37065         * tests/test-pipe-filter-ii1.sh: New file.
37066         * tests/test-pipe-filter-ii1.c: New file.
37067         * tests/test-pipe-filter-ii2.sh: New file.
37068         * tests/test-pipe-filter-ii2-main.c: New file.
37069         * tests/test-pipe-filter-ii2-child.c: New file.
37070
37071         New module 'pipe-filter-ii'.
37072         * lib/pipe-filter.h: New file.
37073         * lib/pipe-filter-ii.c: New file.
37074         * lib/pipe-filter-aux.h: New file.
37075         * modules/pipe-filter-ii: New file.
37076
37077 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37078
37079         * lib/gc-libgcrypt.c: Change copyright to FSF.
37080         * lib/gc-gnulib.c: Likewise.
37081
37082 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
37083
37084         * lib/gethostname.c: Include limits.h.
37085
37086 2009-08-02  Simon Josefsson  <simon@josefsson.org>
37087             Bruno Haible  <bruno@clisp.org>
37088
37089         Ensure HOST_NAME_MAX as part of the gethostname module.
37090         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
37091         define also HOST_NAME_MAX.
37092         * tests/test-gethostname.c: Include <limits.h>.
37093         (main): Check also HOST_NAME_MAX.
37094         * doc/posix-headers/limits.texi: Document the mingw problem.
37095
37096 2009-08-02  Bruno Haible  <bruno@clisp.org>
37097
37098         * lib/gethostname.c (gethostname): Fix handling of large len argument.
37099         Add comments.
37100
37101 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37102
37103         * lib/gethostname.c: Add Windows wrapper.
37104         * m4/gethostname.m4: Look for gethostname in -lws2_32.
37105         * modules/gethostname: Depend on sys_socket & errno, for also
37106         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
37107         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
37108
37109 2009-07-31  Jim Meyering  <meyering@redhat.com>
37110
37111         getloadavg: fix symbol name in comment
37112         * lib/getloadavg.c: Correct a typo I introduced when adding
37113         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
37114         Matt Kraai spotted the problem.
37115
37116 2009-07-29  Matt Kraai  <mkraai@beckman.com>
37117
37118         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
37119         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
37120         code also if ! defined N_NAME_POINTER.
37121         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
37122         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
37123         but the n_name member is a 12-byte array.
37124
37125 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
37126
37127         update-copyright: generalize comment handling
37128         * build-aux/update-copyright: Handle copyright statements
37129         within more comment styles.
37130         Document usage.
37131         Report any file with an external copyright holder or parse failure.
37132
37133 2009-07-29  Jim Meyering  <meyering@redhat.com>
37134
37135         mktime: correct setting of REPLACE_MKTIME
37136         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
37137
37138         update-copyright: new module
37139         * modules/update-copyright: New file.
37140         * build-aux/update-copyright: New file.
37141         * MODULES.html.sh (maint+release support): Add update-copyright.
37142
37143 2009-07-27  Bruno Haible  <bruno@clisp.org>
37144
37145         Fix compilation error when <ctime> is used and mktime is replaced.
37146         * lib/time.in.h (mktime): New declaration.
37147         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
37148         REPLACE_MKTIME instead of defining mktime in config.h.
37149         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
37150         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
37151         Reported by Ross McFarland <rwmcfa1@neces.com>.
37152
37153 2009-07-27  Bruno Haible  <bruno@clisp.org>
37154
37155         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
37156         Reported by Matt Kraai <mkraai@beckman.com>.
37157
37158 2009-07-25  Jim Meyering  <meyering@redhat.com>
37159
37160         maint.mk: avoid warnings about missing files
37161         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
37162         diagnostic when .prev-version does not exist.
37163         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
37164         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
37165         nonexistent cfg.mk.
37166         Suggestions from Simon Josefsson.
37167
37168 2009-07-25  Bruno Haible  <bruno@clisp.org>
37169
37170         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37171         defined as macros. Needed on QNX 6.4.1.
37172         Reported by Matt Kraai <mkraai@beckman.com>.
37173
37174 2009-07-23  Jim Meyering  <meyering@redhat.com>
37175
37176         maint.mk: invoke "make dist" with a working value of XZ_OPT
37177         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37178
37179 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37180
37181         Make fseeko.c compile on QNX.
37182         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37183
37184 2009-07-22  Peter Simons  <simons@cryp.to>
37185
37186         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37187         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37188         * lib/md4.h: Likewise.
37189         * lib/md5.h: Likewise.
37190         * lib/sha1.h: Likewise.
37191         * lib/sha256.h: Likewise.
37192         * lib/sha512.h: Likewise.
37193
37194         tests-sha1: don't assign literal string to 'char *' variable
37195         * tests/test-sha1.c (main): Declare locals with "const" to match
37196         attributes of the right hand side.
37197
37198 2009-07-21  Eric Blake  <ebb9@byu.net>
37199
37200         dup2: fix more mingw problems
37201         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37202         fd to itself.
37203         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37204         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37205         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37206         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37207         care of mingw bugs.
37208
37209 2009-07-21  Jim Meyering  <meyering@redhat.com>
37210
37211         vc-list-files: avoid failure when /bin/sh is dash
37212         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37213         On some Debian based systems, /bin/sh is a symlink to dash, and running
37214         this command would omit the "/" following each 'tests' prefix:
37215           dash -x build-aux/vc-list-files -C . tests
37216         That is because bash and dash work differently:
37217           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37218           bash ok
37219           dash odd
37220
37221 2009-07-21  Eric Blake  <ebb9@byu.net>
37222
37223         dup2-tests: test previous patch
37224         * modules/dup2-tests: New file.
37225         * tests/test-dup2.c: Likewise.
37226         * tests/test-open.c (main): Avoid unspecified behavior.
37227         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37228         test.
37229
37230         dup2: work around mingw and cygwin 1.5 bug
37231         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37233         * modules/unistd (Makefile.am): Substitute it.
37234         * lib/unistd.in.h (dup2): Declare the replacement.
37235         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37236         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37237         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37238         * modules/execute (Depends-on): Add dup2.
37239         * modules/fseterr (Depends-on): Likewise.
37240         * modules/pipe (Depends-on): Likewise.
37241         * modules/posix_spawn-internal (Depends-on): Likewise.
37242
37243 2009-07-21  Bruno Haible  <bruno@clisp.org>
37244
37245         * modules/.gitattributes: New file.
37246
37247 2009-07-20  Bruno Haible  <bruno@clisp.org>
37248
37249         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37250         (main): Use it.
37251
37252 2009-07-20  Eric Blake  <ebb9@byu.net>
37253
37254         test-pipe: make a bit more robust.
37255         * tests/test-pipe.c (myerr): Allow error messages regardless of
37256         what we do to stderr.
37257         (test_pipe): Rearrange to avoid deadlock.
37258         (child_main): Try a larger read, to ensure we avoided deadlock.
37259         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37260         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37261         if misused.
37262
37263 2009-07-19  Jim Meyering  <meyering@redhat.com>
37264
37265         fts: avoid false-positive cycle-detection
37266         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37267         for each new command line argument.
37268
37269 2009-07-19  Bruno Haible  <bruno@clisp.org>
37270
37271         Fix build error on mingw with the modules sys_select and unistd.
37272         * modules/acl-tests (Depends-on): Add close.
37273         * modules/binary-io-tests (Depends-on): Likewise.
37274         * modules/closein-tests (Depends-on): Likewise.
37275         * modules/flock-tests (Depends-on): Likewise.
37276         * modules/fsync-tests (Depends-on): Likewise.
37277         * modules/lseek-tests (Depends-on): Likewise.
37278         * modules/pipe-tests (Depends-on): Likewise.
37279         * modules/posix_spawn-tests (Depends-on): Likewise.
37280         * modules/posix_spawnp-tests (Depends-on): Likewise.
37281         * modules/stat-time-tests (Depends-on): Likewise.
37282         * modules/yesno-tests (Depends-on): Likewise.
37283
37284 2009-07-19  Bruno Haible  <bruno@clisp.org>
37285
37286         Unify conditionals.
37287         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37288         macros, not at the compiler macros.
37289         * lib/pipe.c: Likewise.
37290         * lib/execute.c: Likewise.
37291         * lib/spawni.c: Likewise.
37292
37293 2009-07-19  Bruno Haible  <bruno@clisp.org>
37294
37295         Fix handling of closed stdin/stdout/stderr on mingw.
37296         * lib/w32spawn.h: Include unistd.h.
37297         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37298         file descriptor with O_NOINHERIT flag.
37299         (fd_safer_noinherit): New function, based on fd-safer.c.
37300         (dup_safer_noinherit): New function, based on dup-safer.c.
37301         (undup_safer_noinherit): New function.
37302         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37303         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37304         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37305         instead of fd_safer.
37306         * tests/test-pipe.c: Include <windows.h>.
37307         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37308         result.
37309
37310         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37311         from main.
37312         (test_pipe): Pass an extra argument for disambiguation.
37313         (main): Invoke parent_main or child_main.
37314
37315         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37316         consistently.
37317
37318 2009-07-18  Eric Blake  <ebb9@byu.net>
37319
37320         test-pipe: fix mingw build
37321         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37322
37323 2009-07-18  Bruno Haible  <bruno@clisp.org>
37324
37325         * modules/pipe-tests (Makefile.am): Fix typo.
37326
37327 2009-07-18  Eric Blake  <ebb9@byu.net>
37328
37329         error: fix mingw build
37330         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37331         Reported by Bruno Haible.
37332
37333         error: avoid undefined use of stdout
37334         * lib/error.c (error, error_at_line): Check that fd 1 is open
37335         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37336         is handling faults and the close_stdout module wants to report the
37337         detection of closed stdout as an error.
37338
37339 2009-07-17  Eric Blake  <ebb9@byu.net>
37340
37341         pipe: be robust in face of closed fds
37342         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37343         should cause child to misbehave.
37344         * modules/pipe-tests: New module.
37345         * tests/test-pipe.c: New file.
37346         * tests/test-pipe.sh: New file.
37347         Reported by Akim Demaille.
37348
37349 2009-07-14  Bruno Haible  <bruno@clisp.org>
37350
37351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37352         Reported by anonymous kc.
37353
37354 2009-07-07  Jim Meyering  <meyering@redhat.com>
37355
37356         maint.mk: don't look for translatable strings in *.m4 or *.mk
37357         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37358         when searching for translatable strings.
37359
37360 2009-07-05  Jim Meyering  <meyering@redhat.com>
37361
37362         remove superfluous parentheses in STREQ definition
37363         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37364         * lib/getugroups.c (STREQ): Likewise.
37365         * lib/fnmatch.c (STREQ): Likewise.
37366         Spotted by Bruno Haible.
37367
37368 2009-07-04  Jim Meyering  <meyering@redhat.com>
37369
37370         argv-iter: new module
37371         * MODULES.html.sh: Add argv-iter.
37372         * lib/argv-iter.c, lib/argv-iter.h: New files.
37373         * modules/argv-iter: New file.
37374         * modules/argv-iter-tests: New file.
37375         * tests/test-argv-iter.c: Test it.
37376
37377 2009-07-04  Bruno Haible  <bruno@clisp.org>
37378
37379         Fix assertion.
37380         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37381         contains more exact copies of a given entry than file2, leave the extra
37382         copies unpaired rather than aborting.
37383         Reported by Eric Blake.
37384
37385 2009-07-02  Bruno Haible  <bruno@clisp.org>
37386
37387         Speedup git-merge-changelog for git cherry-pick.
37388         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37389         (entries_mapping_get): New function, extracted from compute_mapping.
37390         (entries_mapping_reverse_get): New function.
37391         (compute_mapping): Add a 'full' argument. Return the result in a
37392         'struct entries_mapping'.
37393         (main): Update. Access the mappings through entries_mapping_get.
37394         Reported by Eric Blake.
37395
37396 2009-07-02  Bruno Haible  <bruno@clisp.org>
37397
37398         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37399         best_i.
37400
37401 2009-07-02  Bruno Haible  <bruno@clisp.org>
37402
37403         Speed up approximate search for matching ChangeLog entries.
37404         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37405         argument. Call fstrcmp_bounded instead of fstrcmp.
37406         (compute_mapping, try_split_merged_entry, main): Update callers.
37407
37408 2009-07-02  Bruno Haible  <bruno@clisp.org>
37409
37410         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37411
37412 2009-06-30  Bruno Haible  <bruno@clisp.org>
37413
37414         Reduce the number of uc_is_cased calls.
37415         * lib/unicase.h (casing_suffix_context_t): Add
37416         'first_char_except_ignorable' field.
37417         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37418         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37419         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37420         Update initializer.
37421         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37422         case-ignorable characters.
37423         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37424         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37425         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37426         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37427         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37428
37429 2009-06-30  Bruno Haible  <bruno@clisp.org>
37430
37431         Tests for module 'unicase/ignorable'.
37432         * modules/unicase/ignorable-tests: New file.
37433         * tests/unicase/test-ignorable.c: New file, generated by
37434         gen-uni-tables.
37435
37436         Tests for module 'unicase/cased'.
37437         * modules/unicase/cased-tests: New file.
37438         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37439         * tests/unicase/test-predicate-part1.h: New file, derived from
37440         tests/unictype/test-predicate-part1.h.
37441         * tests/unicase/test-predicate-part2.h: New file, same as
37442         tests/unictype/test-predicate-part2.h.
37443
37444         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37445         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37446         (output_casing_properties): New function.
37447         (main): Call it.
37448         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37449         * lib/unicase/cased.c: Include unictype/bitmap.h.
37450         (uc_is_cased): Define through a bitmap lookup.
37451         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37452         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37453         (uc_is_case_ignorable): Define through a bitmap lookup.
37454         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37455         lib/unictype/bitmap.h.
37456         (Depends-on): Add inline. Clean up.
37457         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37458         lib/unictype/bitmap.h.
37459         (Depends-on): Add inline. Clean up.
37460         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37461         recognition.
37462         * tests/unicase/test-u16-tolower.c (main): Likewise.
37463         * tests/unicase/test-u32-tolower.c (main): Likewise.
37464
37465 2009-06-30  Bruno Haible  <bruno@clisp.org>
37466
37467         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37468         * lib/unicase/u16-casemap.c: Likewise.
37469         * lib/unicase/u32-casemap.c: Likewise.
37470
37471 2009-06-29  Bruno Haible  <bruno@clisp.org>
37472
37473         Define u32_casefold as a wrapper around u32_ct_casefold.
37474         * lib/unicase/u32-casefold.c: Update.
37475         * modules/unicase/u32-casefold (Depends-on): Add
37476         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37477         unicase/empty-suffix-context. Clean up.
37478
37479         Define u16_casefold as a wrapper around u16_ct_casefold.
37480         * lib/unicase/u16-casefold.c: Update.
37481         * modules/unicase/u16-casefold (Depends-on): Add
37482         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37483         unicase/empty-suffix-context. Clean up.
37484
37485         Define u8_casefold as a wrapper around u8_ct_casefold.
37486         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37487         * lib/unicase/u8-casefold.c: Update.
37488         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37489         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37490
37491         Define u32_totitle as a wrapper around u32_ct_totitle.
37492         * lib/unicase/u32-totitle.c: Update.
37493         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37494         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37495
37496         Define u16_totitle as a wrapper around u16_ct_totitle.
37497         * lib/unicase/u16-totitle.c: Update.
37498         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37499         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37500
37501         Define u8_totitle as a wrapper around u8_ct_totitle.
37502         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37503         functions.
37504         (FUNC): Delegate to U_CT_TOTITLE.
37505         * lib/unicase/u8-totitle.c: Update.
37506         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37507         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37508
37509         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37510         invocation.
37511         * modules/unicase/u32-tolower (Depends-on): Add
37512         unicase/empty-prefix-context, unicase/empty-suffix-context.
37513
37514         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37515         invocation.
37516         * modules/unicase/u16-tolower (Depends-on): Add
37517         unicase/empty-prefix-context, unicase/empty-suffix-context.
37518
37519         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37520         * modules/unicase/u8-tolower (Depends-on): Add
37521         unicase/empty-prefix-context, unicase/empty-suffix-context.
37522
37523         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37524         invocation.
37525         * modules/unicase/u32-toupper (Depends-on): Add
37526         unicase/empty-prefix-context, unicase/empty-suffix-context.
37527
37528         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37529         invocation.
37530         * modules/unicase/u16-toupper (Depends-on): Add
37531         unicase/empty-prefix-context, unicase/empty-suffix-context.
37532
37533         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37534         * modules/unicase/u8-toupper (Depends-on): Add
37535         unicase/empty-prefix-context, unicase/empty-suffix-context.
37536
37537         New module 'unicase/u32-ct-casefold'.
37538         * lib/unicase/u32-ct-casefold.c: New file.
37539         * modules/unicase/u32-ct-casefold: New file.
37540
37541         New module 'unicase/u16-ct-casefold'.
37542         * lib/unicase/u16-ct-casefold.c: New file.
37543         * modules/unicase/u16-ct-casefold: New file.
37544
37545         New module 'unicase/u8-ct-casefold'.
37546         * lib/unicase/u8-ct-casefold.c: New file.
37547         * lib/unicase/u-ct-casefold.h: New file, derived from
37548         lib/unicase/u-casefold.h.
37549         * modules/unicase/u8-ct-casefold: New file.
37550
37551         New module 'unicase/u32-ct-totitle'.
37552         * lib/unicase/u32-ct-totitle.c: New file.
37553         * modules/unicase/u32-ct-totitle: New file.
37554
37555         New module 'unicase/u16-ct-totitle'.
37556         * lib/unicase/u16-ct-totitle.c: New file.
37557         * modules/unicase/u16-ct-totitle: New file.
37558
37559         New module 'unicase/u8-ct-totitle'.
37560         * lib/unicase/u8-ct-totitle.c: New file.
37561         * lib/unicase/u-ct-totitle.h: New file, derived from
37562         lib/unicase/u-totitle.h.
37563         * modules/unicase/u8-ct-totitle: New file.
37564
37565         New module 'unicase/u32-ct-tolower'.
37566         * lib/unicase/u32-ct-tolower.c: New file.
37567         * modules/unicase/u32-ct-tolower: New file.
37568
37569         New module 'unicase/u16-ct-tolower'.
37570         * lib/unicase/u16-ct-tolower.c: New file.
37571         * modules/unicase/u16-ct-tolower: New file.
37572
37573         New module 'unicase/u8-ct-tolower'.
37574         * lib/unicase/u8-ct-tolower.c: New file.
37575         * modules/unicase/u8-ct-tolower: New file.
37576
37577         New module 'unicase/u32-ct-toupper'.
37578         * lib/unicase/u32-ct-toupper.c: New file.
37579         * modules/unicase/u32-ct-toupper: New file.
37580
37581         New module 'unicase/u16-ct-toupper'.
37582         * lib/unicase/u16-ct-toupper.c: New file.
37583         * modules/unicase/u16-ct-toupper: New file.
37584
37585         New module 'unicase/u8-ct-toupper'.
37586         * lib/unicase/u8-ct-toupper.c: New file.
37587         * modules/unicase/u8-ct-toupper: New file.
37588
37589         Add context arguments to u*_casemap functions.
37590         * lib/unicase/unicasemap.h: Include unicase.h.
37591         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37592         suffix_context arguments.
37593         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37594         functions.
37595         (FUNC): Add prefix_context and suffix_context arguments. Use
37596         uc_is_cased and uc_is_case_ignorable.
37597         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37598         * lib/unicase/u16-casemap.c: Likewise.
37599         * lib/unicase/u32-casemap.c: Likewise.
37600         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37601         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37602         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37603         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37604         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37605         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37606
37607         New module 'unicase/u32-suffix-context'.
37608         * lib/unicase/u32-suffix-context.c: New file.
37609         * modules/unicase/u32-suffix-context: New file.
37610
37611         New module 'unicase/u16-suffix-context'.
37612         * lib/unicase/u16-suffix-context.c: New file.
37613         * modules/unicase/u16-suffix-context: New file.
37614
37615         New module 'unicase/u8-suffix-context'.
37616         * lib/unicase/u8-suffix-context.c: New file.
37617         * lib/unicase/u-suffix-context.h: New file.
37618         * modules/unicase/u8-suffix-context: New file.
37619
37620         New module 'unicase/empty-suffix-context'.
37621         * lib/unicase/empty-suffix-context.c: New file.
37622         * modules/unicase/empty-suffix-context: New file.
37623
37624         New module 'unicase/u32-prefix-context'.
37625         * lib/unicase/u32-prefix-context.c: New file.
37626         * modules/unicase/u32-prefix-context: New file.
37627
37628         New module 'unicase/u16-prefix-context'.
37629         * lib/unicase/u16-prefix-context.c: New file.
37630         * modules/unicase/u16-prefix-context: New file.
37631
37632         New module 'unicase/u8-prefix-context'.
37633         * lib/unicase/u8-prefix-context.c: New file.
37634         * lib/unicase/u-prefix-context.h: New file.
37635         * lib/unicase/context.h: New file.
37636         * modules/unicase/u8-prefix-context: New file.
37637
37638         New module 'unicase/empty-prefix-context'.
37639         * lib/unicase/empty-prefix-context.c: New file.
37640         * modules/unicase/empty-prefix-context: New file.
37641
37642         New module 'unicase/ignorable'.
37643         * lib/unicase/ignorable.c: New file.
37644         * modules/unicase/ignorable: New file.
37645
37646         New module 'unicase/cased'.
37647         * lib/unicase/caseprop.h: New file.
37648         * lib/unicase/cased.c: New file.
37649         * modules/unicase/cased: New file.
37650
37651         New functions for case mapping of substrings.
37652         * lib/unicase.h (casing_prefix_context_t): New type.
37653         (unicase_empty_prefix_context): New variable.
37654         (u8_casing_prefix_context, u16_casing_prefix_context,
37655         u32_casing_prefix_context, u8_casing_prefixes_context,
37656         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37657         declarations.
37658         (casing_suffix_context_t): New type.
37659         (unicase_empty_suffix_context): New variable.
37660         (u8_casing_suffix_context, u16_casing_suffix_context,
37661         u32_casing_suffix_context, u8_casing_suffixes_context,
37662         u16_casing_suffixes_context, u32_casing_suffixes_context,
37663         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37664         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37665         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37666         declarations.
37667
37668 2009-06-28  Jim Meyering  <meyering@redhat.com>
37669
37670         boostrap: indent only with spaces
37671         * build-aux/bootstrap: Indent only with spaces, never TABs.
37672
37673         bootstrap: split long lines
37674         * build-aux/bootstrap: Keep line length < 80.
37675
37676         bootstrap: sync from coreutils
37677         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37678         just as autoreconf does.  Verify a list of prerequisite
37679         package-name,version-number pairs if defined in bootstrap.conf.
37680         Refer to README-prereq, if prerequisites are not satisfied.
37681
37682 2009-06-27  Eric Blake  <ebb9@byu.net>
37683
37684         tests: add test for bogus NULL definition
37685         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37686         * tests/test-stdlib.c: Likewise.
37687         * tests/test-string.c: Likewise.
37688         * tests/test-locale.c: Likewise.
37689         * tests/test-unistd.c: Likewise.
37690         * modules/stdio-tests (Depends-on): Add verify.
37691         * modules/stdlib-tests (Depends-on): Likewise.
37692         * modules/string-tests (Depends-on): Likewise.
37693         * modules/locale-tests (Depends-on): Likewise.
37694         * modules/unistd-tests (Depends-on): Likewise.
37695
37696 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37697
37698         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37699         self-explaining comment.
37700         * m4/selinux-selinux-h: Update serial.
37701         (gl_LIBSELINUX): New macro, adding a warning for missing development
37702         packages to code extracted from...
37703         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37704         Add warning for missing development packages here, too.
37705
37706 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37707
37708         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37709
37710 2009-06-25  Eric Blake  <ebb9@byu.net>
37711
37712         version-etc: fix regression
37713         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37714         gcc.
37715         (version_etc): Use it, to catch bugs with trailing NULL.
37716         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37717         (version_etc_va): Fix logic bug.
37718         * modules/version-etc-tests: Add test.
37719         * tests/test-version-etc.c: New file.
37720         * tests/test-version-etc.sh: Likewise.
37721
37722 2009-06-25  Sam Steingold  <sds@gnu.org>
37723
37724         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37725         mbtowc declaration.
37726
37727 2009-06-25  Eric Blake  <ebb9@byu.net>
37728
37729         fpurge: migrate into <stdio.h>
37730         * lib/fpurge.h: Delete...
37731         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37732         * lib/fpurge.c (fpurge): Change declaring header.
37733         * modules/fpurge (Files): Drop deleted file.
37734         (Depends-on): Add stdio.
37735         (configure.ac): Set witness.
37736         * modules/stdio (Makefile.am): Support fpurge macros.
37737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37738         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37739         * lib/fflush.c: Update client.
37740         * tests/test-fpurge.c: Likewise.
37741         * NEWS: Mention the change.
37742
37743 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37744
37745         * lib/argp-version-etc.c (program_authors): Add const
37746         qualifier.
37747         * lib/version-etc.c: Fix typos in the comments.
37748         * modules/argp-version-etc: Depends on version-etc.
37749
37750 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37751
37752         argp-version-etc: new module.
37753
37754         * lib/argp-version-etc.c: New file.
37755         * lib/argp-version-etc.h: New file.
37756         * modules/argp-version-etc: New file.
37757         * modules/argp-version-etc-tests: New file.
37758         * tests/test-argp-version-etc.c: New test.
37759         * tests/test-argp-version-etc-1.sh: New test.
37760
37761 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37762
37763         Provide additional interfaces and documentation for version-etc
37764         module.
37765
37766         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37767         interfaces.
37768         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37769         prototypes.
37770
37771 2009-06-24  Bruno Haible  <bruno@clisp.org>
37772
37773         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37774         HAVE_LIB${NAME} macro.
37775         Reported by Sam Steingold <sds@gnu.org>.
37776
37777 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37778
37779         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37780         needed.
37781
37782 2009-06-21  Bruno Haible  <bruno@clisp.org>
37783
37784         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37785         work.
37786         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37787         together with LIB${NAME}, LTLIB${NAME}.
37788         Reported by Sam Steingold <sds@gnu.org>.
37789
37790 2009-06-20  Jim Meyering  <meyering@redhat.com>
37791
37792         tests: make sc_require_test_exit_idiom more generic
37793         * top/maint.mk (Exit_witness_file): New overridable variable.
37794         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37795         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37796
37797 2009-06-19  Jim Meyering  <meyering@redhat.com>
37798
37799         hash: reverse order of src/dst parameters in an internal interface
37800         * lib/hash.c (transfer_entries): Reverse order of parameters to
37801         put DST before SRC.  Adjust callers.
37802
37803         tests: test-hash: avoid wholesale duplication
37804         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37805         Instead, use a loop and add a single conditional.
37806
37807         tests: test-hash: allow seed selection via a command line argument
37808         * tests/test-hash.c (get_seed): New function.
37809         (main): Use it.
37810
37811 2009-06-19  Eric Blake  <ebb9@byu.net>
37812
37813         hash: avoid memory leak on allocation failure
37814         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37815         failure.  Factor repeated algorithm...
37816         (transfer_entries): ...into new helper routine.
37817         (hash_delete): React to hash_rehash return value.
37818
37819         hash: reduce memory pressure in hash_rehash no-op case
37820         * lib/hash.c (next_prime): Avoid overflow.
37821         (hash_initialize): Factor bucket size computation...
37822         (compute_bucket_size): ...into new helper function.
37823         (hash_rehash): Use new function and open coding to reduce memory
37824         pressure, and avoid a memory leak in USE_OBSTACK code.
37825         Reported by Jim Meyering.
37826
37827 2009-06-18  Eric Blake  <ebb9@byu.net>
37828
37829         hash: make rotation more obvious
37830         * modules/hash (Depends-on): Add bitrotate and stdint.
37831         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37832         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37833         (SIZE_MAX): Rely on headers for definition.
37834         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37835         (raw_hasher): Use rotr_sz.
37836         Suggested by Jim Meyering.
37837
37838         hash: fix memory leak in last patch
37839         * lib/hash.c (hash_rehash): Avoid memory leak.
37840
37841         hash: avoid no-op rehashing
37842         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37843
37844         hash: provide default callback functions
37845         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37846         (hash_initialize): Use them as defaults.
37847         * tests/test-hash.c (main): Test this.
37848
37849         hash: minor optimization
37850         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37851         when possible.
37852         (hash_initialize): Document this promise.
37853         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37854         * tests/test-hash.c (hash_compare_strings): Test this.
37855
37856 2009-06-18  Bruno Haible  <bruno@clisp.org>
37857
37858         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37859         going to be replaced anyway.
37860
37861 2009-06-18  Bruno Haible  <bruno@clisp.org>
37862
37863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37864         in one place.
37865         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37866         be replaced anyway.
37867
37868 2009-06-18  Eric Blake  <ebb9@byu.net>
37869
37870         hash: check for resize before insertion
37871         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37872         threshold before insertion, so that a pathological hash_rehash
37873         that fills every bucket can still trigger another rehash.
37874
37875 2009-06-18  Jim Meyering  <meyering@redhat.com>
37876
37877         hash-tests: add a loop around the small tests
37878         * tests/test-hash.c (main): Repeat small tests with selected
37879         small initial table sizes.
37880
37881 2009-06-17  Eric Blake  <ebb9@byu.net>
37882
37883         hash: minor cleanups
37884         * lib/hash.h (hash_entry): Make opaque, by moving...
37885         * lib/hash.c (hash_entry): ...here.
37886         (hash_insert): Clarify restrictions on what can be inserted.
37887         (hash_get_next): Clarify when it is safe to remove an element
37888         during traversal.
37889         (check_tuning): Skip verification when tuning is known safe.
37890         (hash_initialize): Clarify restrictions on tuning.
37891
37892 2009-06-17  Jim Meyering  <jim@meyering.net>
37893         and Eric Blake  <ebb9@byu.net>
37894
37895         hash-tests: new module
37896         * modules/hash-tests: New file.
37897         * tests/test-hash.c: New file.
37898
37899 2009-06-17  Eric Blake  <ebb9@byu.net>
37900
37901         strstr-simple: document new module
37902         * MODULES.html.sh: Document new module.
37903
37904         strstr, strcasestr: replace on platforms with broken memchr
37905         * modules/strstr: Split into...
37906         * modules/strstr-simple: ...new module that does not care about
37907         performance, but does care about glibc bug.
37908         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37909         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37910         if platform memchr is broken, per Debian bug 521737.
37911         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37912         memchr.
37913         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37914         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37915         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37916         * modules/mountlist (Depends-on): Add strstr-simple.
37917         * modules/gen-uni-tables (Depends-on): Likewise.
37918         * modules/argz (Depends-on): Add strstr.
37919
37920 2009-06-17  Bruno Haible  <bruno@clisp.org>
37921
37922         * modules/posix_spawn-internal (Depends-on): Add errno.
37923
37924 2009-06-17  Bruno Haible  <bruno@clisp.org>
37925
37926         Define missing ESTALE on Interix 3.5.
37927         * lib/errno.in.h (ESTALE): Assign a value if missing.
37928         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37929         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37930         missing.
37931         * doc/posix-headers/errno.texi: Mention the Interix bug.
37932         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37933
37934 2009-06-15  Eric Blake  <ebb9@byu.net>
37935
37936         memchr, memchr2: add valgrind exception
37937         * lib/memchr.valgrind: New file.
37938         * lib/memchr2.valgrind: New file.
37939         * modules/memchr (Files): Distribute valgrind file.
37940         * modules/memchr2 (Files): Likewise.
37941
37942         docs: memchr is no longer obsolete
37943         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37944         * lib/string.in.h (memchr): Simplify logic.
37945
37946 2009-06-14  Jim Meyering  <meyering@redhat.com>
37947
37948         link-follow: fix the "checking..." message to not mention trailing slash
37949         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37950         never considered trailing slashes.
37951
37952 2009-06-14  Bruno Haible  <bruno@clisp.org>
37953
37954         * m4/memchr.m4: Mention also the bug on IA-64.
37955         * doc/posix-functions/memchr.texi: Likewise.
37956
37957 2009-06-12  Eric Blake  <ebb9@byu.net>
37958
37959         memchr: detect broken x86_64 and alpha implementations
37960         * modules/memchr-tests (Depends-on): Move mmap detection...
37961         * modules/memchr (Depends-on): ...here.
37962         (configure.ac): Set indicator.
37963         * lib/string.in.h (memchr): Declare replacement.
37964         * modules/string (Makefile.am): Trigger replacement.
37965         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37966         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37967         bugs.
37968         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37969         * modules/getpagesize (License): Relax license.
37970
37971 2009-06-11  Bruno Haible  <bruno@clisp.org>
37972
37973         * lib/idpriv.h: Add more references.
37974
37975 2009-06-08  Bruno Haible  <bruno@clisp.org>
37976
37977         Tests for module 'idpriv-droptemp'.
37978         * modules/idpriv-droptemp-tests: New file.
37979         * tests/test-idpriv-droptemp.sh: New file.
37980         * tests/test-idpriv-droptemp.su.sh: New file.
37981         * tests/test-idpriv-droptemp.c: New file.
37982
37983         New module 'idpriv-droptemp'.
37984         * lib/idpriv-droptemp.c: New file.
37985         * modules/idpriv-droptemp: New file.
37986
37987 2009-06-08  Bruno Haible  <bruno@clisp.org>
37988
37989         Tests for module 'idpriv-drop'.
37990         * modules/idpriv-drop-tests: New file.
37991         * tests/test-idpriv-drop.sh: New file.
37992         * tests/test-idpriv-drop.su.sh: New file.
37993         * tests/test-idpriv-drop.c: New file.
37994
37995         New module 'idpriv-drop'.
37996         * lib/idpriv.h: New file.
37997         * lib-idpriv-drop.c: New file.
37998         * m4/idpriv.m4: New file.
37999         * modules/idpriv-drop: New file.
38000
38001 2009-06-08  Bruno Haible  <bruno@clisp.org>
38002
38003         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
38004         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38005         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38006         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38007         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38008         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38009         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38010
38011 2009-06-08  Eric Blake  <ebb9@byu.net>
38012
38013         test-strstr: use memory fence, when possible
38014         * tests/test-strstr.c (main): Use memory fence, in order to be
38015         more likely to trigger Debian bug 521737.
38016         * modules/strstr-tests (Files): Pull in additional files.
38017
38018         memchr: no longer obsolete, for wider field testing
38019         * modules/memchr (Status, Notice): Delete, this module is no
38020         longer obsolete.
38021         * modules/vasnprintf (Depends-on): Add memchr.
38022
38023 2009-06-07  Jim Meyering  <meyering@redhat.com>
38024
38025         hash: declare some functions with the warn_unused_result attribute
38026         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
38027
38028 2009-06-07  Bruno Haible  <bruno@clisp.org>
38029
38030         * tests/test-alignof.c: Don't test int64_t if it does not exist.
38031         Reported by Eric Blake.
38032
38033 2009-06-06  Eric Blake  <ebb9@byu.net>
38034
38035         test-alignof: fix typo with long double
38036         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
38037         compiler error.
38038
38039 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
38040
38041         Escape non-texinfo { and }s.
38042         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
38043         markup error.
38044
38045 2009-06-04  Jim Meyering  <meyering@redhat.com>
38046
38047         gitlog-to-changelog: don't infloop on an empty commit log
38048         * build-aux/gitlog-to-changelog: Warn about an empty log message.
38049         Reported by Boris Petersen <transacid@centerim.org>.
38050
38051 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
38052
38053         version-etc: extend for packagers
38054         Add three new configure options, intended for packagers:
38055           --with-packager="packager name"
38056           --with-packager-version="packager-specific version"
38057           --with-packager-bug-reports="packager bug reporting"
38058         An example with coreutils:
38059           $ ./configure \
38060             --with-packager=Gentoo \
38061             --with-packager-bug-report=http://bugs.gentoo.org/ \
38062             --with-packager-version="patchset 1.6"
38063           $ ./src/ls --version | head -n2
38064           ls (GNU coreutils) 7.1-dirty
38065           Packaged by Gentoo (patchset 1.6)
38066         Note that the bug reporting info via --help doesn't show up because
38067         coreutils uses its own custom emit_bug_reporting_address() implementation
38068         in src/system.h.  If it didn't, it'd look like:
38069           $ ./src/ls --help | tail -n4
38070           Report bugs to <bug-coreutils@gnu.org>.
38071           Report Gentoo bugs to <http://bugs.gentoo.org/>.
38072           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
38073           General help using GNU software: <http://www.gnu.org/gethelp/>.
38074         * lib/version-etc.c: Print new information, if provided.
38075         * m4/version-etc.m4: New file.
38076         * modules/version-etc (Files): Add m4/version-etc.m4.
38077         (configure.ac): Add gl_VERSION_ETC.
38078
38079 2009-05-31  Bruno Haible  <bruno@clisp.org>
38080
38081         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
38082         and 'int64_t'.
38083         * modules/alignof-tests (Dependencies): Add stdint.
38084         Reported by Eric Blake.
38085
38086 2009-05-31  Bruno Haible  <bruno@clisp.org>
38087
38088         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
38089         restriction due to compiler bugs.
38090         Reported by Eric Blake.
38091
38092 2009-05-31  Simon Josefsson  <simon@josefsson.org>
38093             Bruno Haible  <bruno@clisp.org>
38094
38095         Fix test-alignof failure.
38096         * lib/alignof.h (alignof_slot): New macro.
38097         (alignof_type): New macro, with the same semantics as the previous
38098         'alignof'.
38099         (alignof): Alias to alignof_slot.
38100         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
38101         check that the results are usable as constant expressions.
38102
38103 2009-05-31  Bruno Haible  <bruno@clisp.org>
38104
38105         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
38106         * tests/test-memchr.c (main): Check that memchr does not read past the
38107         first occurrence of the byte.
38108         * tests/test-strstr.c (main): Update comment.
38109         Suggested by Eric Blake.
38110
38111 2009-05-30  Bruno Haible  <bruno@clisp.org>
38112
38113         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
38114         detail how to use dumpbin.
38115         Reported by David Byron <dbyron@dbyron.com>.
38116
38117 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38118
38119         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
38120
38121 2009-06-02  Simon Josefsson  <simon@josefsson.org>
38122
38123         * m4/manywarnings.m4: Add GCC 4.4 warnings.
38124
38125 2009-05-28  Bruno Haible  <bruno@clisp.org>
38126
38127         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
38128         build-aux/ files.
38129
38130 2009-05-28  Simon Josefsson  <simon@josefsson.org>
38131
38132         * gnulib-tool (func_import): Transform license on build-aux/ files too.
38133
38134 2009-05-27  Simon Josefsson  <simon@josefsson.org>
38135
38136         * gnulib-tool (sed_transform_main_lib_file)
38137         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
38138         regexps.
38139
38140 2009-05-26  Simon Josefsson  <simon@josefsson.org>
38141
38142         * tests/test-strstr.c: Add another self-test.
38143         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
38144         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
38145
38146 2009-05-23  Bruno Haible  <bruno@clisp.org>
38147
38148         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
38149         change.
38150
38151 2009-05-21  Bruno Haible  <bruno@clisp.org>
38152
38153         Simplify use of mode_t varargs.
38154         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
38155         uses 'mode_t' or 'int'.
38156         * lib/openat.c (openat): Likewise.
38157         * lib/open-safer.c (open_safer): Likewise.
38158         * m4/mode_t.m4: New file.
38159         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
38160         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
38161         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
38162         * modules/open (Files): Add m4/mode_t.m4.
38163         * modules/openat (Files): Likewise.
38164         * modules/fcntl-safer (Files): Likewise.
38165         Suggested by Eric Blake.
38166
38167 2009-05-21  Pádraig Brady  <P@draigbrady.com>
38168
38169         * doc/glibc-functions/fallocate.texi: New file.
38170         * doc/gnulib.texi: Include it.
38171
38172 2009-05-21  Eric Blake  <ebb9@byu.net>
38173             Bruno Haible  <bruno@clisp.org>
38174
38175         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38176         invocations.
38177         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38178
38179 2009-05-21  Eric Blake  <ebb9@byu.net>
38180             Bruno Haible  <bruno@clisp.org>
38181
38182         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38183         include_next. Fix of 2008-11-20 commit.
38184         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38185         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38186         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38187         NEXT_MATH_H.
38188         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38189         instead of NEXT_MATH_H.
38190
38191 2009-05-21  Bruno Haible  <bruno@clisp.org>
38192
38193         Avoid redefinition warnings for SIZE_MAX.
38194         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38195         Reported by Simon Josefsson.
38196
38197 2009-05-21  Bruno Haible  <bruno@clisp.org>
38198
38199         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38200         AC_CACHE_VAL.
38201
38202 2009-05-20  Bruno Haible  <bruno@clisp.org>
38203
38204         Make zeroptr.h work on mingw.
38205         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38206         mprotect.
38207         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38208         * modules/memchr2-tests (configure.ac): Likewise.
38209         * modules/memcmp-tests (configure.ac): Likewise.
38210         * modules/memmem-tests (configure.ac): Likewise.
38211         * modules/memrchr-tests (configure.ac): Likewise.
38212         Reported by Simon Josefsson.
38213
38214 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38215
38216         * tests/test-glob.c: Include string.h for strcmp prototype.
38217
38218 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38219
38220         * modules/getdelim (Depends-on): Add explicit stdint, although it
38221         was implicitly already pulled in via realloc-posix.
38222         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38223
38224 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38225
38226         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38227         G. Christensen" <tgc@jupiterrise.com>.
38228         * m4/sys_socket_h.m4: Check for sa_family_t.
38229         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38230         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38231         * tests/test-sys_socket.c: Check that sa_family_t works.
38232
38233 2009-05-18  Eric Blake  <ebb9@byu.net>
38234
38235         maint.mk: allow gnulib_dir in VPATH build
38236         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38237
38238 2009-05-15  Jim Meyering  <meyering@redhat.com>
38239
38240         maint.mk: Give gnulib_dir a default definition.
38241         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38242         Thus, most packages no longer need to specify this variable in cfg.mk
38243
38244 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38245
38246         rename.m4: fix typos that would make non-mingw cross-configure fail
38247         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38248
38249 2009-05-13  Eric Blake  <ebb9@byu.net>
38250
38251         mmap-anon: avoid out-of-order autoconf expansion
38252         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38253         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38254         * modules/memchr-tests (Depends-on): Add extensions.
38255         * modules/memchr2-tests (Depends-on): Add extensions.
38256         * modules/memcmp-tests (Depends-on): Add extensions.
38257         * modules/memmem-tests (Depends-on): Add extensions.
38258         * modules/memrchr-tests (Depends-on): Add extensions.
38259
38260 2009-05-13  Bruno Haible  <bruno@clisp.org>
38261
38262         Make some tests ISO C 99 compliant.
38263         * tests/zerosize-ptr.h: New file.
38264         * tests/test-memchr.c: Include zerosize-ptr.h.
38265         (main): Use a zero-size object pointer instead of NULL.
38266         * tests/test-memchr2.c: Include zerosize-ptr.h.
38267         (main): Use a zero-size object pointer instead of NULL.
38268         * tests/test-memcmp.c: Include zerosize-ptr.h.
38269         (main): Use a zero-size object pointer instead of NULL.
38270         * tests/test-memmem.c: Include zerosize-ptr.h.
38271         (main): Use a zero-size object pointer instead of NULL.
38272         * tests/test-memrchr.c: Include zerosize-ptr.h.
38273         (main): Use a zero-size object pointer instead of NULL.
38274         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38275         m4/mmap-anon.m4.
38276         (Depends-on): Add getpagesize.
38277         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38278         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38279         m4/mmap-anon.m4.
38280         (Depends-on): Add getpagesize.
38281         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38282         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38283         m4/mmap-anon.m4.
38284         (Depends-on): Add getpagesize.
38285         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38286         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38287         m4/mmap-anon.m4.
38288         (Depends-on): Add getpagesize.
38289         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38290         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38291         m4/mmap-anon.m4.
38292         (Depends-on): Add getpagesize.
38293         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38294
38295 2009-05-12  Bruno Haible  <bruno@clisp.org>
38296
38297         Tests for module 'alignof'.
38298         * modules/alignof-tests: New file.
38299         * tests/test-alignof.c: New file.
38300
38301 2009-05-12  Bruno Haible  <bruno@clisp.org>
38302
38303         Fix alignof macro.
38304         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38305         vendor compilers that are always correct.
38306
38307 2009-05-12  Bruno Haible  <bruno@clisp.org>
38308
38309         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38310         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38311         not whether its fully works.
38312
38313 2009-05-12  Bruno Haible  <bruno@clisp.org>
38314
38315         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38316
38317 2009-05-12  Jim Meyering  <meyering@redhat.com>
38318
38319         * top/maint.mk: Adjust backslash alignment.
38320
38321 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38322
38323         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38324
38325 2009-05-11  Eric Blake  <ebb9@byu.net>
38326
38327         argp: avoid undefined behavior
38328         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38329         macros.
38330
38331 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38332
38333         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38334         user.name to prevent git commit from complaining.
38335
38336 2009-05-10  Bruno Haible  <bruno@clisp.org>
38337
38338         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38339         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38340         it rewrites every file name only once.
38341         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38342
38343 2009-05-08  Bruno Haible  <bruno@clisp.org>
38344
38345         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38346         instead of 'max'.
38347
38348 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38349
38350         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38351         sockaddr_storage test.
38352
38353 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38354
38355         * modules/sys_socket (Makefile.am): Substitute
38356         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38357         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38358         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38359         * tests/test-sys_socket.c: Check sockaddr_storage.
38360
38361 2009-05-08  Bruno Haible  <bruno@clisp.org>
38362
38363         New module 'alignof'.
38364         * lib/alignof.h: New file.
38365         * modules/alignof: New file.
38366
38367 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38368             Bruno Haible  <bruno@clisp.org>
38369
38370         Fix test-file-has-acl on FreeBSD.
38371         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38372         mask is implicitly added.
38373         * tests/test-file-has-acl.c: Include <signal.h>.
38374         (main): Terminate the test after 5 seconds.
38375         * modules/acl-tests (configure.ac): Check for alarm function.
38376
38377 2009-05-04  Bruno Haible  <bruno@clisp.org>
38378
38379         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38380         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38381         * modules/errno (configure.ac): Drop AC_REQUIRE.
38382         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38383         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38384
38385 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38386
38387         * modules/glob-tests: New module.
38388         * tests/test-glob.c: Add.
38389
38390 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38391
38392         * modules/fnmatch-tests: New module.
38393         * tests/test-fnmatch.c: Add.
38394
38395 2009-05-04  Eric Blake  <ebb9@byu.net>
38396
38397         maint: make the new no-submodule-changes rule VPATH-safe
38398         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38399
38400 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38401             Bruno Haible  <bruno@clisp.org>
38402
38403         acl: Fix infinite loop on FreeBSD.
38404         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38405         of return value from acl_get_entry.
38406         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38407         Likewise.
38408
38409 2009-05-03  Bruno Haible  <bruno@clisp.org>
38410
38411         * lib/acl-internal.h (acl_entries): Clarify return value.
38412         * lib/acl_entries.c (acl_entries): Likewise.
38413
38414 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38415
38416         Bug fix in acl module.
38417         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38418
38419 2009-05-03  Bruno Haible  <bruno@clisp.org>
38420
38421         Create gperf-generated file in the source dir, not in the build dir.
38422         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38423         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38424         * modules/unicase/locale-language (unicase/locale-languages.h):
38425         Likewise.
38426         * modules/unicase/special-casing (unicase/special-casing-table.h):
38427         Likewise.
38428         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38429         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38430         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38431         Reported by Ralf Wildenhues.
38432
38433 2009-05-03  Bruno Haible  <bruno@clisp.org>
38434
38435         * modules/fnmatch (Description, configure.ac): Taken from
38436         fnmatch-posix.
38437         * modules/fnmatch-posix: Turn into a symbolic reference to the
38438         'fnmatch' module, and deprecate.
38439         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38440
38441 2009-05-03  Bruno Haible  <bruno@clisp.org>
38442
38443         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38444         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38445         Reported by Ralf Wildenhues.
38446
38447 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38448
38449         * m4/fnmatch.m4: Fix fnmatch re-define.
38450
38451 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38452
38453         priv-set: new module and tests; adapt write-any-file
38454         * lib/priv-set.c: New file.
38455         * lib/priv-set.h: New file.
38456         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38457         * lib/write-any-file.c: Simplify by using priv-set module.
38458         * m4/priv-set.m4: New file.
38459         * modules/priv-set: New file.
38460         * modules/unlinkdir: Add dependency on priv-set module.
38461         * modules/write-any-file: Likewise.
38462
38463         Tests for module 'priv-set'.
38464         * modules/priv-set-tests: New file.
38465         * tests/test-priv-set.c: New file.
38466
38467 2009-05-03  Jim Meyering  <meyering@redhat.com>
38468             Bruno Haible  <bruno@clisp.org>
38469
38470         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38471         use the converted UTF-8 variant of the name instead.
38472
38473 2009-05-03  Jim Meyering  <meyering@redhat.com>
38474
38475         tests: tighten some getdate tests
38476         * tests/test-getdate.c (main): Tighten tests: require equality,
38477         not just greater than.  Set TZ envvar to UTC0.
38478
38479 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38480
38481         getdate: correctly interpret "next monday" when run on a Monday
38482         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38483         that e.g., "next tues" (when run on a tuesday) results in a date
38484         that is one week in the future, and not today's date.
38485         I.e., add a week when the wday is the same as the current one.
38486         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38487         and earlier by Martin Bernreuther and Jan Minář.
38488         * tests/test-getdate.c (main): Check that "next DAY" is always in
38489         the future and that "last DAY" is always in the past.
38490
38491 2009-05-02  Jim Meyering  <meyering@redhat.com>
38492
38493         build: ensure that a release build fails when a submodule is unclean
38494         * top/maint.mk (no-submodule-changes): New rule.
38495         (alpha beta major): Depend on it.
38496
38497 2009-05-02  Bruno Haible  <bruno@clisp.org>
38498
38499         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38500         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38501         shell variable gl_fnmatch_required to detect which variant is
38502         requested.
38503         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38504         gl_FUNC_FNMATCH_POSIX.
38505         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38506         exclude fnmatch-posix.
38507
38508 2009-05-02  Bruno Haible  <bruno@clisp.org>
38509
38510         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38511         * modules/mbsrtowcs (License): Change to LGPLv2+.
38512         * modules/strnlen1 (License): Likewise.
38513         Reported by Simon Josefsson.
38514
38515 2009-05-02  Bruno Haible  <bruno@clisp.org>
38516
38517         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38518         "cross".
38519         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38520         gnulib-tool was called with option --source-base=lib.
38521
38522 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38523
38524         Use automake *-local hooks without commands, for extensibility.
38525         * modules/localcharset (Makefile.am): Rename install-exec-local
38526         rule to install-exec-localcharset, and make it a prerequisite of
38527         install-exec-local.  Likewise, rename the uninstall-local rule to
38528         uninstall-localcharset, and make it a prerequisite of the former.
38529
38530 2009-05-01  Bruno Haible  <bruno@clisp.org>
38531
38532         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38533         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38534         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38535         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38536         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38537         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38538         m4/locale-zh.m4, m4/codeset.m4.
38539
38540         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38541         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38542         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38543         m4/locale-zh.m4.
38544
38545         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38546         REPLACE_WCRTOMB if mbstate_t must be replaced.
38547         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38548         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38549
38550 2009-05-01  Bruno Haible  <bruno@clisp.org>
38551
38552         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38553         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38554         dngettext, dcngettext, textdomain, bindtextdomain,
38555         bind_textdomain_codeset): Undefine before redefining.
38556
38557 2009-04-30  Bruno Haible  <bruno@clisp.org>
38558
38559         Fix bug introduced on 2009-04-25.
38560         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38561         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38562         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38563         is defined.
38564         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38565         is defined.
38566         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38567         is defined.
38568         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38569
38570 2009-04-28  Bruno Haible  <bruno@clisp.org>
38571
38572         Comment tweaks.
38573         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38574         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38575         * lib/unicase.h (u*_casexfrm): Likewise.
38576         Reported by Paolo Bonzini.
38577
38578 2009-04-28  Bruno Haible  <bruno@clisp.org>
38579
38580         Fix a compilation error.
38581         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38582         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38583         Reported by Jim Meyering.
38584
38585 2009-04-27  Bruno Haible  <bruno@clisp.org>
38586
38587         New module 'libunistring'.
38588         * modules/libunistring: New file.
38589         * m4/libunistring.m4: New file.
38590         * MODULES.html.sh (Unicode string functions): Add it.
38591
38592 2009-04-27  Eric Blake  <ebb9@byu.net>
38593
38594         maint.mk: allow package-specific header to provide <config.h>
38595         * top/maint.mk (sc_require_config_h): New variable.
38596         (sc_require_config_h, sc_require_config_h_first): Use it.
38597
38598 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38599
38600         * top/maint.mk (sc_avoid_if_before_free): Except
38601         useless-if-before-free script.
38602
38603 2009-04-27  Eric Blake  <ebb9@byu.net>
38604
38605         maintainer-makefile: depend on all required helper scripts
38606         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38607         useless-if-before-free.
38608         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38609         version, rather than assuming gnulib checkout is available.
38610         Reported by Simen Josefsson.
38611
38612 2009-04-26  Bruno Haible  <bruno@clisp.org>
38613
38614         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38615         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38616         "../" or "..".
38617
38618 2009-04-26  Bruno Haible  <bruno@clisp.org>
38619
38620         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38621         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38622         AC_LIB_HAVE_LINKFLAGS.
38623
38624 2009-04-26  Bruno Haible  <bruno@clisp.org>
38625
38626         Simplify calling convention of u*_conv_from_encoding.
38627         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38628         u32_conv_from_encoding): Expect a resultbuf argument and return the
38629         result directly as a pointer.
38630         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38631         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38632         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38633         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38634         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38635         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38636         Update.
38637         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38638         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38639         * lib/vasnprintf.c (VASNPRINTF): Update.
38640         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38641         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38642         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38643         * NEWS: Mention the change.
38644
38645 2009-04-26  Bruno Haible  <bruno@clisp.org>
38646
38647         Simplify calling convention of u*_conv_to_encoding.
38648         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38649         u32_conv_to_encoding): Expect a resultbuf argument and return the
38650         result directly as a pointer.
38651         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38652         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38653         freeing scaled_offsets if mem_iconveha failed.
38654         * lib/unicase/u-casexfrm.h (FUNC): Update.
38655         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38656         * lib/vasnprintf.c (VASNPRINTF): Update.
38657         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38658         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38659         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38660         * NEWS: Mention the change.
38661
38662 2009-04-26  Bruno Haible  <bruno@clisp.org>
38663
38664         Avoid test failures on AIX and OSF/1.
38665         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38666         malloc(0).
38667         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38668         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38669         Likewise.
38670         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38671         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38672         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38673         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38674         * doc/posix-functions/malloc.texi: Document the portability problem
38675         related to malloc(0).
38676
38677 2009-04-26  Bruno Haible  <bruno@clisp.org>
38678
38679         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38680         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38681         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38682
38683 2009-04-25  Bruno Haible  <bruno@clisp.org>
38684
38685         Avoid link error when creating a namespace clean library.
38686         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38687         as macro with arguments if already defined as an alias.
38688         * lib/signbitf.c (gl_signbitf): Don't undefine.
38689         * lib/signbitd.c (gl_signbitd): Don't undefine.
38690         * lib/signbitl.c (gl_signbitl): Don't undefine.
38691
38692 2009-04-25  Jim Meyering  <meyering@redhat.com>
38693
38694         vc-list-files: fix another quoting bug
38695         * build-aux/vc-list-files: Avoid sed backslash expansion
38696         of pathological directory names.
38697
38698 2009-04-25  Eric Blake  <ebb9@byu.net>
38699
38700         vc-list-files: fix shell quoting error
38701         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38702         timestamp.
38703
38704 2009-04-25  Jim Meyering  <meyering@redhat.com>
38705
38706         vc-list-files: restore lost functionality with subdir argument
38707         * build-aux/vc-list-files: When given a non-"." sub-directory
38708         argument, substitute the $dir/ prefix back onto each resulting name.
38709         Otherwise, coreutils' root_tests check would fail.
38710
38711 2009-04-24  Eric Blake  <ebb9@byu.net>
38712
38713         vc-list-files: ignore git symlinks
38714         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38715         than ls-files, to ignore git symlinks.
38716
38717         maint.mk: import improvements from m4
38718         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38719         (move_if_change): Delete unused macro.
38720         (news-date-check, vc-diff-check): Support VPATH builds.
38721         (announcement): Likewise.  Split --bootstrap-tools list...
38722         (boostrap-tools): ...into separate list, which can be overridden
38723         in cfg.mk.
38724         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38725         requiring dependency on useless-if-before-free module.
38726         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38727         Support VPATH builds.
38728
38729 2009-04-24  Jim Meyering  <meyering@redhat.com>
38730
38731         maint.mk: remove coreutils-specific rules and variables
38732         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38733         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38734         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38735
38736         maint.mk: remove obsolete rule
38737         * top/maint.mk (rel-check): Remove rule.
38738         (WGET, WGETFLAGS): Remove now-unused variables.
38739
38740 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38741
38742         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38743         consistency.
38744
38745         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38746         '$(PATH_SEPARATOR)' instead of ':'.
38747
38748 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38749
38750         * lib/getopt1.c (main): Use 'const' for static array.
38751
38752 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38753
38754         * top/maint.mk: Sync with coreutils.
38755         * NEWS: Explain incompatibilities.
38756
38757 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38758             Bruno Haible  <bruno@clisp.org>
38759
38760         Fix cross-compilation results.
38761         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38762         statement, as third argument of AC_TRY_RUN.
38763         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38764         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38765         Likewise.
38766         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38767         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38768         Likewise.
38769         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38770         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38771         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38772
38773 2009-04-20  Bruno Haible  <bruno@clisp.org>
38774
38775         Avoid test failure on mingw.
38776         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38777
38778 2009-04-20  Bruno Haible  <bruno@clisp.org>
38779
38780         Avoid compilation error on mingw.
38781         * modules/localename-tests (Depends-on): Add locale.
38782
38783 2009-04-19  Bruno Haible  <bruno@clisp.org>
38784
38785         Support for building a shared library on Windows platforms.
38786         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38787         (main): Test the presence of UNINORM_NFC here.
38788         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38789         (main): Test the presence of UNINORM_NFD here.
38790         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38791         (main): Test the presence of UNINORM_NFKC here.
38792         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38793         (main): Test the presence of UNINORM_NFKD here.
38794
38795 2009-04-19  Bruno Haible  <bruno@clisp.org>
38796
38797         Avoid a compiler warning.
38798         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38799         Change type of variable 'sequence'.
38800
38801 2009-04-19  Bruno Haible  <bruno@clisp.org>
38802
38803         * modules/configmake (Makefile.am): When the contents of configmake.h
38804         does not change, arrange to preserve its modification time.
38805
38806 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38807
38808         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38809         gettext domain.
38810
38811 2009-04-16  Jim Meyering  <meyering@redhat.com>
38812
38813         useless-if-before-free: improve conversion code
38814         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38815         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38816
38817 2009-04-14  Bruno Haible  <bruno@clisp.org>
38818
38819         * modules/fcntl (Depends-on): Add extensions.
38820         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38821
38822 2009-04-12  Ben Pfaff  <blp@gnu.org>
38823
38824         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38825         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38826
38827 2009-03-20  Ben Pfaff  <blp@gnu.org>
38828
38829         Make rename replace existing destinations on Windows.
38830         * m4/rename.m4: Add test for Mingw.
38831         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38832         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38833         * doc/posix-functions/rename.texi: Document.
38834
38835 2009-04-10  Bruno Haible  <bruno@clisp.org>
38836
38837         New include file "iconveh.h".
38838         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38839         * lib/striconveh.h: Include it.
38840         (enum iconv_ilseq_handler): Remove definition.
38841         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38842         striconveh.h.
38843         * lib/striconveha.c: Include striconveh.h.
38844         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38845         * modules/striconveh (Files): Add lib/iconveh.h.
38846         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38847         lib/striconveh.h.
38848
38849 2009-04-10  Bruno Haible  <bruno@clisp.org>
38850
38851         * lib/uniconv.h: Update comment.
38852
38853 2009-04-10  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38856         always.
38857         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38858         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38859         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38860         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38861         "unistring-notinline.h", so that the function gets defined always.
38862         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38863         * lib/unistr/u8-uctomb.c: Likewise.
38864         * lib/unistr/u16-mbtouc.c: Likewise.
38865         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38866         * lib/unistr/u16-uctomb.c: Likewise.
38867         * lib/unistr/u32-mbtouc.c: Likewise.
38868         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38869         * lib/unistr/u32-uctomb.c: Likewise.
38870
38871 2009-04-10  Bruno Haible  <bruno@clisp.org>
38872
38873         Mark 'utime' obsolete.
38874         * modules/utime (Status, Notice): New sections.
38875         Suggested by Jim Meyering.
38876
38877         Fix cross-compile guess for utime test.
38878         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38879         autoconf.
38880         * doc/posix-functions/utime.texi: Give more precisions.
38881         Reported by Jan <ipif@ymail.com>.
38882
38883 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38884
38885         filevercmp: correct today's change
38886         * lib/filevercmp.c: Also handle coreutils' test inputs.
38887         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38888
38889         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38890         for reporting it.
38891         * lib/filevercmp.c: Special handle for "", "." and "..".
38892         * tests/test-filevercmp.c: Enlarge the set suite.
38893
38894 2009-04-07  Jim Meyering  <meyering@redhat.com>
38895
38896         useless-if-before-free: show how to remove braced useless free, too
38897         * build-aux/useless-if-before-free: still only in a comment, though.
38898
38899 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38900
38901         maint.mk: import changes to syntax-check macros from coreutils
38902         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38903         Use them in the relevant macros.
38904
38905 2009-04-06  Bruno Haible  <bruno@clisp.org>
38906
38907         Fix unportable use of bit-fields.
38908         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38909         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38910         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38911
38912 2009-04-06  Bruno Haible  <bruno@clisp.org>
38913
38914         Avoid test failures on AIX and OSF/1.
38915         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38916         that malloc(0) = NULL.
38917         * tests/unicase/test-u8-tolower.c (check): Likewise.
38918         * tests/unicase/test-u8-totitle.c (check): Likewise.
38919         * tests/unicase/test-u8-toupper.c (check): Likewise.
38920         * tests/unicase/test-u16-casefold.c (check): Likewise.
38921         * tests/unicase/test-u16-tolower.c (check): Likewise.
38922         * tests/unicase/test-u16-totitle.c (check): Likewise.
38923         * tests/unicase/test-u16-toupper.c (check): Likewise.
38924         * tests/unicase/test-u32-casefold.c (check): Likewise.
38925         * tests/unicase/test-u32-tolower.c (check): Likewise.
38926         * tests/unicase/test-u32-totitle.c (check): Likewise.
38927         * tests/unicase/test-u32-toupper.c (check): Likewise.
38928         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38929         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38930         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38931         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38932         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38933         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38934         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38935         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38936         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38937         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38938         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38939         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38940
38941 2009-04-05  Bruno Haible  <bruno@clisp.org>
38942
38943         Work around an autoconf limitation.
38944         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38945         comment line if it would be longer than 3 KB.
38946
38947 2009-04-05  Bruno Haible  <bruno@clisp.org>
38948
38949         Avoid test failure with libiconv-1.13.
38950         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38951         of the expected test results.
38952
38953 2009-04-05  Bruno Haible  <bruno@clisp.org>
38954
38955         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38956         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38957         that it should be installed.
38958
38959 2009-04-05  Bruno Haible  <bruno@clisp.org>
38960
38961         * gnulib-tool: New option --copy-file.
38962         (func_usage): Document it.
38963         (func_dest_tmpfilename): Moved out of func_import.
38964         (func_add_file, func_update_file): New functions, extracted from
38965         func_import.
38966         (func_import): Update.
38967
38968 2009-04-05  Karl Berry  <karl@gnu.org>
38969
38970         * README: prominently mention gnulib-tool.
38971         Rearrange sections so getting the code is near the top.
38972
38973 2009-04-05  Bruno Haible  <bruno@clisp.org>
38974
38975         * lib/unicase.h: Mention u*_cmp2.
38976         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38977         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38978         * lib/unicase/ulc-casecmp.c: Likewise.
38979         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38980         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38981         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38982         unistr/u8-cmp.
38983         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38984         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38985         unistr/u16-cmp.
38986         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38987         unistr/u32-cmp.
38988
38989         * lib/uninorm.h: Mention u*_cmp2.
38990         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38991         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38992         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38993         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38994         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38995         unistr/u8-cmp.
38996         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38997         unistr/u16-cmp.
38998         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38999         unistr/u32-cmp.
39000
39001         New module 'unistr/u32-cmp2'.
39002         * lib/unistr/u32-cmp2.c: New file.
39003         * modules/unistr/u32-cmp2: New file.
39004
39005         New module 'unistr/u16-cmp2'.
39006         * lib/unistr/u16-cmp2.c: New file.
39007         * modules/unistr/u16-cmp2: New file.
39008
39009         New module 'unistr/u8-cmp2'.
39010         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
39011         * lib/unistr/u8-cmp2.c: New file.
39012         * lib/unistr/u-cmp2.h: New file.
39013         * modules/unistr/u8-cmp2: New file.
39014
39015 2009-04-05  Bruno Haible  <bruno@clisp.org>
39016
39017         * lib/unictype.h (uc_property_is_valid): New macro.
39018         * tests/unictype/test-pr_byname.c (main): Use it.
39019
39020         * lib/unistr.h: Doc fixes.
39021         * lib/uniconv.h: Doc fixes.
39022         * lib/unictype.h: Doc fixes.
39023
39024 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
39025
39026         Port coreutils 7.2 to Solaris 8.
39027
39028         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
39029         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
39030         for Solaris 8.  This is a bit of a hack, as it means it's the
39031         caller's responsibility to add -lnsl if needed, but most likely it
39032         won't be needed since only getaddrinfo uses this and getaddrinfo
39033         isn't needed on Solaris 8.
39034
39035         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
39036         problem to Solaris 8 encountered with coreutils 7.2, which
39037         resulted in a message "fnmatch.c:292: warning: passing argument 4
39038         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
39039         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
39040
39041 2009-04-03  Simon Josefsson  <simon@josefsson.org>
39042
39043         * m4/ld-version-script.m4: Add FIXME comment.
39044
39045 2009-04-02  Simon Josefsson  <simon@josefsson.org>
39046
39047         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
39048         SOVERSION variable.
39049
39050 2009-04-02  Bruno Haible  <bruno@clisp.org>
39051
39052         * Makefile (info, html, dvi, pdf): Combine the rules.
39053         Suggested by Jim Meyering.
39054
39055 2009-04-01  Bruno Haible  <bruno@clisp.org>
39056
39057         * Makefile (info, html, dvi, pdf): New targets.
39058         Reported by Reuben Thomas <rrt@sc3d.org>.
39059
39060 2009-04-01  Bruno Haible  <bruno@clisp.org>
39061
39062         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
39063         can be put into PATH.
39064         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
39065
39066 2009-04-01  Bruno Haible  <bruno@clisp.org>
39067
39068         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
39069
39070 2009-04-01  Bruno Haible  <bruno@clisp.org>
39071
39072         Rename module 'visibility'.
39073         * modules/lib-symbol-visibility: Renamed from modules/visibility.
39074         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
39075         * doc/gnulib.texi: Update.
39076         * MODULES.html.sh (Misc): Update.
39077         * NEWS: Mention the change.
39078
39079 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39080
39081         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
39082         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
39083         Eric Blake <ebb9@byu.net> for review.
39084         * MODULES.html.sh: Add lib-msvc-compat.
39085         * doc/gnulib.texi: Link to new section.
39086         * m4/ld-output-def.m4: New file.
39087         * doc/ld-output-def.texi: New file.
39088
39089 2009-04-01  Simon Josefsson  <simon@josefsson.org>
39090
39091         Rename ld-version-script to lib-symbol-versions.  Suggested by
39092         Bruno Haible <bruno@clisp.org>.
39093         * modules/ld-version-script: Renamed to lib-symbol-versions.
39094         * doc/ld-version-script.texi: Fix module name.
39095         * MODULES.html.sh: Add lib-symbol-versions.
39096
39097 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39098
39099         * modules/u64-tests: New file.
39100         * tests/test-u64.c: New file.
39101
39102 2009-03-04  Simon Josefsson  <simon@josefsson.org>
39103
39104         * MODULES.html.sh: Mention u64.
39105         * modules/u64: New module.
39106         * modules/crypto/sha512: Depend on u64 module instead of providing
39107         u64.h.
39108
39109 2009-03-27  Eric Blake  <ebb9@byu.net>
39110
39111         test-strerror: make debugging EAI_SYSTEM easier
39112         * modules/getaddrinfo-tests (Depends-on): Add strerror.
39113         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
39114         failure was EAI_SYSTEM.
39115
39116 2009-03-25  Bruno Haible  <bruno@clisp.org>
39117
39118         Fix a problem with --enable-relocatable on Solaris 7.
39119         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
39120         since 2008-02-24.
39121
39122 2009-03-25  Eric Blake  <ebb9@byu.net>
39123
39124         test-sockets: avoid gcc warning
39125         * tests/test-sockets.c (main): Silence compiler warning.
39126
39127 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39128
39129         New modules nproc, pthread, contributed by Glen Lenker.
39130
39131         * MODULES.html.sh: Add pthread, nproc.
39132         * lib/nproc.c: New file.
39133         * lib/nproc.h: New file.
39134         * lib/pthread.in.h: New file.
39135         * m4/pthread.m4: New file.
39136         * modules/nproc: New file.
39137         * modules/pthread: New file.
39138
39139 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39140
39141         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
39142         New variable.
39143
39144 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
39145
39146         filevercmp: handle simple~ and numbered.~3~ backup suffixes
39147         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
39148         * tests/test-filevercmp.c: Add tests for backup suffixes.
39149
39150 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39151
39152         * modules/stdlib (Depends-on): Add stdint, needed when defining
39153         struct random_data on, for example, HP-UX 10.20.  Reported by
39154         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39155
39156 2009-03-24  Simon Josefsson  <simon@josefsson.org>
39157
39158         * lib/readline.c (readline): Call fflush on stdout after printing
39159         prompt.
39160
39161 2009-03-20  Bruno Haible  <bruno@clisp.org>
39162
39163         Remove dependency from 'close' module to -lws2_32 on native Windows.
39164         * lib/close-hook.h: New file.
39165         * lib/close-hook.c: New file.
39166         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
39167         w32sock.h.
39168         (_gl_close_fd_maybe_socket): Remove function.
39169         (rpl_close): Invoke execute_all_close_hooks instead of
39170         _gl_close_fd_maybe_socket.
39171         * lib/sockets.c: Include close-hook.h, w32sock.h.
39172         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39173         (close_sockets_hook): New variable.
39174         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39175         (gl_sockets_cleanup): Unregister it.
39176         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39177         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39178         * modules/close-hook: New file.
39179         * modules/close (Files): Remove lib/w32sock.h.
39180         (Depends-on): Add close-hook.
39181         (Link): Remove section.
39182         * modules/sockets (Files): Add lib/w32sock.h.
39183         (Depends-on): Add close-hook.
39184         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39185         invocation.
39186         * NEWS: Mention that LIB_CLOSE is gone.
39187
39188 2009-03-23  Eric Blake  <ebb9@byu.net>
39189
39190         signal-tests: test previous patch
39191         * tests/test-signal.c: New file.
39192         * modules/signal-tests: Likewise.
39193
39194         signal.h: always support 'volatile sig_atomic_t'
39195         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39196         (gl_SIGNAL_H_DEFAULTS): Add a default.
39197         * modules/signal (Makefile.am): Substitute if needed.
39198         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39199         users can blindly add volatile.
39200         * doc/posix-headers/signal.texi (signal.h): Document it.
39201         Reported by Matthew Woehlke.
39202
39203 2009-03-23  Jim Meyering  <meyering@redhat.com>
39204
39205         pathmax: PATH_MAX: use pathconf only when available
39206         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39207         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39208         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39209         This avoids a link failure in a PSP cross-compilation environment
39210         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39211
39212         * lib/vasnprintf.c (divide): Fix typo in comment.
39213
39214 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39215
39216         * gnulib-tool (func_filter_filelist): Fix comment.
39217
39218 2009-03-20  Bruno Haible  <bruno@clisp.org>
39219
39220         Make sockets.h self-contained.
39221         * lib/sockets.c: Include sockets.h first.
39222         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39223
39224 2009-03-19  Eric Blake  <ebb9@byu.net>
39225
39226         doc: mention more functions added in cygwin 1.7.0
39227         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39228         addition.
39229         * doc/posix-functions/log2f.texi: Likewise.
39230
39231 2009-03-19  Jim Meyering  <meyering@redhat.com>
39232
39233         fsusage: avoid syntax error due to statement-before-declaration
39234         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39235         after all declarations.  Reported by Matthew Woehlke in
39236         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39237
39238 2009-03-18  Eric Blake  <ebb9@byu.net>
39239
39240         build-aux/compile: sync from automake
39241         * build-aux/compile: New file, from automake.
39242         * config/srclist.txt: Mention build-aux/compile.
39243
39244 2009-03-17  Bruno Haible  <bruno@clisp.org>
39245
39246         * lib/git-merge-changelog.c: Fix typo in comment.
39247         Reported by Reuben Thomas <rrt@sc3d.org>.
39248
39249 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39250
39251         * m4/regex.m4: update and improve help for
39252         --without-included-regex.
39253
39254 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39255
39256         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39257         failure on missing include files.
39258
39259 2009-03-17  Eric Blake  <ebb9@byu.net>
39260
39261         doc: mention more functions added in cygwin 1.7.0
39262         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39263         addition.
39264         * doc/posix-functions/fwscanf.texi: Likewise.
39265         * doc/posix-functions/swprintf.texi: Likewise.
39266         * doc/posix-functions/swscanf.texi: Likewise.
39267         * doc/posix-functions/vfwprintf.texi: Likewise.
39268         * doc/posix-functions/vfwscanf.texi: Likewise.
39269         * doc/posix-functions/vswprintf.texi: Likewise.
39270         * doc/posix-functions/vswscanf.texi: Likewise.
39271         * doc/posix-functions/vwprintf.texi: Likewise.
39272         * doc/posix-functions/vwscanf.texi: Likewise.
39273         * doc/posix-functions/wcscasecmp.texi: Likewise.
39274         * doc/posix-functions/wcsdup.texi: Likewise.
39275         * doc/posix-functions/wcsftime.texi: Likewise.
39276         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39277         * doc/posix-functions/wprintf.texi: Likewise.
39278         * doc/posix-functions/wscanf.texi: Likewise.
39279         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39280
39281 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39282
39283         maint.mk: really add $(AM_MAKEFLAGS)
39284         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39285         was inadvertently omitted in the last commit.
39286         Spotted by Bruno Haible.
39287
39288         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39289         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39290         $(AM_MAKEFLAGS)' rather than plain `make'.
39291
39292         gnulib-tool: execute $MAKE not make
39293         * gnulib-tool: Default $MAKE to 'make'.
39294         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39295         than make.  Initialize $MAKE in the do-autobuild script.
39296
39297         gnulib-tool: use $MAKE not make in generated files
39298         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39299         make, in generated files.  Initialize $MAKE in the do-autobuild
39300         script.
39301
39302         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39303
39304         GNUmakefile: disable parallelism only for multiple, recursive targets
39305         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39306         additions in the Makefile.
39307         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39308         by Automake.
39309         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39310         are listed on the command line and at least one of them is
39311         listed in $(ALL_RECURSIVE_TARGETS).
39312
39313 2009-03-14  Bruno Haible  <bruno@clisp.org>
39314
39315         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39316         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39317         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39318         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39319         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39320         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39321         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39322         unistr/u8-uctomb.
39323         * modules/unistr/u8-strchr (Depends-on): Likewise.
39324         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39325         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39326         unistr/u16-uctomb.
39327         * modules/unistr/u16-strchr (Depends-on): Likewise.
39328         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39329
39330 2009-03-12  Bruno Haible  <bruno@clisp.org>
39331
39332         Work around select() bug on Interix 3.5.
39333         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39334         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39335         * m4/select.m4: New file.
39336         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39337         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39338         * modules/select (Files): Add m4/select.m4.
39339         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39340         * modules/nanosleep (Depends-on): Add select.
39341         * modules/poll (Depends-on): Likewise.
39342         * doc/posix-functions/select.texi: Mention the Interix bug.
39343         Reported by Markus Duft <mduft@gentoo.org>.
39344
39345         * lib/select.c: Renamed from lib/winsock-select.c.
39346         * modules/select (Files): Add lib/select.c, remove
39347         lib/winsock-select.c.
39348         (configure.ac): Update.
39349
39350 2009-03-12  Jim Meyering  <meyering@redhat.com>
39351
39352         avoid gcc warnings about unused macro definitions
39353         * lib/readtokens.c (STREQ): Remove unused definition.
39354         * lib/xmalloc.c (SIZE_MAX): Likewise.
39355         * lib/openat-die.c (N_): Likewise.
39356         * lib/mountlist.c (SIZE_MAX): Remove definition.
39357         Instead, include <stdint.h>.
39358         * lib/readutmp.c: Likewise.
39359         * modules/readutmp (Depends-on): Add stdint.
39360         * modules/mountlist (Depends-on): Add stdint.
39361         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39362
39363 2009-03-10  Bruno Haible  <bruno@clisp.org>
39364
39365         Tests for module 'mbmemcasecoll'.
39366         * modules/mbmemcasecoll-tests: New file.
39367         * tests/test-mbmemcasecoll1.sh: New file.
39368         * tests/test-mbmemcasecoll2.sh: New file.
39369         * tests/test-mbmemcasecoll3.sh: New file.
39370         * tests/test-mbmemcasecoll.c: New file.
39371
39372         New module 'mbmemcasecoll'.
39373         * lib/mbmemcasecoll.h: New file.
39374         * lib/mbmemcasecoll.c: New file.
39375         * modules/mbmemcasecoll: New file.
39376
39377         * tests/test-mbmemcasecmp.h: New file, extracted from
39378         tests/test-mbmemcasecmp.c.
39379         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39380         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39381         (main): Update.
39382         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39383
39384 2009-03-09  Bruno Haible  <bruno@clisp.org>
39385
39386         Tests for module 'mbmemcasecmp'.
39387         * modules/mbmemcasecmp-tests: New file.
39388         * tests/test-mbmemcasecmp1.sh: New file.
39389         * tests/test-mbmemcasecmp2.sh: New file.
39390         * tests/test-mbmemcasecmp3.sh: New file.
39391         * tests/test-mbmemcasecmp.c: New file.
39392
39393         New module 'mbmemcasecmp'.
39394         * lib/mbmemcasecmp.h: New file.
39395         * lib/mbmemcasecmp.c: New file.
39396         * modules/mbmemcasecmp: New file.
39397
39398 2009-03-09  Bruno Haible  <bruno@clisp.org>
39399
39400         Tests for module 'unicase/ulc-casecoll'.
39401         * modules/unicase/ulc-casecoll-tests: New file.
39402         * tests/unicase/test-ulc-casecoll1.sh: New file.
39403         * tests/unicase/test-ulc-casecoll2.sh: New file.
39404         * tests/unicase/test-ulc-casecoll.c: New file.
39405
39406         New module 'unicase/ulc-casecoll'.
39407         * lib/unicase.h (ulc_casecoll): New declaration.
39408         * lib/unicase/ulc-casecoll.c: New file.
39409         * modules/unicase/ulc-casecoll: New file.
39410
39411         New module 'unicase/ulc-casexfrm'.
39412         * lib/unicase.h (ulc_casexfrm): New declaration.
39413         * lib/unicase/ulc-casexfrm.c: New file.
39414         * modules/unicase/ulc-casexfrm: New file.
39415
39416 2009-03-09  Bruno Haible  <bruno@clisp.org>
39417
39418         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39419         invocations.
39420
39421         * m4/mbscasecmp.m4: Remove file.
39422         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39423         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39424
39425         * m4/mbscasestr.m4: Remove file.
39426         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39427         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39428
39429         * m4/mbschr.m4: Remove file.
39430         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39431         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39432
39433         * m4/mbscspn.m4: Remove file.
39434         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39435         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39436
39437         * m4/mbslen.m4: Remove file.
39438         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39439         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39440
39441         * m4/mbsncasecmp.m4: Remove file.
39442         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39443         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39444
39445         * m4/mbsnlen.m4: Remove file.
39446         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39447         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39448
39449         * m4/mbspbrk.m4: Remove file.
39450         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39451         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39452
39453         * m4/mbspcasecmp.m4: Remove file.
39454         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39455         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39456
39457         * m4/mbsrchr.m4: Remove file.
39458         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39459         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39460
39461         * m4/mbssep.m4: Remove file.
39462         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39463         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39464
39465         * m4/mbsspn.m4: Remove file.
39466         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39467         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39468
39469         * m4/mbsstr.m4: Remove file.
39470         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39471         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39472
39473         * m4/mbstok_r.m4: Remove file.
39474         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39475         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39476
39477         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39478
39479         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39480         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39481
39482         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39483
39484 2009-03-08  Bruno Haible  <bruno@clisp.org>
39485
39486         Tests for module 'unicase/ulc-casecmp'.
39487         * modules/unicase/ulc-casecmp-tests: New file.
39488         * tests/unicase/test-ulc-casecmp1.sh: New file.
39489         * tests/unicase/test-ulc-casecmp2.sh: New file.
39490         * tests/unicase/test-ulc-casecmp.c: New file.
39491
39492         New module 'unicase/ulc-casecmp'.
39493         * lib/unicase.h (ulc_casecmp): New declaration.
39494         * lib/unicase/ulc-casecmp.c: New file.
39495         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39496         'const SRC_UNIT *'.
39497         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39498         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39499         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39500         * modules/unicase/ulc-casecmp: New file.
39501
39502         Tests for module 'unicase/u32-is-cased'.
39503         * modules/unicase/u32-is-cased-tests: New file.
39504         * tests/unicase/test-u32-is-cased.c: New file.
39505
39506         Tests for module 'unicase/u16-is-cased'.
39507         * modules/unicase/u16-is-cased-tests: New file.
39508         * tests/unicase/test-u16-is-cased.c: New file.
39509
39510         Tests for module 'unicase/u8-is-cased'.
39511         * modules/unicase/u8-is-cased-tests: New file.
39512         * tests/unicase/test-u8-is-cased.c: New file.
39513         * tests/unicase/test-is-cased.h: New file.
39514
39515         New module 'unicase/u32-is-cased'.
39516         * lib/unicase/u32-is-cased.c: New file.
39517         * modules/unicase/u32-is-cased: New file.
39518
39519         New module 'unicase/u16-is-cased'.
39520         * lib/unicase/u16-is-cased.c: New file.
39521         * modules/unicase/u16-is-cased: New file.
39522
39523         New module 'unicase/u8-is-cased'.
39524         * lib/unicase/u8-is-cased.c: New file.
39525         * lib/unicase/u-is-cased.h: New file.
39526         * modules/unicase/u8-is-cased: New file.
39527
39528         Tests for module 'unicase/u32-is-casefolded'.
39529         * modules/unicase/u32-is-casefolded-tests: New file.
39530         * tests/unicase/test-u32-is-casefolded.c: New file.
39531
39532         Tests for module 'unicase/u16-is-casefolded'.
39533         * modules/unicase/u16-is-casefolded-tests: New file.
39534         * tests/unicase/test-u16-is-casefolded.c: New file.
39535
39536         Tests for module 'unicase/u8-is-casefolded'.
39537         * modules/unicase/u8-is-casefolded-tests: New file.
39538         * tests/unicase/test-u8-is-casefolded.c: New file.
39539         * tests/unicase/test-is-casefolded.h: New file.
39540
39541         New module 'unicase/u32-is-casefolded'.
39542         * lib/unicase/u32-is-casefolded.c: New file.
39543         * modules/unicase/u32-is-casefolded: New file.
39544
39545         New module 'unicase/u16-is-casefolded'.
39546         * lib/unicase/u16-is-casefolded.c: New file.
39547         * modules/unicase/u16-is-casefolded: New file.
39548
39549         New module 'unicase/u8-is-casefolded'.
39550         * lib/unicase/u8-is-casefolded.c: New file.
39551         * modules/unicase/u8-is-casefolded: New file.
39552
39553         Tests for module 'unicase/u32-is-titlecase'.
39554         * modules/unicase/u32-is-titlecase-tests: New file.
39555         * tests/unicase/test-u32-is-titlecase.c: New file.
39556
39557         Tests for module 'unicase/u16-is-titlecase'.
39558         * modules/unicase/u16-is-titlecase-tests: New file.
39559         * tests/unicase/test-u16-is-titlecase.c: New file.
39560
39561         Tests for module 'unicase/u8-is-titlecase'.
39562         * modules/unicase/u8-is-titlecase-tests: New file.
39563         * tests/unicase/test-u8-is-titlecase.c: New file.
39564         * tests/unicase/test-is-titlecase.h: New file.
39565
39566         New module 'unicase/u32-is-titlecase'.
39567         * lib/unicase/u32-is-titlecase.c: New file.
39568         * modules/unicase/u32-is-titlecase: New file.
39569
39570         New module 'unicase/u16-is-titlecase'.
39571         * lib/unicase/u16-is-titlecase.c: New file.
39572         * modules/unicase/u16-is-titlecase: New file.
39573
39574         New module 'unicase/u8-is-titlecase'.
39575         * lib/unicase/u8-is-titlecase.c: New file.
39576         * modules/unicase/u8-is-titlecase: New file.
39577
39578         Tests for module 'unicase/u32-is-lowercase'.
39579         * modules/unicase/u32-is-lowercase-tests: New file.
39580         * tests/unicase/test-u32-is-lowercase.c: New file.
39581
39582         Tests for module 'unicase/u16-is-lowercase'.
39583         * modules/unicase/u16-is-lowercase-tests: New file.
39584         * tests/unicase/test-u16-is-lowercase.c: New file.
39585
39586         Tests for module 'unicase/u8-is-lowercase'.
39587         * modules/unicase/u8-is-lowercase-tests: New file.
39588         * tests/unicase/test-u8-is-lowercase.c: New file.
39589         * tests/unicase/test-is-lowercase.h: New file.
39590
39591         New module 'unicase/u32-is-lowercase'.
39592         * lib/unicase/u32-is-lowercase.c: New file.
39593         * modules/unicase/u32-is-lowercase: New file.
39594
39595         New module 'unicase/u16-is-lowercase'.
39596         * lib/unicase/u16-is-lowercase.c: New file.
39597         * modules/unicase/u16-is-lowercase: New file.
39598
39599         New module 'unicase/u8-is-lowercase'.
39600         * lib/unicase/u8-is-lowercase.c: New file.
39601         * modules/unicase/u8-is-lowercase: New file.
39602
39603         Tests for module 'unicase/u32-is-uppercase'.
39604         * modules/unicase/u32-is-uppercase-tests: New file.
39605         * tests/unicase/test-u32-is-uppercase.c: New file.
39606
39607         Tests for module 'unicase/u16-is-uppercase'.
39608         * modules/unicase/u16-is-uppercase-tests: New file.
39609         * tests/unicase/test-u16-is-uppercase.c: New file.
39610
39611         Tests for module 'unicase/u8-is-uppercase'.
39612         * modules/unicase/u8-is-uppercase-tests: New file.
39613         * tests/unicase/test-u8-is-uppercase.c: New file.
39614         * tests/unicase/test-is-uppercase.h: New file.
39615
39616         New module 'unicase/u32-is-uppercase'.
39617         * lib/unicase/u32-is-uppercase.c: New file.
39618         * modules/unicase/u32-is-uppercase: New file.
39619
39620         New module 'unicase/u16-is-uppercase'.
39621         * lib/unicase/u16-is-uppercase.c: New file.
39622         * modules/unicase/u16-is-uppercase: New file.
39623
39624         New module 'unicase/u8-is-uppercase'.
39625         * lib/unicase/u8-is-uppercase.c: New file.
39626         * modules/unicase/u8-is-uppercase: New file.
39627
39628         New module 'unicase/u32-is-invariant'.
39629         * lib/unicase/u32-is-invariant.c: New file.
39630         * modules/unicase/u32-is-invariant: New file.
39631
39632         New module 'unicase/u16-is-invariant'.
39633         * lib/unicase/u16-is-invariant.c: New file.
39634         * modules/unicase/u16-is-invariant: New file.
39635
39636         New module 'unicase/u8-is-invariant'.
39637         * lib/unicase/u8-is-invariant.c: New file.
39638         * lib/unicase/invariant.h: New file.
39639         * lib/unicase/u-is-invariant.h: New file.
39640         * modules/unicase/u8-is-invariant: New file.
39641
39642         Tests for module 'unicase/u32-casecoll'.
39643         * modules/unicase/u32-casecoll-tests: New file.
39644         * tests/unicase/test-u32-casecoll.c: New file.
39645
39646         Tests for module 'unicase/u16-casecoll'.
39647         * modules/unicase/u16-casecoll-tests: New file.
39648         * tests/unicase/test-u16-casecoll.c: New file.
39649
39650         Tests for module 'unicase/u8-casecoll'.
39651         * modules/unicase/u8-casecoll-tests: New file.
39652         * tests/unicase/test-u8-casecoll.c: New file.
39653
39654         New module 'unicase/u32-casecoll'.
39655         * lib/unicase/u32-casecoll.c: New file.
39656         * modules/unicase/u32-casecoll: New file.
39657
39658         New module 'unicase/u16-casecoll'.
39659         * lib/unicase/u16-casecoll.c: New file.
39660         * modules/unicase/u16-casecoll: New file.
39661
39662         New module 'unicase/u8-casecoll'.
39663         * lib/unicase/u8-casecoll.c: New file.
39664         * lib/unicase/u-casecoll.h: New file.
39665         * modules/unicase/u8-casecoll: New file.
39666
39667         New module 'unicase/u32-casexfrm'.
39668         * lib/unicase/u32-casexfrm.c: New file.
39669         * modules/unicase/u32-casexfrm: New file.
39670
39671         New module 'unicase/u16-casexfrm'.
39672         * lib/unicase/u16-casexfrm.c: New file.
39673         * modules/unicase/u16-casexfrm: New file.
39674
39675         New module 'unicase/u8-casexfrm'.
39676         * lib/unicase/u8-casexfrm.c: New file.
39677         * lib/unicase/u-casexfrm.h: New file.
39678         * modules/unicase/u8-casexfrm: New file.
39679
39680         Tests for module 'unicase/u32-casecmp'.
39681         * modules/unicase/u32-casecmp-tests: New file.
39682         * tests/unicase/test-u32-casecmp.c: New file.
39683
39684         Tests for module 'unicase/u16-casecmp'.
39685         * modules/unicase/u16-casecmp-tests: New file.
39686         * tests/unicase/test-u16-casecmp.c: New file.
39687
39688         Tests for module 'unicase/u8-casecmp'.
39689         * modules/unicase/u8-casecmp-tests: New file.
39690         * tests/unicase/test-u8-casecmp.c: New file.
39691         * tests/unicase/test-casecmp.h: New file.
39692
39693         New module 'unicase/u32-casecmp'.
39694         * lib/unicase/u32-casecmp.c: New file.
39695         * modules/unicase/u32-casecmp: New file.
39696
39697         New module 'unicase/u16-casecmp'.
39698         * lib/unicase/u16-casecmp.c: New file.
39699         * modules/unicase/u16-casecmp: New file.
39700
39701         New module 'unicase/u8-casecmp'.
39702         * lib/unicase/u8-casecmp.c: New file.
39703         * lib/unicase/u-casecmp.h: New file.
39704         * modules/unicase/u8-casecmp: New file.
39705
39706         Tests for module 'unicase/u32-casefold'.
39707         * modules/unicase/u32-casefold-tests: New file.
39708         * tests/unicase/test-u32-casefold.c: New file.
39709
39710         Tests for module 'unicase/u16-casefold'.
39711         * modules/unicase/u16-casefold-tests: New file.
39712         * tests/unicase/test-u16-casefold.c: New file.
39713
39714         Tests for module 'unicase/u8-casefold'.
39715         * modules/unicase/u8-casefold-tests: New file.
39716         * tests/unicase/test-u8-casefold.c: New file.
39717
39718         New module 'unicase/u32-casefold'.
39719         * lib/unicase/u32-casefold.c: New file.
39720         * modules/unicase/u32-casefold: New file.
39721
39722         New module 'unicase/u16-casefold'.
39723         * lib/unicase/u16-casefold.c: New file.
39724         * modules/unicase/u16-casefold: New file.
39725
39726         New module 'unicase/u8-casefold'.
39727         * lib/unicase/u8-casefold.c: New file.
39728         * lib/unicase/u-casefold.h: New file.
39729         * modules/unicase/u8-casefold: New file.
39730
39731         New module 'unicase/tocasefold'.
39732         * lib/unicase/casefold.h: New file.
39733         * lib/unicase/tocasefold.c: New file.
39734         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39735         * modules/unicase/tocasefold: New file.
39736
39737         Tests for module 'unicase/u32-totitle'.
39738         * modules/unicase/u32-totitle-tests: New file.
39739         * tests/unicase/test-u32-totitle.c: New file.
39740
39741         Tests for module 'unicase/u16-totitle'.
39742         * modules/unicase/u16-totitle-tests: New file.
39743         * tests/unicase/test-u16-totitle.c: New file.
39744
39745         Tests for module 'unicase/u8-totitle'.
39746         * modules/unicase/u8-totitle-tests: New file.
39747         * tests/unicase/test-u8-totitle.c: New file.
39748
39749         New module 'unicase/u32-totitle'.
39750         * lib/unicase/u32-totitle.c: New file.
39751         * modules/unicase/u32-totitle: New file.
39752
39753         New module 'unicase/u16-totitle'.
39754         * lib/unicase/u16-totitle.c: New file.
39755         * modules/unicase/u16-totitle: New file.
39756
39757         New module 'unicase/u8-totitle'.
39758         * lib/unicase/u8-totitle.c: New file.
39759         * lib/unicase/u-totitle.h: New file.
39760         * modules/unicase/u8-totitle: New file.
39761
39762         Tests for module 'unicase/u32-tolower'.
39763         * modules/unicase/u32-tolower-tests: New file.
39764         * tests/unicase/test-u32-tolower.c: New file.
39765
39766         Tests for module 'unicase/u16-tolower'.
39767         * modules/unicase/u16-tolower-tests: New file.
39768         * tests/unicase/test-u16-tolower.c: New file.
39769
39770         Tests for module 'unicase/u8-tolower'.
39771         * modules/unicase/u8-tolower-tests: New file.
39772         * tests/unicase/test-u8-tolower.c: New file.
39773
39774         New module 'unicase/u32-tolower'.
39775         * lib/unicase/u32-tolower.c: New file.
39776         * modules/unicase/u32-tolower: New file.
39777
39778         New module 'unicase/u16-tolower'.
39779         * lib/unicase/u16-tolower.c: New file.
39780         * modules/unicase/u16-tolower: New file.
39781
39782         New module 'unicase/u8-tolower'.
39783         * lib/unicase/u8-tolower.c: New file.
39784         * modules/unicase/u8-tolower: New file.
39785
39786         Tests for module 'unicase/u32-toupper'.
39787         * modules/unicase/u32-toupper-tests: New file.
39788         * tests/unicase/test-u32-toupper.c: New file.
39789
39790         Tests for module 'unicase/u16-toupper'.
39791         * modules/unicase/u16-toupper-tests: New file.
39792         * tests/unicase/test-u16-toupper.c: New file.
39793
39794         Tests for module 'unicase/u8-toupper'.
39795         * modules/unicase/u8-toupper-tests: New file.
39796         * tests/unicase/test-u8-toupper.c: New file.
39797
39798         New module 'unicase/u32-toupper'.
39799         * lib/unicase/u32-toupper.c: New file.
39800         * modules/unicase/u32-toupper: New file.
39801
39802         New module 'unicase/u16-toupper'.
39803         * lib/unicase/u16-toupper.c: New file.
39804         * modules/unicase/u16-toupper: New file.
39805
39806         New module 'unicase/u8-toupper'.
39807         * lib/unicase/u8-toupper.c: New file.
39808         * modules/unicase/u8-toupper: New file.
39809
39810         New module 'unicase/u32-casemap'.
39811         * lib/unicase/u32-casemap.c: New file.
39812         * modules/unicase/u32-casemap: New file.
39813
39814         New module 'unicase/u16-casemap'.
39815         * lib/unicase/u16-casemap.c: New file.
39816         * modules/unicase/u16-casemap: New file.
39817
39818         New module 'unicase/u8-casemap'.
39819         * lib/unicase/unicasemap.h: New file.
39820         * lib/unicase/u8-casemap.c: New file.
39821         * lib/unicase/u-casemap.h: New file.
39822         * modules/unicase/u8-casemap: New file.
39823
39824         New module 'unicase/special-casing'.
39825         * lib/unicase/special-casing.h: New file.
39826         * lib/unicase/special-casing.c: New file.
39827         * lib/unicase/special-casing-table.gperf: New file, generated by
39828         gen-uni-tables.c.
39829         * modules/unicase/special-casing: New file.
39830
39831         Tests for module 'unicase/locale-language'.
39832         * modules/unicase/locale-language-tests: New file.
39833         * tests/unicase/test-locale-language.sh: New file.
39834         * tests/unicase/test-locale-language.c: New file.
39835
39836         New module 'unicase/locale-language'.
39837         * lib/unicase/locale-language.c: New file.
39838         * lib/unicase/locale-languages.gperf: New file.
39839         * modules/unicase/locale-language: New file.
39840
39841         Generate more tables for case conversion and case folding.
39842         * lib/gen-uni-tables.c (SCC_*): New enum items.
39843         (struct special_casing_rule): New type.
39844         (casing_rules, num_casing_rules, allocated_casing_rules): New
39845         variables.
39846         (add_casing_rule, fill_casing_rules): New functions.
39847         (struct casefold_rule): New type.
39848         (casefolding_rules, num_casefolding_rules,
39849         allocated_casefolding_rules): New variables.
39850         (fill_casefolding_rules): New function.
39851         (unicode_casefold): New variable.
39852         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39853         sort_casing_rules, output_casing_rules): New functions.
39854         (main): Accept to more arguments: SpecialCasing.txt and
39855         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39856         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39857         Output mapping for casefolding.
39858
39859         * lib/unicase.h: Include stdbool.h, uninorm.h.
39860         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39861         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39862         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39863         arguments.
39864         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39865         resultp arguments.
39866         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39867         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39868         resultp arguments.
39869         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39870         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39871         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39872         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39873         declarations.
39874         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39875
39876 2009-03-08  Bruno Haible  <bruno@clisp.org>
39877
39878         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39879         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39880         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39881         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39882
39883 2009-03-07  Bruno Haible  <bruno@clisp.org>
39884
39885         Adjust u*_normcmp, u*_normcoll API.
39886         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39887         u16_normcoll, u32_normcoll): Change failure conventions.
39888         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39889         errno and return -1.
39890         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39891
39892 2009-03-07  Bruno Haible  <bruno@clisp.org>
39893
39894         Tests for module 'uninorm/u32-normcoll'.
39895         * modules/uninorm/u32-normcoll-tests: New file.
39896         * tests/uninorm/test-u32-normcoll.c: New file.
39897
39898         Tests for module 'uninorm/u16-normcoll'.
39899         * modules/uninorm/u16-normcoll-tests: New file.
39900         * tests/uninorm/test-u16-normcoll.c: New file.
39901
39902         Tests for module 'uninorm/u8-normcoll'.
39903         * modules/uninorm/u8-normcoll-tests: New file.
39904         * tests/uninorm/test-u8-normcoll.c: New file.
39905
39906 2009-03-07  Bruno Haible  <bruno@clisp.org>
39907
39908         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39909         tests/uninorm/test-u32-normcmp.c.
39910         * tests/uninorm/test-u32-normcmp.c: Include it.
39911         (test_nonascii): New function, extracted from main. Add some more
39912         tests.
39913         (main): Invoke test_ascii and test_nonascii.
39914         * modules/uninorm/u32-normcmp-tests (Files): Add
39915         tests/uninorm/test-u32-normcmp.h.
39916         (Depends-on): Remove uninorm/u32-normcmp.
39917
39918         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39919         tests/uninorm/test-u16-normcmp.c.
39920         * tests/uninorm/test-u16-normcmp.c: Include it.
39921         (test_nonascii): New function, extracted from main. Add some more
39922         tests.
39923         (main): Invoke test_ascii and test_nonascii.
39924         * modules/uninorm/u16-normcmp-tests (Files): Add
39925         tests/uninorm/test-u16-normcmp.h.
39926         (Depends-on): Remove uninorm/u16-normcmp.
39927
39928         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39929         tests/uninorm/test-u8-normcmp.c.
39930         * tests/uninorm/test-u8-normcmp.c: Include it.
39931         (test_nonascii): New function, extracted from main. Add some more
39932         tests.
39933         (main): Invoke test_ascii and test_nonascii.
39934         * modules/uninorm/u8-normcmp-tests (Files): Add
39935         tests/uninorm/test-u8-normcmp.h.
39936         (Depends-on): Remove uninorm/u8-normcmp.
39937
39938 2009-03-07  Bruno Haible  <bruno@clisp.org>
39939
39940         New module 'uninorm/u32-normcoll'.
39941         * lib/uninorm/u32-normcoll.c: New file.
39942         * modules/uninorm/u32-normcoll: New file.
39943
39944         New module 'uninorm/u16-normcoll'.
39945         * lib/uninorm/u16-normcoll.c: New file.
39946         * modules/uninorm/u16-normcoll: New file.
39947
39948         New module 'uninorm/u8-normcoll'.
39949         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39950         declarations.
39951         * lib/uninorm/u8-normcoll.c: New file.
39952         * lib/uninorm/u-normcoll.h: New file.
39953         * modules/uninorm/u8-normcoll: New file.
39954
39955         New module 'uninorm/u32-normxfrm'.
39956         * lib/uninorm/u32-normxfrm.c: New file.
39957         * modules/uninorm/u32-normxfrm: New file.
39958
39959         New module 'uninorm/u16-normxfrm'.
39960         * lib/uninorm/u16-normxfrm.c: New file.
39961         * modules/uninorm/u16-normxfrm: New file.
39962
39963         New module 'uninorm/u8-normxfrm'.
39964         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39965         declarations.
39966         * lib/uninorm/u8-normxfrm.c: New file.
39967         * lib/uninorm/u-normxfrm.h: New file.
39968         * modules/uninorm/u8-normxfrm: New file.
39969
39970 2009-03-07  Bruno Haible  <bruno@clisp.org>
39971
39972         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39973         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39974         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39975
39976 2009-03-07  Bruno Haible  <bruno@clisp.org>
39977
39978         New module 'memxfrm'.
39979         * lib/memxfrm.h: New file.
39980         * lib/memxfrm.c: New file.
39981         * modules/memxfrm: New file.
39982
39983 2009-03-07  Bruno Haible  <bruno@clisp.org>
39984
39985         New module 'memcmp2'.
39986         * lib/memcmp2.h: New file.
39987         * lib/memcmp2.c: New file.
39988         * modules/memcmp2: New file.
39989
39990 2009-03-07  Bruno Haible  <bruno@clisp.org>
39991
39992         Tests for module 'uninorm/decomposing-form'.
39993         * modules/uninorm/decomposing-form-tests: New file.
39994         * tests/uninorm/test-decomposing-form.c: New file.
39995
39996         New module 'uninorm/decomposing-form'.
39997         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39998         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39999         Add 'decomposing_variant' field.
40000         * lib/uninorm/decomposing-form.c: New file.
40001         * lib/uninorm/nfc.c (uninorm_nfc): Update.
40002         * lib/uninorm/nfd.c (uninorm_nfd): Update.
40003         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
40004         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
40005         * modules/uninorm/decomposing-form: New file.
40006         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
40007         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
40008
40009 2009-03-07  Bruno Haible  <bruno@clisp.org>
40010
40011         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
40012         strings.
40013
40014 2009-03-06  Bruno Haible  <bruno@clisp.org>
40015
40016         Tests for module 'uninorm/u32-normcmp'.
40017         * tests/uninorm/test-u32-normcmp.c: New file.
40018         * modules/uninorm/u32-normcmp-tests: New file.
40019
40020         Tests for module 'uninorm/u16-normcmp'.
40021         * tests/uninorm/test-u16-normcmp.c: New file.
40022         * modules/uninorm/u16-normcmp-tests: New file.
40023
40024         Tests for module 'uninorm/u8-normcmp'.
40025         * tests/uninorm/test-u8-normcmp.c: New file.
40026         * modules/uninorm/u8-normcmp-tests: New file.
40027
40028         New module 'uninorm/u32-normcmp'.
40029         * lib/uninorm/u32-normcmp.c: New file.
40030         * modules/uninorm/u32-normcmp: New file.
40031
40032         New module 'uninorm/u16-normcmp'.
40033         * lib/uninorm/u16-normcmp.c: New file.
40034         * modules/uninorm/u16-normcmp: New file.
40035
40036         New module 'uninorm/u8-normcmp'.
40037         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
40038         declarations.
40039         * lib/uninorm/u8-normcmp.c: New file.
40040         * lib/uninorm/u-normcmp.h: New file.
40041         * modules/uninorm/u8-normcmp: New file.
40042
40043 2009-03-06  Bruno Haible  <bruno@clisp.org>
40044
40045         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
40046         Reported by Eric Blake.
40047
40048 2009-03-06  Eric Blake  <ebb9@byu.net>
40049             Bruno Haible  <bruno@clisp.org>
40050
40051         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
40052         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
40053         condition.
40054         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40055         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
40056         condition.
40057         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
40058
40059 2009-03-06  Eric Blake  <ebb9@byu.net>
40060
40061         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
40062         to avoid compiler warnings.
40063         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
40064
40065 2009-03-05  Bruno Haible  <bruno@clisp.org>
40066
40067         * tests/test-ftell.c (main): Disable test beyond end of file on
40068         FreeMiNT.
40069         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40070
40071 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
40072
40073         * lib/filevercmp.c: Move hidden files up in ordering.
40074         * tests/test-filevercmp.c: Add tests for hidden files.
40075
40076 2009-03-04  Bruno Haible  <bruno@clisp.org>
40077
40078         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
40079         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
40080         AM_CFLAGS.
40081         Reported by Simon Josefsson.
40082
40083 2009-03-03  Bruno Haible  <bruno@clisp.org>
40084
40085         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
40086         Reported by Simon Josefsson.
40087
40088         * doc/ld-version-script.texi: Update node reference.
40089
40090 2009-03-03  Bruno Haible  <bruno@clisp.org>
40091
40092         * modules/visibility (License): Change to 'unlimited'.
40093         Suggested by Simon Josefsson.
40094
40095 2009-03-03  Jim Meyering  <meyering@redhat.com>
40096
40097         unlinkdir: cannot_unlink_dir may modify process state
40098         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
40099         it's neither thread-safe nor appropriate for use in a library.
40100
40101 2009-03-03  Eric Blake  <ebb9@byu.net>
40102
40103         test-closein: silence test under Darwin
40104         * tests/test-closein.sh: Ignore stderr from cat, since we don't
40105         care if it dies from EPIPE or EBADF.
40106
40107 2009-03-03  Bruno Haible  <bruno@clisp.org>
40108
40109         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
40110         earlier.
40111         * doc/visibility.texi: Fix @node and @section.
40112
40113 2009-03-03  Simon Josefsson  <simon@josefsson.org>
40114
40115         * doc/gnulib.texi: Link to sections for ld version script and
40116         visibility.
40117         * doc/visibility.texi: Add @node and @section.
40118         * modules/ld-version-script: New module.
40119         * m4/ld-version-script.m4: New file.
40120         * doc/ld-version-script.texi: New file.
40121
40122 2009-03-02  David Lutterkort  <lutter@redhat.com>
40123
40124         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
40125         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40126
40127 2009-03-02  Bruno Haible  <bruno@clisp.org>
40128
40129         * doc/visibility.texi: Mention libtool's -export-symbols option.
40130
40131 2009-03-02  Jim Meyering  <meyering@redhat.com>
40132
40133         announce-gen: new option: --no-print-checksums
40134         * build-aux/announce-gen (usage): Describe it.
40135         (print_checksums): Print a newline here, not in the [*] footnote.
40136         (main): Honor it.
40137
40138 2009-03-01  Bruno Haible  <bruno@clisp.org>
40139
40140         Use socklen_t in the native Windows replacements prototypes.
40141         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
40142         instead of 'int'.
40143         * lib/getsockopt.c (rpl_getsockopt): Likewise.
40144         * lib/setsockopt.c (rpl_setsockopt): Likewise.
40145         * modules/getsockopt (Depends-on): Add socklen.
40146         * modules/setsockopt (Depends-on): Add socklen.
40147
40148 2009-03-01  Bruno Haible  <bruno@clisp.org>
40149
40150         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
40151         least 4.2.
40152
40153 2009-03-01  Eric Blake  <ebb9@byu.net>
40154             Bruno Haible  <bruno@clisp.org>
40155
40156         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
40157         error messages.
40158         * lib/wait-process.c (wait_subprocess): Omit error message about
40159         deadly signal sent to the child of termsigp != NULL.
40160
40161 2009-03-01  Eric Blake  <ebb9@byu.net>
40162
40163         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
40164
40165 2009-03-01  Bruno Haible  <bruno@clisp.org>
40166
40167         Avoid a gcc warning.
40168         * tests/test-sched.c (b): Make global.
40169         Reported by Eric Blake.
40170
40171 2009-01-19  Martin Lambers  <marlam@marlam.de>
40172
40173         Provide POSIX semantics for socket timeout options on W32.
40174         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40175         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40176         * modules/setsockopt: Depend on sys_time module for struct timeval.
40177         * modules/getsockopt: Depend on sys_time module for struct timeval.
40178
40179 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40180
40181         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40182         __USE_GNU, for consistency with netdb.in.h.
40183         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40184
40185 2009-03-01  Bruno Haible  <bruno@clisp.org>
40186
40187         More support for FreeMiNT.
40188         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40189         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40190
40191 2009-03-01  Bruno Haible  <bruno@clisp.org>
40192
40193         More support for FreeMiNT.
40194         * lib/fpurge.c (fpurge): Correct last commit.
40195         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40196
40197 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40198
40199         Fix unportable awk script in vc-list-files.
40200         * build-aux/vc-list-files: In the replacement awk script, use
40201         substr with a second argument of 1, not zero.
40202         Report by Simon Josefsson.
40203
40204 2009-02-28  Bruno Haible  <bruno@clisp.org>
40205
40206         More support for FreeMiNT.
40207         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40208         to FreeMiNT today.
40209         * lib/fwriting.c (fwriting): Likewise.
40210         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40211
40212 2009-02-28  Bruno Haible  <bruno@clisp.org>
40213
40214         * tests/test-freadseek.c (main): Disable test beyond end of file on
40215         FreeMiNT.
40216         * tests/test-ftello.c (main): Likewise.
40217         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40218
40219 2009-02-28  Bruno Haible  <bruno@clisp.org>
40220
40221         Add tentative support for FreeMiNT.
40222         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40223         * lib/fpurge.c (fpurge): Likewise.
40224         * lib/freadable.c (freadable): Likewise.
40225         * lib/freading.c (freading): Likewise.
40226         * lib/freadptr.c (freadptr): Likewise.
40227         * lib/freadseek.c (freadptrinc): Likewise.
40228         * lib/fseeko.c (rpl_fseeko): Likewise.
40229         * lib/fseterr.c (fseterr): Likewise.
40230         * lib/fwritable.c (fwritable): Likewise.
40231         * lib/fwriting.c (fwriting): Likewise.
40232         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40233         Hourihane.
40234         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40235
40236 2009-02-28  Bruno Haible  <bruno@clisp.org>
40237
40238         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40239         SIGCHLD.
40240         Reported by Jim Meyering.
40241
40242 2009-02-28  Bruno Haible  <bruno@clisp.org>
40243
40244         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40245         Mention the results of these tests on various platforms.
40246         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40247         order.
40248         * doc/posix-functions/printf.texi: Likewise.
40249         * doc/posix-functions/snprintf.texi: Likewise.
40250         * doc/posix-functions/sprintf.texi: Likewise.
40251         * doc/posix-functions/vfprintf.texi: Likewise.
40252         * doc/posix-functions/vprintf.texi: Likewise.
40253         * doc/posix-functions/vsnprintf.texi: Likewise.
40254         * doc/posix-functions/vsprintf.texi: Likewise.
40255         * doc/glibc-functions/obstack_printf.texi: Likewise.
40256         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40257
40258 2009-02-28  Bruno Haible  <bruno@clisp.org>
40259
40260         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40261         Reported by Loïc Minier <lool@dooz.org>.
40262
40263 2009-02-27  Bruno Haible  <bruno@clisp.org>
40264
40265         * gnulib-tool (func_import): Make the sed expression used to create the
40266         sed script for updating the .gitignore file POSIX compliant.
40267         Reported by Eric Blake.
40268
40269 2009-02-27  Bruno Haible  <bruno@clisp.org>
40270
40271         * gnulib-tool (sed): Don't alias as "sed --posix".
40272         Reported by Eric Blake.
40273
40274 2009-02-27  Bruno Haible  <bruno@clisp.org>
40275
40276         Avoid test link errors.
40277         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40278         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40279         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40280         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40281         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40282
40283 2009-02-27  Bruno Haible  <bruno@clisp.org>
40284
40285         Avoid spurious "(cached)" in configure output.
40286         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40287         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40288         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40289         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40290         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40291         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40292         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40293         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40294         Reported by Eric Blake.
40295
40296 2009-02-27  Eric Blake  <ebb9@byu.net>
40297
40298         printf: fix regression in previous patch
40299         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40300
40301 2009-02-27  Bruno Haible  <bruno@clisp.org>
40302
40303         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40304         value.
40305         * lib/stdint.in.h: Likewise.
40306         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40307
40308 2009-02-27  Eric Blake  <ebb9@byu.net>
40309
40310         doc: mention more functions added in cygwin 1.7.0
40311         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40312         addition.
40313         * doc/posix-functions/open_wmemstream.texi: Likewise.
40314         * doc/posix-functions/wcsnlen.texi: Likewise.
40315         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40316         * doc/posix-functions/wcstod.texi: Likewise.
40317         * doc/posix-functions/wcstof.texi: Likewise.
40318         * doc/posix-functions/wcstoimax.texi: Likewise.
40319         * doc/posix-functions/wcstok.texi: Likewise.
40320         * doc/posix-functions/wcstoumax.texi: Likewise.
40321
40322         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40323         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40324         * doc/posix-functions/fprintf.texi: Update.
40325         * doc/posix-functions/printf.texi: Update.
40326         * doc/posix-functions/snprintf.texi: Update.
40327         * doc/posix-functions/sprintf.texi: Update.
40328         * doc/posix-functions/vfprintf.texi: Update.
40329         * doc/posix-functions/vprintf.texi: Update.
40330         * doc/posix-functions/vsnprintf.texi: Update.
40331         * doc/posix-functions/vsprintf.texi: Update.
40332         * doc/glibc-functions/obstack_printf.texi: Update.
40333         * doc/glibc-functions/obstack_vprintf.texi: Update.
40334
40335 2009-02-26  Eric Blake  <ebb9@byu.net>
40336
40337         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40338         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40339         compilation bug by using runtime conversion.
40340         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40341         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40342         * modules/ceill-tests (Files): Use nan.h.
40343         * modules/floorl-tests (Files): Likewise.
40344         * modules/frexpl-tests (Files): Likewise.
40345         * modules/isnanl-tests (Files): Likewise.
40346         * modules/ldexpl-tests (Files): Likewise.
40347         * modules/roundl-tests (Files): Likewise.
40348         * modules/truncl-tests (Files): Likewise.
40349         * tests/test-ceill.c (main): Use a working NaN.
40350         * tests/test-floorl.c (main): Likewise.
40351         * tests/test-frexpl.c (main): Likewise.
40352         * tests/test-isnan.c (test_long_double): Likewise.
40353         * tests/test-isnanl.h (main): Likewise.
40354         * tests/test-ldexpl.h (main): Likewise.
40355         * tests/test-roundl.h (main): Likewise.
40356         * tests/test-truncl.h (main): Likewise.
40357         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40358
40359 2009-02-26  Eric Blake  <ebb9@byu.net>
40360             Bruno Haible  <bruno@clisp.org>
40361
40362         Work around a *printf bug with %ls on Solaris.
40363         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40364         precision is specified, sprintf stops converting the wide string
40365         argument when the number of bytes that have been produced by this
40366         conversion equals or exceeds the precision.
40367         * doc/posix-functions/fprintf.texi: Update.
40368         * doc/posix-functions/printf.texi: Update.
40369         * doc/posix-functions/snprintf.texi: Update.
40370         * doc/posix-functions/sprintf.texi: Update.
40371         * doc/posix-functions/vfprintf.texi: Update.
40372         * doc/posix-functions/vprintf.texi: Update.
40373         * doc/posix-functions/vsnprintf.texi: Update.
40374         * doc/posix-functions/vsprintf.texi: Update.
40375         * doc/glibc-functions/obstack_printf.texi: Update.
40376         * doc/glibc-functions/obstack_vprintf.texi: Update.
40377
40378 2009-02-26  Eric Blake  <ebb9@byu.net>
40379
40380         stdlib: favor compiler check of random.h
40381         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40382         to avoid an ObjC random.h installed by Swarm.
40383
40384 2009-02-26  Bruno Haible  <bruno@clisp.org>
40385
40386         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40387         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40388         Reported by Gary V. Vaughan <gary@gnu.org>.
40389
40390 2009-02-26  Bruno Haible  <bruno@clisp.org>
40391
40392         Fix *printf behaviour regarding the %ls directive.
40393         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40394         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40395         NEED_PRINTF_DIRECTIVE_LS.
40396         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40397         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40398         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40399         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40400         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40401         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40402         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40403         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40404         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40405         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40406         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40407         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40408         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40409         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40410         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40411         * doc/posix-functions/fprintf.texi: Update.
40412         * doc/posix-functions/printf.texi: Update.
40413         * doc/posix-functions/snprintf.texi: Update.
40414         * doc/posix-functions/sprintf.texi: Update.
40415         * doc/posix-functions/vfprintf.texi: Update.
40416         * doc/posix-functions/vprintf.texi: Update.
40417         * doc/posix-functions/vsnprintf.texi: Update.
40418         * doc/posix-functions/vsprintf.texi: Update.
40419         * doc/glibc-functions/obstack_printf.texi: Update.
40420         * doc/glibc-functions/obstack_vprintf.texi: Update.
40421         Reported by Eric Blake.
40422
40423 2009-02-25  Bruno Haible  <bruno@clisp.org>
40424
40425         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40426         with known value.
40427         Reported by Gary V. Vaughan <gary@gnu.org>.
40428
40429 2009-02-25  Bruno Haible  <bruno@clisp.org>
40430
40431         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40432         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40433         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40434         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40435         Reported by Gary V. Vaughan <gary@gnu.org>.
40436
40437 2009-02-25  Bruno Haible  <bruno@clisp.org>
40438
40439         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40440         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40441         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40442         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40443         Reported by Gary V. Vaughan <gary@gnu.org>.
40444
40445 2009-02-25  Eric Blake  <ebb9@byu.net>
40446
40447         tests: skip fseek/ftell tests if ungetc is broken
40448         * m4/ungetc.m4: New file.
40449         * modules/fseek-tests: Split test, so ungetc dependency is
40450         separate from rest of test.
40451         * modules/fseeko-tests: Likewise.
40452         * modules/ftell-tests: Likewise.
40453         * modules/ftello-tests: Likewise.
40454         * tests/test-fseek.c (main): Isolate ungetc dependency.
40455         * tests/test-fseeko.c (main): Likewise.
40456         * tests/test-ftell.c (main): Likewise.
40457         * tests/test-ftello.c (main): Likewise.
40458         * tests/test-fseek2.sh: New file.
40459         * tests/test-fseeko2.sh: Likewise.
40460         * tests/test-ftell2.sh: Likewise.
40461         * tests/test-ftello2.sh: Likewise.
40462
40463 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
40464
40465         test-getaddrinfo: fix usage of skip return code 77
40466         * tests/test-gettaddrinfo.c: Return skip code 77 only
40467         for first occurance of skip (4x77 is not 77)
40468
40469 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40470
40471         strtod: avoid C99 decl-after-statement
40472         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40473
40474 2009-02-24  Eric Blake  <ebb9@byu.net>
40475
40476         strtod: detect HP-UX 11.31 bug
40477         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40478         Reported by Gary V. Vaughan.
40479
40480 2009-02-23  Bruno Haible  <bruno@clisp.org>
40481
40482         Fix invalid read past end of memory block.
40483         * lib/vasnprintf.c (DCHAR_SET): Define.
40484         (local_wcslen): Define only when needed.
40485         (local_strnlen, local_wcsnlen): New functions.
40486         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40487         directives that involve a conversion ourselves.
40488         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40489         wcsnlen, mbrtowc, wcrtomb.
40490         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40491         * tests/test-vasprintf-posix.c (test_function): Likewise.
40492         * tests/test-snprintf-posix.h (test_function): Likewise.
40493         * tests/test-sprintf-posix.h (test_function): Likewise.
40494         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40495
40496 2009-02-22  Bruno Haible  <bruno@clisp.org>
40497
40498         Implement new clarified decomposition of Hangul syllables.
40499         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40500         of type LTV, return only a pairwise decomposition.
40501         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40502         Likewise.
40503         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40504         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40505         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40506
40507 2009-02-22  Bruno Haible  <bruno@clisp.org>
40508
40509         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40510         zero-length results and shrink excess allocated memory.
40511         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40512         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40513         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40514         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40515         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40516         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40517         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40518         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40519         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40520         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40521         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40522         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40523
40524 2009-02-21  Bruno Haible  <bruno@clisp.org>
40525
40526         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40527         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40528         spaces after a period. Put a space between a macro name and its
40529         argument list. Trivial rewordings.
40530         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40531         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40532         (main): Return 0 explicitly.
40533
40534 2009-02-21  Bruno Haible  <bruno@clisp.org>
40535
40536         Tests for module 'uninorm/filter'.
40537         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40538         * modules/uninorm/filter-tests: New file.
40539
40540         New module 'uninorm/filter'.
40541         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40542         uninorm_filter_flush, uninorm_filter_free): New declarations.
40543         * lib/uninorm/uninorm-filter.c: New file.
40544         * modules/uninorm/filter: New file.
40545
40546 2009-02-21  Bruno Haible  <bruno@clisp.org>
40547
40548         Tests for module 'uninorm/nfkc'.
40549         * tests/uninorm/test-nfkc.c: New file.
40550         * tests/uninorm/test-u8-nfkc.c: New file.
40551         * tests/uninorm/test-u16-nfkc.c: New file.
40552         * tests/uninorm/test-u32-nfkc.c: New file.
40553         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40554         * tests/uninorm/test-u32-nfkc-big.c: New file.
40555         * modules/uninorm/nfkc-tests: New file.
40556
40557         New module 'uninorm/nfkc'.
40558         * lib/uninorm/nfkc.c: New file.
40559         * modules/uninorm/nfkc: New file.
40560
40561         Tests for module 'uninorm/nfkd'.
40562         * tests/uninorm/test-nfkd.c: New file.
40563         * tests/uninorm/test-u8-nfkd.c: New file.
40564         * tests/uninorm/test-u16-nfkd.c: New file.
40565         * tests/uninorm/test-u32-nfkd.c: New file.
40566         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40567         * tests/uninorm/test-u32-nfkd-big.c: New file.
40568         * modules/uninorm/nfkd-tests: New file.
40569
40570         New module 'uninorm/nfkd'.
40571         * lib/uninorm/nfkd.c: New file.
40572         * modules/uninorm/nfkd: New file.
40573
40574         Tests for module 'uninorm/nfc'.
40575         * tests/uninorm/test-nfc.c: New file.
40576         * tests/uninorm/test-u8-nfc.c: New file.
40577         * tests/uninorm/test-u16-nfc.c: New file.
40578         * tests/uninorm/test-u32-nfc.c: New file.
40579         * tests/uninorm/test-u32-nfc-big.sh: New file.
40580         * tests/uninorm/test-u32-nfc-big.c: New file.
40581         * modules/uninorm/nfc-tests: New file.
40582
40583         New module 'uninorm/nfc'.
40584         * lib/uninorm/nfc.c: New file.
40585         * modules/uninorm/nfc: New file.
40586
40587         Tests for module 'uninorm/nfd'.
40588         * tests/uninorm/test-nfd.c: New file.
40589         * tests/uninorm/test-u8-nfd.c: New file.
40590         * tests/uninorm/test-u16-nfd.c: New file.
40591         * tests/uninorm/test-u32-nfd.c: New file.
40592         * tests/uninorm/test-u32-nfd-big.sh: New file.
40593         * tests/uninorm/test-u32-nfd-big.c: New file.
40594         * tests/uninorm/test-u32-normalize-big.h: New file.
40595         * tests/uninorm/test-u32-normalize-big.c: New file.
40596         * tests/uninorm/NormalizationTest.txt: New file, created from
40597         Unicode 5.1.0 NormalizationTest.txt.
40598         * modules/uninorm/nfd-tests: New file.
40599
40600         New module 'uninorm/nfd'.
40601         * lib/uninorm/nfd.c: New file.
40602         * modules/uninorm/nfd: New file.
40603
40604         New module 'uninorm/u32-normalize'.
40605         * lib/uninorm/u32-normalize.c: New file.
40606         * modules/uninorm/u32-normalize: New file.
40607
40608         New module 'uninorm/u16-normalize'.
40609         * lib/uninorm/u16-normalize.c: New file.
40610         * modules/uninorm/u16-normalize: New file.
40611
40612         New module 'uninorm/u8-normalize'.
40613         * lib/uninorm/u8-normalize.c: New file.
40614         * lib/uninorm/normalize-internal.h: New file.
40615         * lib/uninorm/u-normalize-internal.h: New file.
40616         * modules/uninorm/u8-normalize: New file.
40617
40618         New module 'uninorm/decompose-internal'.
40619         * lib/uninorm/decompose-internal.c: New file.
40620         * modules/uninorm/decompose-internal: New file.
40621
40622         Tests for module 'uninorm/composition'.
40623         * tests/uninorm/test-composition.c: New file.
40624         * modules/uninorm/composition-tests: New file.
40625
40626         New module 'uninorm/composition'.
40627         * lib/uninorm/composition.c: New file.
40628         * lib/uninorm/composition-table.gperf: New file, generated by
40629         gen-uni-tables.
40630         * modules/uninorm/composition: New file.
40631
40632         Tests for module 'uninorm/compat-decomposition'.
40633         * tests/uninorm/test-compat-decomposition.c: New file.
40634         * modules/uninorm/compat-decomposition-tests: New file.
40635
40636         New module 'uninorm/compat-decomposition'.
40637         * lib/uninorm/decompose-internal.h: New file.
40638         * lib/uninorm/compat-decomposition.c: New file.
40639         * modules/uninorm/compat-decomposition: New file.
40640
40641         Tests for module 'uninorm/canonical-decomposition'.
40642         * tests/uninorm/test-canonical-decomposition.c: New file.
40643         * modules/uninorm/canonical-decomposition-tests: New file.
40644
40645         New module 'uninorm/canonical-decomposition'.
40646         * lib/uninorm/canonical-decomposition.c: New file.
40647         * modules/uninorm/canonical-decomposition: New file.
40648
40649         Tests for module 'uninorm/decomposition'.
40650         * tests/uninorm/test-decomposition.c: New file.
40651         * modules/uninorm/decomposition-tests: New file.
40652
40653         New module 'uninorm/decomposition'.
40654         * lib/uninorm/decomposition.c: New file.
40655         * modules/uninorm/decomposition: New file.
40656
40657         New module 'uninorm/decomposition-table'.
40658         * lib/uninorm/decomposition-table.h: New file.
40659         * lib/uninorm/decomposition-table.c: New file.
40660         * lib/uninorm/decomposition-table1.h: New file, generated by
40661         gen-uni-tables.
40662         * lib/uninorm/decomposition-table2.h: New file, generated by
40663         gen-uni-tables.
40664         * modules/uninorm/decomposition-table: New file.
40665
40666         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40667         (UC_DECOMP_*): New enumeration items.
40668         (get_decomposition): New function.
40669         (struct decomp_table): New type.
40670         (output_decomposition, output_decomposition_tables): New functions.
40671         (unicode_composition_exclusions): New variable.
40672         (fill_composition_exclusions, debug_output_composition_tables): New
40673         functions.
40674         (main): Accept one more argument. Invoke fill_composition_exclusions.
40675         Output decomposition and composition tables.
40676
40677         New module 'uninorm/base'.
40678         * lib/uninorm.h: New file.
40679         * lib/unictype.h: Update comment.
40680         * modules/uninorm/base: New file.
40681
40682 2009-02-21  David Lutterkort  <lutter@redhat.com>
40683
40684         Tests for module 'safe-alloc'.
40685         * tests/test-safe-alloc.c: New file.
40686         * modules/safe-alloc-tests: New file.
40687
40688         New module 'safe-alloc'.
40689         * lib/safe-alloc.h: New file.
40690         * lib/safe-alloc.c: New file.
40691         * m4/safe-alloc.m4: New file.
40692         * modules/safe-alloc: New file.
40693         * doc/safe-alloc.texi: New file.
40694         * doc/gnulib.texi: Include it.
40695         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40696         safe-alloc.
40697
40698 2009-02-18  Bruno Haible  <bruno@clisp.org>
40699
40700         Fix link error on non-glibc systems.
40701         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40702         variable.
40703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40704
40705 2009-02-18  Jim Meyering  <meyering@redhat.com>
40706
40707         fts: avoid used-uninitialized error due to recent change
40708         * lib/fts.c (fts_read): Guard uses of the new member,
40709         parent->fts_n_dirs_remaining, since it's not relevant for
40710         the parent of a directory specified on the command-line.
40711
40712 2009-02-17  James Youngman  <jay@gnu.org>
40713             Bruno Haible  <bruno@clisp.org>
40714
40715         * m4/include_next.m4: Reformulate comment.
40716
40717 2009-02-16  Jim Meyering  <meyering@redhat.com>
40718
40719         fts: add #if guards so that the fts_lgpl module still builds
40720         * lib/fts.c: Guard just-added hash-table-using parts with
40721         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40722         Reported by Simon Josefsson.
40723
40724 2009-02-15  Bruno Haible  <bruno@clisp.org>
40725
40726         * modules/array-mergesort-tests: New file.
40727         * tests/test-array-mergesort.c: New file.
40728
40729         New module 'array-mergesort'.
40730         * modules/array-mergesort: New file.
40731         * lib/array-mergesort.h: New file.
40732
40733 2009-02-15  Bruno Haible  <bruno@clisp.org>
40734
40735         Fix 2009-02-07 commit.
40736         * lib/gen-uni-tables.c (output_predicate, output_category,
40737         output_combclass, output_bidi_category, output_decimal_digit,
40738         output_digit, output_numeric, output_mirror, output_scripts,
40739         output_ident_category, output_simple_mapping): Fix format directives.
40740         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40741
40742 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40743
40744         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40745         fixes are available from IBM.
40746
40747 2009-02-13  Jim Meyering  <meyering@redhat.com>
40748
40749         fts: arrange not to stat non-directories in more cases
40750         This makes GNU find (when it doesn't need to stat each file)
40751         *much* more efficient at traversing reiserfs file systems.
40752         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40753         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40754         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40755         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40756         (leaf_optimization_applies): New function.
40757         (LCO_hash, LCO_compare): New helper functions.
40758         (link_count_optimize_ok): New function.
40759         (fts_stat): Initialize new member (if dir).
40760         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40761         we've just stat'ed a directory.  Skip the stat call when possible.
40762         ---
40763         Note this AFS-related exchange:
40764         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40765         and note find's pioctl call in find/fstype.c.
40766         But that is necessary only if you want to enable the
40767         optimization for AFS, and for now, I don't.
40768
40769         fts: move a function definition "up" (no semantic change)
40770         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40771         "up" to precede upcoming use of a related function.
40772
40773 2009-02-11  Jim Meyering  <meyering@redhat.com>
40774
40775         fts: correct internal computation of nlinks (optimization-related)
40776         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40777         whether the current entry is a directory, so don't test it.
40778
40779 2009-02-10  Bruno Haible  <bruno@clisp.org>
40780
40781         Tests for module 'uniwbrk/ulc-wordbreaks'.
40782         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40783         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40784         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40785
40786         Tests for module 'uniwbrk/u32-wordbreaks'.
40787         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40788         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40789
40790         Tests for module 'uniwbrk/u16-wordbreaks'.
40791         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40792         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40793
40794         Tests for module 'uniwbrk/u8-wordbreaks'.
40795         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40796         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40797
40798 2009-02-10  Bruno Haible  <bruno@clisp.org>
40799
40800         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40801         property.
40802         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40803         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40804         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40805
40806 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40807
40808         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40809         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40810
40811 2009-02-10  Bruno Haible  <bruno@clisp.org>
40812
40813         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40814         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40815         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40816         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40817         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40818         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40819
40820 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40821
40822         * lib/sockets.h (gl_fd_to_handle): New function.
40823
40824         * tests/test-sockets.c: Call gl_fd_to_handle.
40825
40826 2009-02-09  Bruno Haible  <bruno@clisp.org>
40827
40828         * doc/havelib.texi: Document the conventions on bi-arch systems.
40829
40830 2009-02-08  Bruno Haible  <bruno@clisp.org>
40831
40832         Document the AC_LIB_LINKFLAGS macro.
40833         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40834         * doc/gnulib.texi: Include it.
40835
40836 2009-02-08  Bruno Haible  <bruno@clisp.org>
40837
40838         Fix wrong order of sections, compared to TOC.
40839         * doc/gnulib.texi: Include relocatable-maint.texi after the
40840         "Regular expressions" node, not before.
40841
40842 2009-02-08  Bruno Haible  <bruno@clisp.org>
40843
40844         Tests for module 'unicase/totitle'.
40845         * modules/unicase/totitle-tests: New file.
40846
40847         Tests for module 'unicase/tolower'.
40848         * modules/unicase/tolower-tests: New file.
40849
40850         Tests for module 'unicase/toupper'.
40851         * modules/unicase/toupper-tests: New file.
40852         * tests/unicase/test-mapping-part1.h: New file.
40853         * tests/unicase/test-mapping-part2.h: New file.
40854
40855         New module 'unicase/totitle'.
40856         * modules/unicase/totitle: New file.
40857         * lib/unicase/totitle.c: New file.
40858
40859         New module 'unicase/tolower'.
40860         * modules/unicase/tolower: New file.
40861         * lib/unicase/tolower.c: New file.
40862
40863         New module 'unicase/toupper'.
40864         * modules/unicase/toupper: New file.
40865         * lib/unicase/toupper.c: New file.
40866         * lib/unicase/simple-mapping.h: New file.
40867
40868         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40869         (mapping_table): New structure.
40870         (output_simple_mapping): New function.
40871         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40872         * modules/gen-uni-tables (Description): Update.
40873         * lib/unicase/toupper.h: New file, automatically generated by
40874         gen-uni-tables.
40875         * lib/unicase/tolower.h: New file, automatically generated by
40876         gen-uni-tables.
40877         * lib/unicase/totitle.h: New file, automatically generated by
40878         gen-uni-tables.
40879         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40880         gen-uni-tables.
40881         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40882         gen-uni-tables.
40883         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40884         gen-uni-tables.
40885
40886         New module 'unicase/base'.
40887         * modules/unicase/base: New file.
40888         * lib/unicase.h: New file.
40889
40890 2009-02-08  Bruno Haible  <bruno@clisp.org>
40891
40892         New module 'uniwbrk/ulc-wordbreaks'.
40893         * modules/uniwbrk/ulc-wordbreaks: New file.
40894         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40895
40896         New module 'uniwbrk/u32-wordbreaks'.
40897         * modules/uniwbrk/u32-wordbreaks: New file.
40898         * lib/uniwbrk/u32-wordbreaks.c: New file.
40899
40900         New module 'uniwbrk/u16-wordbreaks'.
40901         * modules/uniwbrk/u16-wordbreaks: New file.
40902         * lib/uniwbrk/u16-wordbreaks.c: New file.
40903
40904         New module 'uniwbrk/u8-wordbreaks'.
40905         * modules/uniwbrk/u8-wordbreaks: New file.
40906         * lib/uniwbrk/u8-wordbreaks.c: New file.
40907         * lib/uniwbrk/u-wordbreaks.h: New file.
40908
40909         New module 'uniwbrk/table'.
40910         * modules/uniwbrk/table: New file.
40911         * lib/uniwbrk/wbrktable.h: New file.
40912         * lib/uniwbrk/wbrktable.c: New file.
40913
40914         New module 'uniwbrk/wordbreak-property'.
40915         * modules/uniwbrk/wordbreak-property: New file.
40916         * lib/uniwbrk/wordbreak-property.c: New file.
40917
40918         * lib/gen-uni-tables.c (WBP_*): New enum items.
40919         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40920         (unicode_org_wbp): New variable.
40921         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40922         New functions.
40923         (wbp_table): New structure.
40924         (output_wbp, output_wbrk_tables): New functions.
40925         (main): Accept additional argument. Invoke fill_org_wbp,
40926         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40927         output_wbrk_tables.
40928         * modules/gen-uni-tables (Description): Update.
40929         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40930         gen-uni-tables.
40931
40932         New module 'uniwbrk/base'.
40933         * modules/uniwbrk/base: New file.
40934         * lib/uniwbrk.h: New file.
40935
40936 2009-02-08  Bruno Haible  <bruno@clisp.org>
40937
40938         Update to Unicode 5.1.0.
40939         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40940         U+2185..U+2188.
40941         (is_property_default_ignorable_code_point): Don't include characters
40942         of category Cc or Cs and not-a-characters.
40943         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40944         U+0D79, U+109E, U+109F, U+A60C.
40945         * lib/unictype/bidi_of.h: Regenerated.
40946         * lib/unictype/blocks.h: Regenerated.
40947         * lib/unictype/categ_C.h: Regenerated.
40948         * lib/unictype/categ_Cf.h: Regenerated.
40949         * lib/unictype/categ_Cn.h: Regenerated.
40950         * lib/unictype/categ_L.h: Regenerated.
40951         * lib/unictype/categ_Ll.h: Regenerated.
40952         * lib/unictype/categ_Lm.h: Regenerated.
40953         * lib/unictype/categ_Lo.h: Regenerated.
40954         * lib/unictype/categ_Lu.h: Regenerated.
40955         * lib/unictype/categ_M.h: Regenerated.
40956         * lib/unictype/categ_Mc.h: Regenerated.
40957         * lib/unictype/categ_Me.h: Regenerated.
40958         * lib/unictype/categ_Mn.h: Regenerated.
40959         * lib/unictype/categ_N.h: Regenerated.
40960         * lib/unictype/categ_Nd.h: Regenerated.
40961         * lib/unictype/categ_Nl.h: Regenerated.
40962         * lib/unictype/categ_No.h: Regenerated.
40963         * lib/unictype/categ_P.h: Regenerated.
40964         * lib/unictype/categ_Pd.h: Regenerated.
40965         * lib/unictype/categ_Pe.h: Regenerated.
40966         * lib/unictype/categ_Pf.h: Regenerated.
40967         * lib/unictype/categ_Pi.h: Regenerated.
40968         * lib/unictype/categ_Po.h: Regenerated.
40969         * lib/unictype/categ_Ps.h: Regenerated.
40970         * lib/unictype/categ_S.h: Regenerated.
40971         * lib/unictype/categ_Sk.h: Regenerated.
40972         * lib/unictype/categ_Sm.h: Regenerated.
40973         * lib/unictype/categ_So.h: Regenerated.
40974         * lib/unictype/categ_of.h: Regenerated.
40975         * lib/unictype/combining.h: Regenerated.
40976         * lib/unictype/ctype_alnum.h: Regenerated.
40977         * lib/unictype/ctype_alpha.h: Regenerated.
40978         * lib/unictype/ctype_graph.h: Regenerated.
40979         * lib/unictype/ctype_lower.h: Regenerated.
40980         * lib/unictype/ctype_print.h: Regenerated.
40981         * lib/unictype/ctype_punct.h: Regenerated.
40982         * lib/unictype/ctype_upper.h: Regenerated.
40983         * lib/unictype/decdigit.h: Regenerated.
40984         * lib/unictype/digit.h: Regenerated.
40985         * lib/unictype/mirror.h: Regenerated.
40986         * lib/unictype/numeric.h: Regenerated.
40987         * lib/unictype/pr_alphabetic.h: Regenerated.
40988         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40989         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40990         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40991         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40992         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40993         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40994         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40995         * lib/unictype/pr_combining.h: Regenerated.
40996         * lib/unictype/pr_dash.h: Regenerated.
40997         * lib/unictype/pr_decimal_digit.h: Regenerated.
40998         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40999         * lib/unictype/pr_deprecated.h: Regenerated.
41000         * lib/unictype/pr_diacritic.h: Regenerated.
41001         * lib/unictype/pr_extender.h: Regenerated.
41002         * lib/unictype/pr_format_control.h: Regenerated.
41003         * lib/unictype/pr_grapheme_base.h: Regenerated.
41004         * lib/unictype/pr_grapheme_extend.h: Regenerated.
41005         * lib/unictype/pr_grapheme_link.h: Regenerated.
41006         * lib/unictype/pr_id_continue.h: Regenerated.
41007         * lib/unictype/pr_id_start.h: Regenerated.
41008         * lib/unictype/pr_ideographic.h: Regenerated.
41009         * lib/unictype/pr_ignorable_control.h: Regenerated.
41010         * lib/unictype/pr_lowercase.h: Regenerated.
41011         * lib/unictype/pr_math.h: Regenerated.
41012         * lib/unictype/pr_numeric.h: Regenerated.
41013         * lib/unictype/pr_other_alphabetic.h: Regenerated.
41014         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
41015         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
41016         * lib/unictype/pr_other_id_continue.h: Regenerated.
41017         * lib/unictype/pr_other_lowercase.h: Regenerated.
41018         * lib/unictype/pr_other_math.h: Regenerated.
41019         * lib/unictype/pr_punctuation.h: Regenerated.
41020         * lib/unictype/pr_sentence_terminal.h: Regenerated.
41021         * lib/unictype/pr_soft_dotted.h: Regenerated.
41022         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
41023         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
41024         * lib/unictype/pr_unified_ideograph.h: Regenerated.
41025         * lib/unictype/pr_uppercase.h: Regenerated.
41026         * lib/unictype/pr_xid_continue.h: Regenerated.
41027         * lib/unictype/pr_xid_start.h: Regenerated.
41028         * lib/unictype/pr_zero_width.h: Regenerated.
41029         * lib/unictype/scripts.h: Regenerated.
41030         * lib/unictype/scripts_byname.gperf: Regenerated.
41031         * lib/unictype/sy_java_ident.h: Regenerated.
41032         * lib/unilbrk/lbrkprop1.h: Regenerated.
41033         * lib/unilbrk/lbrkprop2.h: Regenerated.
41034         * tests/unictype/test-categ_C.c: Regenerated.
41035         * tests/unictype/test-categ_Cf.c: Regenerated.
41036         * tests/unictype/test-categ_Cn.c: Regenerated.
41037         * tests/unictype/test-categ_L.c: Regenerated.
41038         * tests/unictype/test-categ_Ll.c: Regenerated.
41039         * tests/unictype/test-categ_Lm.c: Regenerated.
41040         * tests/unictype/test-categ_Lo.c: Regenerated.
41041         * tests/unictype/test-categ_Lu.c: Regenerated.
41042         * tests/unictype/test-categ_M.c: Regenerated.
41043         * tests/unictype/test-categ_Mc.c: Regenerated.
41044         * tests/unictype/test-categ_Me.c: Regenerated.
41045         * tests/unictype/test-categ_Mn.c: Regenerated.
41046         * tests/unictype/test-categ_N.c: Regenerated.
41047         * tests/unictype/test-categ_Nd.c: Regenerated.
41048         * tests/unictype/test-categ_Nl.c: Regenerated.
41049         * tests/unictype/test-categ_No.c: Regenerated.
41050         * tests/unictype/test-categ_P.c: Regenerated.
41051         * tests/unictype/test-categ_Pd.c: Regenerated.
41052         * tests/unictype/test-categ_Pe.c: Regenerated.
41053         * tests/unictype/test-categ_Pf.c: Regenerated.
41054         * tests/unictype/test-categ_Pi.c: Regenerated.
41055         * tests/unictype/test-categ_Po.c: Regenerated.
41056         * tests/unictype/test-categ_Ps.c: Regenerated.
41057         * tests/unictype/test-categ_S.c: Regenerated.
41058         * tests/unictype/test-categ_Sk.c: Regenerated.
41059         * tests/unictype/test-categ_Sm.c: Regenerated.
41060         * tests/unictype/test-categ_So.c: Regenerated.
41061         * tests/unictype/test-ctype_alnum.c: Regenerated.
41062         * tests/unictype/test-ctype_alpha.c: Regenerated.
41063         * tests/unictype/test-ctype_graph.c: Regenerated.
41064         * tests/unictype/test-ctype_lower.c: Regenerated.
41065         * tests/unictype/test-ctype_print.c: Regenerated.
41066         * tests/unictype/test-ctype_punct.c: Regenerated.
41067         * tests/unictype/test-ctype_upper.c: Regenerated.
41068         * tests/unictype/test-decdigit.h: Regenerated.
41069         * tests/unictype/test-digit.h: Regenerated.
41070         * tests/unictype/test-numeric.h: Regenerated.
41071         * tests/unictype/test-pr_alphabetic.c: Regenerated.
41072         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
41073         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
41074         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
41075         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
41076         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
41077         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
41078         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
41079         * tests/unictype/test-pr_combining.c: Regenerated.
41080         * tests/unictype/test-pr_dash.c: Regenerated.
41081         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
41082         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
41083         * tests/unictype/test-pr_deprecated.c: Regenerated.
41084         * tests/unictype/test-pr_diacritic.c: Regenerated.
41085         * tests/unictype/test-pr_extender.c: Regenerated.
41086         * tests/unictype/test-pr_format_control.c: Regenerated.
41087         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
41088         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
41089         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
41090         * tests/unictype/test-pr_id_continue.c: Regenerated.
41091         * tests/unictype/test-pr_id_start.c: Regenerated.
41092         * tests/unictype/test-pr_ideographic.c: Regenerated.
41093         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
41094         * tests/unictype/test-pr_lowercase.c: Regenerated.
41095         * tests/unictype/test-pr_math.c: Regenerated.
41096         * tests/unictype/test-pr_numeric.c: Regenerated.
41097         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
41098         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
41099         Regenerated.
41100         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
41101         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
41102         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
41103         * tests/unictype/test-pr_other_math.c: Regenerated.
41104         * tests/unictype/test-pr_punctuation.c: Regenerated.
41105         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
41106         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
41107         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
41108         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
41109         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
41110         * tests/unictype/test-pr_uppercase.c: Regenerated.
41111         * tests/unictype/test-pr_xid_continue.c: Regenerated.
41112         * tests/unictype/test-pr_xid_start.c: Regenerated.
41113         * tests/unictype/test-pr_zero_width.c: Regenerated.
41114
41115         Update to Unicode 5.1.0.
41116         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
41117         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
41118         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
41119         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
41120         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
41121         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
41122         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
41123         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
41124         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
41125         (nonspacing_table_ind): Update.
41126         * tests/uniwidth/test-uc_width2.sh: Update expected result.
41127
41128         Update to Unicode 5.1.0.
41129         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
41130         code transform.
41131         * lib/uniname/uniname.c (unicode_character_name,
41132         unicode_name_character): Add the range 0x1Fxxx to the code transform.
41133         * lib/uniname/uninames.h: Regenerated.
41134         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
41135
41136 2009-02-07  Bruno Haible  <bruno@clisp.org>
41137
41138         Merge gen-ctype and gen-lbrk into a single program.
41139         * lib/gen-uni-tables.c: New file, incorporating
41140         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
41141         Add directory prefixes to the names of the generated files.
41142         * lib/unictype/gen-ctype.c: Remove file.
41143         * lib/unilbrk/gen-lbrk.c: Remove file.
41144         * modules/gen-uni-tables: New file.
41145         * modules/unictype/gen-ctype: Remove file.
41146         * modules/unilbrk/gen-lbrk: Remove file.
41147
41148 2009-02-07  Bruno Haible  <bruno@clisp.org>
41149
41150         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
41151
41152         New module 'unistr/u32-strcoll'.
41153         * modules/unistr/u32-strcoll: New file.
41154         * lib/unistr/u32-strcoll.c: New file.
41155
41156         New module 'unistr/u16-strcoll'.
41157         * modules/unistr/u16-strcoll: New file.
41158         * lib/unistr/u16-strcoll.c: New file.
41159
41160         New module 'unistr/u8-strcoll'.
41161         * modules/unistr/u8-strcoll: New file.
41162         * lib/unistr/u8-strcoll.c: New file.
41163         * lib/unistr/u-strcoll.h: New file.
41164
41165 2009-02-07  Bruno Haible  <bruno@clisp.org>
41166
41167         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
41168         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41169         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41170         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41171         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41172         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41173
41174 2009-02-07  Bruno Haible  <bruno@clisp.org>
41175
41176         Make 64-bit clean.
41177         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41178         output_combclass, output_bidi_category, output_decimal_digit,
41179         output_digit, output_numeric, output_mirror, output_scripts,
41180         output_ident_category): Use proper width specifier in format strings.
41181
41182 2009-02-07  Bruno Haible  <bruno@clisp.org>
41183
41184         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41185         failure behaviour.
41186
41187 2009-02-07  Jim Meyering  <meyering@redhat.com>
41188
41189         regex: avoid compilation failure with upcoming gcc-4.4
41190         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41191         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41192         "... error: integer overflow in preprocessor expression".
41193
41194 2009-02-05  Ben Pfaff  <blp@gnu.org>
41195
41196         Fix link errors on Windows when close module is used.
41197         * modules/close: Add $(LIB_CLOSE) to Link section.
41198         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41199         $(LIB_CLOSE) on Windows.
41200
41201 2009-02-05  Jim Meyering  <meyering@redhat.com>
41202
41203         still avoid unused-parameter warnings, but do it cleanly
41204         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41205         (get_fs_usage): Cast to void instead.
41206         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41207         (dev_from_mount_options, read_file_system_list): Cast to void.
41208         Prompted by Bruno Haible.
41209
41210 2009-02-04  Jim Meyering  <meyering@redhat.com>
41211
41212         fsusage.c: correct copyright year
41213         * lib/fsusage.c: Reflect year in which the change is pushed into
41214
41215         avoid misc. warnings
41216         * lib/fsusage.c (UNUSED_PARAM): Define.
41217         (get_fs_usage): Mark parameter "disk" as unused.
41218         * lib/getugroups.c (getgrent): Use "void" in prototype.
41219         * lib/mountlist.c: Mark unused parameters.
41220         (read_file_system_list): Declare a local with "const".
41221         * lib/nanosleep.c (getnow): Declare static.
41222         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41223
41224         dirfd: set errno upon failure
41225         * lib/dirfd.c: Include <errno.h>.
41226         Set errno to ENOTSUP when returning -1.
41227         * modules/dirfd (Depends-on): Add errno.
41228         Suggested by John Kodis <kodis@comcast.net>.
41229
41230 2009-02-01  Bruno Haible  <bruno@clisp.org>
41231
41232         Don't assume sizeof (long) >= sizeof (void *).
41233         * lib/memcmp.c: Include stdint.h.
41234         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41235         srcp2 to 'const byte *'.
41236         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41237         types to uintptr_t.
41238         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41239         * modules/memcmp (Depends-on): Add stdint.
41240         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41241
41242 2009-01-30  Eric Blake  <ebb9@byu.net>
41243
41244         fix more require-before-expand issues
41245         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41246         expand, AC_PROG_AWK.
41247         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41248
41249 2009-01-28  Eric Blake  <ebb9@byu.net>
41250
41251         version-etc: use consistent URL formatting
41252         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41253         Improve formatting.  Use fputs for string without %.
41254
41255 2009-01-28  Jim Meyering  <meyering@redhat.com>
41256
41257         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41258         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41259         "underquoted definition of NAME" from autoconf-2.59.
41260
41261 2009-01-28  Bruno Haible  <bruno@clisp.org>
41262
41263         * doc/gnulib.texi: Add "Obsolete modules" to index.
41264
41265 2009-01-28  Jim Meyering  <meyering@redhat.com>
41266
41267         useless-if-before-free: recognize more variants
41268         * build-aux/useless-if-before-free: Also recognize e.g.,
41269         if (NULL != p) free (p);
41270
41271 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41272
41273         test-getaddrinfo: skip (don't fail) this test when there's no network
41274         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41275         on the presumption that it means you lack network access.
41276
41277 2009-01-26  Jim Meyering  <meyering@redhat.com>
41278
41279         fflush: avoid warnings on modern systems
41280         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41281         pos and result, into scopes where they're used.
41282
41283 2009-01-26  Eric Blake  <ebb9@byu.net>
41284
41285         Silence warning reintroduced by recent extensions patch.
41286         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41287         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41288         autoconf.
41289
41290         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41291         * m4/00gnulib.m4: New file.
41292         * gnulib-tool (func_get_filelist): Always use it.
41293         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41294         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41295
41296 2009-01-25  Bruno Haible  <bruno@clisp.org>
41297
41298         Make test-quotearg work on MacOS X and AIX.
41299         * tests/test-quotearg.sh: New file.
41300         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41301         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41302         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41303         include <libintl.h>.
41304         (fake_locale): Remove variable.
41305         (gettext, dgettext, dcgettext): Remove functions.
41306         (main): Instead of setting a fake locale, set a real locale. Call
41307         textdomain and bindtextdomain.
41308         * modules/quotearg-tests (Files): Add the new files.
41309         (Depends-on): Add gettext, setenv, unsetenv.
41310         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41311         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41312         Augment TESTS_ENVIRONMENT.
41313
41314 2009-01-25  Bruno Haible  <bruno@clisp.org>
41315
41316         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41317         fr_FR.ISO8859-1 locale on MacOS X.
41318         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41319         ja_JP.eucJP locale on MacOS X.
41320         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41321         zh_CN.GB18030 locale on MacOS X.
41322
41323 2009-01-25  Bruno Haible  <bruno@clisp.org>
41324
41325         Avoid link errors on MacOS X 10.3.
41326         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41327         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41328
41329 2009-01-25  Bruno Haible  <bruno@clisp.org>
41330
41331         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41332         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41333         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41334         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41335         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41336         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41337         posix_spawnattr_init, posix_spawnattr_setsigmask,
41338         posix_spawnattr_setflags, posix_spawnattr_destroy.
41339
41340         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41341         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41342         * modules/execute (Files): Remove m4/posix_spawn.m4.
41343         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41344         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41345         posix_spawnattr_init, posix_spawnattr_setsigmask,
41346         posix_spawnattr_setflags, posix_spawnattr_destroy.
41347
41348 2009-01-25  Bruno Haible  <bruno@clisp.org>
41349
41350         * lib/glthread/threadlib.c: Include <stdlib.h>.
41351
41352 2009-01-25  Bruno Haible  <bruno@clisp.org>
41353
41354         * lib/glthread/threadlib.c (dummy): New declaration.
41355
41356 2009-01-25  Bruno Haible  <bruno@clisp.org>
41357
41358         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41359         multibyte characters also for the GB18030 encoding. Don't crash when
41360         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41361
41362 2009-01-25  Bruno Haible  <bruno@clisp.org>
41363
41364         Avoid redefining 'struct random_data' on OSF/1 5.1.
41365         * lib/stdlib.in.h: Include <random.h> if it exists.
41366         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41367         HAVE_RANDOM_H. Include <random.h> when testing whether
41368         'struct random_data' exists.
41369         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41370
41371 2009-01-25  Bruno Haible  <bruno@clisp.org>
41372
41373         Don't install charset.alias on MacOS X >= 10.3.
41374         * lib/localcharset.c (DARWIN7): New macro.
41375         (get_charset_aliases): Hardcode the result for Darwin7.
41376         * modules/localcharset (install-exec-local): Don't install
41377         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41378
41379 2009-01-25  Bruno Haible  <bruno@clisp.org>
41380
41381         Don't install charset.alias on mingw and Cygwin.
41382         * modules/localcharset (install-exec-local): Don't install
41383         charset.alias on mingw and Cygwin, if the file does not yet exist.
41384         The result for these platforms is hardcoded in localcharset.c.
41385
41386 2009-01-25  Bruno Haible  <bruno@clisp.org>
41387
41388         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41389         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41390         before requiring AC_USE_SYSTEM_EXTENSIONS.
41391
41392 2009-01-25  Jim Meyering  <meyering@redhat.com>
41393
41394         c-strtod: avoid warnings
41395         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41396         "assignment discards qualifiers from pointer target type" warnings.
41397
41398 2009-01-24  Bruno Haible  <bruno@clisp.org>
41399
41400         Add support for non-UTF-8 locales on MacOS X.
41401         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41402         canonical encodings. For Darwin 7 and newer, don't map traditional
41403         encodings to UTF-8.
41404         Reported by Vincent Lefevre <vincent@vinc17.org>
41405         at <http://savannah.gnu.org/bugs/?25235>.
41406
41407 2009-01-24  Bruno Haible  <bruno@clisp.org>
41408
41409         * doc/gnulib.texi (Obsolete modules): New section.
41410         Reported by Mike Frysinger <vapier@gentoo.org>.
41411
41412 2009-01-24  Bruno Haible  <bruno@clisp.org>
41413
41414         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41415         (%.dvi): New rule.
41416
41417 2009-01-24  Bruno Haible  <bruno@clisp.org>
41418
41419         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41420         Reported by Eric Blake.
41421
41422 2009-01-24  Bruno Haible  <bruno@clisp.org>
41423
41424         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41425         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41426         Reported by Gary V. Vaughan <gary@gnu.org>.
41427
41428 2009-01-24  Bruno Haible  <bruno@clisp.org>
41429
41430         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41431
41432 2009-01-23  Bruno Haible  <bruno@clisp.org>
41433
41434         Make c-strtod, c-strtold usable in libraries.
41435         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41436         (C_STRTOD): Call strdup instead of xstrdup.
41437         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41438         * modules/c-strtold (Depends-on): Likewise.
41439         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41440         * NEWS: Mention the change.
41441         Reported by Michael Gold <mgold@ncf.ca>.
41442
41443 2009-01-23  Jim Meyering  <meyering@redhat.com>
41444
41445         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41446         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41447         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41448
41449 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41450
41451         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41452         GNU CoreUtils.
41453         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41454         * modules/version-etc (Description): Update.
41455
41456 2009-01-22  Bruno Haible  <bruno@clisp.org>
41457
41458         Cache the C locale object.
41459         * lib/c-strtod.c (c_locale_cache): New variable.
41460         (c_locale): New function.
41461         (C_STRTOD): Use it, and don't call freelocale.
41462         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41463         Suggested by Paolo Bonzini.
41464
41465 2009-01-21  Bruno Haible  <bruno@clisp.org>
41466
41467         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41468         conditions other than overflow.
41469
41470 2009-01-21  Bruno Haible  <bruno@clisp.org>
41471
41472         * lib/c-strtod.c: Include errno.h.
41473         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41474         value from STRTOD_L and STRTOD.
41475
41476 2009-01-21  Bruno Haible  <bruno@clisp.org>
41477         and Jim Meyering  <meyering@redhat.com>
41478
41479         nanosleep: skip configure test (fail it) for apple universal builds
41480         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41481         universal builds, assume that nanosleep does not work.
41482         * modules/nanosleep (Depends-on): Add multiarch.
41483
41484         mktime: skip configure test (fail it) for apple universal builds
41485         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41486         universal builds, assume that mktime does not work.
41487         * modules/mktime (Depends-on): Add multiarch.
41488
41489 2009-01-21  Eric Blake  <ebb9@byu.net>
41490
41491         multiarch: avoid expand-before-require warning
41492         * modules/multiarch (configure.ac): Require, rather than expand,
41493         gl_MULTIARCH.
41494         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41495         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41496         enforce that all clients require it.  Partial reversion of
41497         2008-12-29 patch.
41498
41499         error: avoid expand-before-require warning
41500         * modules/errno (configure.ac): Require, rather than expand,
41501         gl_HEADER_ERRNO_H.
41502         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41503         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41504         enforce that all clients require it.
41505
41506         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41507         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41508         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41509         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41510
41511 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41512
41513         Revert:
41514         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41515
41516         regex: do not depend on obsolete modules.
41517         * modules/regex: Remove memcmp and memmove.
41518
41519 2009-01-20  Bruno Haible  <bruno@clisp.org>
41520
41521         Make the 'link' module link on Windows NT 4.
41522         * lib/link.c (_WIN32_WINNT): Don't define.
41523         (CreateHardLinkFuncType): New type.
41524         (CreateHardLinkFunc, initialized): New variables.
41525         (initialize): New function.
41526         (link): Invoke CreateHardLink indirectly through the function pointer.
41527
41528 2009-01-20  Bruno Haible  <bruno@clisp.org>
41529
41530         Fix compilation failure on mingw.
41531         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41532
41533 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41534
41535         * doc/c-strtod.texi: Mention a couple of restrictions.
41536
41537 2009-01-20  Jim Meyering  <meyering@redhat.com>
41538
41539         gettimeofday: move more declarations out of functions
41540         * lib/gettimeofday.c: Move extern declarations of tzset and
41541         gmtime out of containing functions.  Prompted by Bruno Haible.
41542
41543 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41544
41545         regex: do not depend on obsolete modules.
41546         * modules/regex: Remove memcmp and memmove.
41547
41548 2009-01-19  Bruno Haible  <bruno@clisp.org>
41549
41550         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41551         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41552         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41553         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41554         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41555
41556 2009-01-19  Bruno Haible  <bruno@clisp.org>
41557
41558         * tests/test-link.c: Include <errno.h>.
41559         (main): Exit with code 77 when a hard link cannot be created due to
41560         the file system.
41561         * tests/test-link.sh: Skip test when a hard link cannot be created due
41562         to the file system.
41563         Suggested by Eric Blake.
41564
41565 2009-01-19  Martin Lambers  <marlam@marlam.de>
41566
41567         * modules/link-tests: New file.
41568         * tests/test-link.sh: New file.
41569         * tests/test-link.c: New file.
41570
41571 2009-01-19  Eric Blake  <ebb9@byu.net>
41572
41573         doc: mention another function added in cygwin 1.7.0
41574         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41575         Another new function in cygwin 1.7.
41576
41577 2009-01-19  Bruno Haible  <bruno@clisp.org>
41578
41579         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41580         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41581         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41582         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41583         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41584         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41585         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41586         * m4/md4.m4 (gl_MD4): Likewise.
41587         * m4/md5.m4 (gl_MD5): Likewise.
41588         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41589         * m4/sha1.m4 (gl_SHA1): Likewise.
41590         * m4/sha256.m4 (gl_SHA256): Likewise.
41591         * m4/sha512.m4 (gl_SHA512): Likewise.
41592
41593 2009-01-19  Bruno Haible  <bruno@clisp.org>
41594
41595         * modules/uniname/uniname-tests (Depends-on): Add progname.
41596         * tests/uniname/test-uninames.c: Include progname.h.
41597         (main): Call set_program_name.
41598
41599         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41600         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41601         (main): Call set_program_name.
41602
41603         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41604         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41605         (main): Call set_program_name.
41606
41607         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41608         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41609         (main): Call set_program_name.
41610
41611         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41612         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41613         (main): Call set_program_name.
41614
41615         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41616         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41617         (main): Call set_program_name.
41618
41619         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41620         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41621         (main): Call set_program_name.
41622
41623         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41624         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41625         (main): Call set_program_name.
41626
41627         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41628         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41629         (main): Call set_program_name.
41630
41631 2009-01-19  Eric Blake  <ebb9@byu.net>
41632
41633         test-unistd: test previous patch
41634         * tests/test-unistd.c: Test *_FILENO macros.
41635
41636         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41637         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41638         Guarantee a definition.
41639         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41640         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41641         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41642         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41643         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41644         Likewise.
41645         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41646         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41647         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41648         Likewise.
41649         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41650         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41651         (STDERR_FILENO): Likewise.
41652         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41653         (STDERR_FILENO): Likewise.
41654         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41655         (STDERR_FILENO): Likewise.
41656         Reported by Elbert Pol.
41657
41658 2009-01-19  Eric Blake  <ebb9@byu.net>
41659
41660         doc: mention more functions added in cygwin 1.7.0
41661         * doc/posix-functions/abort.texi (abort): Update wording related
41662         to cygwin.
41663         * doc/posix-functions/daylight.texi (daylight): Likewise.
41664         * doc/posix-functions/optarg.texi (optarg): Likewise.
41665         * doc/posix-functions/optarg.texi (opterr): Likewise.
41666         * doc/posix-functions/optarg.texi (optind): Likewise.
41667         * doc/posix-functions/optarg.texi (optopt): Likewise.
41668         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41669         worked in 1.5.x, and was withdrawn in 1.7.
41670         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41671         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41672         cygwin versions.
41673         * doc/posix-functions/perror.texi (perror): Likewise.
41674         * doc/posix-functions/printf.texi (printf): Likewise.
41675         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41676         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41677         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41678         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41679         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41680         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41681         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41682         Likewise.
41683         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41684         Likewise.
41685         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41686         this function.
41687         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41688         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41689         Likewise.
41690         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41691         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41692         * doc/posix-functions/confstr.texi (confstr): Likewise.
41693         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41694         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41695         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41696         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41697         * doc/posix-functions/fputws.texi (fputws): Likewise.
41698         * doc/posix-functions/fwide.texi (fwide): Likewise.
41699         * doc/posix-functions/getwc.texi (getwc): Likewise.
41700         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41701         * doc/posix-functions/putwc.texi (putwc): Likewise.
41702         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41703         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41704         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41705         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41706         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41707         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41708         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41709         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41710         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41711         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41712         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41713
41714 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41715
41716         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41717         * lib/ioctl.c: Include <sys/ioctl.h>.
41718
41719 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41720
41721         * modules/getdate-tests (Depends-on): Add progname.
41722         * tests/test-getdate.c: Use progname module, to avoid link errors
41723         on non-glibc systems.
41724
41725 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41726
41727         * modules/filenamecat-tests (Depends-on): Add progname.
41728         * modules/fstrcmp-tests (Depends-on): Likewise.
41729
41730         * tests/test-filenamecat.c: Use progname module, to avoid link
41731         errors on non-glibc systems.
41732         * tests/test-fstrcmp.c: Likewise.
41733
41734 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41735
41736         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41737         * lib/gettimeofday.c: Move extern declaration out of function.
41738
41739 2009-01-18  Bruno Haible  <bruno@clisp.org>
41740
41741         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41742         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41743         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41744
41745 2009-01-18  Bruno Haible  <bruno@clisp.org>
41746
41747         * lib/strftime.c (MEMPCPY): Remove unused macro.
41748         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41749
41750 2009-01-18  Martin Lambers  <marlam@marlam.de>
41751
41752         New module 'link'.
41753         * lib/unistd.in.h (link): New declaration.
41754         * lib/link.c: New file.
41755         * m4/link.m4: New file.
41756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41757         HAVE_LINK.
41758         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41759         * modules/link: New file.
41760         * doc/posix-functions/link.texi: Mention the new module.
41761
41762 2009-01-18  Bruno Haible  <bruno@clisp.org>
41763
41764         * tests/test-avltree_list.c (main): Call set_program_name.
41765         * tests/test-avltree_oset.c (main): Likewise.
41766         * tests/test-obstack-printf.c: Include progname.h.
41767         (main): Call set_program_name.
41768         * tests/test-quotearg.c: Include progname.h.
41769         (main): Call set_program_name.
41770         * tests/test-xmemdup0.c: Include progname.h.
41771         (main): Call set_program_name.
41772
41773 2009-01-18  Bruno Haible  <bruno@clisp.org>
41774
41775         New module 'alphasort'.
41776         * lib/dirent.in.h (alphasort): New declaration.
41777         * lib/alphasort.c: New file, from glibc with modifications.
41778         * m4/alphasort.m4: New file.
41779         * modules/alphasort: New file.
41780         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41781         HAVE_ALPHASORT.
41782         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41783         HAVE_ALPHASORT.
41784         * doc/posix-functions/alphasort.texi: Mention the new module and the
41785         portability problems.
41786
41787 2009-01-18  Bruno Haible  <bruno@clisp.org>
41788
41789         New module 'scandir'.
41790         * lib/dirent.in.h (scandir): New declaration.
41791         * lib/scandir.c: New file, from glibc with modifications.
41792         * m4/scandir.m4: New file.
41793         * modules/scandir: New file.
41794         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41795         HAVE_SCANDIR.
41796         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41797         HAVE_SCANDIR.
41798         * doc/posix-functions/scandir.texi: Mention the new module and the
41799         portability problems.
41800
41801 2009-01-17  Bruno Haible  <bruno@clisp.org>
41802
41803         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41804         Update documentation.
41805         (func_remove_suffix): Escape all dots in the suffix. Update
41806         documentation.
41807         (func_filter_filelist): Update documentation.
41808         Reported by Ralf Wildenhues.
41809
41810 2009-01-17  Bruno Haible  <bruno@clisp.org>
41811
41812         * modules/dprintf-posix-tests: New file.
41813         * tests/test-dprintf-posix.sh: New file.
41814         * tests/test-dprintf-posix.c: New file.
41815
41816         New modules 'dprintf', 'dprintf-posix'.
41817         * lib/stdio.in.h (dprintf): New declaration.
41818         * lib/dprintf.c: New file.
41819         * m4/dprintf.m4: New file.
41820         * m4/dprintf-posix.m4: New file.
41821         * modules/dprintf: New file.
41822         * modules/dprintf-posix: New file.
41823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41824         HAVE_DPRINTF, REPLACE_DPRINTF.
41825         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41826         HAVE_DPRINTF, REPLACE_DPRINTF.
41827         * doc/posix-functions/dprintf.texi: Mention the new modules.
41828
41829 2009-01-17  Bruno Haible  <bruno@clisp.org>
41830
41831         * modules/vdprintf-posix-tests: New file.
41832         * tests/test-vdprintf-posix.sh: New file.
41833         * tests/test-vdprintf-posix.c: New file.
41834
41835         New modules 'vdprintf', 'vdprintf-posix'.
41836         * lib/stdio.in.h (vdprintf): New declaration.
41837         * lib/vdprintf.c: New file.
41838         * m4/vdprintf.m4: New file.
41839         * m4/vdprintf-posix.m4: New file.
41840         * modules/vdprintf: New file.
41841         * modules/vdprintf-posix: New file.
41842         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41843         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41844         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41845         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41846         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41847
41848 2009-01-17  Bruno Haible  <bruno@clisp.org>
41849
41850         Fix replacement of fopen on mingw.
41851         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41852         mingw.
41853
41854 2009-01-17  Bruno Haible  <bruno@clisp.org>
41855
41856         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41857         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41858
41859 2009-01-17  Bruno Haible  <bruno@clisp.org>
41860
41861         Avoid test-fflush2.sh failure on mingw.
41862         * tests/test-fflush2.c: Include binary-io.h.
41863         (main): Put standard input into binary mode.
41864         * modules/fflush-tests (Depends-on): Add binary-io.
41865
41866 2009-01-17  Bruno Haible  <bruno@clisp.org>
41867
41868         * lib/wchar.in.h: In another particular situation, include only the
41869         system's <wchar.h> file.
41870         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41871         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41872         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41873
41874 2009-01-17  Bruno Haible  <bruno@clisp.org>
41875
41876         Support for stripping executables in --enable-relocatable.
41877         * build-aux/install-reloc: Expect one more argument, or an environment
41878         variable RELOC_STRIP_PROG. If set, strip the destination program and
41879         its wrapper.
41880         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41881         RELOC_STRIP_PROG.
41882         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41883         to set RELOCATABLE_STRIP.
41884         * NEWS: Mention the new Makefile requirement.
41885
41886 2009-01-17  Bruno Haible  <bruno@clisp.org>
41887
41888         * build-aux/install-reloc: Remove debugging information left over by
41889         C compiler on MacOS X.
41890
41891 2009-01-17  Bruno Haible  <bruno@clisp.org>
41892
41893         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41894         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41895         _NSGetExecutablePath.
41896
41897 2009-01-16  Jim Meyering  <meyering@redhat.com>
41898
41899         strerror: avoid warnings about discarding "const"
41900         * lib/strerror.c (rpl_strerror): Instead of returning a const
41901         string from each and every "case", use a variable, and add a single
41902         cast after the switch.
41903
41904 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41905
41906         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41907
41908 2009-01-16  Bruno Haible  <bruno@clisp.org>
41909
41910         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41911         array initializer syntax that also works in C++ mode.
41912         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41913
41914 2009-01-16  Jim Meyering  <meyering@redhat.com>
41915
41916         poll: suppress a warning
41917         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41918         to ignore "...unsigned expression < 0 is always false" warnings.
41919
41920 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41921
41922         poll: remove declarations of unused variables
41923         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41924         sockbuf and optlen.
41925
41926 2009-01-15  Bruno Haible  <bruno@clisp.org>
41927
41928         Make fflush-after-ungetc POSIX compliant on BSD systems.
41929         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41930         (clear_ungetc_buffer): Implement also for other systems.
41931         (rpl_fflush): On glibc systems, invoke
41932         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41933         clear_ungetc_buffer after fetching the stream's position, not before.
41934
41935 2009-01-15  Bruno Haible  <bruno@clisp.org>
41936
41937         Make fflush-after-ungetc POSIX compliant on glibc systems.
41938         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41939         after ungetc.
41940         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41941         (rpl_fflush): On glibc systems, simply call the system's fflush
41942         function after clearing the ungetc buffer.
41943         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41944         Instead, lseek only to the end of file, then use the system's fseeko
41945         for the rest. On glibc systems, reset the EOF indicator bit.
41946
41947 2009-01-15  Jim Meyering  <meyering@redhat.com>
41948
41949         openmp.m4: revert quote-adding change, for portability to older autoconf
41950         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41951         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41952         Simon Josefsson noticed the problem when using autoconf-2.61.
41953
41954 2009-01-15  Bruno Haible  <bruno@clisp.org>
41955
41956         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41957         * tests/test-fflush2.c (ASSERT): Always fail.
41958         (main): Add two tests for fflush() after ungetc(), taking into account
41959         the Austin Group's clarification.
41960         Suggested by Eric Blake.
41961
41962 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41963
41964         mktime.m4: remove K&R-style function prototypes
41965         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41966         for the Sun C++ compiler.
41967
41968 2009-01-14  Bruno Haible  <bruno@clisp.org>
41969
41970         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41971         while including <wchar.h>.
41972         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41973         the system's <wchar.h> file.
41974         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41975
41976 2009-01-14  Bruno Haible  <bruno@clisp.org>
41977
41978         * m4/csharp.m4: Don't mention gettext on the serial number line.
41979         * m4/csharpexec.m4: Likewise.
41980         * m4/eaccess.m4: Likewise.
41981         * m4/javaexec.m4: Likewise.
41982         * m4/sig_atomic_t.m4: Likewise.
41983         * m4/tmpdir.m4: Likewise.
41984         * m4/intldir.m4: Bump gettext version.
41985         * m4/lib-ld.m4: Likewise.
41986
41987 2009-01-14  Bruno Haible  <bruno@clisp.org>
41988
41989         * lib/progname.c (set_program_name): Add more comments.
41990         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41991
41992 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41993
41994         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41995         were sys/stat.h does not define it.
41996
41997 2009-01-14  Jim Meyering  <meyering@redhat.com>
41998
41999         many *.m4 files: improve m4 quoting
42000         99% of this change was performed by running the following commands:
42001         git ls-files | grep '\.m4$' | xargs perl -pi \
42002           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
42003           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42004           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
42005           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
42006         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
42007         The remainder were to add Copyright dates, increment serial numbers,
42008         undo some changes in comments, exclude m4/intl.m4, and add quotes
42009         around the "1" in ",1" where the unusual spacing prohibited the
42010         above regexps from doing the job.  For more details, see
42011         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
42012         * m4/acl.m4: Modified.
42013         * m4/afs.m4: Likewise.
42014         * m4/alloca.m4: Likewise.
42015         * m4/argp.m4: Likewise.
42016         * m4/argz.m4: Likewise.
42017         * m4/atexit.m4: Likewise.
42018         * m4/bison-i18n.m4: Likewise.
42019         * m4/bison.m4: Likewise.
42020         * m4/byteswap.m4: Likewise.
42021         * m4/c-stack.m4: Likewise.
42022         * m4/c-strtod.m4: Likewise.
42023         * m4/calloc.m4: Likewise.
42024         * m4/canonicalize-lgpl.m4: Likewise.
42025         * m4/chown.m4: Likewise.
42026         * m4/clock_time.m4: Likewise.
42027         * m4/codeset.m4: Likewise.
42028         * m4/copy-file.m4: Likewise.
42029         * m4/csharp.m4: Likewise.
42030         * m4/csharpcomp.m4: Likewise.
42031         * m4/csharpexec.m4: Likewise.
42032         * m4/d-ino.m4: Likewise.
42033         * m4/d-type.m4: Likewise.
42034         * m4/dirfd.m4: Likewise.
42035         * m4/double-slash-root.m4: Likewise.
42036         * m4/eaccess.m4: Likewise.
42037         * m4/eealloc.m4: Likewise.
42038         * m4/environ.m4: Likewise.
42039         * m4/errno_h.m4: Likewise.
42040         * m4/euidaccess.m4: Likewise.
42041         * m4/execute.m4: Likewise.
42042         * m4/fatal-signal.m4: Likewise.
42043         * m4/fchdir.m4: Likewise.
42044         * m4/fcntl_h.m4: Likewise.
42045         * m4/fileblocks.m4: Likewise.
42046         * m4/filenamecat.m4: Likewise.
42047         * m4/findprog.m4: Likewise.
42048         * m4/flexmember.m4: Likewise.
42049         * m4/fnmatch.m4: Likewise.
42050         * m4/fopen.m4: Likewise.
42051         * m4/fpending.m4: Likewise.
42052         * m4/fprintf-posix.m4: Likewise.
42053         * m4/free.m4: Likewise.
42054         * m4/frexp.m4: Likewise.
42055         * m4/frexpl.m4: Likewise.
42056         * m4/fsusage.m4: Likewise.
42057         * m4/ftruncate.m4: Likewise.
42058         * m4/gc-camellia.m4: Likewise.
42059         * m4/gc-random.m4: Likewise.
42060         * m4/gc.m4: Likewise.
42061         * m4/getaddrinfo.m4: Likewise.
42062         * m4/getcwd-abort-bug.m4: Likewise.
42063         * m4/getcwd-path-max.m4: Likewise.
42064         * m4/getdate.m4: Likewise.
42065         * m4/getdomainname.m4: Likewise.
42066         * m4/getgroups.m4: Likewise.
42067         * m4/gethostname.m4: Likewise.
42068         * m4/gethrxtime.m4: Likewise.
42069         * m4/getline.m4: Likewise.
42070         * m4/getloadavg.m4: Likewise.
42071         * m4/getndelim2.m4: Likewise.
42072         * m4/getpass.m4: Likewise.
42073         * m4/gettext.m4: Likewise.
42074         * m4/gettime.m4: Likewise.
42075         * m4/gettimeofday.m4: Likewise.
42076         * m4/gnulib-common.m4: Likewise.
42077         * m4/group-member.m4: Likewise.
42078         * m4/host-os.m4: Likewise.
42079         * m4/iconv.m4: Likewise.
42080         * m4/iconv_open.m4: Likewise.
42081         * m4/inet_ntop.m4: Likewise.
42082         * m4/inet_pton.m4: Likewise.
42083         * m4/inline.m4: Likewise.
42084         * m4/intldir.m4: Likewise.
42085         * m4/intlmacosx.m4: Likewise.
42086         * m4/intmax.m4: Likewise.
42087         * m4/intmax_t.m4: Likewise.
42088         * m4/inttypes.m4: Likewise.
42089         * m4/inttypes_h.m4: Likewise.
42090         * m4/inttypes-pri.m4: Likewise.
42091         * m4/isapipe.m4: Likewise.
42092         * m4/isnand.m4: Likewise.
42093         * m4/isnanf.m4: Likewise.
42094         * m4/isnanl.m4: Likewise.
42095         * m4/javacomp.m4: Likewise.
42096         * m4/javaexec.m4: Likewise.
42097         * m4/jm-winsz1.m4: Likewise.
42098         * m4/jm-winsz2.m4: Likewise.
42099         * m4/lchown.m4: Likewise.
42100         * m4/lcmessage.m4: Likewise.
42101         * m4/ldexpl.m4: Likewise.
42102         * m4/lib-ld.m4: Likewise.
42103         * m4/lib-link.m4: Likewise.
42104         * m4/libsigsegv.m4: Likewise.
42105         * m4/link-follow.m4: Likewise.
42106         * m4/localcharset.m4: Likewise.
42107         * m4/locale-fr.m4: Likewise.
42108         * m4/locale-ja.m4: Likewise.
42109         * m4/locale-tr.m4: Likewise.
42110         * m4/locale-zh.m4: Likewise.
42111         * m4/lock.m4: Likewise.
42112         * m4/longlong.m4: Likewise.
42113         * m4/ls-mntd-fs.m4: Likewise.
42114         * m4/lstat.m4: Likewise.
42115         * m4/malloc.m4: Likewise.
42116         * m4/mathl.m4: Likewise.
42117         * m4/mbrtowc.m4: Likewise.
42118         * m4/mbstate_t.m4: Likewise.
42119         * m4/mbswidth.m4: Likewise.
42120         * m4/memchr.m4: Likewise.
42121         * m4/memcmp.m4: Likewise.
42122         * m4/memcpy.m4: Likewise.
42123         * m4/memmem.m4: Likewise.
42124         * m4/memmove.m4: Likewise.
42125         * m4/mempcpy.m4: Likewise.
42126         * m4/memrchr.m4: Likewise.
42127         * m4/memset.m4: Likewise.
42128         * m4/minmax.m4: Likewise.
42129         * m4/mkdir-slash.m4: Likewise.
42130         * m4/mkdtemp.m4: Likewise.
42131         * m4/mktime.m4: Likewise.
42132         * m4/mmap-anon.m4: Likewise.
42133         * m4/mountlist.m4: Likewise.
42134         * m4/nanosleep.m4: Likewise.
42135         * m4/nls.m4: Likewise.
42136         * m4/nocrash.m4: Likewise.
42137         * m4/open.m4: Likewise.
42138         * m4/openat.m4: Likewise.
42139         * m4/openmp.m4: Likewise.
42140         * m4/pathmax.m4: Likewise.
42141         * m4/perl.m4: Likewise.
42142         * m4/physmem.m4: Likewise.
42143         * m4/pipe.m4: Likewise.
42144         * m4/po.m4: Likewise.
42145         * m4/poll.m4: Likewise.
42146         * m4/posixtm.m4: Likewise.
42147         * m4/posixver.m4: Likewise.
42148         * m4/printf-frexp.m4: Likewise.
42149         * m4/printf-frexpl.m4: Likewise.
42150         * m4/printf-posix.m4: Likewise.
42151         * m4/printf-posix-rpl.m4: Likewise.
42152         * m4/printf.m4: Likewise.
42153         * m4/progtest.m4: Likewise.
42154         * m4/putenv.m4: Likewise.
42155         * m4/readline.m4: Likewise.
42156         * m4/readlink.m4: Likewise.
42157         * m4/readutmp.m4: Likewise.
42158         * m4/realloc.m4: Likewise.
42159         * m4/regex.m4: Likewise.
42160         * m4/relocatable.m4: Likewise.
42161         * m4/relocatable-lib.m4: Likewise.
42162         * m4/rename-dest-slash.m4: Likewise.
42163         * m4/rename.m4: Likewise.
42164         * m4/rmdir-errno.m4: Likewise.
42165         * m4/rmdir.m4: Likewise.
42166         * m4/roundf.m4: Likewise.
42167         * m4/roundl.m4: Likewise.
42168         * m4/rpmatch.m4: Likewise.
42169         * m4/save-cwd.m4: Likewise.
42170         * m4/selinux-selinux-h.m4: Likewise.
42171         * m4/setenv.m4: Likewise.
42172         * m4/settime.m4: Likewise.
42173         * m4/sig2str.m4: Likewise.
42174         * m4/sig_atomic_t.m4: Likewise.
42175         * m4/signalblocking.m4: Likewise.
42176         * m4/signbit.m4: Likewise.
42177         * m4/sigpipe.m4: Likewise.
42178         * m4/sockets.m4: Likewise.
42179         * m4/sockpfaf.m4: Likewise.
42180         * m4/st_dm_mode.m4: Likewise.
42181         * m4/stat-time.m4: Likewise.
42182         * m4/stdbool.m4: Likewise.
42183         * m4/stdint.m4: Likewise.
42184         * m4/stdint_h.m4: Likewise.
42185         * m4/stpcpy.m4: Likewise.
42186         * m4/stpncpy.m4: Likewise.
42187         * m4/strcase.m4: Likewise.
42188         * m4/strchrnul.m4: Likewise.
42189         * m4/strcspn.m4: Likewise.
42190         * m4/strdup.m4: Likewise.
42191         * m4/strftime.m4: Likewise.
42192         * m4/strndup.m4: Likewise.
42193         * m4/strnlen.m4: Likewise.
42194         * m4/strpbrk.m4: Likewise.
42195         * m4/strptime.m4: Likewise.
42196         * m4/strsep.m4: Likewise.
42197         * m4/strtod.m4: Likewise.
42198         * m4/strtoimax.m4: Likewise.
42199         * m4/strtok_r.m4: Likewise.
42200         * m4/strtol.m4: Likewise.
42201         * m4/strtoll.m4: Likewise.
42202         * m4/strtoul.m4: Likewise.
42203         * m4/strtoull.m4: Likewise.
42204         * m4/strtoumax.m4: Likewise.
42205         * m4/strverscmp.m4: Likewise.
42206         * m4/threadlib.m4: Likewise.
42207         * m4/timegm.m4: Likewise.
42208         * m4/tm_gmtoff.m4: Likewise.
42209         * m4/tmpdir.m4: Likewise.
42210         * m4/tmpfile.m4: Likewise.
42211         * m4/tzset.m4: Likewise.
42212         * m4/uintmax_t.m4: Likewise.
42213         * m4/unlinkdir.m4: Likewise.
42214         * m4/unlocked-io.m4: Likewise.
42215         * m4/uptime.m4: Likewise.
42216         * m4/userspec.m4: Likewise.
42217         * m4/utimbuf.m4: Likewise.
42218         * m4/utime.m4: Likewise.
42219         * m4/utimes-null.m4: Likewise.
42220         * m4/utimes.m4: Likewise.
42221         * m4/vararrays.m4: Likewise.
42222         * m4/vasnprintf.m4: Likewise.
42223         * m4/vfprintf-posix.m4: Likewise.
42224         * m4/vprintf-posix.m4: Likewise.
42225         * m4/wait-process.m4: Likewise.
42226         * m4/wchar_t.m4: Likewise.
42227         * m4/wint_t.m4: Likewise.
42228         * m4/write-any-file.m4: Likewise.
42229         * m4/yield.m4: Likewise.
42230
42231 2009-01-13  Bruno Haible  <bruno@clisp.org>
42232
42233         Avoid test-copy-file.sh failures when ACL support insufficient.
42234         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42235         TESTS_ENVIRONMENT.
42236         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42237         Reported by Jim Meyering.
42238
42239 2009-01-13  Bruno Haible  <bruno@clisp.org>
42240
42241         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42242         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42243         * modules/unistdio/u8-printf-parse (Files): Likewise.
42244         * modules/unistdio/u32-printf-parse (Files): Likewise.
42245         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42246
42247 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42248
42249         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42250         and m4/inttypes_h.m4 too.
42251
42252 2009-01-12  Eric Blake  <ebb9@byu.net>
42253
42254         tests: IRIX 6.2 cc can't compile -0.0 into .data
42255         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42256         rather than at compile-time.
42257         * tests/test-floorl.c (minus_zero): Likewise.
42258         * tests/test-frexpl.c (minus_zero): Likewise.
42259         * tests/test-isnan.c (minus_zerol): Likewise.
42260         * tests/test-isnanl.h (minus_zero): Likewise.
42261         * tests/test-ldexpl.c (minus_zero): Likewise.
42262         * tests/test-roundl.c (minus_zero): Likewise.
42263         * tests/test-signbit.c (minus_zerol): Likewise.
42264         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42265         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42266         * tests/test-truncl.c (minus_zero): Likewise.
42267         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42268         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42269         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42270
42271 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42272
42273         regex: fix glibc bug 9697
42274         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42275         handling.
42276
42277 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42278
42279         regex: fix glibc bug 697
42280         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42281         being NULL also if there are no backreferences.
42282
42283 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42284
42285         regex: merge glibc changes
42286         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42287         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42288         re_string_skip_chars, re_string_reconstruct): Likewise.
42289         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42290
42291 2009-01-07  Jim Meyering  <meyering@redhat.com>
42292
42293         poll: filter through cppi
42294         * lib/poll.c: Indent cpp directives to reflect nesting.
42295
42296 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42297
42298         poll: don't return uninitialized
42299         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42300
42301 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42302
42303         avoid compile failure on AIX 6.1
42304         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42305         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42306
42307 2009-01-04  Jim Meyering  <meyering@redhat.com>
42308
42309         remove duplicate inclusion of <stdio.h>
42310         * tests/test-fprintf-posix.c: Likewise.
42311         * tests/test-printf-posix.c: Likewise.
42312         * tests/test-snprintf-posix.c: Likewise.
42313         * tests/test-sprintf-posix.c: Likewise.
42314         * tests/test-vasprintf-posix.c: Likewise.
42315         * tests/test-vfprintf-posix.c: Likewise.
42316         * tests/test-vprintf-posix.c: Likewise.
42317         * tests/test-vsnprintf-posix.c: Likewise.
42318         * tests/test-vsprintf-posix.c: Likewise.
42319
42320 2009-01-03  Jim Meyering  <meyering@redhat.com>
42321
42322         gnulib-tool: fix sed-based filtering
42323         * gnulib-tool (func_filter_filelist): Remove extra backslash
42324         in sed_fff_filter definition.
42325
42326 2009-01-02  Jim Meyering  <meyering@redhat.com>
42327
42328         strftime: avoid compilation failure on Solaris 2.6
42329         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42330         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42331         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42332         be available.  Reported by Tom G. Christensen.  Details in
42333         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42334
42335 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42336             Bruno Haible  <bruno@clisp.org>
42337
42338         Speed up gnulib-tool by doing more string processing through shell
42339         built-ins.
42340         * gnulib-tool (fast_func_append): New variable.
42341         (func_remove_prefix, func_remove_suffix): New functions.
42342         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42343         (func_filter_filelist): New function.
42344         (func_get_dependencies): Use func_remove_suffix instead of sed.
42345         (func_get_automake_snippet): Use func_filter_filelist instead of a
42346         subshell and sed invocation.
42347
42348 2009-01-01  Bruno Haible  <bruno@clisp.org>
42349
42350         Fix a security bug.
42351         * gnulib-tool (func_import, import, update): Don't allow the characters
42352         '"', '$', '`', '\' in macro arguments that become part of commands that
42353         are evaluated.
42354
42355 2009-01-01  Bruno Haible  <bruno@clisp.org>
42356
42357         * gnulib-tool (func_reset_sigpipe): Add more comments.
42358
42359 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42360
42361         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42362         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42363         already know the answer.
42364
42365 2009-01-01  Jim Meyering  <meyering@redhat.com>
42366
42367         * lib/version-etc.c (version_etc_va): Update copyright year.
42368
42369 2008-12-30  Bruno Haible  <bruno@clisp.org>
42370
42371         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42372         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42373         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42374
42375 2008-12-29  Eric Blake  <ebb9@byu.net>
42376
42377         multiarch: avoid autoconf AC_REQUIRE bug
42378         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42379         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42380         2.63 and older.
42381         Reported by Bruno Haible, and analyzed in
42382         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42383
42384 2008-12-29  Bruno Haible  <bruno@clisp.org>
42385
42386         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42387         files in subdirectories correctly.
42388         Reported by Ralf Wildenhues.
42389
42390 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42391
42392         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42393         rather than 'join FILE -', for Solaris join.
42394
42395 2008-12-29  Bruno Haible  <bruno@clisp.org>
42396
42397         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42398         quoting.
42399         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42400         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42401         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42402         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42403         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42404         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42405         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42406         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42407         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42408         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42409         * m4/nls.m4 (AM_NLS): Likewise.
42410         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42411         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42412         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42413         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42414         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42415         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42416         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42417         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42418         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42419         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42420         * m4/xsize.m4 (gl_XSIZE): Likewise.
42421         Suggested by Jim Meyering.
42422
42423 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42424
42425         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42426         * lib/parse-duration.c: use a switch instead of cascading if's.
42427
42428 2008-12-29  Eric Blake  <ebb9@byu.net>
42429
42430         wchar.h: supply WEOF on Irix 5.3
42431         * lib/wchar.in.h (wint_t): Also supply WEOF.
42432         * lib/wctype.in.h (wint_t): Likewise.
42433         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42434         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42435         Reported by Tom G. Christensen.
42436
42437 2008-12-26  Bruno Haible  <bruno@clisp.org>
42438
42439         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42440         i486, i586, i686.
42441
42442 2008-12-26  Bruno Haible  <bruno@clisp.org>
42443
42444         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42445
42446 2008-12-26  Bruno Haible  <bruno@clisp.org>
42447
42448         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42449         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42450         not __STDC_CONSTANT_MACROS.
42451         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42452
42453 2008-12-25  Bruno Haible  <bruno@clisp.org>
42454
42455         Add support for universal builds to vasnprintf.
42456         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42457         universal builds, guess no.
42458         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42459         * modules/vasprintf-posix (Depends-on): Likewise.
42460         * modules/fprintf-posix (Depends-on): Likewise.
42461         * modules/vfprintf-posix (Depends-on): Likewise.
42462         * modules/snprintf-posix (Depends-on): Likewise.
42463         * modules/vsnprintf-posix (Depends-on): Likewise.
42464         * modules/sprintf-posix (Depends-on): Likewise.
42465         * modules/vsprintf-posix (Depends-on): Likewise.
42466         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42467         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42468         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42469         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42470         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42471         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42472         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42473
42474         Add support for universal builds to <inttypes.h>.
42475         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42476         _SCNu64_PREFIX): In Apple
42477         universal builds, define directly, using _LP64.
42478         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42479         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42480         * modules/inttypes (Depends-on): Add multiarch.
42481         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42482
42483         Add support for universal builds to <stdint.h>.
42484         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42485         universal builds, define directly, using _LP64.
42486         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42487         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42488         and size_t.
42489         * modules/stdint (Depends-on): Add multiarch.
42490         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42491
42492         New module 'multiarch'.
42493         * modules/multiarch: New file.
42494         * m4/multiarch.m4: New file.
42495
42496 2008-12-25  Bruno Haible  <bruno@clisp.org>
42497
42498         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42499
42500 2008-12-25  Bruno Haible  <bruno@clisp.org>
42501
42502         * modules/btowc (License): Relicense under LGPLv2+.
42503         * modules/mbsinit (License): Likewise.
42504         * modules/mbrtowc (License): Likewise.
42505         * modules/wcrtomb (License): Likewise.
42506         * modules/streq (License): Likewise.
42507         Reported by David Lutterkort <lutter@redhat.com>.
42508
42509 2008-12-23  Bruno Haible  <bruno@clisp.org>
42510
42511         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42512
42513 2008-12-23  Bruno Haible  <bruno@clisp.org>
42514
42515         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42516         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42517         GETADDRINFO_LIB, not in LIBS.
42518         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42519         * modules/canon-host (Link): Likewise.
42520         * NEWS: Mention the change.
42521         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42522         GETADDRINFO_LIB.
42523
42524 2008-12-22  Bruno Haible  <bruno@clisp.org>
42525
42526         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42527         * doc/posix-functions/iswalpha_l.texi: Likewise.
42528         * doc/posix-functions/iswblank_l.texi: Likewise.
42529         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42530         * doc/posix-functions/iswctype_l.texi: Likewise.
42531         * doc/posix-functions/iswdigit_l.texi: Likewise.
42532         * doc/posix-functions/iswgraph_l.texi: Likewise.
42533         * doc/posix-functions/iswlower_l.texi: Likewise.
42534         * doc/posix-functions/iswprint_l.texi: Likewise.
42535         * doc/posix-functions/iswpunct_l.texi: Likewise.
42536         * doc/posix-functions/iswspace_l.texi: Likewise.
42537         * doc/posix-functions/iswupper_l.texi: Likewise.
42538         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42539         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42540         * doc/posix-functions/open_wmemstream.texi: Likewise.
42541         * doc/posix-functions/swscanf.texi: Likewise.
42542         * doc/posix-functions/towctrans_l.texi: Likewise.
42543         * doc/posix-functions/towlower.texi: Likewise.
42544         * doc/posix-functions/towlower_l.texi: Likewise.
42545         * doc/posix-functions/towupper.texi: Likewise.
42546         * doc/posix-functions/towupper_l.texi: Likewise.
42547         * doc/posix-functions/vfwprintf.texi: Likewise.
42548         * doc/posix-functions/vfwscanf.texi: Likewise.
42549         * doc/posix-functions/vswscanf.texi: Likewise.
42550         * doc/posix-functions/vwprintf.texi: Likewise.
42551         * doc/posix-functions/vwscanf.texi: Likewise.
42552         * doc/posix-functions/wcpcpy.texi: Likewise.
42553         * doc/posix-functions/wcpncpy.texi: Likewise.
42554         * doc/posix-functions/wcscasecmp.texi: Likewise.
42555         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42556         * doc/posix-functions/wcscoll_l.texi: Likewise.
42557         * doc/posix-functions/wcsdup.texi: Likewise.
42558         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42559         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42560         * doc/posix-functions/wcsnlen.texi: Likewise.
42561         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42562         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42563         * doc/posix-functions/wctrans_l.texi: Likewise.
42564         * doc/posix-functions/wctype_l.texi: Likewise.
42565         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42566         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42567         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42568         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42569         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42570         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42571         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42572         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42573         * doc/glibc-functions/wcschrnul.texi: Likewise.
42574         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42575         * doc/glibc-functions/wcstod_l.texi: Likewise.
42576         * doc/glibc-functions/wcstof_l.texi: Likewise.
42577         * doc/glibc-functions/wcstol_l.texi: Likewise.
42578         * doc/glibc-functions/wcstold_l.texi: Likewise.
42579         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42580         * doc/glibc-functions/wcstoq.texi: Likewise.
42581         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42582         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42583         * doc/glibc-functions/wcstouq.texi: Likewise.
42584         * doc/glibc-functions/wmempcpy.texi: Likewise.
42585
42586 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42587             Eric Blake  <ebb9@byu.net>
42588             Paolo Bonzini  <bonzini@gnu.org>
42589             Bruno Haible  <bruno@clisp.org>
42590
42591         Make c-stack work on Haiku.
42592         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42593         (c_stack_action): Use SA_ONSTACK flag.
42594
42595 2008-12-22  Bruno Haible  <bruno@clisp.org>
42596
42597         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42598
42599 2008-12-22  Bruno Haible  <bruno@clisp.org>
42600
42601         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42602         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42603         being overridden.
42604         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42605         New macros.
42606         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42607         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42608         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42609         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42610
42611 2008-12-22  Bruno Haible  <bruno@clisp.org>
42612
42613         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42614         from test code.
42615
42616 2008-12-22  Eric Blake  <ebb9@byu.net>
42617
42618         Avoid gcc warnings on cygwin.
42619         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42620         Avoid unused variable.
42621         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42622         Likewise.
42623
42624 2008-12-22  Bruno Haible  <bruno@clisp.org>
42625
42626         Remove HAVE_MBRTOWC conditionals.
42627         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42628         (mbscasecmp): Assume mbrtowc function.
42629         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42630         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42631         * lib/mbschr.c: Include mbuiter.h unconditionally.
42632         (mbschr): Assume mbrtowc function.
42633         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42634         (mbscspn): Assume mbrtowc function.
42635         * lib/mbslen.c: Include mbuiter.h unconditionally.
42636         (mbslen): Assume mbrtowc function.
42637         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42638         (mbsncasecmp): Assume mbrtowc function.
42639         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42640         (mbsnlen): Assume mbrtowc function.
42641         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42642         (mbspbrk): Assume mbrtowc function.
42643         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42644         (mbspcasecmp): Assume mbrtowc function.
42645         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42646         (mbsrchr): Assume mbrtowc function.
42647         * lib/mbssep.c: Include mbuiter.h unconditionally.
42648         (mbssep): Assume mbrtowc function.
42649         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42650         (mbsspn): Assume mbrtowc function.
42651         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42652         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42653         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42654         (mbstok_r): Assume mbrtowc function.
42655         * lib/propername.c: Include mbuiter.h unconditionally.
42656         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42657         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42658         (trim2): Assume mbrtowc function.
42659         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42660         (mbsnwidth): Assume mbrtowc function.
42661         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42662         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42663         fallback definitions.
42664         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42665
42666 2008-12-22  Bruno Haible  <bruno@clisp.org>
42667
42668         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42669
42670 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42671
42672         * modules/regex: Request emulations for the mb*/wc* functions we need.
42673         * m4/regex.m4: Don't look for those functions here.
42674         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42675
42676 2008-12-22  Bruno Haible  <bruno@clisp.org>
42677
42678         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42679
42680 2008-12-21  Bruno Haible  <bruno@clisp.org>
42681
42682         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42683         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42684         (Include): Remove conditionalization.
42685         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42686         (Include): Remove conditionalization.
42687         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42688         (Include): Remove conditionalization.
42689         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42690         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42691         * NEWS: Mention the change.
42692         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42693         via Sergey Poznyakoff <gray@gnu.org.ua>.
42694
42695 2008-12-21  Bruno Haible  <bruno@clisp.org>
42696
42697         * MODULES.html.sh (Extended multibyte and wide character utilities
42698         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42699         wcrtomb, wcsrtombs.
42700         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42701         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42702         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42703         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42704
42705 2008-12-21  Bruno Haible  <bruno@clisp.org>
42706
42707         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42708
42709 2008-12-21  Bruno Haible  <bruno@clisp.org>
42710
42711         * modules/wcsnrtombs-tests: New file.
42712         * tests/test-wcsnrtombs1.sh: New file.
42713         * tests/test-wcsnrtombs2.sh: New file.
42714         * tests/test-wcsnrtombs3.sh: New file.
42715         * tests/test-wcsnrtombs4.sh: New file.
42716         * tests/test-wcsnrtombs.c: New file.
42717
42718         New module 'wcsnrtombs'.
42719         * lib/wchar.in.h (wcsnrtombs): New declaration.
42720         * lib/wcsnrtombs.c: New file.
42721         * lib/wcsrtombs-state.c: New file.
42722         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42723         (internal_state): Remove variable.
42724         * m4/wcsnrtombs.m4: New file.
42725         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42726         compilation units.
42727         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42728         HAVE_WCSNRTOMBS.
42729         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42730         HAVE_WCSNRTOMBS.
42731         * modules/wcsnrtombs: New file.
42732         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42733         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42734
42735 2008-12-21  Bruno Haible  <bruno@clisp.org>
42736
42737         * modules/wcsrtombs-tests: New file.
42738         * tests/test-wcsrtombs1.sh: New file.
42739         * tests/test-wcsrtombs2.sh: New file.
42740         * tests/test-wcsrtombs3.sh: New file.
42741         * tests/test-wcsrtombs4.sh: New file.
42742         * tests/test-wcsrtombs.c: New file.
42743
42744         New module 'wcsrtombs'.
42745         * lib/wchar.in.h (wcsrtombs): New declaration.
42746         * lib/wcsrtombs.c: New file.
42747         * m4/wcsrtombs.m4: New file.
42748         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42749         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42750         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42751         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42752         * modules/wcsrtombs: New file.
42753         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42754         bugs.
42755
42756 2008-12-21  Bruno Haible  <bruno@clisp.org>
42757
42758         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42759         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42760         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42761         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42762         if not correct.
42763         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42764         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42765         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42766         m4/locale-zh.m4, m4/codeset.m4.
42767         * doc/posix-functions/wcrtomb.texi: Document the bug.
42768
42769 2008-12-21  Bruno Haible  <bruno@clisp.org>
42770
42771         Work around a btowc() bug on IRIX 6.5.
42772         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42773         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42774         REPLACE_WTOBC if not.
42775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42776         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42777         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42778
42779 2008-12-21  Bruno Haible  <bruno@clisp.org>
42780
42781         * modules/wcrtomb-tests: New file.
42782         * tests/test-wcrtomb.sh: New file.
42783         * tests/test-wcrtomb.c: New file.
42784
42785         New module 'wcrtomb'.
42786         * lib/wchar.in.h (wcrtomb): New declaration.
42787         * lib/wcrtomb.c: New file.
42788         * m4/wcrtomb.m4: New file.
42789         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42790         HAVE_WCRTOMB.
42791         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42792         HAVE_WCRTOMB.
42793         * modules/wcrtomb: New file.
42794         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42795
42796 2008-12-21  Bruno Haible  <bruno@clisp.org>
42797
42798         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42799         * modules/mbsrtowcs (Files): Likewise.
42800         * modules/wctob (Files): Likewise.
42801         * modules/c-strcase-tests (Files): Likewise.
42802         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42803         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42804         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42805         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42806         * modules/vasnprintf-posix-tests (Files): Likewise.
42807
42808 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42809
42810         gitlog-to-changelog: pass all command-line arguments to git-log
42811         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42812         it is sometimes convenient to filter the commits in various ways.
42813         gitlog-to-changelog only allows --since to specify a start date,
42814         but git-log itself supports many other filtering mechanisms.
42815         At the moment, I want to filter by branch name.  Rather than
42816         adding a --branch option to gitlog-to-changelog, it seems more
42817         flexible to simply pass all options directly to git-log and let
42818         git do the work.  Notice that this effectively makes --since a
42819         redundant option for gitlog-to-changelog, but removing it would
42820         require current usage to change since calls would then require
42821         an additional '--'.
42822
42823 2008-12-21  Bruno Haible  <bruno@clisp.org>
42824
42825         * modules/mbsnrtowcs-tests: New file.
42826         * tests/test-mbsnrtowcs1.sh: New file.
42827         * tests/test-mbsnrtowcs2.sh: New file.
42828         * tests/test-mbsnrtowcs3.sh: New file.
42829         * tests/test-mbsnrtowcs4.sh: New file.
42830         * tests/test-mbsnrtowcs.c: New file.
42831
42832         New module 'mbsnrtowcs'.
42833         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42834         * lib/mbsnrtowcs.c: New file.
42835         * lib/mbsrtowcs-state.c: New file.
42836         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42837         (internal_state): Remove variable.
42838         * m4/mbsnrtowcs.m4: New file.
42839         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42840         compilation units.
42841         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42842         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42843         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42844         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42845         * modules/mbsnrtowcs: New file.
42846         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42847         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42848         portability problem.
42849
42850 2008-12-21  Bruno Haible  <bruno@clisp.org>
42851
42852         Work around mbsrtowcs bug.
42853         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42854         (gl_FUNC_MBSRTOWCS): Invoke it.
42855         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42856         m4/locale-zh.m4.
42857         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42858
42859 2008-12-21  Bruno Haible  <bruno@clisp.org>
42860
42861         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42862
42863 2008-12-21  Bruno Haible  <bruno@clisp.org>
42864
42865         Update doc for AIX.
42866         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42867         16-bit wchar_t type.
42868         * doc/posix-functions/btowc.texi: Likewise.
42869         * doc/posix-functions/fgetwc.texi: Likewise.
42870         * doc/posix-functions/fgetws.texi: Likewise.
42871         * doc/posix-functions/fputwc.texi: Likewise.
42872         * doc/posix-functions/fputws.texi: Likewise.
42873         * doc/posix-functions/fwide.texi: Likewise.
42874         * doc/posix-functions/fwprintf.texi: Likewise.
42875         * doc/posix-functions/fwscanf.texi: Likewise.
42876         * doc/posix-functions/getwchar.texi: Likewise.
42877         * doc/posix-functions/getwc.texi: Likewise.
42878         * doc/posix-functions/iswalnum.texi: Likewise.
42879         * doc/posix-functions/iswalpha.texi: Likewise.
42880         * doc/posix-functions/iswblank.texi: Likewise.
42881         * doc/posix-functions/iswcntrl.texi: Likewise.
42882         * doc/posix-functions/iswctype.texi: Likewise.
42883         * doc/posix-functions/iswdigit.texi: Likewise.
42884         * doc/posix-functions/iswgraph.texi: Likewise.
42885         * doc/posix-functions/iswlower.texi: Likewise.
42886         * doc/posix-functions/iswprint.texi: Likewise.
42887         * doc/posix-functions/iswpunct.texi: Likewise.
42888         * doc/posix-functions/iswspace.texi: Likewise.
42889         * doc/posix-functions/iswupper.texi: Likewise.
42890         * doc/posix-functions/iswxdigit.texi: Likewise.
42891         * doc/posix-functions/mbrtowc.texi: Likewise.
42892         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42893         * doc/posix-functions/mbstowcs.texi: Likewise.
42894         * doc/posix-functions/mbtowc.texi: Likewise.
42895         * doc/posix-functions/putwchar.texi: Likewise.
42896         * doc/posix-functions/putwc.texi: Likewise.
42897         * doc/posix-functions/swprintf.texi: Likewise.
42898         * doc/posix-functions/tolower.texi: Likewise.
42899         * doc/posix-functions/toupper.texi: Likewise.
42900         * doc/posix-functions/towctrans.texi: Likewise.
42901         * doc/posix-functions/ungetwc.texi: Likewise.
42902         * doc/posix-functions/vswprintf.texi: Likewise.
42903         * doc/posix-functions/wcrtomb.texi: Likewise.
42904         * doc/posix-functions/wcscat.texi: Likewise.
42905         * doc/posix-functions/wcschr.texi: Likewise.
42906         * doc/posix-functions/wcscmp.texi: Likewise.
42907         * doc/posix-functions/wcscoll.texi: Likewise.
42908         * doc/posix-functions/wcscpy.texi: Likewise.
42909         * doc/posix-functions/wcscspn.texi: Likewise.
42910         * doc/posix-functions/wcsftime.texi: Likewise.
42911         * doc/posix-functions/wcslen.texi: Likewise.
42912         * doc/posix-functions/wcsncat.texi: Likewise.
42913         * doc/posix-functions/wcsncmp.texi: Likewise.
42914         * doc/posix-functions/wcsncpy.texi: Likewise.
42915         * doc/posix-functions/wcspbrk.texi: Likewise.
42916         * doc/posix-functions/wcsrchr.texi: Likewise.
42917         * doc/posix-functions/wcsrtombs.texi: Likewise.
42918         * doc/posix-functions/wcsspn.texi: Likewise.
42919         * doc/posix-functions/wcsstr.texi: Likewise.
42920         * doc/posix-functions/wcstod.texi: Likewise.
42921         * doc/posix-functions/wcstof.texi: Likewise.
42922         * doc/posix-functions/wcstoimax.texi: Likewise.
42923         * doc/posix-functions/wcstok.texi: Likewise.
42924         * doc/posix-functions/wcstold.texi: Likewise.
42925         * doc/posix-functions/wcstoll.texi: Likewise.
42926         * doc/posix-functions/wcstol.texi: Likewise.
42927         * doc/posix-functions/wcstombs.texi: Likewise.
42928         * doc/posix-functions/wcstoull.texi: Likewise.
42929         * doc/posix-functions/wcstoul.texi: Likewise.
42930         * doc/posix-functions/wcstoumax.texi: Likewise.
42931         * doc/posix-functions/wcswidth.texi: Likewise.
42932         * doc/posix-functions/wcsxfrm.texi: Likewise.
42933         * doc/posix-functions/wctob.texi: Likewise.
42934         * doc/posix-functions/wctomb.texi: Likewise.
42935         * doc/posix-functions/wctrans.texi: Likewise.
42936         * doc/posix-functions/wctype.texi: Likewise.
42937         * doc/posix-functions/wcwidth.texi: Likewise.
42938         * doc/posix-functions/wmemchr.texi: Likewise.
42939         * doc/posix-functions/wmemcmp.texi: Likewise.
42940         * doc/posix-functions/wmemcpy.texi: Likewise.
42941         * doc/posix-functions/wmemmove.texi: Likewise.
42942         * doc/posix-functions/wmemset.texi: Likewise.
42943         * doc/posix-functions/wprintf.texi: Likewise.
42944         * doc/posix-functions/wscanf.texi: Likewise.
42945
42946 2008-12-21  Bruno Haible  <bruno@clisp.org>
42947
42948         Update doc for HP-UX 11.11.
42949         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42950         in HP-UX version 11.00, not in all versions of HP-UX 11.
42951         * doc/posix-functions/fwide.texi: Likewise.
42952         * doc/posix-functions/fwprintf.texi: Likewise.
42953         * doc/posix-functions/fwscanf.texi: Likewise.
42954         * doc/posix-functions/inet_ntop.texi: Likewise.
42955         * doc/posix-functions/inet_pton.texi: Likewise.
42956         * doc/posix-functions/mbrlen.texi: Likewise.
42957         * doc/posix-functions/mbrtowc.texi: Likewise.
42958         * doc/posix-functions/mbsinit.texi: Likewise.
42959         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42960         * doc/posix-functions/swprintf.texi: Likewise.
42961         * doc/posix-functions/swscanf.texi: Likewise.
42962         * doc/posix-functions/towctrans.texi: Likewise.
42963         * doc/posix-functions/vfwprintf.texi: Likewise.
42964         * doc/posix-functions/vswprintf.texi: Likewise.
42965         * doc/posix-functions/vwprintf.texi: Likewise.
42966         * doc/posix-functions/wcrtomb.texi: Likewise.
42967         * doc/posix-functions/wcsrtombs.texi: Likewise.
42968         * doc/posix-functions/wcsstr.texi: Likewise.
42969         * doc/posix-functions/wctob.texi: Likewise.
42970         * doc/posix-functions/wctrans.texi: Likewise.
42971         * doc/posix-functions/wmemchr.texi: Likewise.
42972         * doc/posix-functions/wmemcmp.texi: Likewise.
42973         * doc/posix-functions/wmemcpy.texi: Likewise.
42974         * doc/posix-functions/wmemmove.texi: Likewise.
42975         * doc/posix-functions/wmemset.texi: Likewise.
42976         * doc/posix-functions/wprintf.texi: Likewise.
42977         * doc/posix-functions/wscanf.texi: Likewise.
42978
42979 2008-12-21  Bruno Haible  <bruno@clisp.org>
42980
42981         Work around a portability problem.
42982         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42983         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42984
42985 2008-12-20  Bruno Haible  <bruno@clisp.org>
42986
42987         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42988         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42989         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42990         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42991         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42992
42993         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42994         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42995         set.
42996         (GNULIB_defined_mbstate_t): New macro.
42997         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42998         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42999         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
43000         reuses the system's mbrtowc function but works around the bugs.
43001         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
43002         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
43003         macros.
43004         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
43005         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
43006         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
43007         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
43008         REPLACE_MBSINIT if mbsinit needs to be overridden.
43009         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
43010         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43011         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
43012         REPLACE_MBSINIT, REPLACE_MBRTOWC.
43013         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
43014         m4/locale-zh.m4.
43015         (Depends): Add mbsinit.
43016         * modules/mbsinit (Depends): Add mbrtowc.
43017         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
43018
43019 2008-12-20  Bruno Haible  <bruno@clisp.org>
43020
43021         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
43022         so that there are no conversion errors on AIX.
43023         * tests/test-mbsrtowcs.c (main): LIkewise.
43024
43025 2008-12-20  Bruno Haible  <bruno@clisp.org>
43026
43027         Work around wctob bug on Solaris <= 9.
43028         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
43029         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
43030         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
43031         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
43032         * modules/wctob (Files): Add m4/locale-fr.m4.
43033         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
43034
43035 2008-12-20  Bruno Haible  <bruno@clisp.org>
43036
43037         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
43038         /dev/null.
43039         * tests/test-select-in.sh: Likewise.
43040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43041
43042 2008-12-20  Bruno Haible  <bruno@clisp.org>
43043
43044         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
43045         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
43046         Cygwin 1.5.x.
43047
43048 2008-12-20  Bruno Haible  <bruno@clisp.org>
43049
43050         Ensure mbstate_t is defined on HP-UX 11.11.
43051         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
43052         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
43053         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
43054         AC_USE_SYSTEM_EXTENSIONS.
43055         * modules/fnmatch (Depends-on): Add extensions.
43056         * modules/mbrlen (Depends-on): Likewise.
43057         * modules/mbrtowc (Depends-on): Likewise.
43058         * modules/mbsinit (Depends-on): Likewise.
43059         * modules/mbsrtowcs (Depends-on): Likewise.
43060         * modules/mbswidth (Depends-on): Likewise.
43061         * modules/quotearg (Depends-on): Likewise.
43062         * modules/strftime (Depends-on): Likewise.
43063
43064 2008-12-20  Bruno Haible  <bruno@clisp.org>
43065
43066         Ensure wctob is declared on IRIX 6.5.
43067         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
43068         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
43069         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
43070         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
43071         of HAVE_WCTOB.
43072         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
43073         HAVE_WCTOB.
43074         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
43075
43076 2008-12-19  Bruno Haible  <bruno@clisp.org>
43077
43078         * modules/mbsrtowcs-tests: New file.
43079         * tests/test-mbsrtowcs1.sh: New file.
43080         * tests/test-mbsrtowcs2.sh: New file.
43081         * tests/test-mbsrtowcs3.sh: New file.
43082         * tests/test-mbsrtowcs4.sh: New file.
43083         * tests/test-mbsrtowcs.c: New file.
43084
43085         New module 'mbsrtowcs'.
43086         * lib/wchar.in.h (mbsrtowcs): New declaration.
43087         * lib/mbsrtowcs.c: New file.
43088         * m4/mbsrtowcs.m4: New file.
43089         * modules/mbsrtowcs: New file.
43090         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
43091         HAVE_MBSRTOWCS.
43092         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
43093         HAVE_MBSRTOWCS.
43094         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
43095
43096 2008-12-19  Bruno Haible  <bruno@clisp.org>
43097
43098         New module 'mbrlen'.
43099         * lib/wchar.in.h (mbrlen): New declaration.
43100         * lib/mbrlen.c: New file.
43101         * m4/mbrlen.m4: New file.
43102         * modules/mbrlen: New file.
43103         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
43104         HAVE_MBRLEN.
43105         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
43106         HAVE_MBRLEN.
43107         * doc/posix-functions/mbrlen.texi: Document the new module.
43108
43109 2008-12-19  Bruno Haible  <bruno@clisp.org>
43110
43111         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
43112         * modules/mbrtowc (Depends-on): Add verify.
43113         Suggested by Paul Eggert.
43114
43115 2008-12-18  Bruno Haible  <bruno@clisp.org>
43116
43117         * modules/mbsinit-tests: New file.
43118         * tests/test-mbsinit.sh: New file.
43119         * tests/test-mbsinit.c: New file.
43120
43121 2008-12-18  Bruno Haible  <bruno@clisp.org>
43122
43123         * modules/mbrtowc-tests: New file.
43124         * tests/test-mbrtowc1.sh: New file.
43125         * tests/test-mbrtowc2.sh: New file.
43126         * tests/test-mbrtowc3.sh: New file.
43127         * tests/test-mbrtowc4.sh: New file.
43128         * tests/test-mbrtowc.c: New file.
43129
43130         New module 'mbrtowc'.
43131         * lib/wchar.in.h (mbstate_t): Override when the system does not have
43132         mbsinit and mbrtowc.
43133         (mbrtowc): New declaration.
43134         * lib/mbrtowc.c: New file.
43135         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
43136         * modules/mbrtowc: New file.
43137         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
43138         HAVE_MBRTOWC.
43139         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
43140         HAVE_MBRTOWC.
43141         * doc/posix-functions/mbrtowc.texi: Document the new module.
43142
43143 2008-12-18  Bruno Haible  <bruno@clisp.org>
43144
43145         New module 'wctob'.
43146         * lib/wchar.in.h (wctob): New declaration.
43147         * lib/wctob.c: New file.
43148         * m4/wctob.m4: New file.
43149         * modules/wctob: New file.
43150         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
43151         HAVE_WCTOB.
43152         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
43153         * doc/posix-functions/wctob.texi: Document the new module.
43154
43155 2008-12-18  Bruno Haible  <bruno@clisp.org>
43156
43157         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
43158         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
43159
43160 2008-12-18  Simon Josefsson  <simon@josefsson.org>
43161
43162         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
43163         G. Christensen" <tgc@jupiterrise.com>.
43164
43165         * lib/flock.c: Need to include errno.h.  Reported by "Tom
43166         G. Christensen" <tgc@jupiterrise.com>.
43167
43168         * lib/flock.c: Need to include string.h.  Reported by "Tom
43169         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43170         <ebb9@byu.net>.
43171
43172 2008-12-18  Bruno Haible  <bruno@clisp.org>
43173
43174         * m4/locale-ja.m4: New file, from GNU gettext.
43175
43176 2008-12-17  Bruno Haible  <bruno@clisp.org>
43177
43178         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43179         Suggested by Eric Blake.
43180
43181 2008-12-17  Bruno Haible  <bruno@clisp.org>
43182
43183         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43184
43185 2008-12-17  Bruno Haible  <bruno@clisp.org>
43186
43187         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43188         * modules/mbsinit (Depends-on): Add verify.
43189         Suggested by Paul Eggert.
43190
43191 2008-12-17  Bruno Haible  <bruno@clisp.org>
43192
43193         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43194         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43195         gl_FUNC_MBRTOWC.
43196         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43197         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43198         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43199         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43200         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43201         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43202         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43203         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43204         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43205         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43206         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43207         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43208         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43209         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43210         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43211         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43212         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43213         * modules/trim (configure.ac): Likewise.
43214
43215 2008-12-17  Bruno Haible  <bruno@clisp.org>
43216
43217         * modules/btowc-tests: New file.
43218         * tests/test-btowc1.sh: New file.
43219         * tests/test-btowc2.sh: New file.
43220         * tests/test-btowc.c: New file.
43221
43222         New module 'btowc'.
43223         * lib/wchar.in.h (btowc): New declaration.
43224         * lib/btowc.c: New file.
43225         * m4/btowc.m4: New file.
43226         * modules/btowc: New file.
43227         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43228         HAVE_BTOWC.
43229         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43230         * doc/posix-functions/btowc.texi: Document the new module.
43231
43232 2008-12-17  Bruno Haible  <bruno@clisp.org>
43233
43234         New module 'mbsinit'.
43235         * lib/wchar.in.h (mbsinit): New declaration.
43236         * lib/mbsinit.c: New file.
43237         * m4/mbsinit.m4: New file.
43238         * modules/mbsinit: New file.
43239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43240         HAVE_MBSINIT.
43241         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43242         HAVE_MBSINIT.
43243         * doc/posix-functions/mbsinit.texi: Document the new module.
43244
43245 2008-12-16  Bruno Haible  <bruno@clisp.org>
43246
43247         * lib/unistd.in.h: Add comment.
43248         * tests/test-environ.c: Don't include <stdlib.h>.
43249
43250 2008-12-16  Bruno Haible  <bruno@clisp.org>
43251
43252         * lib/parse-duration.h (parse_duration): Document return value
43253         convention.
43254         * lib/parse-duration.c: Include specification header first. Add
43255         comments.
43256         (_): Remove macro.
43257         (parse_year_month_day, parse_hour_minute_second): Move side effects
43258         outside of strchr call.
43259         (parse_non_iso8601): Move side effects outside of isspace call.
43260         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43261         call.
43262
43263 2008-12-16  Bruno Haible  <bruno@clisp.org>
43264
43265         * tests/test-parse-duration.sh: Produce no output when the test
43266         succeeds.
43267
43268 2008-12-16  Bruno Haible  <bruno@clisp.org>
43269
43270         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43271         expressions.
43272
43273 2008-12-15  Bruno Haible  <bruno@clisp.org>
43274
43275         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43276         * doc/glibc-functions/flistxattr.texi: Likewise.
43277         * doc/glibc-functions/fopencookie.texi: Likewise.
43278         * doc/glibc-functions/fremovexattr.texi: Likewise.
43279         * doc/glibc-functions/fsetxattr.texi: Likewise.
43280         * doc/glibc-functions/getxattr.texi: Likewise.
43281         * doc/glibc-functions/lgetxattr.texi: Likewise.
43282         * doc/glibc-functions/listxattr.texi: Likewise.
43283         * doc/glibc-functions/llistxattr.texi: Likewise.
43284         * doc/glibc-functions/lremovexattr.texi: Likewise.
43285         * doc/glibc-functions/lsetxattr.texi: Likewise.
43286         * doc/glibc-functions/removexattr.texi: Likewise.
43287         * doc/glibc-functions/setxattr.texi: Likewise.
43288         * doc/posix-functions/open_memstream.texi: Likewise.
43289
43290 2008-12-15  Eric Blake  <ebb9@byu.net>
43291
43292         Update doc for cygwin 1.7.
43293         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43294         functions.
43295         * doc/posix-functions/fchmodat.texi: Likewise.
43296         * doc/posix-functions/fchownat.texi: Likewise.
43297         * doc/posix-functions/fdopendir.texi: Likewise.
43298         * doc/posix-functions/fmemopen.texi: Likewise.
43299         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43300         * doc/posix-functions/fstatat.texi: Likewise.
43301         * doc/posix-functions/futimens.texi: Likewise.
43302         * doc/posix-functions/gai_strerror.texi: Likewise.
43303         * doc/posix-functions/getaddrinfo.texi: Likewise.
43304         * doc/posix-functions/getnameinfo.texi: Likewise.
43305         * doc/posix-functions/if_freenameindex.texi: Likewise.
43306         * doc/posix-functions/if_indextoname.texi: Likewise.
43307         * doc/posix-functions/if_nameindex.texi: Likewise.
43308         * doc/posix-functions/if_nametoindex.texi: Likewise.
43309         * doc/posix-functions/insque.texi: Likewise.
43310         * doc/posix-functions/linkat.texi: Likewise.
43311         * doc/posix-functions/llrint.texi: Likewise.
43312         * doc/posix-functions/llrintf.texi: Likewise.
43313         * doc/posix-functions/llrintl.texi: Likewise.
43314         * doc/posix-functions/lockf.texi: Likewise.
43315         * doc/posix-functions/lrintl.texi: Likewise.
43316         * doc/posix-functions/mkdirat.texi: Likewise.
43317         * doc/posix-functions/mkfifoat.texi: Likewise.
43318         * doc/posix-functions/mknodat.texi: Likewise.
43319         * doc/posix-functions/mq_close.texi: Likewise.
43320         * doc/posix-functions/mq_getattr.texi: Likewise.
43321         * doc/posix-functions/mq_notify.texi: Likewise.
43322         * doc/posix-functions/mq_open.texi: Likewise.
43323         * doc/posix-functions/mq_receive.texi: Likewise.
43324         * doc/posix-functions/mq_send.texi: Likewise.
43325         * doc/posix-functions/mq_setattr.texi: Likewise.
43326         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43327         * doc/posix-functions/mq_timedsend.texi: Likewise.
43328         * doc/posix-functions/mq_unlink.texi: Likewise.
43329         * doc/posix-functions/open_memstream.texi: Likewise.
43330         * doc/posix-functions/openat.texi: Likewise.
43331         * doc/posix-functions/posix_fadvise.texi: Likewise.
43332         * doc/posix-functions/posix_fallocate.texi: Likewise.
43333         * doc/posix-functions/posix_madvise.texi: Likewise.
43334         * doc/posix-functions/posix_memalign.texi: Likewise.
43335         * doc/posix-functions/posix_openpt.texi: Likewise.
43336         * doc/posix-functions/readlinkat.texi: Likewise.
43337         * doc/posix-functions/remque.texi: Likewise.
43338         * doc/posix-functions/renameat.texi: Likewise.
43339         * doc/posix-functions/rintl.texi: Likewise.
43340         * doc/posix-functions/sem_unlink.texi: Likewise.
43341         * doc/posix-functions/shm_open.texi: Likewise.
43342         * doc/posix-functions/shm_unlink.texi: Likewise.
43343         * doc/posix-functions/signgam.texi: Likewise.
43344         * doc/posix-functions/sigset.texi: Likewise.
43345         * doc/posix-functions/stpcpy.texi: Likewise.
43346         * doc/posix-functions/stpncpy.texi: Likewise.
43347         * doc/posix-functions/strerror.texi: Likewise.
43348         * doc/posix-functions/strtod.texi: Likewise.
43349         * doc/posix-functions/symlinkat.texi: Likewise.
43350         * doc/posix-functions/unlinkat.texi: Likewise.
43351         * doc/posix-functions/utimensat.texi: Likewise.
43352         * doc/glibc-functions/bindresvport.texi: Likewise.
43353         * doc/glibc-functions/dn_expand.texi: Likewise.
43354         * doc/glibc-functions/exp10.texi: Likewise.
43355         * doc/glibc-functions/exp10f.texi: Likewise.
43356         * doc/glibc-functions/fgetxattr.texi: Likewise.
43357         * doc/glibc-functions/flistxattr.texi: Likewise.
43358         * doc/glibc-functions/fopencookie.texi: Likewise.
43359         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43360         * doc/glibc-functions/fremovexattr.texi: Likewise.
43361         * doc/glibc-functions/fsetxattr.texi: Likewise.
43362         * doc/glibc-functions/getifaddrs.texi: Likewise.
43363         * doc/glibc-functions/getxattr.texi: Likewise.
43364         * doc/glibc-functions/lgetxattr.texi: Likewise.
43365         * doc/glibc-functions/listxattr.texi: Likewise.
43366         * doc/glibc-functions/llistxattr.texi: Likewise.
43367         * doc/glibc-functions/lremovexattr.texi: Likewise.
43368         * doc/glibc-functions/lsetxattr.texi: Likewise.
43369         * doc/glibc-functions/pow10.texi: Likewise.
43370         * doc/glibc-functions/pow10f.texi: Likewise.
43371         * doc/glibc-functions/rcmd_af.texi: Likewise.
43372         * doc/glibc-functions/removexattr.texi: Likewise.
43373         * doc/glibc-functions/res_init.texi: Likewise.
43374         * doc/glibc-functions/res_mkquery.texi: Likewise.
43375         * doc/glibc-functions/res_query.texi: Likewise.
43376         * doc/glibc-functions/res_querydomain.texi: Likewise.
43377         * doc/glibc-functions/res_send.texi: Likewise.
43378         * doc/glibc-functions/rresvport_af.texi: Likewise.
43379         * doc/glibc-functions/setxattr.texi: Likewise.
43380         * doc/glibc-functions/strcasestr.texi: Likewise.
43381
43382 2008-12-15  Bruno Haible  <bruno@clisp.org>
43383
43384         Fix compilation error on OSF/1 4.0.
43385         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43386         <sys/time.h>, simply delegate to the system header.
43387         Reported by Daniel Richard G. <oss@teragram.com>.
43388
43389 2008-12-15  Bruno Haible  <bruno@clisp.org>
43390
43391         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43392         * doc/posix-functions/fchmodat.texi: Likewise.
43393         * doc/posix-functions/fchownat.texi: Likewise.
43394         * doc/posix-functions/fdopendir.texi: Likewise.
43395         * doc/posix-functions/fstatat.texi: Likewise.
43396         * doc/posix-functions/mkdirat.texi: Likewise.
43397         * doc/posix-functions/unlinkat.texi: Likewise.
43398
43399 2008-12-14  Bruno Haible  <bruno@clisp.org>
43400
43401         Update doc for POSIX:2008.
43402         * doc/posix-functions/faccessat.texi: New file.
43403         * doc/posix-functions/fchmodat.texi: New file.
43404         * doc/posix-functions/fchownat.texi: New file.
43405         * doc/posix-functions/fdopendir.texi: New file.
43406         * doc/posix-functions/fstatat.texi: New file.
43407         * doc/posix-functions/futimens.texi: New file.
43408         * doc/posix-functions/linkat.texi: New file.
43409         * doc/posix-functions/mkdirat.texi: New file.
43410         * doc/posix-functions/mkfifoat.texi: New file.
43411         * doc/posix-functions/mknodat.texi: New file.
43412         * doc/posix-functions/open_wmemstream.texi: New file.
43413         * doc/posix-functions/openat.texi: New file.
43414         * doc/posix-functions/psiginfo.texi: New file.
43415         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43416         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43417         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43418         * doc/posix-functions/readlinkat.texi: New file.
43419         * doc/posix-functions/renameat.texi: New file.
43420         * doc/posix-functions/strerror_l.texi: New file.
43421         * doc/posix-functions/symlinkat.texi: New file.
43422         * doc/posix-functions/unlinkat.texi: New file.
43423         * doc/posix-functions/utimensat.texi: New file.
43424         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43425
43426 2008-12-14  Bruno Haible  <bruno@clisp.org>
43427
43428         Update doc for POSIX:2008.
43429         * doc/posix-functions/alphasort.texi: Renamed from
43430         doc/glibc-functions/alphasort.texi.
43431         * doc/posix-functions/dirfd.texi: Renamed from
43432         doc/glibc-functions/dirfd.texi.
43433         * doc/posix-functions/dprintf.texi: Renamed from
43434         doc/glibc-functions/dprintf.texi.
43435         * doc/posix-functions/duplocale.texi: Renamed from
43436         doc/glibc-functions/duplocale.texi.
43437         * doc/posix-functions/fexecve.texi: Renamed from
43438         doc/glibc-functions/fexecve.texi.
43439         * doc/posix-functions/fmemopen.texi: Renamed from
43440         doc/glibc-functions/fmemopen.texi.
43441         * doc/posix-functions/freelocale.texi: Renamed from
43442         doc/glibc-functions/freelocale.texi.
43443         * doc/posix-functions/getdate_err.texi: Renamed from
43444         doc/glibc-functions/getdate_err.texi.
43445         * doc/posix-functions/isalnum_l.texi: Renamed from
43446         doc/glibc-functions/isalnum_l.texi.
43447         * doc/posix-functions/isalpha_l.texi: Renamed from
43448         doc/glibc-functions/isalpha_l.texi.
43449         * doc/posix-functions/isblank_l.texi: Renamed from
43450         doc/glibc-functions/isblank_l.texi.
43451         * doc/posix-functions/iscntrl_l.texi: Renamed from
43452         doc/glibc-functions/iscntrl_l.texi.
43453         * doc/posix-functions/isdigit_l.texi: Renamed from
43454         doc/glibc-functions/isdigit_l.texi.
43455         * doc/posix-functions/isgraph_l.texi: Renamed from
43456         doc/glibc-functions/isgraph_l.texi.
43457         * doc/posix-functions/islower_l.texi: Renamed from
43458         doc/glibc-functions/islower_l.texi.
43459         * doc/posix-functions/isprint_l.texi: Renamed from
43460         doc/glibc-functions/isprint_l.texi.
43461         * doc/posix-functions/ispunct_l.texi: Renamed from
43462         doc/glibc-functions/ispunct_l.texi.
43463         * doc/posix-functions/isspace_l.texi: Renamed from
43464         doc/glibc-functions/isspace_l.texi.
43465         * doc/posix-functions/isupper_l.texi: Renamed from
43466         doc/glibc-functions/isupper_l.texi.
43467         * doc/posix-functions/iswalnum_l.texi: Renamed from
43468         doc/glibc-functions/iswalnum_l.texi.
43469         * doc/posix-functions/iswalpha_l.texi: Renamed from
43470         doc/glibc-functions/iswalpha_l.texi.
43471         * doc/posix-functions/iswblank_l.texi: Renamed from
43472         doc/glibc-functions/iswblank_l.texi.
43473         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43474         doc/glibc-functions/iswcntrl_l.texi.
43475         * doc/posix-functions/iswctype_l.texi: Renamed from
43476         doc/glibc-functions/iswctype_l.texi.
43477         * doc/posix-functions/iswdigit_l.texi: Renamed from
43478         doc/glibc-functions/iswdigit_l.texi.
43479         * doc/posix-functions/iswgraph_l.texi: Renamed from
43480         doc/glibc-functions/iswgraph_l.texi.
43481         * doc/posix-functions/iswlower_l.texi: Renamed from
43482         doc/glibc-functions/iswlower_l.texi.
43483         * doc/posix-functions/iswprint_l.texi: Renamed from
43484         doc/glibc-functions/iswprint_l.texi.
43485         * doc/posix-functions/iswpunct_l.texi: Renamed from
43486         doc/glibc-functions/iswpunct_l.texi.
43487         * doc/posix-functions/iswspace_l.texi: Renamed from
43488         doc/glibc-functions/iswspace_l.texi.
43489         * doc/posix-functions/iswupper_l.texi: Renamed from
43490         doc/glibc-functions/iswupper_l.texi.
43491         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43492         doc/glibc-functions/iswxdigit_l.texi.
43493         * doc/posix-functions/isxdigit_l.texi: Renamed from
43494         doc/glibc-functions/isxdigit_l.texi.
43495         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43496         doc/glibc-functions/mbsnrtowcs.texi.
43497         * doc/posix-functions/mkdtemp.texi: Renamed from
43498         doc/glibc-functions/mkdtemp.texi.
43499         * doc/posix-functions/newlocale.texi: Renamed from
43500         doc/glibc-functions/newlocale.texi.
43501         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43502         doc/glibc-functions/nl_langinfo_l.texi.
43503         * doc/posix-functions/open_memstream.texi: Renamed from
43504         doc/glibc-functions/open_memstream.texi.
43505         * doc/posix-functions/opterr.texi: Renamed from
43506         doc/glibc-functions/opterr.texi.
43507         * doc/posix-functions/optind.texi: Renamed from
43508         doc/glibc-functions/optind.texi.
43509         * doc/posix-functions/optopt.texi: Renamed from
43510         doc/glibc-functions/optopt.texi.
43511         * doc/posix-functions/psignal.texi: Renamed from
43512         doc/glibc-functions/psignal.texi.
43513         * doc/posix-functions/scandir.texi: Renamed from
43514         doc/glibc-functions/scandir.texi.
43515         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43516         doc/glibc-functions/sched_get_priority_min.texi.
43517         * doc/posix-functions/signgam.texi: Renamed from
43518         doc/glibc-functions/signgam.texi.
43519         * doc/posix-functions/stpcpy.texi: Renamed from
43520         doc/glibc-functions/stpcpy.texi.
43521         * doc/posix-functions/stpncpy.texi: Renamed from
43522         doc/glibc-functions/stpncpy.texi.
43523         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43524         doc/glibc-functions/strcasecmp_l.texi.
43525         * doc/posix-functions/strcoll_l.texi: Renamed from
43526         doc/glibc-functions/strcoll_l.texi.
43527         * doc/posix-functions/strfmon_l.texi: Renamed from
43528         doc/glibc-functions/strfmon_l.texi.
43529         * doc/posix-functions/strftime_l.texi: Renamed from
43530         doc/glibc-functions/strftime_l.texi.
43531         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43532         doc/glibc-functions/strncasecmp_l.texi.
43533         * doc/posix-functions/strndup.texi: Renamed from
43534         doc/glibc-functions/strndup.texi.
43535         * doc/posix-functions/strnlen.texi: Renamed from
43536         doc/glibc-functions/strnlen.texi.
43537         * doc/posix-functions/strsignal.texi: Renamed from
43538         doc/glibc-functions/strsignal.texi.
43539         * doc/posix-functions/strxfrm_l.texi: Renamed from
43540         doc/glibc-functions/strxfrm_l.texi.
43541         * doc/posix-functions/timer_gettime.texi: Renamed from
43542         doc/glibc-functions/timer_gettime.texi.
43543         * doc/posix-functions/tolower_l.texi: Renamed from
43544         doc/glibc-functions/tolower_l.texi.
43545         * doc/posix-functions/toupper_l.texi: Renamed from
43546         doc/glibc-functions/toupper_l.texi.
43547         * doc/posix-functions/towctrans_l.texi: Renamed from
43548         doc/glibc-functions/towctrans_l.texi.
43549         * doc/posix-functions/towlower_l.texi: Renamed from
43550         doc/glibc-functions/towlower_l.texi.
43551         * doc/posix-functions/towupper_l.texi: Renamed from
43552         doc/glibc-functions/towupper_l.texi.
43553         * doc/posix-functions/uselocale.texi: Renamed from
43554         doc/glibc-functions/uselocale.texi.
43555         * doc/posix-functions/vdprintf.texi: Renamed from
43556         doc/glibc-functions/vdprintf.texi.
43557         * doc/posix-functions/wcpcpy.texi:
43558         Renamed from doc/glibc-functions/wcpcpy.texi.
43559         * doc/posix-functions/wcpncpy.texi: Renamed from
43560         doc/glibc-functions/wcpncpy.texi.
43561         * doc/posix-functions/wcscasecmp.texi: Renamed from
43562         doc/glibc-functions/wcscasecmp.texi.
43563         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43564         doc/glibc-functions/wcscasecmp_l.texi.
43565         * doc/posix-functions/wcscoll_l.texi: Renamed from
43566         doc/glibc-functions/wcscoll_l.texi.
43567         * doc/posix-functions/wcsdup.texi: Renamed from
43568         doc/glibc-functions/wcsdup.texi.
43569         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43570         doc/glibc-functions/wcsncasecmp.texi.
43571         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43572         doc/glibc-functions/wcsncasecmp_l.texi.
43573         * doc/posix-functions/wcsnlen.texi: Renamed from
43574         doc/glibc-functions/wcsnlen.texi.
43575         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43576         doc/glibc-functions/wcsnrtombs.texi.
43577         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43578         doc/glibc-functions/wcsxfrm_l.texi.
43579         * doc/posix-functions/wctrans_l.texi: Renamed from
43580         doc/glibc-functions/wctrans_l.texi.
43581         * doc/posix-functions/wctype_l.texi: Renamed from
43582         doc/glibc-functions/wctype_l.texi.
43583         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43584         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43585         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43586         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43587         these subsections.
43588         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43589         Remove sections.
43590
43591 2008-12-14  Bruno Haible  <bruno@clisp.org>
43592
43593         Update doc for POSIX:2008.
43594         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43595
43596 2008-12-14  Bruno Haible  <bruno@clisp.org>
43597
43598         Update doc for POSIX:2008.
43599         * doc/pastposix-functions/bcmp.texi: Renamed from
43600         doc/posix-functions/bcmp.texi.
43601         * doc/pastposix-functions/bcopy.texi: Renamed from
43602         doc/posix-functions/bcopy.texi.
43603         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43604         doc/posix-functions/bsd_signal.texi.
43605         * doc/pastposix-functions/bzero.texi: Renamed from
43606         doc/posix-functions/bzero.texi.
43607         * doc/pastposix-functions/ecvt.texi: Renamed from
43608         doc/posix-functions/ecvt.texi.
43609         * doc/pastposix-functions/fcvt.texi: Renamed from
43610         doc/posix-functions/fcvt.texi.
43611         * doc/pastposix-functions/ftime.texi: Renamed from
43612         doc/posix-functions/ftime.texi.
43613         * doc/pastposix-functions/gcvt.texi: Renamed from
43614         doc/posix-functions/gcvt.texi.
43615         * doc/pastposix-functions/getcontext.texi: Renamed from
43616         doc/posix-functions/getcontext.texi.
43617         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43618         doc/posix-functions/gethostbyaddr.texi.
43619         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43620         doc/posix-functions/gethostbyname.texi.
43621         * doc/pastposix-functions/getwd.texi: Renamed from
43622         doc/posix-functions/getwd.texi.
43623         * doc/pastposix-functions/h_errno.texi: Renamed from
43624         doc/posix-functions/h_errno.texi.
43625         * doc/pastposix-functions/index.texi: Renamed from
43626         doc/posix-functions/index.texi.
43627         * doc/pastposix-functions/makecontext.texi: Renamed from
43628         doc/posix-functions/makecontext.texi.
43629         * doc/pastposix-functions/mktemp.texi: Renamed from
43630         doc/posix-functions/mktemp.texi.
43631         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43632         doc/posix-functions/pthread_attr_getstackaddr.texi.
43633         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43634         doc/posix-functions/pthread_attr_setstackaddr.texi.
43635         * doc/pastposix-functions/rindex.texi: Renamed from
43636         doc/posix-functions/rindex.texi.
43637         * doc/pastposix-functions/scalb.texi: Renamed from
43638         doc/posix-functions/scalb.texi.
43639         * doc/pastposix-functions/setcontext.texi: Renamed from
43640         doc/posix-functions/setcontext.texi.
43641         * doc/pastposix-functions/swapcontext.texi: Renamed from
43642         doc/posix-functions/swapcontext.texi.
43643         * doc/pastposix-functions/ualarm.texi: Renamed from
43644         doc/posix-functions/ualarm.texi.
43645         * doc/pastposix-functions/usleep.texi: Renamed from
43646         doc/posix-functions/usleep.texi.
43647         * doc/pastposix-functions/vfork.texi: Renamed from
43648         doc/posix-functions/vfork.texi.
43649         * doc/pastposix-functions/wcswcs.texi: Renamed from
43650         doc/posix-functions/wcswcs.texi.
43651         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43652         (Function Substitutes): Update.
43653
43654 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43655
43656         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43657         m4/strerror.m4.
43658
43659 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43660             Bruno Haible  <bruno@clisp.org>
43661
43662         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43663
43664 2008-12-13  Bruno Haible  <bruno@clisp.org>
43665
43666         * modules/strtoull (Depends-on): Remove unistd.
43667
43668 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43669
43670         * modules/strtoull (Depends-on): Add stdlib.
43671
43672 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43673
43674         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43675
43676 2008-12-10  Jim Meyering  <meyering@redhat.com>
43677
43678         gl_ASSERT: don't say assertions are disabled when they're not
43679         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43680         "checking whether to enable assertions... no", when they are in
43681         fact enabled.  This is solely a bug in the output of configure.
43682         In spite of saying "no", NDEBUG was not defined in that case.
43683         Also, as noted by Eric Blake, leave assertions enabled upon
43684         --enable-assert=INVALID.
43685
43686 2008-12-10  Bruno Haible  <bruno@clisp.org>
43687
43688         Change MODULES.html to refer to POSIX:2008 where possible.
43689         * MODULES.html.sh (POSIX2008_URL): New variable.
43690         (posix_headers): Remove sys/timeb, ucontext.
43691         (posix2001_headers): New variable.
43692         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43693         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43694         index, makecontext, mktemp, pthread_attr_getstackaddr,
43695         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43696         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43697         (posix2001_functions): New variable.
43698         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43699         otherwise.
43700
43701 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43702
43703         add missing include to parse-duration.c
43704         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43705         * modules/parse-duration (Depends-on): Add xalloc.
43706
43707         fix sed script reading maint.mk
43708         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43709         (syntax-check-rules): Use it.
43710
43711 2008-12-09  Bruno Haible  <bruno@clisp.org>
43712
43713         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43714         MacOS X 10.4/PowerPC.
43715         Reported by Simon Josefsson.
43716
43717 2008-12-08  Jim Meyering  <meyering@redhat.com>
43718
43719         work around mingw's lack of some S_IF definitions
43720         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43721         Reported by Simon Josefsson.
43722
43723 2008-12-08  Bruno Haible  <bruno@clisp.org>
43724
43725         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43726         applied to variables. Needed on MacOS X 10.4/PowerPC.
43727         Reported by Simon Josefsson.
43728
43729 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43730         and Eric Blake  <ebb9@byu.net>
43731
43732         assert: honor --enable-assert
43733         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43734         order to honor --enable-assert, rather than treating it as a
43735         synonym for --disable-assert.
43736
43737 2008-12-08  Jim Meyering  <meyering@redhat.com>
43738
43739         * lib/posixtm.c: Remove now-useless declaration of mktime.
43740
43741         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43742
43743 2008-12-07  Bruno Haible  <bruno@clisp.org>
43744
43745         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43746         test_once): Mark functions as static.
43747         * tests/test-tls.c (test_tls): Likewise.
43748
43749 2008-12-07  Bruno Haible  <bruno@clisp.org>
43750
43751         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43752         iconv_register_autodetect.
43753
43754 2008-12-07  Jim Meyering  <meyering@redhat.com>
43755
43756         posixtm.c: avoid a warning
43757         * lib/posixtm.c (posixtime): Don't initialize tm0.
43758         It's no longer needed to placate gcc4's -Wuninitialized,
43759         and the attempt to placate would elicit a new warning.
43760
43761         unicodeio.c: mark unused parameters
43762         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43763         (fallback_failure_callback): Likewise.
43764
43765 2008-12-07  Bruno Haible  <bruno@clisp.org>
43766
43767         * gnulib-tool (func_create_testdir): When building the tests
43768         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43769         Reported by Simon Josefsson.
43770
43771 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43772
43773         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43774
43775 2008-12-06  Bruno Haible  <bruno@clisp.org>
43776
43777         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43778         Suggested by Eric Blake.
43779
43780 2008-12-06  Bruno Haible  <bruno@clisp.org>
43781
43782         Fix a c-stack test failure on MacOS X.
43783         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43784         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43785         handler for SIGBUS as well.
43786         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43787         install a signal handler for SIGBUS as well.
43788         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43789
43790 2008-12-06  Bruno Haible  <bruno@clisp.org>
43791
43792         Advocacy documentation.
43793         * doc/gnulib-intro.texi (Benefits): New section.
43794         * doc/gnulib.texi: Update.
43795
43796 2008-12-06  Bruno Haible  <bruno@clisp.org>
43797
43798         Document the 'manywarnings' module.
43799         * doc/manywarnings.texi: New file.
43800         * doc/gnulib.texi: Include it.
43801
43802 2008-12-05  Eric Blake  <ebb9@byu.net>
43803
43804         tests: silence some gcc warnings
43805         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43806         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43807         type mismatches.
43808
43809 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43810             Bruno Haible  <bruno@clisp.org>
43811
43812         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43813
43814 2008-11-29  Jim Meyering  <meyering@redhat.com>
43815
43816         unicodeio.c: mark unused parameters
43817         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43818         (fallback_failure_callback): Likewise.
43819
43820         fts: fix a thinko
43821         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43822         (set_stat_type): Return S_IF*-valued "type" directly.
43823         Prompted by James Youngman's spotting a related bug.
43824         Confirmed by further testing through find.
43825
43826         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43827         * lib/fts.c (D_TYPE): Define.
43828         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43829         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43830         (s_ifmt_shift_bits): New function.
43831         (set_stat_type): New function.
43832         (fts_build): When not calling fts_stat, call set_stat_type
43833         to propagate dirent.d_type info to fts_read caller.
43834         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43835         fts_statp->st_mode type information may be valid.
43836
43837 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43838
43839         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43840         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43841         <sds@gnu.org>.
43842
43843 2008-11-20  Bruno Haible  <bruno@clisp.org>
43844
43845         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43846         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43847         INCLUDE_NEXT.
43848         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43849         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43850         * modules/math (Makefile.am): Substitute
43851         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43852         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43853
43854 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43855             Bruno Haible  <bruno@clisp.org>
43856
43857         * lib/stdint.in.h: Define all type macros so that their expansion is
43858         a single typedef'ed token. Fixes a compilation failure in Boost which
43859         does "using ::int8_t;".
43860
43861 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43862
43863         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43864         gl_MANYWARN_ALL_GCC.
43865         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43866         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43867         * modules/manywarnings: New file.
43868         * MODULES.html.sh: Mention manywarnings module.
43869
43870 2008-11-18  Bruno Haible  <bruno@clisp.org>
43871
43872         * doc/gnulib-tool.texi (Unit tests): New section.
43873
43874 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43875
43876         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43877         paths like 'lib/po/foo.po'.
43878
43879 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43880
43881         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43882         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43883
43884 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43885
43886         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43887         parameter works.
43888
43889 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43890
43891         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43892
43893 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43894
43895         * modules/parse-duration-tests: New file.
43896         * tests/test-parse-duration.sh: New file.
43897         * tests/test-parse-duration.c: New file.
43898
43899         New module 'parse-duration'.
43900         * lib/parse-duration.h: New file.
43901         * lib/parse-duration.c: New file.
43902         * modules/parse-duration: New file.
43903
43904 2008-11-17  Bruno Haible  <bruno@clisp.org>
43905
43906         * tests/test-select-out.sh: Comment out the first pipe test.
43907         Reported by Simon Josefsson.
43908
43909 2008-11-17  Bruno Haible  <bruno@clisp.org>
43910
43911         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43912         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43913         gl_HOSTENT.
43914
43915 2008-11-17  Bruno Haible  <bruno@clisp.org>
43916
43917         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43918         -lnetwork and -lnet. Needed for Haiku and BeOS.
43919
43920 2008-11-16  Bruno Haible  <bruno@clisp.org>
43921
43922         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43923
43924 2008-11-16  Bruno Haible  <bruno@clisp.org>
43925
43926         Avoid test failure on Haiku.
43927         * tests/test-fsync.c: Include <errno.h>.
43928         (main): Don't require that fsync (0) fails.
43929
43930 2008-11-15  Bruno Haible  <bruno@clisp.org>
43931
43932         New module 'hostent'.
43933         * modules/hostent: New file.
43934         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43935
43936 2008-11-15  Bruno Haible  <bruno@clisp.org>
43937
43938         New module 'servent'.
43939         * modules/servent: New file.
43940         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43941
43942 2008-11-15  Bruno Haible  <bruno@clisp.org>
43943
43944         Avoid generating same test program with two different rules.
43945         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43946         test-frexp to test-frexp-nolibm.
43947         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43948         test-frexpl to test-frexpl-nolibm.
43949
43950 2008-11-15  Bruno Haible  <bruno@clisp.org>
43951
43952         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43953         $(FREXPL_LIBM).
43954
43955 2008-11-15  Bruno Haible  <bruno@clisp.org>
43956
43957         * lib/netdb.in.h: Activate the definitions also when the system's
43958         <netdb.h> has 'struct addrinfo'.
43959         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43960         EAI_OVERFLOW or AI_NUMERICSERV.
43961         * doc/posix-headers/netdb.texi: Document the problem.
43962
43963 2008-11-15  Bruno Haible  <bruno@clisp.org>
43964
43965         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43966
43967         Make the 'sched' module work on platforms where <sched.h> exists but
43968         is incomplete (such as Haiku).
43969         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43970         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43971         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43972         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43973         HAVE_STRUCT_SCHED_PARAM.
43974         * modules/sched (Depends-on): Add include_next.
43975         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43976         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43977         * doc/posix-headers/sched.texi: Document the issue.
43978
43979 2008-11-13  Jim Meyering  <meyering@redhat.com>
43980
43981         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43982         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43983         test would fail due to the difference in the Report bugs to ...
43984         line.  The expected address is empty, "<>", while the actual
43985         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43986
43987 2008-11-12  Bruno Haible  <bruno@clisp.org>
43988
43989         lstat: don't compile lstat.c on systems lacking lstat
43990         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43991         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43992         Reported by Daniel P. Berrange via Jim Meyering.
43993
43994 2008-11-12  Jim Meyering  <meyering@redhat.com>
43995
43996         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43997
43998 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43999
44000         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
44001         instead.
44002
44003 2008-11-12  Bruno Haible  <bruno@clisp.org>
44004
44005         * lib/unicodeio.c: Include unistr.h.
44006         (utf8_wctomb): Remove function.
44007         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
44008
44009 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44010
44011         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
44012         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
44013         <bruno@clisp.org>.
44014         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
44015
44016 2008-11-12  Simon Josefsson  <simon@josefsson.org>
44017
44018         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
44019         * doc/gnulib.texi: Add section for warnings.
44020
44021 2008-11-11  Bruno Haible  <bruno@clisp.org>
44022
44023         * lib/sockets.h: Add a comment.
44024
44025 2008-11-11  Karl Berry  <karl@gnu.org>
44026
44027         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
44028
44029 2008-11-11  Eric Blake  <ebb9@byu.net>
44030
44031         fdl.texi: avoid git symlinks
44032         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
44033
44034 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44035
44036         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
44037
44038 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44039
44040         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
44041         (gl_WARN_ADD): Substitute $2 if literal.
44042
44043 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44044
44045         * m4/warning.m4: Remove.
44046
44047 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
44048
44049         * m4/warnings.m4: Almost complete rewrite. :-)
44050
44051 2008-11-10  Simon Josefsson  <simon@josefsson.org>
44052
44053         * modules/warnings: New module.
44054         * m4/warnings.m4: New file.
44055         * MODULES.html.sh: Mention warnings module.
44056         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
44057         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44058
44059 2008-11-10  Eric Blake  <ebb9@byu.net>
44060
44061         fdl.texi: make a symlink to the latest version
44062         * doc/standards.texi: Revert today's earlier change.
44063         * doc/fdl-1.2.texi: Rename from old fdl.texi...
44064         * doc/fdl.texi: ...and replace this with a symlink to the newer
44065         fdl-1.3.texi.
44066
44067 2008-11-10  Bruno Haible  <bruno@clisp.org>
44068
44069         * tests/test-select-fd.c (main): Accept the result file name as fourth
44070         argument.
44071         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
44072         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
44073
44074 2008-11-10  Bruno Haible  <bruno@clisp.org>
44075
44076         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
44077         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
44078         as autoconf-substituted macros.
44079         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
44080         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
44081         gl_NETDB_H_DEFAULTS. Set these variables.
44082         * modules/netdb (Makefile.am): Substitute these variables.
44083
44084 2008-11-10  Eric Blake  <ebb9@byu.net>
44085
44086         standards.texi: include correct file for FDL 1.3
44087         * doc/standards.texi (GNU Free Documentation License): Change
44088         include file to pull in FDL 1.3, not 1.2.
44089
44090         fdl.texi: revert accidental change to license
44091         * doc/fdl.texi: This is FDL 1.2, not 1.3.
44092
44093 2008-11-10  Bruno Haible  <bruno@clisp.org>
44094
44095         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
44096         cross-compiling guesses also when the native compile gives no result.
44097
44098 2008-11-10  Bruno Haible  <bruno@clisp.org>
44099
44100         * lib/spawni.c (__spawni): Force variable into the stack.
44101
44102 2008-11-10  Bruno Haible  <bruno@clisp.org>
44103
44104         Add support for Haiku.
44105         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
44106         glibc and BeOS, but also on Haiku.
44107         * lib/fpurge.c (fpurge): Likewise.
44108         * lib/freadable.c (freadable): Likewise.
44109         * lib/freadahead.c (freadahead): Likewise.
44110         * lib/freading.c (freading): Likewise.
44111         * lib/freadptr.c (freadptr): Likewise.
44112         * lib/freadseek.c (freadptrinc): Likewise.
44113         * lib/fseeko.c (rpl_fseeko): Likewise.
44114         * lib/fseterr.c (fseterr): Likewise.
44115         * lib/fwritable.c (fwritable): Likewise.
44116         * lib/fwriting.c (fwriting): Likewise.
44117         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
44118
44119 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44120
44121         * lib/config.charset: Treat Haiku like BeOS.
44122
44123 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
44124
44125         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
44126         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
44127
44128 2008-11-08  Bruno Haible  <bruno@clisp.org>
44129
44130         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
44131         AC_CACHE_CHECK.
44132
44133 2008-11-08  Bruno Haible  <bruno@clisp.org>
44134
44135         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
44136
44137 2008-11-08  Bruno Haible  <bruno@clisp.org>
44138
44139         * tests/test-select-fd.c: New file.
44140         * tests/test-select-in.sh: New file.
44141         * tests/test-select-out.sh: New file.
44142         * tests/test-select-stdin.c: New file.
44143         * modules/select-tests (Files): Add the new files.
44144         (Depends-on): Add gettimeofday.
44145         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
44146         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
44147         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
44148
44149 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
44150             Bruno Haible  <bruno@clisp.org>
44151
44152         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
44153
44154 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
44155
44156         * build-aux/pmccabe2html: Added support for C++ source files.
44157
44158 2008-11-05  Ben Pfaff  <blp@gnu.org>
44159
44160         Fix lib/close.c build on Windows.
44161         * modules/close (Files): Add lib/w32sock.h.
44162
44163 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
44164
44165         Accept Bison's NEWS format.
44166         * build-aux/announce-gen (print_news_deltas): Tweak
44167         $re_prefix.
44168
44169 2008-11-04  Bruno Haible  <bruno@clisp.org>
44170
44171         * modules/random_r (Maintainer): Add glibc.
44172
44173 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44174
44175         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44176         by karl@freefriends.org (Karl Berry).
44177         * doc/alloca.texi: Likewise.
44178         * doc/c-ctype.texi: Likewise.
44179         * doc/c-strcase.texi: Likewise.
44180         * doc/c-strcaseeq.texi: Likewise.
44181         * doc/c-strcasestr.texi: Likewise.
44182         * doc/c-strstr.texi: Likewise.
44183         * doc/c-strtod.texi: Likewise.
44184         * doc/c-strtold.texi: Likewise.
44185         * doc/ctime.texi: Likewise.
44186         * doc/error.texi: Likewise.
44187         * doc/fdl.texi: Likewise.
44188         * doc/gcd.texi: Likewise.
44189         * doc/getdate.texi: Likewise.
44190         * doc/gnulib-intro.texi: Likewise.
44191         * doc/gnulib-tool.texi: Likewise.
44192         * doc/gnulib.texi: Likewise.
44193         * doc/inet_ntoa.texi: Likewise.
44194         * doc/maintain.texi: Likewise.
44195         * doc/make-stds.texi: Likewise.
44196         * doc/quote.texi: Likewise.
44197         * doc/regexprops-generic.texi: Likewise.
44198         * doc/standards.texi: Likewise.
44199         * doc/verify.texi: Likewise.
44200         * doc/visibility.texi: Likewise.
44201         * doc/gnulib.texi (GNU Free Documentation License): Include
44202         fdl-1.3.texi instead of fdl.texi.
44203
44204 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44205
44206         * doc/fdl-1.3.texi: New file, from
44207         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44208         * modules/fdl-1.3: Add.
44209         * MODULES.html.sh: Add fdl-1.3.
44210
44211 2008-11-03  Bruno Haible  <bruno@clisp.org>
44212
44213         Make determination of absolute name of header file work with AIX xlc.
44214         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44215         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44216         preprocessing.
44217         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44218         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44219
44220 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44221
44222         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44223         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44224         <ludo@gnu.org>.
44225
44226 2008-11-02  Bruno Haible  <bruno@clisp.org>
44227
44228         Mark 'strpbrk' obsolete.
44229         * modules/strpbrk (Status, Notice): New sections.
44230         * modules/strtok_r (Depends-on): Add strpbrk.
44231
44232 2008-11-02  Bruno Haible  <bruno@clisp.org>
44233
44234         Mark 'strdup' obsolete.
44235         * modules/strdup (Status, Notice): New sections.
44236         * modules/findprog (Depends-on): Add strdup.
44237         * modules/getaddrinfo (Depends-on): Likewise.
44238         * modules/localename (Depends-on): Likewise.
44239         * modules/relocatable-lib (Depends-on): Likewise.
44240         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44241         * modules/relocatable-prog (Depends-on): Likewise.
44242         * modules/trim (Depends-on): Likewise.
44243         * modules/unictype/gen-ctype (Depends-on): Likewise.
44244         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44245
44246 2008-11-02  Bruno Haible  <bruno@clisp.org>
44247
44248         Mark 'strcspn' obsolete.
44249         * modules/strcspn (Status, Notice): New sections.
44250
44251 2008-11-02  Bruno Haible  <bruno@clisp.org>
44252
44253         Mark 'rmdir' obsolete.
44254         * modules/rmdir (Status, Notice): New sections.
44255         * modules/clean-temp (Depends-on): Add rmdir.
44256         * modules/openat (Depends-on): Likewise.
44257
44258 2008-11-02  Bruno Haible  <bruno@clisp.org>
44259
44260         Mark 'raise' obsolete.
44261         * modules/raise (Status, Notice): New sections.
44262         (Include): Specify <signal.h>.
44263         * modules/stdio (Depends-on): Add raise.
44264         * modules/write (Depends-on): Likewise.
44265
44266 2008-11-02  Bruno Haible  <bruno@clisp.org>
44267
44268         Mark 'memset' obsolete.
44269         * modules/memset (Status, Notice): New sections.
44270
44271 2008-11-02  Bruno Haible  <bruno@clisp.org>
44272
44273         Mark 'memmove' obsolete.
44274         * modules/memmove (Status, Notice): New sections.
44275         * modules/argp (Depends-on): Add memmove.
44276         * modules/argz (Depends-on): Likewise.
44277         * modules/canonicalize (Depends-on): Likewise.
44278         * modules/canonicalize-lgpl (Depends-on): Likewise.
44279         * modules/fts (Depends-on): Likewise.
44280         * modules/getcwd (Depends-on): Likewise.
44281         * modules/human (Depends-on): Likewise.
44282         * modules/regex (Depends-on): Likewise.
44283         * modules/striconveh (Depends-on): Likewise.
44284         * modules/trim (Depends-on): Likewise.
44285         * modules/unistr/u8-move (Depends-on): Likewise.
44286         * modules/unistr/u16-move (Depends-on): Likewise.
44287         * modules/unistr/u32-move (Depends-on): Likewise.
44288
44289 2008-11-02  Bruno Haible  <bruno@clisp.org>
44290
44291         Mark 'memcpy' obsolete.
44292         * modules/memcpy (Status, Notice): New sections.
44293
44294 2008-11-02  Bruno Haible  <bruno@clisp.org>
44295
44296         Mark 'memcmp' obsolete.
44297         * modules/memcmp (Status, Notice): New sections.
44298         * modules/argmatch (Depends-on): Add memchr.
44299         * modules/backupfile (Depends-on): Likewise.
44300         * modules/c-strcasestr (Depends-on): Likewise.
44301         * modules/crypto/des (Depends-on): Likewise.
44302         * modules/csharpcomp (Depends-on): Likewise.
44303         * modules/fnmatch (Depends-on): Likewise.
44304         * modules/git-merge-changelog (Depends-on): Likewise.
44305         * modules/isnand (Depends-on): Likewise.
44306         * modules/isnand-nolibm (Depends-on): Likewise.
44307         * modules/isnanf (Depends-on): Likewise.
44308         * modules/isnanf-nolibm (Depends-on): Likewise.
44309         * modules/isnanl (Depends-on): Likewise.
44310         * modules/isnanl-nolibm (Depends-on): Likewise.
44311         * modules/mbchar (Depends-on): Likewise.
44312         * modules/memcoll (Depends-on): Likewise.
44313         * modules/quotearg (Depends-on): Likewise.
44314         * modules/regex (Depends-on): Likewise.
44315         * modules/relocatable-prog (Depends-on): Likewise.
44316         * modules/same (Depends-on): Likewise.
44317         * modules/signbit (Depends-on): Likewise.
44318         * modules/strcasestr-simple (Depends-on): Likewise.
44319         * modules/unictype/gen-ctype (Depends-on): Likewise.
44320         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44321         * modules/uniname/uniname (Depends-on): Likewise.
44322         * modules/unistr/u8-cmp (Depends-on): Likewise.
44323
44324 2008-11-02  Bruno Haible  <bruno@clisp.org>
44325
44326         Mark 'memchr' obsolete.
44327         * modules/memchr (Status, Notice): New sections.
44328         * modules/argp (Depends-on): Add memchr.
44329         * modules/base64 (Depends-on): Likewise.
44330         * modules/c-strcasestr (Depends-on): Likewise.
44331         * modules/chdir-long (Depends-on): Likewise.
44332         * modules/fnmatch (Depends-on): Likewise.
44333         * modules/getsubopt (Depends-on): Likewise.
44334         * modules/git-merge-changelog (Depends-on): Likewise.
44335         * modules/glob (Depends-on): Likewise.
44336         * modules/strcasestr-simple (Depends-on): Likewise.
44337         * modules/strnlen (Depends-on): Likewise.
44338
44339 2008-11-02  Bruno Haible  <bruno@clisp.org>
44340
44341         Mark 'atexit' obsolete.
44342         * modules/atexit (Status, Notice): New sections.
44343         * modules/chdir-long (Depends-on): Add atexit.
44344         * modules/wait-process (Depends-on): Likewise.
44345
44346 2008-11-02  Bruno Haible  <bruno@clisp.org>
44347
44348         * gnulib-tool: New option --with-obsolete.
44349         (func_usage): Document it.
44350         (func_modules_transitive_closure): Drop obsolete dependencies if
44351         incobsolete is not true.
44352         (func_import): Read and save the incobsolete variable to the cache.
44353
44354 2008-11-02  Bruno Haible  <bruno@clisp.org>
44355
44356         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44357         * gnulib-tool: New option --extract-status.
44358         (func_usage): Document it.
44359         (sed_extract_prog): Recognize it.
44360         (func_get_status): New function.
44361
44362 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44363
44364         * modules/sockets (License): Change from LGPL to LGPLv2+.
44365
44366 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44367
44368         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44369
44370 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44371
44372         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44373         Mention times and sys_times.
44374         * modules/sys_times, modules/sys_times-tests: New modules.
44375         * modules/times, modules/times-tests: Likewise
44376         * m4/sys_times_h.m4: New file.
44377         * lib/sys_times.in.h: Likewise
44378         * lib/times.c: Likewise.
44379         * tests/test-sys_times.c: Likewise.
44380         * tests/test-times.c: Likewise.
44381         * doc/posix-headers/sys_times.texi: Update.
44382         * doc/posix-functions/times.texi: Update.
44383
44384 2008-10-28  Jim Meyering  <meyering@redhat.com>
44385
44386         * modules/tempname (Depends-on): Add lstat.
44387
44388         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44389
44390 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44391
44392         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44393         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44394         using idiom used elsewhere in gnulib.
44395
44396 2008-10-27  Jim Meyering  <meyering@redhat.com>
44397
44398         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44399
44400 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44401
44402         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44403         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44404         programs.
44405         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44406
44407 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44408
44409         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44410
44411 2008-10-27  Bruno Haible  <bruno@clisp.org>
44412
44413         * tests/test-lstat.c: Include <stdio.h>.
44414
44415 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44416
44417         * modules/lstat-tests: New module.
44418         * tests/test-lstat.c: New file.
44419
44420 2008-10-26  Jim Meyering  <meyering@redhat.com>
44421
44422         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44423
44424 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44425             Bruno Haible  <bruno@clisp.org>
44426
44427         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44428         * modules/configmake (Include): Add a note that the include must come
44429         after all system headers.
44430         * lib/javaversion.c: Include configmake.h after all other includes.
44431
44432 2008-10-26  Bruno Haible  <bruno@clisp.org>
44433
44434         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44435         HAVE_STRUCT_RANDOM_DATA to 1.
44436         (gl_STDLIB_H): Simplify.
44437
44438 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44439
44440         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44441         substitute HAVE_STRUCT_RANDOM_DATA.
44442         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44443         random_data.
44444         * modules/stdlib (Makefile.am): Substitute
44445         HAVE_STRUCT_RANDOM_DATA.
44446
44447 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44448
44449         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44450         * doc/gnulib-intro.texi (Copyright): Likewise.
44451
44452 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44453
44454         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44455         findings.
44456
44457 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44458             Bruno Haible  <bruno@clisp.org>
44459
44460         * lib/unistd.in.h: Include <winsock2.h>.
44461         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44462         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44463         Provide dummy declarations.
44464         (gethostname): Override.
44465         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44466         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44467         gl_PREREQ_SYS_H_WINSOCK2.
44468         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44469         * doc/posix-functions/gethostname.texi: More details.
44470
44471 2008-10-25  Bruno Haible  <bruno@clisp.org>
44472
44473         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44474         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44475         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44476
44477         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44478         here ...
44479         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44480         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44481         gl_UNISTD_H_DEFAULTS.
44482
44483 2008-10-25  Eric Blake  <ebb9@byu.net>
44484
44485         signbit: avoid spurious compiler failure
44486         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44487         declarations inside function.
44488
44489 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44490             Bruno Haible  <bruno@clisp.org>
44491
44492         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44493         * modules/random_r (Depends-on): Add stdint.
44494
44495 2008-10-24  Bruno Haible  <bruno@clisp.org>
44496
44497         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44498         Eggert.
44499         * modules/strerror (License): Likewise.
44500
44501 2008-10-24  Jim Meyering  <meyering@redhat.com>
44502
44503         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44504         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44505
44506 2008-10-24  Eric Blake  <ebb9@byu.net>
44507
44508         getgroups: fix compilation when getgroups is available
44509         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44510         but with <config.h> override of getgroups disabled.
44511
44512 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44513
44514         * doc/gnulib.texi (Header files): Add note about C++ problems.
44515         Explained by Bruno Haible <bruno@clisp.org>.
44516
44517 2008-10-23  Bruno Haible  <bruno@clisp.org>
44518
44519         Define a dummy SA_NODEFER macro on Interix.
44520         * lib/signal.in.h (SA_NODEFER): Define fallback.
44521         Reported by Aleksey Cheusov <cheusov@tut.by> via
44522         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44523
44524 2008-10-23  Bruno Haible  <bruno@clisp.org>
44525
44526         * modules/freadahead (License): Change to LGPLv2+.
44527         Suggested by Simon Josefsson.
44528
44529 2008-10-23  Jim Meyering  <meyering@redhat.com>
44530
44531         random_r: new module
44532         * modules/random_r: New file.
44533         * m4/random_r.m4: New file.
44534         * lib/random_r.c: New file, from glibc.
44535         * modules/random_r-tests: New file.
44536         * tests/test-random_r.c: New file.
44537         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44538          Declare.
44539         (RAND_MAX): Define.
44540         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44541         * modules/stdlib: Substitute them, too.
44542         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44543         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44544         * doc/glibc-functions/random_r.texi: Likewise.
44545         * doc/glibc-functions/setstate_r.texi: Likewise.
44546         * doc/glibc-functions/srandom_r.texi: Likewise.
44547         * config/srclist.txt: Mention it.
44548
44549 2008-10-23  David Lutterkort  <lutter@redhat.com>
44550
44551         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44552         link requirement
44553
44554 2008-10-23  Jim Meyering  <meyering@redhat.com>
44555
44556         selinux-h: mark parameters of stub functions as intentionally unused
44557         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44558         * lib/se-context.in.h: Likewise.
44559
44560 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44561
44562         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44563
44564 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44565
44566         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44567
44568 2008-10-22  Eric Blake  <ebb9@byu.net>
44569
44570         glthread/thread: avoid compiler warning
44571         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44572         Add unreachable abort to silence compiler.
44573
44574 2008-10-22  Eric Blake  <ebb9@byu.net>
44575
44576         netdb: also supply struct addrinfo for cygwin 1.5.x
44577         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44578         older cygwin.
44579         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44580         cygwin.
44581         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44582
44583 2008-10-22  Bruno Haible  <bruno@clisp.org>
44584
44585         * users.txt: Update entry about pspp.
44586
44587 2008-10-21  Bruno Haible  <bruno@clisp.org>
44588
44589         Simplification.
44590         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44591         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44592
44593         Simplification.
44594         * lib/ioctl.c (ioctl): Don't undefine.
44595         * lib/socket.c (socket): Don't undefine.
44596
44597         Remove unused module indicator macros.
44598         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44599         GNULIB_$1 as a C macro.
44600
44601         * doc/posix-functions/close.texi: Undo last change.
44602         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44603         Windows platforms.
44604
44605 2008-10-21  Bruno Haible  <bruno@clisp.org>
44606
44607         Add gethostname() declaration to <unistd.h>.
44608         * lib/unistd.in.h (gethostname): New declaration.
44609         * lib/gethostname.c: Include <unistd.h>.
44610         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44611         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44613         and HAVE_GETHOSTNAME.
44614         * modules/gethostname (Depends-on): Add unistd.
44615         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44616         (Include): Specify <unistd.h>.
44617         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44618         HAVE_GETHOSTNAME.
44619         * tests/test-gethostname.c: Include <unistd.h> first.
44620
44621 2008-10-21  Bruno Haible  <bruno@clisp.org>
44622
44623         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44624         * modules/select-tests (Depends-on): Likewise.
44625         Reported by Simon Josefsson.
44626
44627 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44628
44629         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44630         * lib/accept.c: New file, based on winsock.c.
44631         * lib/bind.c: New file, based on winsock.c.
44632         * lib/connect.c: New file, based on winsock.c.
44633         * lib/getpeername.c: New file, based on winsock.c.
44634         * lib/getsockname.c: New file, based on winsock.c.
44635         * lib/getsockopt.c: New file, based on winsock.c.
44636         * lib/ioctl.c: New file, based on winsock.c.
44637         * lib/listen.c: New file, based on winsock.c.
44638         * lib/recv.c: New file, based on winsock.c.
44639         * lib/recvfrom.c: New file, based on winsock.c.
44640         * lib/send.c: New file, based on winsock.c.
44641         * lib/sendto.c: New file, based on winsock.c.
44642         * lib/setsockopt.c: New file, based on winsock.c.
44643         * lib/shutdown.c: New file, based on winsock.c.
44644         * lib/socket.c: New file, based on winsock.c.
44645         * lib/w32sock.h: New file, based on winsock.c.
44646         * lib/winsock.c: Remove file.
44647         * modules/accept: Likewise.
44648         * modules/bind: Likewise.
44649         * modules/connect: Likewise.
44650         * modules/getpeername: Likewise.
44651         * modules/getsockname: Likewise.
44652         * modules/getsockopt: Likewise.
44653         * modules/ioctl: Likewise.
44654         * modules/listen: Likewise.
44655         * modules/recv: Likewise.
44656         * modules/recvfrom: Likewise.
44657         * modules/send: Likewise.
44658         * modules/sendto: Likewise.
44659         * modules/setsockopt: Likewise.
44660         * modules/shutdown: Likewise.
44661         * modules/socket: Use socket.c instead of winsock.c.
44662         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44663         * doc/posix-functions/accept.texi: Doc fix.
44664         * doc/posix-functions/bind.texi: Doc fix.
44665         * doc/posix-functions/close.texi: Doc fix.
44666         * doc/posix-functions/connect.texi: Doc fix.
44667         * doc/posix-functions/getpeername.texi: Doc fix.
44668         * doc/posix-functions/getsockname.texi: Doc fix.
44669         * doc/posix-functions/getsockopt.texi: Doc fix.
44670         * doc/posix-functions/ioctl.texi: Doc fix.
44671         * doc/posix-functions/listen.texi: Doc fix.
44672         * doc/posix-functions/recv.texi: Doc fix.
44673         * doc/posix-functions/recvfrom.texi: Doc fix.
44674         * doc/posix-functions/send.texi: Doc fix.
44675         * doc/posix-functions/sendto.texi: Doc fix.
44676         * doc/posix-functions/setsockopt.texi: Doc fix.
44677         * doc/posix-functions/shutdown.texi: Doc fix.
44678         * doc/posix-functions/socket.texi: Doc fix.
44679
44680 2008-10-20  Bruno Haible  <bruno@clisp.org>
44681
44682         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44683         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44684         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44685         as an alias for SIGABRT.
44686         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44687         (sigaction): Map it to SIGABRT.
44688         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44689
44690 2008-10-20  Bruno Haible  <bruno@clisp.org>
44691
44692         * lib/fts.c: Don't include lstat.h.
44693         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44694
44695         Move the lstat() declaration to <sys/stat.h>.
44696         * lib/lstat.h: Remove file.
44697         * lib/sys_stat.in.h: Add special invocation convention.
44698         (lstat): New declaration.
44699         * lib/lstat.c (orig_lstat): New function.
44700         (rpl_lstat): Use orig_lstat instead of lstat.
44701         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44702         AC_C_INLINE. Set REPLACE_LSTAT.
44703         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44704         and REPLACE_LSTAT.
44705         * modules/lstat (Files): Remove lib/lstat.h.
44706         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44707         (Include): Specify <sys/stat.h> instead of lstat.h.
44708         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44709         REPLACE_LSTAT.
44710         * NEWS: Mention the change.
44711
44712 2008-10-20  Bruno Haible  <bruno@clisp.org>
44713
44714         * modules/posix_spawn-tests: New file.
44715         * tests/test-posix_spawn3.c: New file.
44716
44717 2008-10-20  Bruno Haible  <bruno@clisp.org>
44718
44719         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44720         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44721         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44722         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44723         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44724
44725 2008-10-20  Bruno Haible  <bruno@clisp.org>
44726
44727         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44728         of posix_spawn on AIX 5.3.
44729
44730 2008-10-20  Bruno Haible  <bruno@clisp.org>
44731
44732         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44733
44734 2008-10-20  Bruno Haible  <bruno@clisp.org>
44735
44736         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44737         of AC_LANG_PROGRAM.
44738
44739 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44740
44741         * lib/netdb.in.h: Don't define GNU specific constants until they
44742         are supported or needed.  Reported by Bruno Haible
44743         <bruno@clisp.org>.
44744
44745 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44746
44747         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44748
44749 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44750
44751         * lib/getaddrinfo.h: Remove file.
44752         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44753         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44754         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44755         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44756         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44757         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44758         * tests/test-getaddrinfo.c: Likewise.
44759         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44760         * NEWS: Mention change.
44761
44762 2008-10-19  Bruno Haible  <bruno@clisp.org>
44763
44764         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44765
44766 2008-10-19  Bruno Haible  <bruno@clisp.org>
44767
44768         * lib/wait-process.c: Include simply <sys/wait.h>.
44769         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44770         WIFSTOPPED): Remove fallback definitions.
44771         * modules/wait-process (Depends-on): Add sys_wait.
44772
44773         New module 'sys_wait'.
44774         * modules/sys_wait: New file.
44775         * lib/sys_wait.in.h: New file, partially copied from
44776         lib/wait-process.c.
44777         * m4/sys_wait_h.m4: New file.
44778         * doc/posix-headers/sys_wait.texi: Mention the new module.
44779
44780 2008-10-19  Bruno Haible  <bruno@clisp.org>
44781
44782         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44783
44784 2008-10-19  Bruno Haible  <bruno@clisp.org>
44785
44786         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44787         * lib/wait-process.c (WAIT_T): Remove type.
44788         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44789         (wait_subprocess): Update.
44790
44791 2008-10-19  Bruno Haible  <bruno@clisp.org>
44792
44793         New module 'atoll'.
44794         * modules/atoll: New file.
44795         * lib/stdlib.in.h (atoll): New declaration.
44796         * lib/atoll.c: New file, from glibc with modifications.
44797         * m4/atoll.m4: New file.
44798         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44799         HAVE_ATOLL.
44800         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44801         * doc/posix-functions/atoll.texi: Mention the new module.
44802
44803 2008-10-19  Bruno Haible  <bruno@clisp.org>
44804
44805         Add strtoull() declaration to <stdlib.h>.
44806         * lib/stdlib.in.h (strtoull): New declaration.
44807         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44808         Set HAVE_STRTOULL.
44809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44810         HAVE_STRTOULL.
44811         * modules/strtoull (Depends-on): Add stdlib.
44812         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44813         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44814         HAVE_STRTOULL.
44815
44816 2008-10-19  Bruno Haible  <bruno@clisp.org>
44817
44818         Add strtoll() declaration to <stdlib.h>.
44819         * lib/stdlib.in.h (strtoll): New declaration.
44820         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44821         Set HAVE_STRTOLL.
44822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44823         HAVE_STRTOLL.
44824         * modules/strtoll (Depends-on): Add stdlib.
44825         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44826         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44827
44828 2008-10-19  Bruno Haible  <bruno@clisp.org>
44829
44830         * modules/bcopy (Depends-on): Add strings.
44831         (Include): Specify <strings.h>.
44832
44833 2008-10-19  Bruno Haible  <bruno@clisp.org>
44834
44835         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44836
44837 2008-10-19  Bruno Haible  <bruno@clisp.org>
44838
44839         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44840         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44841         mingw.
44842
44843 2008-10-19  Bruno Haible  <bruno@clisp.org>
44844
44845         * lib/atanl.c: Don't include isnanl.h.
44846         * lib/cosl.c: Likewise.
44847         * lib/ldexpl.c: Likewise.
44848         * lib/logl.c: Likewise.
44849         * lib/sinl.c: Likewise.
44850         * lib/sqrtl.c: Likewise.
44851         * lib/tanl.c: Likewise.
44852
44853         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44854         * lib/isnanf.h: Remove file.
44855         * lib/isnand.h: Remove file.
44856         * lib/isnanl.h: Remove file.
44857         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44858         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44859         macros.
44860         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44861         HAVE_ISNANF, don't define it as a C macro.
44862         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44863         HAVE_ISNAND, don't define it as a C macro.
44864         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44865         HAVE_ISNANL, don't define it as a C macro.
44866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44867         HAVE_ISNAN[FDL].
44868         * modules/isnanf (Files): Remove lib/isnanf.h.
44869         (Depends-on): Add math.
44870         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44871         (Include): Specify <math.h> instead of isnanf.h.
44872         * modules/isnand (Files): Remove lib/isnand.h.
44873         (Depends-on): Add math.
44874         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44875         (Include): Specify <math.h> instead of isnand.h.
44876         * modules/isnanl (Files): Remove lib/isnanl.h.
44877         (Depends-on): Add math.
44878         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44879         (Include): Specify <math.h> instead of isnanl.h.
44880         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44881         HAVE_ISNAN[FDL].
44882         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44883         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44884         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44885         * NEWS: Mention the change.
44886
44887 2008-10-18  Bruno Haible  <bruno@clisp.org>
44888
44889         Add getusershell(), setusershell(), endusershell() declarations to
44890         <unistd.h>.
44891         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44892         declarations.
44893         * lib/getusershell.c: Include unistd.h.
44894         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44895         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44896         HAVE_GETUSERSHELL.
44897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44898         and HAVE_GETUSERSHELL.
44899         * modules/getusershell (Depends-on): Add unistd, extensions.
44900         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44901         (Include): Specify <unistd.h>.
44902         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44903         HAVE_GETUSERSHELL.
44904
44905 2008-10-18  Bruno Haible  <bruno@clisp.org>
44906
44907         Add a getloadavg() declaration to <stdlib.h>.
44908         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44909         getloadavg declaration.
44910         (getloadavg): New declaration.
44911         * lib/getloadavg.c: Include <stdlib.h> first.
44912         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44913         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44914         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44916         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44917         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44918         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44919         (Include): Specify <stdlib.h>.
44920         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44921         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44922
44923 2008-10-18  Bruno Haible  <bruno@clisp.org>
44924
44925         * lib/dirchownmod.c: Don't include lchmod.h.
44926
44927         Move the lchmod() declaration to <sys/stat.h>.
44928         * lib/lchmod.h: Remove file.
44929         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44930         (lchmod): New declaration, moved here from lib/lchown.h.
44931         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44932         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44933         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44934         and HAVE_LCHMOD.
44935         * modules/lchmod (Files): Remove lib/lchmod.h.
44936         (Depends-on): Add sys_stat, extensions.
44937         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44938         (Include): Specify <sys/stat.h> instead of lchmod.h.
44939         * modules/sys_stat (Depends-on): Add link-warning.
44940         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44941         definition of GL_LINK_WARNING.
44942         * NEWS: Mention the change.
44943
44944 2008-10-18  Bruno Haible  <bruno@clisp.org>
44945
44946         * lib/fchdir.c: Don't include dirfd.h.
44947         * lib/fts.c: Likewise.
44948         * lib/getcwd.c: Likewise.
44949         * lib/glob.c: Likewise.
44950
44951         Move the dirfd() declaration to <dirent.h>.
44952         * lib/dirfd.h: Remove file.
44953         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44954         (dirfd): New declaration.
44955         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44956         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44957         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44958         HAVE_DECL_DIRFD.
44959         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44960         HAVE_DECL_DIRFD.
44961         * modules/dirfd (Files): Remove lib/dirfd.h.
44962         (Depends-on): Add dirent, extensions.
44963         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44964         (Include): Specify <dirent.h> instead of dirfd.h.
44965         * modules/dirent (Depends-on): Add link-warning.
44966         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44967         definition of GL_LINK_WARNING.
44968         * NEWS: Mention the change.
44969
44970 2008-10-18  Bruno Haible  <bruno@clisp.org>
44971
44972         Move the euidaccess() declaration to <unistd.h>.
44973         * lib/euidaccess.h: Remove file.
44974         * lib/unistd.in.h (euidaccess): New declaration.
44975         * lib/euidaccess.c: Don't include euidaccess.h.
44976         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44977         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44979         and HAVE_EUIDACCESS.
44980         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44981         (Depends-on): Add unistd.
44982         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44983         (Include): Specify <unistd.h> instead of euidaccess.h.
44984         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44985         HAVE_EUIDACCESS.
44986         * NEWS: Mention the change.
44987
44988 2008-10-18  Bruno Haible  <bruno@clisp.org>
44989
44990         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44991
44992         Move the getdomainname() declaration to <unistd.h>.
44993         * lib/getdomainname.h: Remove file.
44994         * lib/unistd.in.h (getdomainname): New declaration.
44995         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44996         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44997         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44998         HAVE_GETDOMAINNAME.
44999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45000         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
45001         * modules/getdomainname (Files): Remove lib/getdomainname.h.
45002         (Depends-on): Add unistd, extensions.
45003         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45004         (Includes): Specify <unistd.h> instead of getdomainname.h.
45005         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
45006         HAVE_GETDOMAINNAME.
45007         * NEWS: Mention the change.
45008
45009 2008-10-18  Bruno Haible  <bruno@clisp.org>
45010
45011         * modules/dirent: New file.
45012         * m4/dirent_h.m4: New file.
45013         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
45014         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
45015         * modules/fchdir (Files): Remove lib/dirent.in.h.
45016         (Depends-on): Add dirent.
45017         (Makefile.am): Move rules to modules/dirent.
45018         * doc/posix-headers/dirent.texi: Mention the new module.
45019
45020 2008-10-18  Bruno Haible  <bruno@clisp.org>
45021
45022         Avoid -Wunused-parameter warnings in public gnulib header files.
45023         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
45024         macro.
45025         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
45026
45027 2008-10-18  Bruno Haible  <bruno@clisp.org>
45028
45029         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
45030         * doc/glibc-functions/error.texi: Mention the module 'error'.
45031         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
45032         * doc/glibc-functions/getdomainname.texi: Mention the module
45033         'getdomainname'.
45034         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
45035         * doc/glibc-functions/getpagesize.texi: Mention the module
45036         'getpagesize'.
45037         * doc/glibc-functions/getusershell.texi: Mention the module
45038         'getusershell'.
45039         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
45040         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
45041         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
45042         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
45043         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
45044         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
45045         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
45046         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
45047         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
45048         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
45049         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
45050         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
45051         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
45052         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
45053
45054 2008-10-17  Bruno Haible  <bruno@clisp.org>
45055
45056         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
45057         HP-UX and IRIX, use -0.0L.
45058         * tests/test-ceill.c (minus_zero): Likewise.
45059         * tests/test-floorl.c (minus_zero): Likewise.
45060         * tests/test-frexpl.c (minus_zero): Likewise.
45061         * tests/test-isnan.c (minus_zerol): Likewise.
45062         * tests/test-isnanl.h (minus_zero): Likewise.
45063         * tests/test-ldexpl.c (minus_zero): Likewise.
45064         * tests/test-roundl.c (minus_zero): Likewise.
45065         * tests/test-signbit.c (minus_zerol): Likewise.
45066         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45067         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45068         * tests/test-truncl.c (minus_zero): Likewise.
45069         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45070         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45071         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
45072         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45073
45074 2008-10-17  Bruno Haible  <bruno@clisp.org>
45075
45076         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
45077         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
45078         that it gets activated only for gcc >= 3.0.
45079         * lib/dirent.in.h: Likewise.
45080         * lib/errno.in.h: Likewise.
45081         * lib/fcntl.in.h: Likewise.
45082         * lib/float.in.h: Likewise.
45083         * lib/iconv.in.h: Likewise.
45084         * lib/inttypes.in.h: Likewise.
45085         * lib/locale.in.h: Likewise.
45086         * lib/math.in.h: Likewise.
45087         * lib/netdb.in.h: Likewise.
45088         * lib/netinet_in.in.h: Likewise.
45089         * lib/search.in.h: Likewise.
45090         * lib/signal.in.h: Likewise.
45091         * lib/spawn.in.h: Likewise.
45092         * lib/stdarg.in.h: Likewise.
45093         * lib/stdint.in.h: Likewise.
45094         * lib/stdio.in.h: Likewise.
45095         * lib/stdlib.in.h: Likewise.
45096         * lib/string.in.h: Likewise.
45097         * lib/strings.in.h: Likewise.
45098         * lib/sys_file.in.h: Likewise.
45099         * lib/sys_ioctl.in.h: Likewise.
45100         * lib/sys_select.in.h: Likewise.
45101         * lib/sys_socket.in.h: Likewise.
45102         * lib/sys_stat.in.h: Likewise.
45103         * lib/sys_time.in.h: Likewise.
45104         * lib/sysexits.in.h: Likewise.
45105         * lib/time.in.h: Likewise.
45106         * lib/unistd.in.h: Likewise.
45107         * lib/wchar.in.h: Likewise.
45108         * lib/wctype.in.h: Likewise.
45109         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45110
45111 2008-10-17  Jim Meyering  <meyering@redhat.com>
45112
45113         ignore-value: don't depend on inline module
45114         * modules/ignore-value (Depends-on): Remove 'inline'.
45115         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
45116         Suggestion from Bruno Haible.
45117
45118 2008-10-17  Bruno Haible  <bruno@clisp.org>
45119
45120         New implementation of condition variables for Win32.
45121         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
45122         (gl_linked_waitqueue_t): New type.
45123         (gl_cond_t): Use it.
45124         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
45125         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
45126         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
45127         (glthread_cond_init_func, glthread_cond_wait_func,
45128         glthread_cond_timedwait_func, glthread_cond_signal_func,
45129         glthread_cond_broadcast_func, glthread_cond_destroy_func):
45130         Reimplemented on the basis of gl_linked_waitqueue_t.
45131         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
45132         gl_waitqueue_t.
45133         (gl_rwlock_t): Update.
45134         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
45135
45136 2008-10-17  Simon Josefsson  <simon@josefsson.org>
45137
45138         * modules/recvfrom (Depends-on): Add dependency on getpeername.
45139         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45140
45141 2008-10-17  Jim Meyering  <meyering@redhat.com>
45142
45143         ignore-value: new module
45144         * modules/ignore-value: New file.
45145         * lib/ignore-value.h: New file.
45146         * MODULES.html.sh (Compiler warning management): New section,
45147         just for this module.  More to come.
45148
45149 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45150
45151         open-safer.c: avoid 'signed and unsigned in conditional...' warning
45152         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
45153         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
45154
45155 2008-10-16  Jim Meyering  <meyering@redhat.com>
45156
45157         openat-die.c: avoid 'no previous prototype' warning
45158         * lib/openat-die.c: Include "openat.h".
45159         Reported by Reuben Thomas <rrt@sc3d.org>.
45160
45161 2008-10-16  Simon Josefsson  <simon@josefsson.org>
45162
45163         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
45164         * lib/netdb.in.h: Fix typo.
45165         Reported by Bruno Haible  <bruno@clisp.org>
45166
45167         * lib/netdb.in.h: Include sys/socket.h for platforms without
45168         netdb.h, to get structures like hostent on MinGW.
45169         * modules/netdb (Depends-on): Add sys_socket.
45170
45171 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45172
45173         * modules/netdb, modules/netdb-tests: New file.
45174         * m4/netdb_h.m4: New file.
45175         * lib/netdb.in.h: Add, currently just an empty file pending
45176         definitions.
45177         * tests/test-netdb.c: New file.
45178         * doc/posix-headers/netdb.texi: Mention that we replace it if
45179         needed.
45180         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45181         netdb.
45182
45183 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45184
45185         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45186         with code.
45187
45188 2008-10-13  Bruno Haible  <bruno@clisp.org>
45189
45190         * lib/glthread/cond.c (glthread_cond_wait_func,
45191         glthread_cond_timedwait_func): Add a comment.
45192
45193 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45194
45195         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45196         * tests/test-select.c: Likewise,
45197
45198 2008-10-13  Bruno Haible  <bruno@clisp.org>
45199
45200         * lib/glthread/cond.c (glthread_cond_wait_func,
45201         glthread_cond_timedwait_func): Fix variable name.
45202         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45203
45204 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45205
45206         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45207         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45208         struct sockaddr.sa_len.
45209         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45210
45211 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45212
45213         * build-aux/pmccabe2html: Add css and css_url parameters.
45214
45215 2008-10-12  Bruno Haible  <bruno@clisp.org>
45216
45217         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45218         calling aclx_get.
45219         Reported by Rainer Tammer <tammer@tammer.net>.
45220
45221 2008-10-12  Bruno Haible  <bruno@clisp.org>
45222
45223         Use msvcrt aware primitives for creation/termination of Win32 threads.
45224         * lib/glthread/thread.c: Include <process.h>.
45225         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45226         (wrapper_func): Update signature.
45227         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45228
45229 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45230             Bruno Haible  <bruno@clisp.org>
45231
45232         Provide a Win32 implementation of the 'cond' module.
45233         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45234         * lib/glthread/cond.c (glthread_cond_init_func,
45235         glthread_cond_wait_func, glthread_cond_timedwait_func,
45236         glthread_cond_signal_func, glthread_cond_broadcast_func,
45237         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45238         * modules/cond (Dependencies): Add gettimeofday.
45239
45240 2008-10-11  Bruno Haible  <bruno@clisp.org>
45241
45242         Make sleep work on older versions of mingw.
45243         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45244         only whether it exists.
45245         * doc/posix-functions/sleep.texi: Mention the problem with older
45246         versions of mingw.
45247
45248 2008-10-11  Bruno Haible  <bruno@clisp.org>
45249
45250         New module 'shutdown'.
45251         * modules/shutdown: New file.
45252         * lib/sys_socket.in.h (shutdown): New declaration.
45253         * lib/winsock.c (shutdown): New function.
45254         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45255         GNULIB_SHUTDOWN.
45256         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45257         * doc/posix-functions/shutdown.texi: Document the new module.
45258
45259 2008-10-11  Jim Meyering  <meyering@redhat.com>
45260
45261         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45262
45263 2008-10-11  Bruno Haible  <bruno@clisp.org>
45264
45265         New module 'fclose'.
45266         * modules/fclose: New file.
45267         * lib/stdio.in.h (fclose): New declaration.
45268         * lib/fclose.c: New file.
45269         * m4/fclose.m4: New file.
45270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45271         REPLACE_FCLOSE.
45272         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45273         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45274         REPLACE_FCLOSE.
45275         * modules/close (Depends-on): fclose.
45276         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45277
45278 2008-10-11  Bruno Haible  <bruno@clisp.org>
45279
45280         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45281         set errno and don't call _close.
45282
45283 2008-10-10  Bruno Haible  <bruno@clisp.org>
45284
45285         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45286         ACL, not afterwards. Fixes test failure on Cygwin.
45287
45288 2008-10-09  Ben Pfaff  <blp@gnu.org>
45289
45290         * build-aux/announce-gen: Fix gnulib version related part of usage
45291         message.  Die with a useful error message if no tarballs are
45292         found.
45293
45294 2008-10-10  Jim Meyering  <meyering@redhat.com>
45295
45296         bootstrap: use git's --depth=N option only if it's supported
45297         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45298         recognize the --depth option.  Reported by Pádraig Brady.
45299
45300 2008-10-09  Bruno Haible  <bruno@clisp.org>
45301
45302         New module 'ioctl'.
45303         * modules/ioctl: New file.
45304         * lib/sys_socket.in.h (ioctl): Remove declaration.
45305         * lib/winsock.c: Include <sys/ioctl.h>.
45306         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45307         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45308         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45309         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45310         * doc/posix-functions/ioctl.texi: Mention the new module.
45311
45312 2008-10-09  Bruno Haible  <bruno@clisp.org>
45313
45314         New module 'sys_ioctl'.
45315         * lib/sys_ioctl.in.h: New file.
45316         * m4/sys_ioctl_h.m4: New file.
45317         * modules/sys_ioctl: New file.
45318         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45319
45320 2008-10-09  Bruno Haible  <bruno@clisp.org>
45321
45322         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45323         * lib/winsock.c: Include <stdarg.h>.
45324         (rpl_ioctl): Change to second argument 'int' and then varargs.
45325
45326 2008-10-09  Bruno Haible  <bruno@clisp.org>
45327
45328         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45329         when the sys_socket module is present and the system has <winsock2.h>.
45330
45331 2008-10-09  Bruno Haible  <bruno@clisp.org>
45332
45333         * doc/posix-functions/close.texi: Mention module 'close' instead of
45334         module 'sys_socket'.
45335
45336 2008-10-09  Bruno Haible  <bruno@clisp.org>
45337
45338         * doc/glibc-headers/sys_ioctl.texi: New file.
45339         * doc/gnulib.texi: Include it.
45340
45341 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45342             Bruno Haible  <bruno@clisp.org>
45343
45344         Combine the two replacements of 'close'.
45345         * lib/sys_socket.in.h (close): Define to a reminder to include
45346         <unistd.h>.
45347         (_gl_close_fd_maybe_socket): New declaration.
45348         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45349         * lib/winsock.c (close): Remove undefinition.
45350         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45351         needed for the gnulib module 'close'.
45352         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45353         define to an error symbol or to a warning, if suitable.
45354         * lib/close.c: Include <sys/socket.h>.
45355         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45356         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45357         UNISTD_H_HAVE_WINSOCK2_H.
45358         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45360         UNISTD_H_HAVE_WINSOCK2_H.
45361         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45362         (configure.ac): Set a module indicator.
45363         (Makefile.am): Substitute GNULIB_CLOSE.
45364         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45365         * modules/poll-tests (Depends-on): Add close.
45366         * modules/select-tests (Depends-on): Likewise.
45367
45368 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45369             Bruno Haible  <bruno@clisp.org>
45370
45371         New module 'close'.
45372         * modules/close: New file.
45373         * lib/unistd.in.h (close): Move declaration out of the
45374         FCHDIR_REPLACEMENT scope.
45375         (_gl_unregister_fd): New declaration.
45376         * lib/close.c: New file.
45377         * lib/fchdir.c (rpl_close): Remove function.
45378         * m4/close.m4: New file.
45379         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45380         close.
45381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45382         REPLACE_CLOSE.
45383         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45384         REPLACE_CLOSE.
45385         * modules/fchdir (Depends-on): Add close.
45386
45387 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45388             Bruno Haible  <bruno@clisp.org>
45389
45390         * lib/fcntl.in.h (open): Simplify conditionals.
45391         (_gl_register_fd): New declaration.
45392         * lib/fchdir.c (rpl_open): Remove function.
45393         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45394         also.
45395         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45397         open.
45398
45399 2008-10-09  Jim Meyering  <meyering@redhat.com>
45400
45401         GNUmakefile: use the more name-space-friendly "_version"
45402         * top/GNUmakefile (_dummy): Update.
45403         (_version): Rename from "version".
45404
45405 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45406             Bruno Haible  <bruno@clisp.org>
45407
45408         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45409         rpl_close.
45410         (_gl_register_fd): New function, extracted from rpl_open.
45411         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45412         (rpl_open, rpl_opendir): Use _gl_register_fd.
45413
45414 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45415
45416         Fix organization of 'open' replacement.
45417         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45418         (gl_FUNC_OPEN): Use it.
45419         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45420
45421 2008-10-08  Bruno Haible  <bruno@clisp.org>
45422
45423         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45424
45425 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45426
45427         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45428         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45429         listen).
45430
45431 2008-10-08  Eric Blake  <ebb9@byu.net>
45432
45433         GNUmakefile: add 'make version' target
45434         * top/GNUmakefile (_curr-ver): Split version update rules...
45435         (version): ...into a target.
45436
45437 2008-10-07  Bruno Haible  <bruno@clisp.org>
45438
45439         Use a more portable replacement expression for -0.0L.
45440         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45441         instead of -0.0L. Fix m4 quotation.
45442
45443         * tests/test-signbit.c: Include <float.h>.
45444         (minus_zero): New variable.
45445         (test_signbitl): Use minus_zero instead of -zero.
45446         * modules/signbit-tests (Depends-on): Add float.
45447
45448         * tests/test-ceill.c: Include <float.h>.
45449         (zero): Remove variable.
45450         (minus_zero): New variable.
45451         (main): Use minus_zero instead of -zero.
45452         * modules/ceill-tests (Depends-on): Add float.
45453
45454         * tests/test-floorl.c: Include <float.h>.
45455         (zero): Remove variable.
45456         (minus_zero): New variable.
45457         (main): Use minus_zero instead of -zero.
45458         * modules/floorl-tests (Depends-on): Add float.
45459
45460         * tests/test-roundl.c: Include <float.h>.
45461         (zero): Remove variable.
45462         (minus_zero): New variable.
45463         (main): Use minus_zero instead of -zero.
45464         * modules/roundl-tests (Depends-on): Add float.
45465
45466         * tests/test-truncl.c: Include <float.h>.
45467         (zero): Remove variable.
45468         (minus_zero): New variable.
45469         (main): Use minus_zero instead of -zero.
45470         * modules/truncl-tests (Depends-on): Add float.
45471
45472         * tests/test-frexpl.c (zero): Remove variable.
45473         (minus_zero): New variable.
45474         (main): Use minus_zero instead of -zero.
45475         * modules/frexpl-tests (Depends-on): Add float.
45476
45477         * tests/test-isnan.c (zerol): Remove variable.
45478         (minus_zerol): New variable.
45479         (test_long_double): Use minus_zerol instead of -zerol.
45480         * modules/isnan-tests (Depends-on): Add float.
45481
45482         * tests/test-isnanl.h (zero): Remove variable.
45483         (minus_zero): New variable.
45484         (main): Use minus_zero instead of -zero.
45485         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45486         * modules/isnanl-tests (Depends-on): Add float.
45487
45488         * tests/test-ldexpl.c (zero): Remove variable.
45489         (minus_zero): New variable.
45490         (main): Use minus_zero instead of -zero.
45491         * modules/ldexpl-tests (Depends-on): Add float.
45492
45493         * tests/test-snprintf-posix.h (zerol): Remove variable.
45494         (minus_zerol): New variable.
45495         (test_function): Use minus_zerol instead of -zerol.
45496         * modules/snprintf-posix-tests (Depends-on): Add float.
45497         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45498
45499         * tests/test-sprintf-posix.h (zerol): Remove variable.
45500         (minus_zerol): New variable.
45501         (test_function): Use minus_zerol instead of -zerol.
45502         * modules/sprintf-posix-tests (Depends-on): Add float.
45503         * modules/vsprintf-posix-tests (Depends-on): Add float.
45504
45505         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45506         (minus_zerol): New variable.
45507         (test_function): Use minus_zerol instead of -zerol.
45508         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45509
45510         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45511         (minus_zerol): New variable.
45512         (test_function): Use minus_zerol instead of -zerol.
45513         * modules/vasprintf-posix-tests (Depends-on): Add float.
45514
45515 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45516
45517         * MODULES.html.sh (Support for building documentation): Mention
45518         pmccabe2html.  Sort entries.
45519
45520         Add pmccabe2html module, from gnupdf.
45521         * build-aux/pmccabe.css: New file.
45522         * build-aux/pmccabe2html: New file.
45523         * m4/pmccabe2html.m4: New file.
45524         * modules/pmccabe2html: New file.
45525
45526 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45527
45528         flock: new module
45529         * MODULES.html.sh: Add to list of modules.
45530         * lib/flock.c: flock implementation for Windows and Unix systems
45531         which have fcntl.
45532         * doc/glibc-functions/flock.texi: Update documentation.
45533         * lib/sys_file.in.h: <sys/file.h> header file.
45534         * m4/flock.m4: M4 macros.
45535         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45536         * modules/flock: flock module.
45537         * modules/flock-tests: flock tests module.
45538         * modules/sys_file: sys/file.h module.
45539         * tests/test-flock.c: test suite for flock.
45540
45541 2008-10-06  Jim Meyering  <meyering@redhat.com>
45542
45543         bootstrap: check for LT_INIT more portably still ;-)
45544         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45545         Spotted by Bruno Haible.
45546
45547 2008-10-06  Eric Blake  <ebb9@byu.net>
45548
45549         test-signbit: avoid tripping Irix cc bug on -0.0L
45550         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45551         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45552         entire testsuite consistent and avoids an Irix 6.2 bug.
45553
45554 2008-10-05  Bruno Haible  <bruno@clisp.org>
45555             Jim Meyering  <jim@meyering.net>
45556
45557         Add an option for ignoring EPIPE during close_stdout.
45558         * lib/closeout.h: Include <stdbool.h>.
45559         (close_stdout_set_ignore_EPIPE): New declaration.
45560         * lib/closeout.c: Include <stdbool.h>.
45561         (ignore_EPIPE): New variable.
45562         (close_stdout_set_ignore_EPIPE): New function.
45563         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45564         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45565         failure.
45566         * modules/closeout (Depends-on): Add stdbool.
45567
45568 2008-10-05  Bruno Haible  <bruno@clisp.org>
45569
45570         * modules/accept: New file.
45571         * modules/bind: New file.
45572         * modules/connect: New file.
45573         * modules/getpeername: New file.
45574         * modules/getsockname: New file.
45575         * modules/getsockopt: New file.
45576         * modules/listen: New file.
45577         * modules/recv: New file.
45578         * modules/recvfrom: New file.
45579         * modules/send: New file.
45580         * modules/sendto: New file.
45581         * modules/setsockopt: New file.
45582         * modules/socket: New file.
45583         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45584         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45585         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45586         the particular module is requested. Add a link warning when the
45587         particular module is not requested.
45588         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45589         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45590         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45591         the particular module is requested.
45592         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45593         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45594         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45595         * modules/sys_socket (Depends-on): Add link-warning.
45596         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45597         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45598         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45599         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45600         GL_LINK_WARNING.
45601         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45602         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45603         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45604         * doc/posix-functions/getpeername.texi: Mention the new module
45605         'getpeername'.
45606         * doc/posix-functions/getsockname.texi: Mention the new module
45607         'getsockname'.
45608         * doc/posix-functions/getsockopt.texi: Mention the new module
45609         'getsockopt'.
45610         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45611         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45612         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45613         * doc/posix-functions/send.texi: Mention the new module 'send'.
45614         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45615         * doc/posix-functions/setsockopt.texi: Mention the new module
45616         'setsockopt'.
45617         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45618         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45619         listen, connect, accept.
45620         * modules/select-tests (Depends-on): Likewise.
45621
45622 2008-10-05  Bruno Haible  <bruno@clisp.org>
45623
45624         * lib/winsock.c (strerror): Remove unused #undef.
45625         (rpl_close): Remove unused local variable.
45626
45627         * modules/sys_socket (Depends-on); Add errno.
45628
45629 2008-10-05  Bruno Haible  <bruno@clisp.org>
45630
45631         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45632         (select): Add a link warning when the 'select' module is not used.
45633         * modules/sys_select (Depends-on): Add link-warning.
45634         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45635         Suggested by Paolo Bonzini.
45636
45637 2008-10-05  Jim Meyering  <meyering@redhat.com>
45638
45639         bootstrap: check for LT_INIT more portably
45640         * build-aux/bootstrap: Avoid using grep -E, since it's not
45641         portable enough.  Suggestion from Bruno Haible.
45642
45643 2008-10-05  Bruno Haible  <bruno@clisp.org>
45644
45645         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45646         as being fixed by gnulib.
45647
45648 2008-10-05  Bruno Haible  <bruno@clisp.org>
45649
45650         * modules/select-tests: New file, mostly copied from
45651         modules/sys_select-tests.
45652         * tests/test-select.c: New file, mostly copied from
45653         tests/test-sys_select.c.
45654         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45655         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45656         (Makefile.am): Remove test_sys_select_LDADD.
45657
45658         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45659         to an undefined symbol, for an error message.
45660         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45661         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45662         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45663         winsock-select.c here.
45664         * modules/sys_select (Files): Remove lib/winsock-select.c.
45665         (Depends-on): Remove alloca.
45666         (Makefile.am): Substitute GNULIB_SELECT.
45667         * modules/select: New file.
45668         * doc/posix-functions/select.texi: Update.
45669
45670 2008-10-05  Bruno Haible  <bruno@clisp.org>
45671
45672         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45673         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45674         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45675         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45676         getdtablesize.
45677         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45678         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45679
45680 2008-10-05  Bruno Haible  <bruno@clisp.org>
45681
45682         * modules/getdtablesize-tests: New file.
45683         * tests/test-getdtablesize.c: New file.
45684
45685         New module 'getdtablesize'.
45686         * lib/unistd.in.h (getdtablesize): New declaration.
45687         * lib/getdtablesize.c: New file.
45688         * m4/getdtablesize.m4: New file.
45689         * modules/getdtablesize: New file.
45690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45691         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45692         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45693         HAVE_GETDTABLESIZE.
45694         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45695
45696 2008-10-05  Bruno Haible  <bruno@clisp.org>
45697
45698         * modules/sched (Makefile.am): Fix typo.
45699         Reported by Simon Josefsson.
45700
45701 2008-10-05  Jim Meyering  <meyering@redhat.com>
45702
45703         bootstrap: check for LT_INIT, too
45704         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45705         are deprecated.  Suggestion from Ralf Wildenhues.
45706
45707 2008-10-05  Bruno Haible  <bruno@clisp.org>
45708
45709         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45710         overriding them by ours.
45711         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45712
45713 2008-10-05  Jim Meyering  <meyering@redhat.com>
45714
45715         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45716         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45717         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45718
45719 2008-10-04  Bruno Haible  <bruno@clisp.org>
45720
45721         * modules/dup2 (License): Change to LGPLv2+.
45722         * modules/sleep (License): Likewise.
45723         * modules/perror (License): Likewise.
45724         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45725         Blake.
45726         * modules/signal (License): Likewise.
45727         * modules/sigprocmask (License): Likewise.
45728         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45729         Meyering.
45730
45731 2008-10-04  Bruno Haible  <bruno@clisp.org>
45732
45733         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45734         Reported by Rainer Tammer <tammer@tammer.net>.
45735
45736 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45737             Bruno Haible  <bruno@clisp.org>
45738
45739         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45740         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45741         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45742
45743 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45744
45745         filevercmp: new module
45746         * lib/filevercmp.h: New function filevercmp comparing version strings.
45747         * lib/filevercmp.c: Implementation of filevercmp function.
45748         * modules/filevercmp: Module metadata.
45749         * tests/test-filevercmp.c: Unit test for new module.
45750         * modules/filevercmp-tests: Unit test metadata.
45751         * MODULES.html.sh: Add filevercmp module.
45752
45753 2008-10-03  Bruno Haible  <bruno@clisp.org>
45754
45755         * lib/c-ctype.h: Add comment.
45756         Reported by Jim Meyering.
45757
45758 2008-10-02  Bruno Haible  <bruno@clisp.org>
45759
45760         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45761
45762 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45763
45764         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45765         name of bootstrap.conf accordingly.
45766
45767 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45768
45769         * build-aux/bootstrap: Install git-merge-changelog configuration
45770         items into .gitconfig if needed.
45771
45772 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45773
45774         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45775         git repository, and initialize/update it accordingly.
45776
45777 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45778
45779         * modules/fsync-tests: New file.
45780         * tests/test-fsync.c: New file.
45781
45782         New module 'fsync'.
45783         * lib/fsync.c: New file.
45784         * m4/fsync.m4: New file.
45785         * modules/fsync: New file.
45786         * lib/unistd.in.h (fsync): New declaration.
45787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45788         GNULIB_FSYNC and HAVE_FSYNC.
45789         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45790         * MODULES.html.sh (posix_functions): Add fsync.
45791         * doc/posix-functions/fsync.texi: Mention the new module.
45792
45793 2008-10-02  Jim Meyering  <meyering@redhat.com>
45794
45795         fts.c: sync with similar code from coreutils' remove.c
45796         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45797         Guard also with "#if defined __linux__", since for now at least,
45798         this code is Linux-kernel-specific.
45799
45800 2008-10-02  Jim Meyering  <meyering@redhat.com>
45801
45802         fts: bug fixes
45803         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45804         Include <sys/vfs.h>, not <sys/statfs.h>.
45805
45806         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45807         Include <sys/vfs.h>, not <sys/statfs.h>.
45808
45809 2008-10-01  Bruno Haible  <bruno@clisp.org>
45810
45811         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45812         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45813         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45814         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45815         * doc/posix-functions/posix_spawnp.texi: Likewise.
45816         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45817         whether posix_spawn actually works.
45818         * m4/pipe.m4 (gl_PIPE): Likewise.
45819         * modules/execute (Files): Add m4/posix_spawn.m4.
45820         * modules/pipe (Files): Add m4/posix_spawn.m4.
45821         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45822
45823 2008-10-01  Jim Meyering  <meyering@redhat.com>
45824
45825         remove trailing spaces
45826         * NEWS: Likewise.
45827         * lib/poll.c (poll): Likewise.
45828         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45829         * lib/winsock.c (rpl_close): Likewise.
45830         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45831         * modules/yield: Likewise.
45832         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45833         * tests/test-sys_select.c (connect_to_socket): Likewise.
45834
45835         fts.c: adjust a new interface to be more generally useful
45836         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45837         (fts_build): Adjust caller.
45838
45839 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45840
45841         * modules/cond-tests: New file.
45842         * tests/test-cond.c: New file.
45843
45844 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45845             Bruno Haible  <bruno@clisp.org>
45846
45847         * modules/cond (Dependencies): Add errno, time.
45848         * lib/glthread/cond.h: Include <time.h>.
45849         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45850         across platforms.
45851
45852 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45853             Bruno Haible  <bruno@clisp.org>
45854
45855         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45856
45857 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45858             Bruno Haible  <bruno@clisp.org>
45859
45860         * modules/tls-tests (Depends-on): Add thread, yield.
45861         (configure.ac): Remove all checks.
45862         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45863         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45864         gl_thread_self): Remove definitions. Include glthread/thread.h and
45865         glthread/yield.h instead.
45866         (test_tls): Pass an additional NULL argument to gl_thread_join.
45867
45868 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45869             Bruno Haible  <bruno@clisp.org>
45870
45871         * modules/lock-tests (Depends-on): Add thread, yield.
45872         (configure.ac): Remove all checks.
45873         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45874         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45875         gl_thread_self): Remove definitions. Include glthread/thread.h and
45876         glthread/yield.h instead.
45877         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45878         additional NULL argument to gl_thread_join.
45879
45880 2008-09-30  Bruno Haible  <bruno@clisp.org>
45881
45882         Fix the Win32 implementation of the 'thread' module.
45883         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45884         pointer type.
45885         (gl_thread_self): Invoke gl_thread_self_func.
45886         (gl_thread_self_func): New declaration.
45887         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45888         (do_init_self_key, init_self_key): New functions.
45889         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45890         Remove some fields.
45891         (running_threads, running_lock): Remove variables.
45892         (get_current_thread_handle): New function.
45893         (gl_thread_self_func, wrapper_func, glthread_create_func,
45894         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45895         simplified.
45896
45897 2008-09-30  Bruno Haible  <bruno@clisp.org>
45898
45899         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45900         files.
45901
45902 2008-09-30  Jim Meyering  <meyering@redhat.com>
45903
45904         fts.m4: correct the test for statfs.f_type
45905         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45906         when checking for statfs.f_type.
45907
45908 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45909
45910         tests: avoid some compiler warnings
45911         * tests/test-memchr.c (main): Pass NULL indirectly.
45912         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45913
45914 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
45915
45916         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45917         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45918         exactly specified dayshifts.
45919         (dayshift): New rule.
45920         (rel): Add dayshift.
45921         (relative_time_table) [tomorrow, yesterday, today, now]:
45922         Use tDAY_SHIFT in place of tDAY_UNIT.
45923         * tests/test-getdate.c: Add tests for now-disallowed countable
45924         dayshifts, e.g., "4 yesterday ago".
45925
45926 2008-09-29  Bruno Haible  <bruno@clisp.org>
45927
45928         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45929         * tests/test-posix_spawn1.in.sh: Renamed from
45930         tests/test-posix_spawn.in.sh.
45931         * tests/test-posix_spawn2.c: New file.
45932         * tests/test-posix_spawn2.in.sh: New file.
45933         * modules/posix_spawnp-tests (Files): Update.
45934         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45935
45936 2008-09-29  Bruno Haible  <bruno@clisp.org>
45937
45938         Propagate effects of putenv/setenv/unsetenv to child processes.
45939         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45940         * lib/pipe.c (create_pipe): Likewise.
45941
45942 2008-09-29  Bruno Haible  <bruno@clisp.org>
45943
45944         Enable use of shell scripts as executables in mingw.
45945         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45946         run the program as a shell script.
45947         * lib/pipe.c (create_pipe): Likewise.
45948         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45949         resulting array.
45950
45951 2008-09-29  Eric Blake  <ebb9@byu.net>
45952
45953         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45954
45955 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45956
45957         * doc/posix-functions/accept.texi: Update mingw problems.
45958         * doc/posix-functions/bind.texi: Update mingw problems.
45959         * doc/posix-functions/close.texi: Update mingw problems.
45960         * doc/posix-functions/connect.texi: Update mingw problems.
45961         * doc/posix-functions/getpeername.texi: Update mingw problems.
45962         * doc/posix-functions/getsockname.texi: Update mingw problems.
45963         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45964         * doc/posix-functions/ioctl.texi: Update mingw problems.
45965         * doc/posix-functions/listen.texi: Update mingw problems.
45966         * doc/posix-functions/recv.texi: Update mingw problems.
45967         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45968         * doc/posix-functions/select.texi: Update mingw problems.
45969         * doc/posix-functions/send.texi: Update mingw problems.
45970         * doc/posix-functions/sendto.texi: Update mingw problems.
45971         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45972         * doc/posix-functions/socket.texi: Update mingw problems.
45973
45974 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45975             Bruno Haible  <bruno@clisp.org>
45976
45977         * lib/sys_select.in.h: Include sys/time.h.
45978         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45979         * modules/sys_select: Depend on sys_time.
45980         * tests/test-sys_select.c: Test that sys/select.h defines struct
45981         timeval fully.
45982
45983 2008-09-29  Bruno Haible  <bruno@clisp.org>
45984
45985         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45986         * lib/sys_select.in.h: Likewise.
45987
45988 2008-09-29  Bruno Haible  <bruno@clisp.org>
45989
45990         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45991
45992 2008-09-29  Bruno Haible  <bruno@clisp.org>
45993
45994         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45995         Set LIBSOCKET instead of augmenting LIBS.
45996         * modules/sockets (Link): New section.
45997         * modules/sockets-tests (test_sockets_LDADD): New variable.
45998         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45999         * modules/poll-tests (test_poll_LDADD): New variable.
46000         * NEWS: Document the change.
46001
46002 2008-09-29  Bruno Haible  <bruno@clisp.org>
46003
46004         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
46005         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
46006         ARPA_INET_H directly.
46007         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46008
46009 2008-09-28  Bruno Haible  <bruno@clisp.org>
46010
46011         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
46012         from gl_HEADER_SYS_SOCKET.
46013         (gl_HEADER_SYS_SOCKET): Invoke it.
46014         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46015
46016 2008-09-28  Bruno Haible  <bruno@clisp.org>
46017
46018         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
46019         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
46020         Needed on OSF/1 4.0.
46021
46022 2008-09-28  Bruno Haible  <bruno@clisp.org>
46023
46024         Override open more carefully.
46025         * lib/open.c (orig_open): New function.
46026         (rpl_open): Use orig_open instead of open.
46027         * lib/fcntl.in.h: Add special invocation convention.
46028         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
46029         (gl_FUNC_OPEN): Invoke it.
46030
46031         Override freopen more carefully.
46032         * lib/freopen.c (orig_freopen): New function.
46033         (rpl_freopen): Use orig_freopen instead of freopen.
46034         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
46035         (gl_FUNC_FREOPEN): Invoke it.
46036
46037         Override fopen more carefully.
46038         * lib/fopen.c (orig_fopen): New function.
46039         (rpl_fopen): Use orig_fopen instead of fopen.
46040         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
46041         (gl_FUNC_FOPEN): Invoke it.
46042         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
46043
46044 2008-09-28  Bruno Haible  <bruno@clisp.org>
46045
46046         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
46047         SIGPIPE.
46048
46049 2008-09-28  Bruno Haible  <bruno@clisp.org>
46050
46051         * tests/test-sigaction.c (handler, main): Disable the check whether
46052         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
46053         glibc systems with LinuxThreads.
46054
46055 2008-09-28  Bruno Haible  <bruno@clisp.org>
46056
46057         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
46058
46059         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
46060         with AIX xlc.
46061         * lib/fcntl.in.h (open): Likewise.
46062         Reported by Rainer Tammer <tammer@tammer.net>.
46063
46064 2008-09-28  Bruno Haible  <bruno@clisp.org>
46065
46066         * modules/posix_spawnp-tests: New file.
46067         * tests/test-posix_spawn.c: New file.
46068         * tests/test-posix_spawn.in.sh: New file.
46069
46070         New module 'posix_spawnp'.
46071         * modules/posix_spawnp: New file.
46072         * lib/spawnp.c: New file, from GNU libc with modifications.
46073         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
46074
46075         New module 'posix_spawn'.
46076         * modules/posix_spawn: New file.
46077         * lib/spawn.c: New file, from GNU libc with modifications.
46078         * doc/posix-functions/posix_spawn.texi: Mention the new module.
46079
46080         New module 'posix_spawnattr_destroy'.
46081         * modules/posix_spawnattr_destroy: New file.
46082         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
46083         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
46084         module.
46085
46086         New module 'posix_spawnattr_setsigmask'.
46087         * modules/posix_spawnattr_setsigmask: New file.
46088         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
46089         modifications.
46090         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
46091         new module.
46092
46093         New module 'posix_spawnattr_getsigmask'.
46094         * modules/posix_spawnattr_getsigmask: New file.
46095         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
46096         modifications.
46097         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
46098         new module.
46099
46100         New module 'posix_spawnattr_setsigdefault'.
46101         * modules/posix_spawnattr_setsigdefault: New file.
46102         * lib/spawnattr_setdefault.c: New file, from GNU libc with
46103         modifications.
46104         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
46105         new module.
46106
46107         New module 'posix_spawnattr_getsigdefault'.
46108         * modules/posix_spawnattr_getsigdefault: New file.
46109         * lib/spawnattr_getdefault.c: New file, from GNU libc with
46110         modifications.
46111         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
46112         new module.
46113
46114         New module 'posix_spawnattr_setschedpolicy'.
46115         * modules/posix_spawnattr_setschedpolicy: New file.
46116         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
46117         modifications.
46118         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
46119         new module.
46120
46121         New module 'posix_spawnattr_getschedpolicy'.
46122         * modules/posix_spawnattr_getschedpolicy: New file.
46123         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
46124         modifications.
46125         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
46126         new module.
46127
46128         New module 'posix_spawnattr_setschedparam'.
46129         * modules/posix_spawnattr_setschedparam: New file.
46130         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
46131         modifications.
46132         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
46133         new module.
46134
46135         New module 'posix_spawnattr_getschedparam'.
46136         * modules/posix_spawnattr_getschedparam: New file.
46137         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
46138         modifications.
46139         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
46140         new module.
46141
46142         New module 'posix_spawnattr_setpgroup'.
46143         * modules/posix_spawnattr_setpgroup: New file.
46144         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
46145         modifications.
46146         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
46147         module.
46148
46149         New module 'posix_spawnattr_getpgroup'.
46150         * modules/posix_spawnattr_getpgroup: New file.
46151         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
46152         modifications.
46153         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
46154         module.
46155
46156         New module 'posix_spawnattr_setflags'.
46157         * modules/posix_spawnattr_setflags: New file.
46158         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
46159         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
46160         module.
46161
46162         New module 'posix_spawnattr_getflags'.
46163         * modules/posix_spawnattr_getflags: New file.
46164         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
46165         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
46166         module.
46167
46168         New module 'posix_spawnattr_init'.
46169         * modules/posix_spawnattr_init: New file.
46170         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46171         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46172         module.
46173
46174         New module 'posix_spawn_file_actions_destroy'.
46175         * modules/posix_spawn_file_actions_destroy: New file.
46176         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46177         modifications.
46178         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46179         the new module.
46180
46181         New module 'posix_spawn_file_actions_addopen'.
46182         * modules/posix_spawn_file_actions_addopen: New file.
46183         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46184         modifications.
46185         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46186         the new module.
46187
46188         New module 'posix_spawn_file_actions_adddup2'.
46189         * modules/posix_spawn_file_actions_adddup2: New file.
46190         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46191         modifications.
46192         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46193         the new module.
46194
46195         New module 'posix_spawn_file_actions_addclose'.
46196         * modules/posix_spawn_file_actions_addclose: New file.
46197         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46198         modifications.
46199         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46200         the new module.
46201
46202         New module 'posix_spawn_file_actions_init'.
46203         * modules/posix_spawn_file_actions_init: New file.
46204         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46205         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46206         new module.
46207
46208         New module 'posix_spawn-internal'.
46209         * modules/posix_spawn-internal: New file.
46210         * lib/spawn_int.h: New file, from GNU libc with modifications.
46211         * lib/spawni.c: New file, from GNU libc with modifications.
46212         * m4/posix_spawn.m4: New file.
46213
46214         New module 'spawn'.
46215         * modules/spawn: New file.
46216         * lib/spawn.in.h: New file, from GNU libc with modifications.
46217         * m4/spawn_h.m4: New file.
46218         * doc/posix-headers/spawn.texi: Mention the new module.
46219
46220 2008-09-28  Bruno Haible  <bruno@clisp.org>
46221
46222         * modules/sched-tests: New file.
46223         * tests/test-sched.c: New file.
46224
46225         New module 'sched'.
46226         * modules/sched: New file.
46227         * lib/sched.in.h: New file.
46228         * m4/sched_h.m4: New file.
46229         * doc/posix-headers/sched.texi: Mention the new module.
46230
46231 2008-09-27  Eric Blake  <ebb9@byu.net>
46232
46233         Fix previous patch, and tweak references to $0.
46234         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46235         (func_version, func_gnulib_dir): Don't call this program
46236         gnulib-tool.
46237         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46238         with using $0 in function.
46239         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46240         (func_fatal_error): Reuse the name the user invoked us with.
46241
46242 2008-09-27  Bruno Haible  <bruno@clisp.org>
46243
46244         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46245         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46246         (gl_ICONV_H): Not here.
46247         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46248         instead of assigning ICONV_H directly.
46249
46250         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46251         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46252         WCHAR_H directly.
46253
46254 2008-09-27  Bruno Haible  <bruno@clisp.org>
46255
46256         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46257         * modules/arpa_inet (Depends-on): Add link-warning.
46258         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46259         * modules/unistd (Makefile.am): Likewise.
46260
46261 2008-09-26  Bruno Haible  <bruno@clisp.org>
46262
46263         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46264         variables.
46265         (func_version): Essentially copied from gnulib-tool.
46266         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46267         func_readlink): Copied from gnulib-tool.
46268
46269 2008-09-26  Bruno Haible  <bruno@clisp.org>
46270
46271         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46272         invoking git-version-gen.
46273
46274 2008-09-26  Bruno Haible  <bruno@clisp.org>
46275
46276         * posix-modules: Update to directory names changed on 2008-01-19.
46277         Remove commas in output before splitting into words. No more need to
46278         avoid 'ftruncate' since 2007-02-19.
46279
46280 2008-09-26  Bruno Haible  <bruno@clisp.org>
46281
46282         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46283
46284 2008-09-26  Bruno Haible  <bruno@clisp.org>
46285
46286         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46287         * modules/fwriteerror (Depends-on): Add errno.
46288
46289 2008-09-26  Bruno Haible  <bruno@clisp.org>
46290
46291         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46292         * tests/test-vc-list-files-cvs.sh: Likewise.
46293
46294 2008-09-26  Bruno Haible  <bruno@clisp.org>
46295
46296         * doc/posix-headers/sys_resource.texi: Reorder items.
46297
46298 2008-09-26  Jim Meyering  <meyering@redhat.com>
46299
46300         fts: tweak inode comparison function
46301         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46302         inode numbers, as documented.
46303
46304         fts: sort dirent entries on inode number before traversing
46305         This avoids a quadratic, seek-related performance penalty when
46306         operating on a directory containing many entries (measurable at 10k;
46307         3.5 hours at 2 million entries with a cold cache) on certain types
46308         of file systems, including ext3 and ext4, but not tmpfs.
46309         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46310         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46311         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46312         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46313         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46314         (fts_build): Set the stat.st_ino member from D_INO.
46315         If it is likely to be useful, sort dirent entries on inode number.
46316
46317         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46318         and the struct statfs.f_type member.
46319         * modules/fts (Depends-on): Add d-ino.
46320
46321 2008-09-26  Bruno Haible  <bruno@clisp.org>
46322
46323         * modules/sigpipe-die (Depends-on): Add sigpipe.
46324
46325         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46326         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46327         and GNULIB_STDIO_H_SIGPIPE are set.
46328         * lib/stdio-write.c: New file.
46329         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46330         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46331         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46332         REPLACE_STDIO_WRITE_FUNCS.
46333         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46334         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46335         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46336         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46337         * modules/stdio (Files): Add lib/stdio-write.c.
46338         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46339         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46340         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46341         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46342         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46343         REPLACE_FPRINTF_POSIX.
46344         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46345         REPLACE_PRINTF_POSIX.
46346         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46347         REPLACE_VFPRINTF_POSIX.
46348         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46349         REPLACE_VPRINTF_POSIX.
46350         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46351         SIGPIPE issue.
46352         * doc/posix-functions/fputc.texi: Likewise.
46353         * doc/posix-functions/fputs.texi: Likewise.
46354         * doc/posix-functions/fwrite.texi: Likewise.
46355         * doc/posix-functions/printf.texi: Likewise.
46356         * doc/posix-functions/putc.texi: Likewise.
46357         * doc/posix-functions/putchar.texi: Likewise.
46358         * doc/posix-functions/puts.texi: Likewise.
46359         * doc/posix-functions/vfprintf.texi: Likewise.
46360         * doc/posix-functions/vprintf.texi: Likewise.
46361
46362         * modules/safe-write (Depends-on): Add write.
46363
46364         * modules/sigpipe-tests: New file.
46365         * tests/test-sigpipe.c: New file.
46366         * tests/test-sigpipe.sh: New file.
46367
46368         * modules/write: New file.
46369         * lib/unistd.in.h: Include <sys/types.h>.
46370         (write): New declaration.
46371         * lib/write.c: New file.
46372         * m4/write.m4: New file.
46373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46374         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46375         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46376         GNULIB_WRITE, REPLACE_WRITE.
46377         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46378         and the SIGPIPE issue.
46379
46380         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46381         (raise): New declaration.
46382         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46383         (ext_signal): New function.
46384         (rpl_raise): New function.
46385         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46386         GNULIB_SIGNAL_H_SIGPIPE.
46387         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46388         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46389
46390         * modules/sigpipe: New file.
46391         * m4/sigpipe.m4: New file.
46392
46393 2008-09-25  Derek Price  <derek@ximbiot.com>
46394             Bruno Haible  <bruno@clisp.org>
46395
46396         * gnulib-tool (func_import): Report all license incompatibilities, not
46397         just the first one.
46398
46399 2008-09-25  Bruno Haible  <bruno@clisp.org>
46400
46401         * gnulib-tool (func_import): When computing the edits, consider not
46402         only the Makefile.ams that exist but also those that will be generated.
46403
46404 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46405
46406         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46407         fixes gnulib-tool --test warning about duplicate dependency.
46408
46409 2008-09-25  Bruno Haible  <bruno@clisp.org>
46410
46411         * gnulib-tool: Don't ask the user to perform edits in the generated
46412         Makefile.ams.
46413         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46414         apply to the Makefile.am being generated.
46415         (func_emit_tests_Makefile_am): Execute edits that apply to the
46416         Makefile.am being generated.
46417         (func_import): Setup list of Makefile.am edits before emitting the
46418         Makefile.ams, not at the end.
46419         (func_create_testdir): Update.
46420         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46421
46422 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46423
46424         * gnulib-tool (func_import): Store the --tests-base option in the
46425         comment in gnulib-cache.m4.
46426
46427 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46428
46429         * NEWS: Document increased portability that sys_select now provides.
46430
46431         * lib/sys_select.in.h: Install select wrapper.
46432         * lib/sys_socket.in.h: Use more descriptive name when there is no
46433         select wrapper.
46434         * lib/winsock-select.c: New.
46435         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46436         Require gl_HEADER_SYS_SOCKET.
46437         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46438         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46439         * tests/test-sys_select.c: Add functional tests.
46440
46441 2008-09-24  Eric Blake  <ebb9@byu.net>
46442
46443         open, fopen: close fd leak in last patch
46444         * lib/open.c (rpl_open): Close fd before returning error.
46445         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46446         * doc/posix-functions/open.texi (open): Document that Irix also
46447         has the bug.
46448         * doc/posix-functions/fopen.texi (fopen): Likewise.
46449         Reported by Paolo Bonzini.
46450
46451 2008-09-24  Bruno Haible  <bruno@clisp.org>
46452
46453         Ensure that a filename ending in a slash cannot be used to access a
46454         non-directory.
46455         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46456         to check whether it's really a directory.
46457         * lib/fopen.c: Include fcntl.h, unistd.h.
46458         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46459         and fdopen().
46460         * modules/fopen (Depends-on): Add unistd.
46461         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46462         * tests/test-fopen.c (main): Likewise.
46463         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46464         * doc/posix-functions/fopen.texi: Likewise.
46465         Reported by Eric Blake.
46466
46467 2008-09-23  Eric Blake  <ebb9@byu.net>
46468
46469         c-stack: avoid compiler optimizations when provoking overflow
46470         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46471         recursion harder to optimize, to ensure a stack overflow occurs.
46472         * tests/test-c-stack.c (recurse): Likewise.
46473         Borrowed from libsigsegv.
46474
46475         c-stack: work around Irix sigaltstack bug
46476         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46477         whether sigaltstack uses wrong end of stack_t (copied in part from
46478         libsigsegv).
46479         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46480         Irix bug, without requiring an over-allocation.
46481         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46482         bug.
46483
46484         fopen: document mingw bug on directories
46485         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46486         not allowing a stream visiting a directory, even though reading
46487         from such a stream is not portable.
46488
46489 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46490
46491         * lib/poll.c: Rewrite.
46492         * modules/poll: Depend on alloca.
46493
46494 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46495
46496         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46497         instead define prototypes for a full set of wrappers.  Ensure
46498         that Cygwin does not use the compatibility code, which is only
46499         for MinGW.
46500         * lib/winsock.c: New.
46501         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46502         * modules/sys_socket: Add lib/winsock.c.
46503
46504         * modules/poll-tests: Add errno and perror.
46505         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46506
46507 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46508
46509         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46510
46511 2008-09-23  Bruno Haible  <bruno@clisp.org>
46512
46513         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46514         * doc/glibc-functions/*: Likewise.
46515
46516 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46517
46518         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46519         success.
46520
46521 2008-09-22  Eric Blake  <ebb9@byu.net>
46522             Bruno Haible  <bruno@clisp.org>
46523
46524         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46525         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46526         supply %A but mishandle pseudo-NaN.
46527         Reported by Simon Josefsson.
46528
46529 2008-09-21  Bruno Haible  <bruno@clisp.org>
46530
46531         * tests/test-lock.c (main): Tweak skip message.
46532         * tests/test-tls.c (main): Likewise.
46533
46534 2008-09-21  Bruno Haible  <bruno@clisp.org>
46535
46536         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46537         whether 'struct sigaction' has sa_sigaction here...
46538         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46539         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46540
46541 2008-09-21  Bruno Haible  <bruno@clisp.org>
46542
46543         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46544         section.
46545         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46546         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46547         the new section.
46548         (Support for obsolete systems lacking POSIX:2001): New section.
46549         (String handling <string.h>): Move strdup to the new section.
46550         Suggested by Simon Josefsson and Paolo Bonzini.
46551
46552 2008-09-21  Bruno Haible  <bruno@clisp.org>
46553
46554         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46555         exponents in %e and %g results on 'long double'. Needed for mingw's
46556         improved *printf functions.
46557         * tests/test-vasprintf-posix.c (test_function): Likewise.
46558         * tests/test-snprintf-posix.h (test_function): Likewise.
46559         * tests/test-sprintf-posix.h (test_function): Likewise.
46560         Reported by Eric Blake.
46561
46562 2008-09-21  Bruno Haible  <bruno@clisp.org>
46563
46564         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46565         * tests/test-sprintf-posix.h (test_function): Likewise.
46566
46567 2008-09-21  Bruno Haible  <bruno@clisp.org>
46568
46569         * modules/getpass (Depends-on): Add strdup-posix.
46570
46571         New module 'strdup-posix'.
46572         * modules/strdup-posix: New file.
46573         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46574         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46575         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46576         REPLACE_STRDUP.
46577         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46578         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46579         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46580         strdup-posix.
46581
46582         * modules/strdup (Depends-on): Remove malloc-posix.
46583
46584 2008-09-20  Bruno Haible  <bruno@clisp.org>
46585
46586         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46587         Wildenhues.
46588
46589 2008-09-20  Bruno Haible  <bruno@clisp.org>
46590
46591         Ensure that wint_t gets defined on IRIX 5.3.
46592         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46593         * lib/wctype.in.h (wint_t): Likewise.
46594         (__wctype_wint_t): Remove type.
46595         (isw*): Use wint_t instead of __wctype_wint_t.
46596         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46597         * modules/wchar (Files): Add m4/wint_t.m4.
46598         (Makefile.am): Substitute HAVE_WINT_T.
46599         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46600         * tests/test-wctype.c: Check that wint_t is defined.
46601         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46602         * doc/posix-headers/wctype.texi: Likewise.
46603         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46604
46605 2008-09-18  Bruno Haible  <bruno@clisp.org>
46606
46607         * gnulib-tool (func_exit): Update comment.
46608
46609 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46610
46611         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46612         assumes strdup exists and does not depend on strdup to return
46613         ENOMEM on out of memory conditions.
46614
46615 2008-09-18  Bruno Haible  <bruno@clisp.org>
46616
46617         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
46618         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46619         digits for the exponent.
46620
46621 2008-09-18  Jim Meyering  <meyering@redhat.com>
46622             Bruno Haible  <bruno@clisp.org>
46623
46624         * lib/vasnprintf.c (decimal_point_char): Define also if
46625         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46626
46627 2008-09-16  Bruno Haible  <bruno@clisp.org>
46628         and Eric Blake  <ebb9@byu.net>
46629
46630         vasnprintf: support Irix 5.3
46631         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46632         that mishandle long double infinity.
46633         Reported by Tom G. Christensen.
46634
46635 2008-09-16  Bruno Haible  <bruno@clisp.org>
46636
46637         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46638         Solaris 9.
46639         * doc/glibc-functions/alphasort.texi: Likewise.
46640         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46641
46642 2008-09-16  Jim Meyering  <meyering@redhat.com>
46643
46644         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46645         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46646         a umask modification leak out of a subshell.  Otherwise, the
46647         opensolaris /bin/sh would be accepted and thus cause unwarranted
46648         failures in the coreutils test suite.
46649
46650 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46651
46652         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46653         to succeed.
46654
46655 2008-09-16  Jim Meyering  <meyering@redhat.com>
46656
46657         avoid spurious test failure when library is built without ACL support
46658         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46659         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46660         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46661         * tests/test-copy-acl.sh: Likewise.
46662
46663 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46664
46665         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46666         based on character occurrence counts.
46667
46668 2008-09-15  Eric Blake  <ebb9@byu.net>
46669
46670         tests: avoid some compiler warnings
46671         * tests/test-memchr.c (main): Pass NULL indirectly.
46672         * tests/test-closein.c (main): Avoid unused variable.
46673
46674 2008-09-15  Bruno Haible  <bruno@clisp.org>
46675
46676         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46677         are missing on OpenBSD 4.0 individually.
46678         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46679
46680 2008-09-15  Bruno Haible  <bruno@clisp.org>
46681
46682         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46683         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46684         * doc/posix-functions/perror.texi: Likewise.
46685         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46686         is missing.
46687         Reported by Eric Blake.
46688
46689         * lib/errno.in.h: Use replacement values >= 2000.
46690         Reported by Eric Blake.
46691
46692 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46693
46694         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46695         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46696         limit.
46697         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46698         compareseq was aborted.
46699
46700 2008-09-14  Bruno Haible  <bruno@clisp.org>
46701
46702         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46703         yvec_edit_count.
46704         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46705         (fstrcmp_bounded): Simplify result computation accordingly.
46706
46707 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46708
46709         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46710         (fstrcmp): Define in terms of fstrcmp_bounded.
46711         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46712         lower_bound argument.
46713         Return quickly if the result is certainly < lower_bound.
46714         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46715
46716 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46717
46718         * lib/diffseq.h (EARLY_ABORT): New macro.
46719         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46720         evaluates to true.
46721
46722 2008-09-14  Bruno Haible  <bruno@clisp.org>
46723
46724         * modules/perror-tests: New file.
46725         * tests/test-perror.sh: New file.
46726         * tests/test-perror.c: New file.
46727
46728         New module 'perror'.
46729         * lib/stdio.in.h (perror): New declaration.
46730         * lib/perror.c: New file.
46731         * m4/perror.m4: New file.
46732         * modules/perror: New file.
46733         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46734         * doc/posix-functions/perror.texi: Mention the perror module.
46735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46736         REPLACE_PERROR.
46737         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46738         REPLACE_PERROR.
46739
46740 2008-09-14  Bruno Haible  <bruno@clisp.org>
46741
46742         * modules/stdio (Makefile.am): Reorder to match the order in
46743         lib/stdio.in.h.
46744         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46745
46746 2008-09-13  Bruno Haible  <bruno@clisp.org>
46747
46748         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46749
46750 2008-09-13  Bruno Haible  <bruno@clisp.org>
46751
46752         Extend strerror to cover the added errno values.
46753         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46754         (rpl_strerror): Provide error messages for the added errno values and
46755         for the WSA* values.
46756         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46757         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46758         strerror.
46759         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46760         * modules/strerror (Depends-on): Add errno.
46761         * doc/posix-functions/strerror.texi: Document the change.
46762         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46763         and EOVERFLOW.
46764
46765 2008-09-13  Bruno Haible  <bruno@clisp.org>
46766
46767         * modules/EOVERFLOW: Remove file.
46768         * m4/eoverflow.m4: Remove file.
46769         * modules/EOVERFLOW-tests: Remove file.
46770         * tests/test-EOVERFLOW.c: Remove file.
46771         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46772         * modules/ftell (Depends-on): Likewise.
46773         * modules/getdelim (Depends-on): Likewise.
46774         * modules/getugroups (Depends-on): Likewise.
46775         * modules/poll (Depends-on): Likewise.
46776         * modules/snprintf (Depends-on): Likewise.
46777         * modules/sprintf-posix (Depends-on): Likewise.
46778         * modules/vasnprintf (Depends-on): Likewise.
46779         * modules/vasprintf (Depends-on): Likewise.
46780         * modules/vfprintf-posix (Depends-on): Likewise.
46781         * modules/vsnprintf (Depends-on): Likewise.
46782         * modules/vsprintf-posix (Depends-on): Likewise.
46783         * modules/xvasprintf (Depends-on): Likewise.
46784         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46785         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46786         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46787         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46788         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46789         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46790         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46791         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46792         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46793         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46794         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46795         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46796         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46797         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46798         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46799         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46800         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46801         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46802         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46803         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46804         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46805         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46806         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46807         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46808         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46809         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46810         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46811         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46812         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46813         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46814         * MODULES.html.sh: Remove EOVERFLOW.
46815         * NEWS: Mention the change.
46816
46817 2008-09-13  Bruno Haible  <bruno@clisp.org>
46818
46819         * modules/errno-tests: New file.
46820         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46821
46822         * lib/errno.in.h: New file.
46823         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46824         * modules/errno: New file.
46825         * doc/posix-headers/errno.texi: Update documentation.
46826         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46827
46828 2008-09-13  Bruno Haible  <bruno@clisp.org>
46829
46830         * tests/test-poll.c: Use #if for native Windows, rather than testing
46831         __MSVCRT__.
46832
46833 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46834             Bruno Haible  <bruno@clisp.org>
46835
46836         * lib/glob.c: Don't include <pwd.h> on native Windows.
46837         (WINDOWS32): New macro.
46838         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46839
46840 2008-09-13  Bruno Haible  <bruno@clisp.org>
46841
46842         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46843         (ETIMEDOUT): Remove macro.
46844         (glthread_cond_timedwait_multithreaded): New declaration.
46845         (glthread_cond_timedwait): Use it.
46846         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46847         (glthread_cond_timedwait_multithreaded): New function.
46848
46849 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46850
46851         * modules/poll-tests: Do not check for io.h.
46852         * tests/test-poll.c: Check for __MSVCRT__ instead.
46853
46854 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46855
46856         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46857         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46858         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46859
46860 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46861
46862         * modules/poll-tests: New.
46863         * tests/test-poll.c: New.
46864
46865 2008-09-12  Eric Blake  <ebb9@byu.net>
46866
46867         frexp: test for NetBSD failure on -0.0
46868         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46869         not all, bugs from NetBSD 3.0 have been fixed.
46870         * doc/posix-functions/frexp.texi (frexp): Document bug.
46871         Reported by Thomas Klausner.
46872
46873         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46874         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46875         literal -0.0.
46876         Reported by Jonathan C. Patschke <jp@centtech.com>.
46877
46878 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46879
46880         * lib/glthread/cond.h: Use dummy implementation also if
46881         USE_WIN32_THREADS.
46882
46883 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46884
46885         * modules/fnmatch-posix (License): Change to LGPLv2+.
46886         * modules/fnmatch-gnu (License): Likewise.
46887
46888 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46889
46890         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46891
46892 2008-09-11  Jim Meyering  <meyering@redhat.com>
46893
46894         * users.txt: Add gtk-vnc.
46895
46896 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46897
46898         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46899         rotate amounts.
46900
46901         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46902         required for 16-bit and 8-bit rotates.
46903         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46904         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46905         UINT8_MAX instead of hard-coded constants.
46906         Suggested by Paul Eggert.
46907
46908 2008-09-07  Bruno Haible  <bruno@clisp.org>
46909
46910         * tests/test-striconveh.c (main): Check behaviour when converting from
46911         UTF-7.
46912
46913         Make striconveh work better with stateful encodings.
46914         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46915         that iconv does not increment the inptr when returning -1/EINVAL.
46916
46917 2008-09-07  Bruno Haible  <bruno@clisp.org>
46918
46919         * build-aux/config.rpath: Update according to libtool-2.2.6.
46920         * build-aux/config.libpath: Likewise.
46921
46922 2008-09-06  Bruno Haible  <bruno@clisp.org>
46923
46924         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46925         * lib/freadptr.c (freadptr): Likewise.
46926         * lib/freadseek.c (freadptrinc): Likewise.
46927         Reported by Simon Josefsson.
46928
46929 2008-09-06  Bruno Haible  <bruno@clisp.org>
46930
46931         * modules/freadptr (License): Change to LGPLv2+.
46932         * modules/freadseek (License): Likewise.
46933         Suggested by Eric Blake.
46934
46935         * modules/memchr2 (License): Change to LGPLv2+.
46936         Approved by Eric Blake.
46937
46938 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46939             Bruno Haible  <bruno@clisp.org>
46940
46941         Make gnulib-tool work with native 'sed' on AIX.
46942         * gnulib-tool (sed_noop): New variable.
46943         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46944         func_add_or_update, func_create_testdir): Use it to initialize sed
46945         script variables.
46946         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46947
46948 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46949             Bruno Haible  <bruno@clisp.org>
46950
46951         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46952         also works after #include directives.
46953
46954 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
46955
46956         getdate.y: reject an out-of-range timezone value
46957         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46958         the range [-24...+24].  When specified with only one or two digits,
46959         * tests/test-getdate.c: Tests for the fix.
46960         * doc/getdate.texi: Document this change.
46961
46962 2008-09-03  Bruno Haible  <bruno@clisp.org>
46963
46964         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46965
46966 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46967
46968         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46969         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46970         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46971         Blake <ebb9@byu.net>.
46972
46973         * tests/test-bitrotate.c: Add more test vectors.
46974
46975 2008-09-02  Eric Blake  <ebb9@byu.net>
46976
46977         vasnprintf-posix: handle large precision via %.*d
46978         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46979         when handling it ourselves.
46980         * tests/test-vasnprintf-posix.c (test_function): Add test.
46981         * tests/test-snprintf-posix.h (test_function): Likewise.
46982         * tests/test-sprintf-posix.h (test_function): Likewise.
46983         * tests/test-vasprintf-posix.c (test_function): Likewise.
46984         Reported by Alain Guibert.
46985
46986 2008-09-01  Eric Blake  <ebb9@byu.net>
46987
46988         c-stack: make configure-time check more robust
46989         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46990         successful sigaction call.
46991         Reported by Tom G. Christensen.
46992
46993 2008-09-01  Bruno Haible  <bruno@clisp.org>
46994
46995         New module 'findprog-lgpl'.
46996         * modules/findprog-lgpl: New file.
46997         * lib/findprog-lgpl.c: New file.
46998         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46999         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
47000         to decide whether to use strdup or xstrdup, concatenated_filename or
47001         xconcatenated_filename.
47002
47003 2008-09-01  Bruno Haible  <bruno@clisp.org>
47004
47005         Split module 'concat-filename' into 'concat-filename' (LGPL) and
47006         'xconcat-filename' (GPL).
47007         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
47008         (License): Change to LGPLv2+.
47009         * modules/xconcat-filename: New file.
47010         * lib/concat-filename.h (concatenated_filename): Change specification.
47011         (xconcatenated_filename): New declaration.
47012         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
47013         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
47014         memory situations.
47015         * lib/xconcat-filename.c: New file.
47016         * NEWS: Mention the change.
47017         * lib/findprog.c: Include concat-filename.h, not filename.h.
47018         (find_in_path): Use xconcatenated_filename instead of
47019         concatenated_filename.
47020         * lib/javacomp.c: Include concat-filename.h, not filename.h.
47021         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
47022         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
47023         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
47024         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
47025         instead of concatenated_filename.
47026         * lib/javaexec.c: Include concat-filename.h, not filename.h.
47027         (execute_java_class): Use xconcatenated_filename instead of
47028         concatenated_filename.
47029         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
47030         * modules/javacomp (Depends-on): Likewise.
47031         * modules/javaexec (Depends-on): Likewise.
47032
47033 2008-09-01  Bruno Haible  <bruno@clisp.org>
47034
47035         Split module 'filename' into 'filename' and 'concat-filename'.
47036         * modules/filename: Keep only lib/filename.h.
47037         (License): Change to LGPLv2+.
47038         * modules/concat-filename: New file, extracted from modules/filename.
47039         * lib/filename.h (concatenated_filename): Remove declaration.
47040         * lib/concat-filename.h: New file, extracted from lib/filename.h.
47041         * lib/concat-filename.c: Include concat-filename.h.
47042         * NEWS: Mention the change.
47043
47044 2008-09-01  Simon Josefsson  <simon@josefsson.org>
47045
47046         * lib/bitrotate.h (rotl8, rotr8): Add.
47047
47048         * modules/bitrotate (configure.ac): Need
47049         AC_REQUIRE([AC_C_INLINE]).
47050         (Description): Mention stdint.h.  Reported by Bruno Haible
47051         <bruno@clisp.org>.
47052
47053         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
47054         Paolo Bonzini <bonzini@gnu.org>.
47055
47056 2008-08-31  Bruno Haible  <bruno@clisp.org>
47057
47058         Assume Solaris specific bi-arch conventions on Solaris systems.
47059         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
47060         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
47061         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
47062         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
47063         like acl_libdirstem.
47064         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
47065         acl_libdirstem.
47066         * NEWS: Mention the change.
47067         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
47068
47069 2008-08-31  Jim Meyering  <meyering@redhat.com>
47070
47071         * lib/strftime.h: Add comments describing the two added arguments.
47072
47073         remove duplicate #include directives
47074         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
47075         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
47076
47077 2008-08-31  Bruno Haible  <bruno@clisp.org>
47078
47079         New module 'sigpipe-die'.
47080         * modules/sigpipe-die: New file.
47081         * lib/sigpipe-die.h: New file.
47082         * lib/sigpipe-die.c: New file.
47083         * MODULES.html.sh (Signal handling): Add sigpipe-die.
47084
47085 2008-08-31  Bruno Haible  <bruno@clisp.org>
47086
47087         Don't override previously installed signal handlers.
47088         * lib/fatal-signal.c (saved_sigactions): New variable.
47089         (uninstall_handlers): Reset the signal to the saved handler, not
47090         to SIG_DFL (except when ignored).
47091         (install_handlers): Save the previous handlers.
47092
47093 2008-08-30  Bruno Haible  <bruno@clisp.org>
47094
47095         * gnulib-tool (func_reset_sigpipe): New function.
47096         (func_get_automake_snippet, func_modules_transitive_closure,
47097         func_import): Invoke it before a join command that reads from stdin,
47098         to avoid "echo: write error: Broken pipe" error messages on stderr.
47099         Reported by Sam Steingold <sds@gnu.org>.
47100
47101 2008-08-30  Bruno Haible  <bruno@clisp.org>
47102
47103         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
47104         Code copied from m4/open.m4.
47105         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
47106         access and the filename ends in a slash. Code copied from lib/open.c.
47107         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
47108         * tests/test-fopen.c (main): Check against bug with trailing slash.
47109
47110 2008-08-29  Bruno Haible  <bruno@clisp.org>
47111
47112         Avoid some "gcc -pedantic" warnings.
47113         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
47114         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
47115         * lib/dirent.in.h: Likewise.
47116         * lib/fcntl.in.h: Likewise.
47117         * lib/float.in.h: Likewise.
47118         * lib/iconv.in.h: Likewise.
47119         * lib/inttypes.in.h: Likewise.
47120         * lib/locale.in.h: Likewise.
47121         * lib/math.in.h: Likewise.
47122         * lib/netinet_in.in.h: Likewise.
47123         * lib/search.in.h: Likewise.
47124         * lib/signal.in.h: Likewise.
47125         * lib/stdarg.in.h: Likewise.
47126         * lib/stdint.in.h: Likewise.
47127         * lib/stdio.in.h: Likewise.
47128         * lib/stdlib.in.h: Likewise.
47129         * lib/string.in.h: Likewise.
47130         * lib/strings.in.h: Likewise.
47131         * lib/sys_select.in.h: Likewise.
47132         * lib/sys_socket.in.h: Likewise.
47133         * lib/sys_stat.in.h: Likewise.
47134         * lib/sys_time.in.h: Likewise.
47135         * lib/sysexits.in.h: Likewise.
47136         * lib/time.in.h: Likewise.
47137         * lib/unistd.in.h: Likewise.
47138         * lib/wchar.in.h: Likewise.
47139         * lib/wctype.in.h: Likewise.
47140         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
47141         * modules/fchdir (Makefile.am): Likewise.
47142         * modules/fcntl (Makefile.am): Likewise.
47143         * modules/float (Makefile.am): Likewise.
47144         * modules/iconv_open (Makefile.am): Likewise.
47145         * modules/inttypes (Makefile.am): Likewise.
47146         * modules/locale (Makefile.am): Likewise.
47147         * modules/math (Makefile.am): Likewise.
47148         * modules/netinet_in (Makefile.am): Likewise.
47149         * modules/search (Makefile.am): Likewise.
47150         * modules/signal (Makefile.am): Likewise.
47151         * modules/stdarg (Makefile.am): Likewise.
47152         * modules/stdint (Makefile.am): Likewise.
47153         * modules/stdio (Makefile.am): Likewise.
47154         * modules/stdlib (Makefile.am): Likewise.
47155         * modules/string (Makefile.am): Likewise.
47156         * modules/strings (Makefile.am): Likewise.
47157         * modules/sys_select (Makefile.am): Likewise.
47158         * modules/sys_socket (Makefile.am): Likewise.
47159         * modules/sys_stat (Makefile.am): Likewise.
47160         * modules/sys_time (Makefile.am): Likewise.
47161         * modules/sysexits (Makefile.am): Likewise.
47162         * modules/time (Makefile.am): Likewise.
47163         * modules/unistd (Makefile.am): Likewise.
47164         * modules/wchar (Makefile.am): Likewise.
47165         * modules/wctype (Makefile.am): Likewise.
47166         Reported by Reuben Thomas <rrt@sc3d.org>.
47167
47168 2008-08-29  Bruno Haible  <bruno@clisp.org>
47169
47170         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47171         any more.
47172
47173 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47174
47175         * MODULES.html.sh (Misc): Add bitrotate.
47176
47177         * modules/bitrotate: New file.
47178
47179         * lib/bitrotate.h: New file.
47180
47181         * modules/bitrotate-tests: New file.
47182
47183         * tests/test-bitrotate.c: New file.
47184
47185         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47186         on the bitrotate module.
47187
47188         * lib/arctwo.c: Use new bitrotate module.
47189
47190 2008-08-29  Jim Meyering  <meyering@redhat.com>
47191
47192         bootstrap: merge changes from coreutils
47193         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47194         of copied files.  Remove a kludge, now that this is fixed.
47195         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47196         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47197         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47198
47199 2008-08-29  Bruno Haible  <bruno@clisp.org>
47200
47201         * MODULES.html.sh: Remove --cvs-urls option.
47202
47203 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47204
47205         maint.mk: adjust to file name change
47206         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47207
47208 2008-08-28  Jim Meyering  <meyering@redhat.com>
47209
47210         * modules/getndelim2 (License): Relicense to LGPLv2+.
47211         Approved by Richard Stallman for the version of 1995, and by
47212         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47213
47214 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47215
47216         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47217         dummy if one is not available.  Do not touch them if
47218         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47219         (getc_maybe_unlocked): New.
47220         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47221
47222 2008-08-26  Eric Blake  <ebb9@byu.net>
47223
47224         doc/INSTALL: resync from autoconf
47225         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47226         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47227         moving...
47228         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47229         * INSTALL: Regenerate.
47230         * INSTALL.ISO: New file.
47231         * INSTALL.UTF-8: Likewise.
47232
47233 2008-08-26  Jim Meyering  <meyering@redhat.com>
47234
47235         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47236         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47237         these definitions conditional, so that they may be overridden, too.
47238
47239 2008-08-26  Bruno Haible  <bruno@clisp.org>
47240
47241         Generate INSTALL file variants with prettier quotes.
47242         * doc/Makefile (INSTALL_PRELUDE): New macro.
47243         (INSTALL): Use it.
47244         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47245
47246 2008-08-26  Bruno Haible  <bruno@clisp.org>
47247
47248         Run makeinfo in an English locale.
47249         * doc/Makefile (MAKEINFO): New variable.
47250
47251 2008-08-26  Bruno Haible  <bruno@clisp.org>
47252
47253         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47254         Suggested by Eric Blake.
47255
47256 2008-08-25  Bruno Haible  <bruno@clisp.org>
47257
47258         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47259
47260 2008-08-25  Eric Blake  <ebb9@byu.net>
47261
47262         c-stack: test that stack overflow can be caught
47263         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47264         that platform allows handling stack overflow; at least OS/2 EMX
47265         has sigaltstack, but crashes before transferring control to
47266         handler on stack overflow.
47267         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47268         check for HAVE_STACK_OVERFLOW_HANDLING.
47269         Reported by Elbert Pol.
47270
47271 2008-08-25  Bruno Haible  <bruno@clisp.org>
47272
47273         * doc/posix-functions/strftime.texi: Fix description of strftime
47274         module.
47275
47276 2008-08-24  Bruno Haible  <bruno@clisp.org>
47277
47278         * tests/uniwidth/test-uc_width2.c: New file.
47279         * tests/uniwidth/test-uc_width2.sh: New file.
47280         * modules/uniwidth/width-tests (Files): Add the new files.
47281         (TESTS): Add uniwidth/test-uc_width2.sh.
47282         (TESTS_ENVIRONMENT): New variable.
47283         (check_PROGRAMS): Add test-uc_width2.
47284         (test_uc_width2_SOURCES): New variable.
47285
47286         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47287         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47288         not 0x00AB.
47289         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47290
47291 2008-08-22  Eric Blake  <ebb9@byu.net>
47292
47293         test-lock, test-tls: mention why a test is skipped
47294         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47295         skipped.
47296         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47297
47298         count-one-bits: relax license
47299         * modules/count-one-bits (License): Relicense to LGPLv2+.
47300         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47301
47302 2008-08-22  Andreas Schwab  <schwab@suse.de>
47303
47304         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47305         Remove spurious space in assignment.
47306
47307 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47308
47309         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47310         Paul Eggert <eggert@CS.UCLA.EDU>.
47311
47312 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47313
47314         * modules/gettext: Add m4/threadlib.m4.
47315
47316 2008-08-19  Eric Blake  <ebb9@byu.net>
47317
47318         test-c-stack: fix compilation failure on FreeBSD 5.0
47319         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47320         headers before <sys/resource.h>.
47321         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47322         the bug.
47323         Reported by Nelson H. F. Beebe.
47324
47325         strverscmp: migrate from "strverscmp.h" to <string.h>
47326         * modules/string (Makefile.am): Add new hooks.
47327         * modules/strverscmp (Files): Remove strverscmp.h.
47328         (Depends-on): Add string.
47329         (configure.ac): Add indicator.
47330         (Include): Mention new header.
47331         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47332         defaults.
47333         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47334         results.
47335         * lib/strverscmp.h: Delete.
47336         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47337         * tests/test-strverscmp.c (includes): Adjust client.
47338         * lib/check-version.c (includes): Likewise.
47339         * NEWS: Document the change.
47340
47341         strverscmp: add unit test
47342         * modules/strverscmp-tests: New file.
47343         * tests/test-strverscmp.c: Likewise.
47344
47345 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47346
47347         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47348         regarding Windows crypto stuff, from Mono.
47349
47350 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47351
47352         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47353         if present, for intel RND.  Return error on failures.
47354
47355 2008-08-18  Ben Pfaff  <blp@gnu.org>
47356
47357         gitlog-to-changelog: give better diagnostic for failed pipe-open
47358         * build-aux/gitlog-to-changelog: Improve error message: suggest
47359         that the version of Git may be too old.
47360
47361 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47362
47363         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47364         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47365
47366 2008-08-18  Bruno Haible  <bruno@clisp.org>
47367
47368         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47369         pthread_in_use().
47370
47371 2008-08-18  Bruno Haible  <bruno@clisp.org>
47372
47373         * lib/glthread/threadlib.c: Include <pthread.h>.
47374
47375 2008-08-18  Bruno Haible  <bruno@clisp.org>
47376
47377         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47378         glthread_recursive_lock_* macros.
47379         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47380         Fix syntax error.
47381
47382 2008-08-18  Bruno Haible  <bruno@clisp.org>
47383
47384         * lib/glthread/thread.c: Avoid forcing a context switch right after
47385         thread creation.
47386
47387 2008-08-17  Bruno Haible  <bruno@clisp.org>
47388
47389         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47390         * lib/glthread/thread.h: Provide Win32 specific implementation.
47391         * modules/thread (Files): Add lib/glthread/thread.c.
47392         (Depends-on): Add lock.
47393         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47394
47395 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47396
47397         New module 'yield'.
47398         * modules/yield: New file.
47399         * lib/glthread/yield.h: New file.
47400         * m4/yield.m4: New file.
47401         * MODULES.html.sh (Multithreading): Add yield.
47402
47403 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47404
47405         New module 'thread'.
47406         * modules/thread: New file.
47407         * lib/glthread/thread.h: New file.
47408         * m4/thread.m4: New file.
47409         * MODULES.html.sh (Multithreading): Add thread.
47410
47411 2008-08-17  Bruno Haible  <bruno@clisp.org>
47412
47413         * lib/glthread/lock.h: Include <stdlib.h> always.
47414         * lib/glthread/tls.h: Likewise.
47415         * lib/glthread/cond.h: Likewise.
47416
47417 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47418
47419         New module 'cond'.
47420         * modules/cond: New file.
47421         * lib/glthread/cond.h: New file.
47422         * lib/glthread/cond.c: New file.
47423         * m4/cond.m4: New file.
47424         * MODULES.html.sh (Multithreading): Add cond.
47425
47426 2008-08-16  Eric Blake  <ebb9@byu.net>
47427
47428         c-stack: fix regression on Irix 5.3 from 2008-06-21
47429         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47430         sa_sigaction...
47431         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47432         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47433         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47434         * modules/signal (Makefile.am): Use the value.
47435         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47436         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47437         * doc/posix-headers/signal.texi (signal.h): Document this
47438         portability issue.
47439         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47440         Reported by Tom G. Christensen.
47441
47442 2008-08-17  Bruno Haible  <bruno@clisp.org>
47443
47444         New module 'threadlib'.
47445         * modules/threadlib: New file.
47446         * lib/glthread/threadlib.c: New file, extracted from
47447         lib/glthread/lock.c.
47448         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47449         functions.
47450         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47451         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47452         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47453         macros.
47454         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47455         (gl_DISABLE_THREADS): Remove macro.
47456         * modules/lock (Files): Remove build-aux/config.rpath.
47457         (Depends-on): Remove havelib. Add threadlib.
47458         (configure.ac-early): Remove section.
47459         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47460         * modules/tls (Depends-on): Remove lock. Add threadlib.
47461         (Link): New section, copied from threadlib.
47462         * MODULES.html.sh (Multithreading): Add threadlib.
47463
47464 2008-08-14  Bruno Haible  <bruno@clisp.org>
47465
47466         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47467         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47468         glthread_rwlock_unlock, glthread_rwlock_destroy,
47469         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47470         glthread_recursive_lock_destroy): Define as macros always.
47471         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47472         glthread_lock_lock.
47473         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47474         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47475         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47476         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47477         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47478         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47479         (glthread_recursive_lock_lock_func): Renamed from
47480         glthread_recursive_lock_lock.
47481         (glthread_recursive_lock_unlock_func): Renamed from
47482         glthread_recursive_lock_unlock.
47483         (glthread_recursive_lock_destroy_func): Renamed from
47484         glthread_recursive_lock_destroy.
47485
47486 2008-08-14  Bruno Haible  <bruno@clisp.org>
47487
47488         * lib/glthread/lock.h: Renamed from lib/lock.h.
47489         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47490         * lib/glthread/tls.h: Renamed from lib/tls.h.
47491         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47492         * lib/fstrcmp.c: Update includes.
47493         * lib/strsignal.c: Update includes.
47494         * modules/lock (Files, Makefile.am): Update.
47495         (Include): Change to "glthread/lock.h".
47496         * modules/tls (Files, Makefile.am): Update.
47497         (Include): Change to "glthread/tls.h".
47498         * tests/test-lock.c: Update includes.
47499         * tests/test-tls.c: Update includes.
47500         * NEWS: Mention the renamed header files.
47501
47502 2008-08-11  Jim Meyering  <meyering@redhat.com>
47503
47504         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47505
47506 2008-08-11  Eric Blake  <ebb9@byu.net>
47507
47508         test-c-stack: avoid C99-ism
47509         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47510         before statement.
47511         Reported by Alain Guibert.
47512
47513 2008-08-10  Jim Meyering  <meyering@redhat.com>
47514
47515         ensure that return value of uinttostr et al are not ignored
47516         * lib/inttostr.h (__GNUC_PREREQ): Define.
47517         (__attribute_warn_unused_result__): Define.
47518         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47519
47520 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47521
47522         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47523         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47524
47525 2008-08-07  Jim Meyering  <meyering@redhat.com>
47526
47527         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47528
47529         * modules/mkstemp (License): Relicense under LGPLv2+.
47530         * modules/tempname (License): Likewise.
47531
47532 2008-08-06  Bruno Haible  <bruno@clisp.org>
47533
47534         * lib/poll.c (poll): Further micro-optimization.
47535
47536 2008-08-06  Jim Meyering  <meyering@redhat.com>
47537
47538         inet_pton.c: use locale-independent tolower
47539         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47540         (inet_pton6): Use c_tolower rather than tolower.
47541         * modules/inet_pton (Depends-on): Add c-ctype.
47542
47543 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47544
47545         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47546         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47547
47548 2008-08-06  Jim Meyering  <meyering@redhat.com>
47549
47550         * modules/inet_pton (License): Relicense under LGPLv2+.
47551
47552 2008-08-03  Bruno Haible  <bruno@clisp.org>
47553
47554         Additional non-aborting API for lock and tls.
47555         * lib/lock.h: Include <errno.h>.
47556         (glthread_lock_init): New macro/function.
47557         (gl_lock_init): Define as wrapper around glthread_lock_init.
47558         (glthread_lock_lock): New macro/function.
47559         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47560         (glthread_lock_unlock): New macro/function.
47561         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47562         (glthread_lock_destroy): New macro/function.
47563         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47564         (glthread_rwlock_init): New macro/function.
47565         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47566         (glthread_rwlock_rdlock): New macro/function.
47567         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47568         (glthread_rwlock_wrlock): New macro/function.
47569         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47570         (glthread_rwlock_unlock): New macro/function.
47571         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47572         (glthread_rwlock_destroy): New macro/function.
47573         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47574         (glthread_recursive_lock_init): New macro/function.
47575         (gl_recursive_lock_init): Define as wrapper around
47576         glthread_recursive_lock_init.
47577         (glthread_recursive_lock_lock): New macro/function.
47578         (gl_recursive_lock_lock): Define as wrapper around
47579         glthread_recursive_lock_lock.
47580         (glthread_recursive_lock_unlock): New macro/function.
47581         (gl_recursive_lock_unlock): Define as wrapper around
47582         glthread_recursive_lock_unlock.
47583         (glthread_recursive_lock_destroy): New macro/function.
47584         (gl_recursive_lock_destroy): Define as wrapper around
47585         glthread_recursive_lock_destroy.
47586         (glthread_once): New macro/function.
47587         (gl_once): Define as wrapper around glthread_once.
47588         Update function declarations.
47589         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47590         glthread_rwlock_init. Return error code.
47591         (glthread_rwlock_rdlock_multithreaded): Renamed from
47592         glthread_rwlock_rdlock. Return error code.
47593         (glthread_rwlock_wrlock_multithreaded): Renamed from
47594         glthread_rwlock_wrlock. Return error code.
47595         (glthread_rwlock_unlock_multithreaded): Renamed from
47596         glthread_rwlock_unlock. Return error code.
47597         (glthread_rwlock_destroy_multithreaded): Renamed from
47598         glthread_rwlock_destroy. Return error code.
47599         (glthread_recursive_lock_init_multithreaded): Renamed from
47600         glthread_recursive_lock_init. Return error code.
47601         (glthread_recursive_lock_lock_multithreaded): Renamed from
47602         glthread_recursive_lock_lock. Return error code.
47603         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47604         glthread_recursive_lock_unlock. Return error code.
47605         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47606         glthread_recursive_lock_destroy. Return error code.
47607         (glthread_once_call): Make static.
47608         (glthread_once_multithreaded): Renamed from glthread_once.
47609         * lib/tls.h: Include <errno.h>.
47610         (glthread_tls_key_init): New macro/function.
47611         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47612         (glthread_tls_set): New macro/function.
47613         (gl_tls_set): Define as wrapper around glthread_tls_set.
47614         (glthread_tls_key_destroy): New macro/function.
47615         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47616         Update function declarations.
47617         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47618         glthread_tls_get.
47619         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47620
47621 2008-08-04  Eric Blake  <ebb9@byu.net>
47622
47623         gnumakefile: use space, not TAB, outside of targets
47624         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47625
47626 2008-08-02  Jim Meyering  <meyering@redhat.com>
47627
47628         getdate.y: avoid locale-dependent date parsing failure
47629         In Turkish locales, getdate would fail to recognize keywords
47630         containing a lowercase "i".  The solution is not to rely on
47631         locale-sensitive case-conversion.
47632         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47633         (lookup_word): Use c_toupper in place of toupper.
47634         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47635         Reported by Vefa Bicakci <bicave@superonline.com> in
47636         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47637         * modules/getdate (Depends-on): Add c-ctype.
47638
47639 2008-08-02  Bruno Haible  <bruno@clisp.org>
47640
47641         * gnulib-tool (func_import): When updating or creating a .gitignore
47642         file, prepend each added line with a slash, and ignore leading slashes
47643         from the existing lines.
47644         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47645
47646 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47647
47648         Portability fix for GNU make 3.79.1.
47649         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47650         versions do not understand.
47651
47652 2008-08-01  Bruno Haible  <bruno@clisp.org>
47653
47654         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47655         * tests/test-isnanf.h (zero): New variable.
47656         (main): Avoid literal -0.0f.
47657         * tests/test-isnand.h (zero): New variable.
47658         (main): Avoid literal -0.0.
47659         * tests/test-isnanl.h (zero): New variable.
47660         (main): Avoid literal -0.0L.
47661         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47662         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47663         -0.0, -0.0L.
47664         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47665         (test_signbitd): Avoid literal -0.0.
47666         (test_signbitl): Avoid literal -0.0L.
47667         * tests/test-ceilf1.c (zero): New variable.
47668         (main): Avoid literal -0.0f.
47669         * tests/test-ceill.c (zero): New variable.
47670         (main): Avoid literal -0.0L.
47671         * tests/test-floorf1.c (zero): New variable.
47672         (main): Avoid literal -0.0f.
47673         * tests/test-floorl.c (zero): New variable.
47674         (main): Avoid literal -0.0L.
47675         * tests/test-roundf1.c (zero): New variable.
47676         (main): Avoid literal -0.0f.
47677         * tests/test-round1.c (zero): New variable.
47678         (main): Avoid literal -0.0.
47679         * tests/test-roundl.c (zero): New variable.
47680         (main): Avoid literal -0.0L.
47681         * tests/test-truncf1.c (zero): New variable.
47682         (main): Avoid literal -0.0f.
47683         * tests/test-trunc1.c (zero): New variable.
47684         (main): Avoid literal -0.0.
47685         * tests/test-truncl.c (zero): New variable.
47686         (main): Avoid literal -0.0L.
47687         * tests/test-frexp.c (zero): New variable.
47688         (main): Avoid literal -0.0.
47689         * tests/test-frexpl.c (zero): New variable.
47690         (main): Avoid literal -0.0L.
47691         * tests/test-ldexpl.c (zero): New variable.
47692         (main): Avoid literal -0.0L.
47693         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47694         (zerod, zerol): New variables.
47695         (test_function): Avoid literals -0.0, -0.0L.
47696         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47697         (zerod, zerol): New variables.
47698         (test_function): Avoid literals -0.0, -0.0L.
47699         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47700         (zerod, zerol): New variables.
47701         (test_function): Avoid literals -0.0, -0.0L.
47702         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47703         (zerod, zerol): New variables.
47704         (test_function): Avoid literals -0.0, -0.0L.
47705         * tests/test-strtod.c (zero): New variable.
47706         (main): Avoid literal -0.0.
47707         Reported by Jonathan C. Patschke <jp@centtech.com>.
47708
47709 2008-07-31  Jim Meyering  <meyering@redhat.com>
47710
47711         sha256.h: correct definition of SHA224_DIGEST_SIZE
47712         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47713         Reported by Paulie Pena IV <paulie4@gmail.com>.
47714         Define as 224 / 8, rather than as a literal.
47715         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47716         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47717         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47718
47719 2008-07-31  Bruno Haible  <bruno@clisp.org>
47720
47721         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47722         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47723         Reported by Jonathan Patschke <jp@centtech.com>.
47724
47725 2008-07-31  Bruno Haible  <bruno@clisp.org>
47726
47727         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47728         Reported by Paolo Bonzini <bonzini@gnu.org>.
47729
47730 2008-07-30  Eric Blake  <ebb9@byu.net>
47731
47732         test-strtod: allow compilation without -lm
47733         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47734         Reported by Dennis Clarke <blastwave@gmail.com>.
47735
47736 2008-07-28  Jim Meyering  <meyering@redhat.com>
47737
47738         bootstrap: work also when there are no .po files in po/
47739         * build-aux/bootstrap (update_po_files): Complete the change
47740         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47741
47742 2008-07-27  Jim Meyering  <meyering@redhat.com>
47743
47744         * users.txt: Add zile.
47745
47746 2008-07-26  Ben Pfaff  <blp@gnu.org>
47747
47748         Add missing dependencies on new m4/exponent[fdl].m4 files.
47749         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47750         * modules/isnand-nolibm: Add m4/exponentd.m4.
47751         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47752         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47753         m4/isnan[fdl].m4, because the macros actually used moved.
47754         Reported by Jim Meyering.
47755
47756 2008-07-14  Ben Pfaff  <blp@gnu.org>
47757
47758         Add isinf module.
47759         * lib/isinf.c: New file.
47760         * lib/math.in.h: Define isinf macro if we have decided to replace
47761         it.
47762         * m4/isinf.m4: New file.
47763         * m4/math_h.m4: Initialize and substitute variables for isinf
47764         module.
47765         * modules/isinf: New file.
47766         * modules/isinf-tests: New file.
47767         * modules/math: Add substitutions for new module.
47768         * tests/test-isinf.c: New file.
47769         * doc/posix-functions/isinf.texi: Mention new module.
47770         * MODULES.html.sh: Mention new module.
47771
47772 2008-07-14  Ben Pfaff  <blp@gnu.org>
47773
47774         Factor out some macros for use by additional modules.
47775         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47776         exponentf.m4.
47777         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47778         exponentd.m4.
47779         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47780         file exponentl.m4.
47781         * m4/exponentf.m4: New file.
47782         * m4/exponentd.m4: New file.
47783         * m4/exponentl.m4: New file.
47784         * modules/isnanf: Use new file m4/exponentf.m4.
47785         * modules/isnand: Use new file m4/exponentd.m4.
47786         * modules/isnanl: Use new file m4/exponentl.m4.
47787
47788 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47789
47790         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47791         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47792         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47793         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47794
47795         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47796         readlink on platforms without PATH_MAX.
47797
47798 2008-07-21  Eric Blake  <ebb9@byu.net>
47799
47800         Warn, not fail, on stale version.
47801         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47802
47803         Don't allow installation with stale devel version number.
47804         * top/GNUmakefile (_is-install-target): New macro.
47805         (_curr-ver): Forbid installation with stale version number.
47806
47807 2008-07-20  Bruno Haible  <bruno@clisp.org>
47808
47809         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47810         TESTS_ENVIRONMENT.
47811         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47812
47813 2008-07-20  Bruno Haible  <bruno@clisp.org>
47814
47815         * lib/c-stack.h (c_stack_action): Add documentation.
47816         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47817
47818 2008-07-20  Bruno Haible  <bruno@clisp.org>
47819
47820         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47821         * modules/readlink (License): Likewise.
47822
47823 2008-07-17  Eric Blake  <ebb9@byu.net>
47824
47825         * modules/c-stack (Link): Fix typo.
47826
47827         Make c-stack use libsigsegv, when available.
47828         * modules/c-stack (Depends-on): Add libsigsegv.
47829         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47830         needed.
47831         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47832         (segv_handler, overflow_handler, c_stack_action)
47833         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47834         implementation when libsigsegv is available, but only when using
47835         the library is necessary.
47836         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47837         comment, explaining why XSI check fails on Linux.
47838         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47839         * tests/test-c-stack2.sh: Tweak skip message.
47840         * NEWS: Document new link-time requirements.
47841
47842 2008-07-16  Eric Blake  <ebb9@byu.net>
47843
47844         c-stack: Expose false positives when not using libsigsegv.
47845         * modules/c-stack-tests (Files): Expand test.
47846         * tests/test-c-stack.c (main): Add means to conditionally trigger
47847         non-overflow SIGSEGV.
47848         * tests/test-c-stack2.sh: New file.
47849
47850 2008-07-14  Bruno Haible  <bruno@clisp.org>
47851
47852         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47853         Reported by Eric Blake.
47854
47855 2008-07-14  Sam Steingold  <sds@gnu.org>
47856             Bruno Haible  <bruno@clisp.org>
47857
47858         New module libsigsegv.
47859         * modules/libsigsegv: New file.
47860         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47861         modifications.
47862         * MODULES.html.sh (Signal handling): New section.
47863
47864 2008-07-14  Bruno Haible  <bruno@clisp.org>
47865
47866         * modules/unictype/ctype-* (Description): Add the word "function".
47867         Improves the resulting doc in MODULES.html.
47868
47869 2008-07-12  Ben Pfaff  <blp@gnu.org>
47870
47871         Add longlong module.
47872         * modules/longlong: New file.
47873
47874 2008-07-12  Bruno Haible  <bruno@clisp.org>
47875
47876         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47877         to empty.
47878
47879 2008-07-10  Ben Pfaff  <blp@gnu.org>
47880
47881         Add isnan module.
47882         * doc/posix-functions/isnan.texi: Mention new module.
47883         * lib/math.in.h: Define isnan macro if we have decided to replace
47884         it.
47885         * m4/isnan.m4: New file.
47886         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47887         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47888         also.
47889         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47890         redundancy.
47891         * m4/math_h.m4: Initialize and substitute variables for isnan
47892         module.
47893         * modules/isnan: New file.
47894         * modules/isnan-tests: New file.
47895         * modules/math: Add substitutions for new module.
47896         * tests/test-isnan.c: New file.
47897         * MODULES.html.sh: Mention new module.
47898
47899 2008-07-10  Ben Pfaff  <blp@gnu.org>
47900
47901         Add isnanf module.
47902         * lib/isnanf.m4: New file.
47903         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47904         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47905         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47906         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47907         * modules/isnanf: New file.
47908         * modules/isnanf-tests: New file.
47909         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47910         files.
47911         * tests/test-isnanf-nolibm.c: factored most of its contents into
47912         new file tests/test-isnanf.h.
47913         * tests/test-isnanf.h: New file.
47914         * tests/test-isnanf.c: New file.
47915         * MODULES.html.sh: Mention new module.
47916         * doc/glibc-functions/isnanf.texi: Mention new module.
47917
47918 2008-07-10  Ben Pfaff  <blp@gnu.org>
47919
47920         Add isnand module.
47921         * lib/isnand.h: New file.
47922         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47923         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47924         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47925         functionality also.
47926         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47927         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47928         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47929         * modules/isnand: New file.
47930         * modules/isnand-tests: New file.
47931         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47932         files.
47933         * tests/test-isnand-nolibm.c: factored most of its contents into
47934         new file tests/test-isnand.h.
47935         * tests/test-isnand.h: New file.
47936         * tests/test-isnand.c: New file.
47937         * MODULES.html.sh: Mention new module.
47938
47939 2008-07-10  Ben Pfaff  <blp@gnu.org>
47940
47941         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47942         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47943         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47944         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47945         * modules/isnanf-nolibm: Update references to renamed files.
47946         * modules/isnand-nolibm: Likewise.
47947         * modules/isnanf-nolibm-tests: Likewise.
47948         * modules/isnand-nolibm-tests: Likewise.
47949         * lib/frexp.c: Likewise.
47950         * lib/isfinite.c: Likewise.
47951         * lib/signbitd.c: Likewise.
47952         * lib/signbitf.c: Likewise.
47953         * lib/vasnprintf.c: Likewise.
47954         * tests/test-ceilf1.c: Likewise.
47955         * tests/test-ceilf2.c: Likewise.
47956         * tests/test-floorf1.c: Likewise.
47957         * tests/test-floorf2.c: Likewise.
47958         * tests/test-frexp.c: Likewise.
47959         * tests/test-round1.c: Likewise.
47960         * tests/test-round2.c: Likewise.
47961         * tests/test-roundf1.c: Likewise.
47962         * tests/test-strtod.c: Likewise.
47963         * tests/test-trunc1.c: Likewise.
47964         * tests/test-trunc2.c: Likewise.
47965         * tests/test-truncf1.c: Likewise.
47966         * tests/test-truncf2.c: Likewise.
47967         * NEWS: Mention the renamed header files.
47968
47969 2008-07-11  Jim Meyering  <meyering@redhat.com>
47970
47971         vc-list-files: make the last-resort awk code more portable
47972         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47973         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47974         does not support it.
47975
47976 2008-07-10  Eric Blake  <ebb9@byu.net>
47977
47978         Work with tar's bootstrap.
47979         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47980         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47981         an m4 comment.
47982
47983 2008-07-09  Jim Meyering  <meyering@redhat.com>
47984
47985         posix-shell.m4: fix typo that made this test malfunction
47986         * m4/posix-shell.m4: Remove capitalization in variable name.
47987
47988 2008-07-08  Bruno Haible  <bruno@clisp.org>
47989
47990         * m4/onceonly.m4: Update comments.
47991         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47992
47993 2008-07-04  Jim Meyering  <meyering@redhat.com>
47994
47995         * users.txt: Add vc-dwim.
47996         (bison, coreutils): Use the gitweb URL.
47997
47998 2008-07-03  Jim Meyering  <meyering@redhat.com>
47999
48000         * users.txt: Add libffcall.  From Sam Steingold.
48001
48002 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
48003
48004         getdate.y: do not ignore TZ with relative day, month or year offset
48005         * lib/getdate.y (get_date): Move the tz-handling block to follow the
48006         relative-date-handling, since otherwise, the latter would clobber the
48007         sole output (an updated Start value) of the tz-handling block.
48008         * tests/test-getdate.c: Tests for the fix
48009
48010 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48011
48012         Recognize 'foo_LIBRARIES += libgnu.a'.
48013         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
48014         makefile snippet has already specified an installation location,
48015         also using '+='.
48016
48017 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
48018
48019         getdate.y: factor out common actions
48020         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
48021         Use them in place of open-coded actions.
48022
48023 2008-07-01  Simon Josefsson  <simon@josefsson.org>
48024
48025         Add self-test for getdate module.
48026         * modules/getdate-tests: New file.
48027         * tests/test-getdate.c: New file.
48028
48029 2008-06-29  Bruno Haible  <bruno@clisp.org>
48030
48031         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
48032         .gitignore.
48033         Reported by Sylvain Beucler <beuc@beuc.net>.
48034
48035 2008-06-29  Bruno Haible  <bruno@clisp.org>
48036
48037         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
48038         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
48039
48040 2008-06-29  Bruno Haible  <bruno@clisp.org>
48041
48042         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
48043         EXTRA_DIST.
48044         Reported by Sylvain Beucler <beuc@beuc.net>.
48045
48046 2008-06-26  Jim Meyering  <meyering@redhat.com>
48047
48048         make several modules depend on the "open" module
48049         This provides slightly increased consistency when opening-for-write
48050         the name of a non-directory spelled with a trailing slash.
48051         * modules/chdir-safer: Likewise.
48052         * modules/chown: Likewise.
48053         * modules/clean-temp: Likewise.
48054         * modules/copy-file: Likewise.
48055         * modules/fchdir: Likewise.
48056         * modules/fcntl-safer: Likewise.
48057         * modules/pipe: Likewise.
48058         * modules/utime: Likewise.
48059         Prompted by Eric Blake and Bruno Haible.
48060
48061 2008-06-24  Andreas Schwab  <schwab@suse.de>
48062
48063         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
48064         literals can be used as initializers for global variables.
48065
48066 2008-06-23  Eric Blake  <ebb9@byu.net>
48067
48068         Make gnulib-cache.m4 easier to diff.
48069         * gnulib-tool (func_import): Allow newlines when reading cached
48070         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
48071
48072 2008-06-23  Bruno Haible  <bruno@clisp.org>
48073
48074         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
48075         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
48076         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
48077         m4/signalblocking.m4.
48078         (gl_PREREQ_SIGACTION): Don't invoke it.
48079         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
48080         gl_PREREQ_SIG_HANDLER_H.
48081         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48082         Don't check for sigaction here.
48083
48084 2008-06-23  Bruno Haible  <bruno@clisp.org>
48085
48086         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
48087         (install_handlers): Don't set the SA_RESETHAND flag.
48088
48089 2008-06-23  Bruno Haible  <bruno@clisp.org>
48090
48091         * m4/sigaction.m4: Comment fixes.
48092         * lib/signal.in.h: Likewise.
48093
48094 2008-06-23  Eric Blake  <ebb9@byu.net>
48095
48096         Fix typo.
48097         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
48098
48099         Avoid SA_ namespace.
48100         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
48101         Reported by Ralf Wildenhues.
48102
48103         Avoid test failure due to SA_RESTORER.
48104         * tests/test-sigaction.c (SA_MASK): New macro.
48105         (main): Avoid failing due to extension flags being set.
48106         Reported by Jim Meyering.
48107
48108         Revert use of sig-handler.h in sigprocmask.c.
48109         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
48110         it requires the existence of struct sigaction.
48111         * lib/sigprocmask.c (handler_t): Restore typedef.
48112         (rpl_signal, old_handlers): Use local type.
48113
48114 2008-06-22  Bruno Haible  <bruno@clisp.org>
48115
48116         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
48117         conditionally.
48118         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48119
48120 2008-06-22  Bruno Haible  <bruno@clisp.org>
48121
48122         * doc/posix-functions/siginterrupt.texi: Move note.
48123
48124         * lib/signal.in.h (SA_RESTART): New macro.
48125         * lib/sigaction.c: Update comment.
48126
48127         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
48128
48129         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
48130         (gl_PREREQ_SIGPROCMASK): Invoke it.
48131         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
48132
48133         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
48134
48135         * lib/sigprocmask.c: Update a comment.
48136
48137 2008-06-21  Eric Blake  <ebb9@byu.net>
48138
48139         Use sigaction module rather than signal().
48140         * modules/c-stack (Depends-on): Add sigaction.
48141         * modules/fatal-signal (Depends-on): Likewise.
48142         * modules/nanosleep (Depends-on): Likewise.
48143         * modules/sigprocmask (Files): Add sig-handler.h.
48144         * modules/sigaction (Files): Likewise.
48145         * lib/sig-handler.h (get_handler): New file, suggested by Paul
48146         Eggert.
48147         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
48148         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
48149         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
48150         (init_fatal_signals): Likewise.
48151         * lib/nanosleep.c (rpl_nanosleep): Likewise.
48152         (siginterrupt): Delete fallback.
48153         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
48154         instead.
48155         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
48156         siginterrupt.
48157
48158         New module sigaction, for mingw.
48159         * modules/sigaction: New module...
48160         * modules/sigaction-tests: ...and its test.
48161         * m4/sigaction.m4: New file.
48162         * lib/sigaction.c: Likewise.
48163         * tests/test-sigaction.c: Likewise.
48164         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
48165         * modules/signal (Makefile.am): Likewise.
48166         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
48167         needed.
48168         * doc/posix-headers/signal.texi (signal.h): Mention provided
48169         types.
48170         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48171         that sigaction is preferable.
48172         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48173         module.
48174         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48175         sigaction.
48176
48177         Improve robustness of sigprocmask by overriding signal.
48178         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48179         is in use.
48180         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48181         (SIGKILL, SIGSTOP): Provide fallbacks.
48182         (rpl_signal): Implement.
48183         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48184         signal can be called inside handlers.
48185
48186         Fix nanosleep module on mingw.
48187         * modules/nanosleep (Depends-on): Add sys_select.
48188         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48189
48190         Fix licensing of sigprocmask.
48191         * modules/raise (License): Relicense as LGPL.
48192
48193 2008-06-21  Bruno Haible  <bruno@clisp.org>
48194
48195         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48196         result if it contains question marks.
48197         Reported by Michael Geng <linux@michaelgeng.de>.
48198
48199 2008-06-19  Bruno Haible  <bruno@clisp.org>
48200
48201         Fix CVS-ism.
48202         * doc/gnulib.texi: Include updated-stamp.texi.
48203         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48204         (updated-stamp.texi): New rule.
48205         (gnulib.info): Depend on it.
48206         * doc/.gitignore: Add updated-stamp.texi.
48207         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48208
48209 2008-06-19  Bruno Haible  <bruno@clisp.org>
48210
48211         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48212         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48213
48214 2008-06-19  Eric Blake  <ebb9@byu.net>
48215
48216         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48217         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48218         Reported by Stepan Kasal.
48219
48220 2008-06-18  Bruno Haible  <bruno@clisp.org>
48221
48222         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48223         Reported by Eric Blake.
48224
48225 2008-06-18  Eric Blake  <ebb9@byu.net>
48226
48227         Work around cygwin 1.5.25 strsignal bug.
48228         * tests/test-strsignal.c: Allow for const char *.
48229         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48230
48231 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48232
48233         * users.txt: Update URL to article and add author/date
48234         information.
48235
48236 2008-06-17  Bruno Haible  <bruno@clisp.org>
48237
48238         New macro gl_DISABLE_THREADS.
48239         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48240         if the user did not pass --enable-threads or --disable-threads option.
48241         (gl_DISABLE_THREADS): New macro.
48242         Reported by Eric Blake <ebb9@byu.net>.
48243
48244 2008-06-17  Bruno Haible  <bruno@clisp.org>
48245
48246         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48247         when the macro ignores it.
48248         Based on a patch by Eric Blake <ebb9@byu.net>.
48249
48250 2008-06-17  Bruno Haible  <bruno@clisp.org>
48251
48252         * modules/tls (License): Change to LGPLv2+.
48253         Reported by Eric Blake.
48254
48255 2008-06-17  Eric Blake  <ebb9@byu.net>
48256
48257         Simplify c-stack prerequisites.
48258         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48259         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48260         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48261         check.
48262         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48263         <sys/resource.h>.
48264
48265         Move c-stack test into testsuite.
48266         * modules/c-stack-tests: New file.
48267         * lib/c-stack.c [DEBUG]: Move test program...
48268         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48269         fail test if sigaltstack is lacking.
48270         * tests/test-c-stack.sh: New driver file.
48271
48272 2008-06-16  Eric Blake  <ebb9@byu.net>
48273
48274         Use raise module consistently.
48275         * modules/fatal-signal (Depends-on): Add raise.
48276         * modules/sigprocmask (Depends-on): Likewise.
48277         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48278         * lib/sigprocmask.c (sigprocmask): Likewise.
48279         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48280         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48281
48282         Fix compliance bug in sigpending.
48283         * lib/sigprocmask.c (sigpending): Return pending array via
48284         parameter, not return value.
48285
48286 2008-06-14  Eric Blake  <ebb9@byu.net>
48287
48288         Improve obstack-printf test code.
48289         * tests/test-obstack-printf.c (test_function): Fix comment, and
48290         simplify usage of obstack_* in macros.  Add a test for coverage.
48291         Reported by Bruno Haible.
48292
48293 2008-06-14  Bruno Haible  <bruno@clisp.org>
48294
48295         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48296         array size as a constant, not as a const variable.
48297         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48298         AC_USE_SYSTEM_EXTENSIONS.
48299         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48300         Test whether the obstack_printf function actually exists.
48301         * modules/obstack-printf (Depends-on): Add extensions.
48302         (Include): Remove obstack.h.
48303         * modules/obstack-printf-posix (Depends-on): Add extensions.
48304         (Include): Remove obstack.h.
48305
48306 2008-06-13  Eric Blake  <ebb9@byu.net>
48307
48308         Add obstack-printf and obstack-printf-posix modules.
48309         * modules/obstack-printf: New file.
48310         * modules/obstack-printf-posix: Likewise.
48311         * MODULES.html.sh (Misc): Mention them.
48312         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48313         Likewise.
48314         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48315         Likewise.
48316         * modules/stdio (Makefile.am): Accomodate new modules.
48317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48318         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48319         Declare.
48320         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48321         functions.
48322         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48323         (gl_REPLACE_OBSTACK_PRINTF): New macros
48324         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48325         * tests/test-obstack-printf.c: New file.
48326         * modules/obstack-printf-tests: Likewise.
48327         * modules/obstack-printf-posix-tests: Likewise.
48328
48329 2008-06-11  Bruno Haible  <bruno@clisp.org>
48330
48331         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48332         * lib/open.c: Include errno.h.
48333         (open): Fail when attempting to write to a file that has a trailing
48334         slash.
48335         * tests/test-open.c (main): Test against trailing slash bug.
48336         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48337
48338 2008-06-10  Bruno Haible  <bruno@clisp.org>
48339
48340         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48341         for $? to work inside the trap command, with various /bin/sh-s.
48342         * tests/test-vc-list-files-cvs.sh: Likewise.
48343
48344 2008-06-10  Bruno Haible  <bruno@clisp.org>
48345
48346         * lib/acl-internal.h: Don't include gettext.h here.
48347         * lib/set-mode-acl.c: Include gettext.h here.
48348         * lib/copy-acl.c: Likewise.
48349
48350 2008-06-10  Bruno Haible  <bruno@clisp.org>
48351
48352         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48353         * lib/wait-process.c (wait_subprocess): Likewise.
48354         * lib/execute.h (execute): Add termsigp argument.
48355         * lib/execute.c (execute): Likewise.
48356         * lib/csharpcomp.c (compile_csharp_using_pnet,
48357         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48358         * lib/csharpexec.c (execute_csharp_using_pnet,
48359         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48360         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48361         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48362         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48363         is_jikes_present): Update.
48364         * lib/javaexec.c (execute_java_class): Update.
48365         * lib/javaversion.c (execute_and_read_line): Update.
48366         * NEWS: Document the changes.
48367         Reported by Eric Blake.
48368
48369 2008-06-10  Eric Blake  <ebb9@byu.net>
48370
48371         Add missing include.
48372         * tests/test-strstr.c (includes): Add <signal.h>.
48373         * tests/test-strcasestr.c (includes): Likewise.
48374         * tests/test-memmem.c (includes): Likewise.
48375
48376 2008-06-10  Bruno Haible  <bruno@clisp.org>
48377
48378         * lib/wait-process.c (wait_subprocess): Add an assertion.
48379
48380 2008-06-10  Bruno Haible  <bruno@clisp.org>
48381
48382         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48383
48384 2008-06-10  Bruno Haible  <bruno@clisp.org>
48385
48386         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48387         using alarm().
48388         * tests/test-strcasestr.c (main): Likewise.
48389         * tests/test-strstr.c (main): Likewise.
48390
48391 2008-06-09  Bruno Haible  <bruno@clisp.org>
48392
48393         Work around the Solaris 10 ACE ACLs ABI change.
48394         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48395         declare if ACL_NO_TRIVIAL is present.
48396         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48397         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48398         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48399         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48400         define if ACL_NO_TRIVIAL is present.
48401         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48402         and use the current ABI.
48403         (file_has_acl): Use same #if condition as elsewhere.
48404         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48405         in use, and use the current ABI.
48406         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48407         Reported by Jim Meyering.
48408
48409 2008-06-09  Eric Blake  <ebb9@byu.net>
48410
48411         Work around environments that (stupidly) ignore SIGALRM.
48412         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48413         before using alarm().
48414         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48415         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48416         Reported by Ian Beckwith <ianb@erislabs.net>.
48417
48418         Produce autobuild blurb earlier in log.
48419         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48420
48421 2008-06-09  Jim Meyering  <meyering@redhat.com>
48422         and Ondřej Vašík  <ovasik@redhat.com>
48423
48424         utimens.c: correct kernel bug work-around
48425         Ondřej Vašík found that the invalid return value of 280 indicates
48426         failure, not success, and the kernel bug we're trying to work
48427         around affects not just the utimensat call, but also the fallback
48428         futimens call.
48429         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48430         not success.
48431         [HAVE_FUTIMENS]: Use the same work-around, here.
48432
48433 2008-06-09  Jim Meyering  <meyering@redhat.com>
48434
48435         add more guards around definition of ACE_-related code
48436         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48437         ALLOW and ACE_OWNER are also defined.
48438
48439 2008-06-08  Bruno Haible  <bruno@clisp.org>
48440
48441         * lib/acl-internal.h: Add me as co-author.
48442         * lib/file-has-acl.c: Likewise.
48443         * lib/set-mode-acl.c: Likewise.
48444         * lib/copy-acl.c: Likewise.
48445
48446 2008-06-08  Bruno Haible  <bruno@clisp.org>
48447
48448         Add support for AIX ACLs.
48449         * lib/acl-internal.h (acl_nontrivial): New declaration.
48450         * lib/file-has-acl.c (acl_nontrivial): New function.
48451         (file_has_acl): Add implementation using AIX 4 ACL API.
48452         * lib/set-mode-acl.c (qset_acl): Likewise.
48453         * lib/copy-acl.c (qcopy_acl): Likewise.
48454
48455 2008-06-08  Bruno Haible  <bruno@clisp.org>
48456
48457         Add support for HP-UX ACLs.
48458         * lib/acl-internal.h (acl_nontrivial): New declaration.
48459         * lib/file-has-acl.c (acl_nontrivial): New function.
48460         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48461         * lib/set-mode-acl.c (qset_acl): Likewise.
48462         * lib/copy-acl.c (qcopy_acl): Likewise.
48463
48464 2008-06-08  Bruno Haible  <bruno@clisp.org>
48465
48466         Add support for Cygwin ACLs.
48467         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48468         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48469         the chmod_or_fchmod call.
48470         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48471
48472 2008-06-08  Bruno Haible  <bruno@clisp.org>
48473
48474         Fix bug with setuid modes in Solaris 10+ code.
48475         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48476         succeeded, when the mode contains some special bits.
48477
48478 2008-06-08  Bruno Haible  <bruno@clisp.org>
48479
48480         Add support for Solaris 7..10 ACLs.
48481         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48482         declarations.
48483         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48484         functions.
48485         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48486         * lib/set-mode-acl.c (qset_acl): Likewise.
48487         * lib/copy-acl.c (qcopy_acl): Likewise.
48488
48489 2008-06-08  Bruno Haible  <bruno@clisp.org>
48490
48491         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48492         declaration.
48493         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48494         (acl_access_nontrivial): Remove MacOS X case.
48495         (file_has_acl): Use acl_extended_nontrivial.
48496         * lib/copy-acl.c (qcopy_acl): Likewise.
48497
48498 2008-06-08  Bruno Haible  <bruno@clisp.org>
48499
48500         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48501
48502 2008-06-08  Jim Meyering  <meyering@redhat.com>
48503
48504         * modules/acl (Maintainer): Add Bruno Haible.
48505
48506 2008-06-07  Bruno Haible  <bruno@clisp.org>
48507
48508         Improve support for Tru64 ACLs.
48509         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48510         ACL on OSF/1.
48511
48512 2008-06-07  Bruno Haible  <bruno@clisp.org>
48513
48514         Add support for MacOS X ACLs.
48515         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48516         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48517         * lib/set-mode-acl.c (qset_acl): Likewise.
48518         * lib/copy-acl.c (qcopy_acl): Likewise.
48519
48520 2008-06-07  Bruno Haible  <bruno@clisp.org>
48521
48522         Fix memory leak introduced on 2008-05-22.
48523         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48524         use.
48525
48526 2008-06-07  Bruno Haible  <bruno@clisp.org>
48527
48528         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48529         to construct an empty ACL.
48530
48531 2008-06-07  Bruno Haible  <bruno@clisp.org>
48532
48533         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48534         precisely.
48535         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48536
48537 2008-06-07  Bruno Haible  <bruno@clisp.org>
48538
48539         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48540         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48541
48542 2008-06-07  Bruno Haible  <bruno@clisp.org>
48543
48544         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48545         regardless of POSIX.
48546         * doc/posix-functions/_longjmp.texi: Likewise.
48547         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48548         SystemV platform in this case.
48549
48550 2008-06-06  Eric Blake  <ebb9@byu.net>
48551
48552         Document abort() bugs.
48553         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48554
48555         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48556         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48557         sigsetjmp.
48558         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48559         siglongjmp, but only as a macro.
48560         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48561         is obsolete.
48562         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48563
48564         Tweak documentation to cover cygwin argz bugs.
48565         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48566         argz bug fix; no code change needed since no cygwin releases
48567         occurred between the last fix and the bug being tested.
48568         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48569         module and recently fixed cygwin bugs.
48570         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48571         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48572         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48573         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48574         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48575         Likewise.
48576         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48577         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48578         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48579         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48580         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48581         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48582         Likewise.
48583
48584         Avoid gcc warning on cygwin.
48585         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48586         !ACL_NO_TRIVIAL]: Avoid unused variable.
48587
48588 2008-06-05  Eric Blake  <ebb9@byu.net>
48589
48590         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48591         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48592         git-version-gen fails to come up with a version.
48593         Reported by Simon Josefsson.
48594
48595 2008-06-05  Jim Meyering  <meyering@redhat.com>
48596             Paul Eggert  <eggert@cs.ucla.edu>
48597
48598         utimens.c: work around a probable Linux kernel bug
48599         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48600         appears to be a kernel bug that causes utimensat to return 280
48601         instead of 0, indicating success.
48602
48603 2008-06-04  Bruno Haible  <bruno@clisp.org>
48604
48605         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48606         2008-06-01 commit.
48607
48608 2008-06-04  Bruno Haible  <bruno@clisp.org>
48609
48610         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48611         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48612         (file_has_acl): Use it. Save errno afterwards.
48613         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48614
48615 2008-06-03  Bruno Haible  <bruno@clisp.org>
48616
48617         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48618         draft code. Simplify #ifs.
48619         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48620         Put Solaris code after POSIX-draft code. Fix comments regarding
48621         Solaris 10, HP-UX. Mention Cygwin.
48622         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48623
48624 2008-06-03  Eric Blake  <ebb9@byu.net>
48625
48626         Provide fallback for older kernels.
48627         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48628         Provide runtime fallback if kernel lacks support.
48629         Reported by Mike Frysinger.
48630
48631 2008-06-02  Bruno Haible  <bruno@clisp.org>
48632
48633         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48634         it exists.
48635
48636 2008-06-02  Bruno Haible  <bruno@clisp.org>
48637
48638         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48639         * lib/copy-acl.c (qcopy_acl): Update comment.
48640
48641 2008-06-02  Bruno Haible  <bruno@clisp.org>
48642
48643         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48644         like ACL APIs.
48645
48646 2008-06-02  Bruno Haible  <bruno@clisp.org>
48647
48648         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48649         * tests/test-set-mode-acl.sh: Likewise.
48650         * tests/test-copy-acl.sh: Likewise.
48651         * tests/test-copy-file.sh: Likewise.
48652
48653 2008-06-02  Bruno Haible  <bruno@clisp.org>
48654
48655         * tests/test-file-has-acl.sh: Remove unused code.
48656
48657 2008-06-01  Bruno Haible  <bruno@clisp.org>
48658
48659         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48660         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48661         messages.
48662         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48663
48664 2008-06-01  Bruno Haible  <bruno@clisp.org>
48665
48666         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48667         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48668         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48669         APIs.
48670         * modules/acl-tests (configure.ac): Remove tests now contained in
48671         m4/acl.m4.
48672
48673 2008-06-02  Jim Meyering  <meyering@redhat.com>
48674
48675         announce-gen: use a better key-server host name
48676         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48677         it may be more consistently reliable.  Suggested by Werner Koch
48678         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48679
48680 2008-06-01  Bruno Haible  <bruno@clisp.org>
48681
48682         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48683         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48684
48685 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48686
48687         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48688
48689 2008-06-01  Bruno Haible  <bruno@clisp.org>
48690
48691         New ACL tests.
48692         * tests/test-file-has-acl.sh: New file.
48693         * tests/test-file-has-acl.c: New file.
48694         * tests/test-set-mode-acl.sh: New file.
48695         * tests/test-set-mode-acl.c: New file.
48696         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48697         * tests/test-copy-acl.c: New file.
48698         * modules/acl-tests: New file, based on modules/copy-file-tests.
48699         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48700         (Depends-on): Add acl-tests.
48701         (configure.ac): Remove checks.
48702         (Makefile.am): Don't create test-sameacls program here any more.
48703
48704 2008-06-01  Bruno Haible  <bruno@clisp.org>
48705
48706         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48707         * tests/test-sameacls.c: Include progname.h.
48708         (main): Invoke set_program_name. Portability fixes for MacOS X,
48709         Solaris, HP-UX.
48710
48711 2008-06-01  Bruno Haible  <bruno@clisp.org>
48712
48713         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48714         function.
48715         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48716
48717 2008-06-01  Bruno Haible  <bruno@clisp.org>
48718
48719         * modules/rpmatch (Depends-on): Add strdup.
48720
48721 2008-06-01  Bruno Haible  <bruno@clisp.org>
48722
48723         * lib/pipe.c: Include unistd-safer.h.
48724         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48725         * modules/pipe (Depends-on): Add unistd-safer.
48726
48727 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48728
48729         * modules/autobuild (configure.ac): Call AB_INIT.
48730
48731 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48732
48733         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48734         Suggested by Bruno Haible <bruno@clisp.org>.
48735
48736 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48737
48738         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48739         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48740         <bruno@clisp.org>.
48741
48742 2008-05-29  Eric Blake  <ebb9@byu.net>
48743
48744         Prefer new POSIX 200x interfaces over futimesat.
48745         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48746         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48747         when available.
48748         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48749
48750 2008-05-28  Bruno Haible  <bruno@clisp.org>
48751
48752         * modules/stpcpy (License): Change to LGPLv2+.
48753         Requested by David Lutterkort <dlutter@redhat.com>.
48754
48755 2008-05-27  Bruno Haible  <bruno@clisp.org>
48756
48757         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48758         current mingw.
48759         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48760
48761 2008-05-27  Bruno Haible  <bruno@clisp.org>
48762
48763         * modules/iconv_open (Link): New section, from module 'iconv'.
48764         * modules/striconv (Link): Likewise.
48765         * modules/striconveh (Link): Likewise.
48766         * modules/xstriconv (Link): Likewise.
48767         * modules/unicodeio (Link): Likewise.
48768         * modules/propername (Link): Likewise.
48769         Reported by Jim Meyering.
48770
48771 2008-05-26  Jim Meyering  <meyering@redhat.com>
48772
48773         sha256: do not artificially restrict buffer length to be < 2^32
48774         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48775         uint32_t to size_t.
48776         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48777         to match.
48778
48779         avoid unaligned access errors, e.g., on sparc
48780         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48781         direct access through a possibly-unaligned uint64* pointer.
48782         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48783         direct access through a possibly-unaligned uint32* pointer.
48784         Prompted by this patch from Tom "spot" Callaway:
48785         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48786
48787         sha512.c: fix typo in comment
48788         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48789
48790 2008-05-25  Bruno Haible  <bruno@clisp.org>
48791
48792         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48793         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48794         (Makefile.am): Update lib_SOURCES.
48795
48796 2008-05-25  Bruno Haible  <bruno@clisp.org>
48797
48798         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48799
48800 2008-05-25  Jim Meyering  <meyering@redhat.com>
48801
48802         useless-if-before-free: freed expr may have white-space differences
48803         * build-aux/useless-if-before-free: Recognize cases in which the
48804         freed expression differs from the tested one in embedded white
48805         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48806         $1 was used, so we can't make any regexp shy.  Improved tests now
48807         detect this.
48808
48809         useless-if-before-free: accept white space in the expression.
48810         * build-aux/useless-if-before-free: For now, any white space
48811         in the expression must be identical in the free argument.
48812
48813         useless-if-before-free: efficiency tweak
48814         * build-aux/useless-if-before-free: Make the expression-matching
48815         regexp "shy".
48816         Make the *outer* regexp shy, not the expr-matching one.
48817
48818         update code-in-comment to accept cast of free arg
48819         * build-aux/useless-if-before-free: Update regexp.
48820
48821 2008-05-25  Bruno Haible  <bruno@clisp.org>
48822
48823         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48824         * modules/copy-file-tests (Files, Makefile.am): Update.
48825         * tests/test-copy-file.c (func_test_copy): Update.
48826
48827 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48828
48829         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48830
48831 2008-05-23  Bruno Haible  <bruno@clisp.org>
48832
48833         Improve support for ACLs on OSF/1.
48834         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48835         Remove fallback for unknown flavors of ACLs.
48836
48837 2008-05-22  Bruno Haible  <bruno@clisp.org>
48838
48839         Add support for ACLs on OSF/1.
48840         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48841         replacements.
48842         (acl_free_text): New macro fallback.
48843         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48844         acl_free.
48845         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48846         acl_free_text function. Require AC_C_INLINE.
48847
48848 2008-05-22  Bruno Haible  <bruno@clisp.org>
48849
48850         Make copy_acl work on MacOS X 10.5.
48851         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48852         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48853         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48854         If MODE_INSIDE_ACL, don't assume that every system has the same text
48855         representation for ACLs as FreeBSD.
48856         * lib/copy-acl.c (copy_acl): Add support for platforms with
48857         !MODE_INSIDE_ACL.
48858         * lib/file-has-acl.c (file_has_acl): Likewise.
48859         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48860         FreeBSD, MacOS X, or IRIX, respectively.
48861
48862 2008-05-22  Bruno Haible  <bruno@clisp.org>
48863
48864         * lib/acl.h: Don't include <sys/acl.h>.
48865         (GETACLCNT): Move fallback to lib/acl-internal.h.
48866         * lib/acl-internal.h: Include <sys/acl.h> here.
48867         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48868
48869 2008-05-22  Bruno Haible  <bruno@clisp.org>
48870
48871         Split off copy_acl function to separate file.
48872         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48873         * lib/acl.c (copy_acl): Moved function to separate file.
48874         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48875         * modules/acl (Files): Add lib/copy-acl.c.
48876         (Makefiles.am): Augment lib_SOURCES.
48877
48878 2008-05-22  Bruno Haible  <bruno@clisp.org>
48879
48880         * modules/copy-file-tests: New file.
48881         * tests/test-copy-file.sh: New file.
48882         * tests/test-copy-file.c: New file.
48883         * tests/test-copy-file-sameacls.c: New file.
48884
48885 2008-05-22  Eric Blake  <ebb9@byu.net>
48886
48887         Avoid gcc warning.
48888         * tests/test-memcmp.c (main): Pass NULL indirectly.
48889
48890 2008-05-21  Bruno Haible  <bruno@clisp.org>
48891
48892         Add reference doc about ACLs.
48893         * doc/acl-resources.txt: New file.
48894         * doc/acl-cygwin.txt: New file.
48895
48896 2008-05-21  Bruno Haible  <bruno@clisp.org>
48897
48898         Avoid one more warning from gcc.
48899         * lib/vasnprintf.c (IF_LINT): Update comments.
48900         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48901
48902 2008-05-21  Jim Meyering  <meyering@redhat.com>
48903
48904         avoid a warning from gcc
48905         * lib/vasnprintf.c (IF_LINT): Define.
48906         (scale10_round_decimal_long_double):
48907         Use it to avoid a "may be used uninitialized" warning.
48908         (scale10_round_decimal_double): Likewise.
48909
48910 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48911
48912         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48913         declared.
48914
48915 2008-05-20  Bruno Haible  <bruno@clisp.org>
48916
48917         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48918         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48919
48920 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48921
48922         * modules/memcmp-tests: New file.
48923         * tests/test-memcmp.c: New file.
48924
48925 2008-05-19  Bruno Haible  <bruno@clisp.org>
48926
48927         * modules/propername (Notice, configure.ac): Put quoted "..." into
48928         --keyword option.
48929         * lib/propername.h: Update comments accordingly.
48930         Reported by Eric Blake.
48931
48932 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48933
48934         * modules/getpass-gnu (Depends-on): Add fseeko.
48935
48936 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48937
48938         * modules/base64-tests: New file.
48939
48940 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48941
48942         * lib/base64.c (base64_decode_ctx): If a decode context structure
48943         was passed in use it to ignore newlines.  If a context structure
48944         was _not_ passed in, continue to treat newlines as garbage (this
48945         is the historical behavior).  Formerly base64_decode.
48946         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48947         takes a decode context structure.
48948         * lib/base64.h (base64_decode): Macro for four-argument calls.
48949         (base64_decode_alloc): Likewise.
48950         * lib/base64.c (base64_decode_ctx): If a decode context structure
48951         was passed in use it to ignore newlines.  If a context structure
48952         was _not_ passed in, continue to treat newlines as garbage (this
48953         is the historical behavior).  Formerly base64_decode.
48954         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48955         takes a decode context structure.
48956         * lib/base64.h (base64_decode): Macro for four-argument calls.
48957         (base64_decode_alloc): Likewise.
48958
48959 2008-05-19  Jim Meyering  <meyering@redhat.com>
48960
48961         avoid a warning from gcc
48962         * lib/trim.c (IF_LINT): Define.
48963         (trim2): Use it to avoid a "may be used uninitialized" warning.
48964
48965         Fix doc typo.
48966         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48967
48968 2008-05-19  Bruno Haible  <bruno@clisp.org>
48969
48970         * doc/glibc-functions/getpass.texi: Document limits of other
48971         implementations.
48972
48973 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48974             Bruno Haible <bruno@clisp.org>
48975
48976         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48977
48978 2008-05-18  Bruno Haible  <bruno@clisp.org>
48979
48980         * modules/propername: New file, from GNU gettext.
48981         * lib/propername.h: New file, from GNU gettext.
48982         * lib/propername.c: New file, from GNU gettext.
48983         * MODULES.html.sh (Internationalization functions): Add propername.
48984
48985 2008-05-16  Jim Meyering  <meyering@redhat.com>
48986             Bruno Haible  <bruno@clisp.org>
48987
48988         Avoid some warnings from "gcc -Wshadow".
48989         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48990
48991 2008-05-15  Eric Blake  <ebb9@byu.net>
48992
48993         Extend previous patch to cygwin 1.7.0.
48994         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48995         fast implementation in cygwin >= 1.7.0.
48996         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48997         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48998
48999 2008-05-15  Bruno Haible  <bruno@clisp.org>
49000
49001         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
49002         implementation in glibc >= 2.9.
49003         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49004         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49005
49006 2008-05-15  Bruno Haible  <bruno@clisp.org>
49007
49008         * MODULES.html.sh (Internationalization functions): Remove linebreak.
49009         (Unicode string functions): Add unilbrk/*.
49010         Reported by Karl Berry.
49011
49012 2008-05-15  Eric Blake  <ebb9@byu.net>
49013
49014         Fix violation of <stdbool.h> replacement in regex.
49015         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
49016         * lib/regexec.c (re_search_internal): Likewise.
49017         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
49018
49019 2008-05-15  Jim Meyering  <meyering@redhat.com>
49020
49021         avoid distracting test output when git or cvs is not found
49022         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
49023         * tests/test-vc-list-files-git.sh: Likewise.
49024
49025 2008-05-15  Eric Blake  <ebb9@byu.net>
49026
49027         Glibc finally accepted the memmem speedup code, bugzilla #5514.
49028         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
49029         glibc version.
49030         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
49031         * doc/posix-functions/strstr.texi (strstr): Likewise.
49032         * lib/str-two-way.h (MAX): Sychronize with glibc.
49033
49034 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
49035
49036         * lib/regcomp.c (optimize_utf8): Add a note on why we test
49037         opr.ctx_type.
49038         (calc_first): Initialize constraint field.
49039         (duplicate_node_closure): Use it instead of special casing ANCHORS.
49040         Fix grammar.
49041         (duplicate_node): Merge constraint field for all node types.
49042         (calc_eclosure_iter): Look at constraint field for all node types.
49043         * lib/regex_internal.c (create_cd_newstate): Don't look at
49044         opr.ctx_type.
49045
49046 2008-05-14  Bruno Haible  <bruno@clisp.org>
49047
49048         Help GCC to do better code generation.
49049         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
49050         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
49051         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
49052         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
49053         Declare with attribute 'malloc' if supported.
49054
49055 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
49056
49057         use "echo STR|wc -c" rather than unportable "expr length STR"
49058         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
49059         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
49060
49061 2008-05-14  Jim Meyering  <meyering@redhat.com>
49062
49063         use dd ibs=$n count=1 ... rather than less-portable head -c$n
49064         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
49065         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
49066         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
49067         via Collin Lasse.
49068
49069 2008-05-14  Eric Blake  <ebb9@byu.net>
49070
49071         Avoid quadratic growth in gl_LIBSOURCES.
49072         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
49073         Suggested by Bruno Haible.
49074
49075         Test xmemdup0.
49076         * modules/xmemdup0-tests: New file.
49077         * tests/test-xmemdup0.c: Likewise.
49078
49079 2008-05-13  Eric Blake  <ebb9@byu.net>
49080
49081         Split xmemdup0 into its own module.
49082         * modules/xmemdup0: New file.
49083         * lib/xmemdup0.h: Likewise.
49084         * lib/xmemdup0.c: Likewise.
49085         * MODULES.html.sh (Memory management functions): Add xmemdup0.
49086         * lib/xalloc.h (xmemdup0): Remove.
49087         * lib/xmalloc.c (xmemdup0): Likewise.
49088
49089 2008-05-13  Eric Blake  <ebb9@byu.net>
49090             Bruno Haible  <bruno@clisp.org>
49091
49092         Reduce number of forks required during autoconf.
49093         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
49094         and gl_LIBSOURCES_DIR.
49095         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
49096         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
49097         m4_syscmd per file.
49098         <m4_foreach_w>: Move...
49099         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
49100
49101 2008-05-13  Eric Blake  <ebb9@byu.net>
49102
49103         * gnulib-tool: Fix various comment typos.
49104
49105 2008-05-12  Bruno Haible  <bruno@clisp.org>
49106
49107         Tailor the linebreaking algorithm.
49108         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
49109
49110 2008-05-12  Bruno Haible  <bruno@clisp.org>
49111
49112         Update to Unicode 5.0.0.
49113         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49114         LBP_JV, LBP_JT. Redistribute values.
49115         (unilbrk_table): Change size.
49116         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
49117         Unicode TR#14 rev. 22.
49118         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
49119         LBP_JV, LBP_JT. Redistribute values.
49120         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
49121         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
49122         Update.
49123         * lib/unilbrk/lbrkprop1.h: Regenerated.
49124         * lib/unilbrk/lbrkprop2.h: Regenerated.
49125         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
49126         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
49127         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
49128         Likewise.
49129         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
49130         Likewise.
49131         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
49132         result.
49133         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
49134         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
49135         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
49136         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
49137         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
49138         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
49139
49140 2008-05-11  Bruno Haible  <bruno@clisp.org>
49141
49142         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
49143
49144 2008-05-11  Bruno Haible  <bruno@clisp.org>
49145
49146         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
49147         * modules/unilbrk/gen-lbrk: New file.
49148
49149 2008-05-11  Bruno Haible  <bruno@clisp.org>
49150
49151         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
49152         * m4/sha512.m4 (gl_SHA512): Likewise.
49153
49154 2008-05-11  Jim Meyering  <meyering@redhat.com>
49155
49156         New modules: crypto/sha256, crypto/sha512 (from coreutils)
49157         * modules/crypto/sha256: New file.
49158         * modules/crypto/sha512: Likewise.
49159         * lib/sha256.c: Likewise.
49160         * lib/sha256.h: Likewise.
49161         * lib/sha512.c: Likewise.
49162         * lib/sha512.h: Likewise.
49163         * lib/u64.h: Likewise.
49164         * m4/sha256.m4: Likewise.
49165         * m4/sha512.m4: Likewise.
49166         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
49167
49168 2008-05-10  Bruno Haible  <bruno@clisp.org>
49169
49170         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49171         (Input/Output <stdio.h>): Add xprintf.
49172         (Signal handling <signal.h>): Add strsignal.
49173         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49174         (Core language properties): Add func.
49175         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49176         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49177         strings.
49178         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49179         (Input/output): New section.
49180         (File system functions): Add openat-die, stat-macros.
49181         (Networking functions): Add sockets.
49182         (Unicode string functions): Add unictype/*.
49183         (Support for building libraries and executables): Add gperf.
49184         (Support for building documentation): Add agpl-3.0.
49185         (Misc): Add nocrash.
49186
49187 2008-05-10  Bruno Haible  <bruno@clisp.org>
49188
49189         * modules/unictype/gen-ctype: New file.
49190
49191 2008-05-10  Jim Meyering  <meyering@redhat.com>
49192
49193         Make chdir-safer.c more efficient on a system with no symlinks.
49194         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49195         also if ELOOP is zero.  Suggested by Bruno Haible.
49196
49197         Make chdir-safer.c slightly safer.
49198         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49199         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49200
49201         Avoid compile failure on systems without ELOOP (like mingw).
49202         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49203         Reported by Bruno Haible.
49204
49205 2008-05-10  Bruno Haible  <bruno@clisp.org>
49206
49207         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49208         (is_utf8_encoding): Use a case-insensitive comparison.
49209         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49210         streq.
49211
49212 2008-05-10  Bruno Haible  <bruno@clisp.org>
49213
49214         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49215         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49216         * lib/unilbrk/ulc-common.h (iconv_string_length,
49217         iconv_string_keeping_offsets): Remove declarations.
49218         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49219         Don't include <iconv.h>, streq.h, xsize.h.
49220         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49221         conversion.
49222         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49223         <iconv.h>, streq.h, xsize.h.
49224         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49225         conversion.
49226         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49227         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49228         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49229         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49230
49231 2008-05-10  Bruno Haible  <bruno@clisp.org>
49232
49233         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49234         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49235
49236         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49237         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49238
49239         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49240         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49241
49242         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49243         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49244
49245         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49246         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49247
49248         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49249         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49250
49251         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49252         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49253
49254         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49255         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49256
49257 2008-05-10  Bruno Haible  <bruno@clisp.org>
49258
49259         Split up 'linebreak' module.
49260         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49261         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49262         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49263         modifications.
49264         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49265         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49266         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49267         lib/linebreak.c.
49268         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49269         lib/linebreak.c.
49270         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49271         lib/linebreak.c.
49272         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49273         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49274         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49275         lib/linebreak.c.
49276         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49277         lib/linebreak.c.
49278         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49279         lib/linebreak.c.
49280         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49281         lib/linebreak.c.
49282         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49283         lib/linebreak.c.
49284         * modules/unilbrk/base: New file.
49285         * modules/unilbrk/tables: New file.
49286         * modules/unilbrk/u8-possible-linebreaks: New file.
49287         * modules/unilbrk/u16-possible-linebreaks: New file.
49288         * modules/unilbrk/u32-possible-linebreaks: New file.
49289         * modules/unilbrk/ulc-common: New file.
49290         * modules/unilbrk/ulc-possible-linebreaks: New file.
49291         * modules/unilbrk/u8-width-linebreaks: New file.
49292         * modules/unilbrk/u16-width-linebreaks: New file.
49293         * modules/unilbrk/u32-width-linebreaks: New file.
49294         * modules/unilbrk/ulc-width-linebreaks: New file.
49295         * lib/linebreak.h: Remove file.
49296         * lib/linebreak.c: Remove file.
49297         * m4/linebreak.m4: Remove file.
49298         * modules/linebreak: Remove file.
49299         * NEWS: Mention the changes.
49300
49301 2008-05-09  Eric Blake  <ebb9@byu.net>
49302
49303         Add xmemdup0.
49304         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49305         implementation.
49306         * lib/xmalloc.c (xmemdup0): New C implementation.
49307
49308 2008-05-08  Bruno Haible  <bruno@clisp.org>
49309
49310         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49311
49312 2008-05-07  Eric Blake  <ebb9@byu.net>
49313
49314         Support cross-compilation of <wctype.h>.
49315         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49316         AC_CACHE_CHECK.
49317
49318 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49319
49320         * build-aux/vc-list-files: Add support for bzr.
49321
49322 2008-05-03  Jim Meyering  <meyering@redhat.com>
49323
49324         avoid failed assertion with tight malloc
49325         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49326
49327 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49328
49329         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49330         are needed from arpa/inet.h.
49331         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49332         Reported by Bruno Haible.
49333
49334 2008-05-02  Jim Meyering  <meyering@redhat.com>
49335
49336         avoid compilation error on FreeBSD 6
49337         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49338
49339 2008-05-01  Jim Meyering  <meyering@redhat.com>
49340
49341         useless-if-before-free: correct --help's exit status description
49342         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49343         for one or more matches, etc.  Reported by Bruno Haible.
49344
49345         vc-list-files: make the stand-alone gnulib test work
49346         * modules/vc-list-files-tests (configure.ac):
49347         Define and AC_SUBST abs_aux_dir.
49348         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49349         $(abs_top_srcdir) to each script and having each of them
49350         duplicate the work of setting PATH, set PATH here, using
49351         the new variable, abs_aux_dir instead.
49352         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49353         * tests/test-vc-list-files-git.sh: Likewise.
49354         Reported by Bruno Haible.
49355
49356 2008-05-01  Bruno Haible  <bruno@clisp.org>
49357
49358         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49359         reallocation. Rename 'done' to 'found_delimiter'.
49360
49361 2008-05-01  Jim Meyering  <meyering@redhat.com>
49362
49363         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49364         * build-aux/vc-list-files: Use `...`, not $(...).
49365
49366 2008-04-30  Jim Meyering  <meyering@redhat.com>
49367
49368         add tests for vc-list-files
49369         * modules/vc-list-files-tests: New module.
49370         * tests/test-vc-list-files-cvs.sh: New file.
49371         * tests/test-vc-list-files-git.sh: New file.
49372
49373         avoid a warning from gcc
49374         * lib/getndelim2.c (IF_LINT): Define.
49375         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49376
49377         vc-list-files: work properly with build-aux/cvsu, too
49378         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49379         to all cvs-based clauses.
49380
49381         vc-list-files: work properly in the CVS+awk case, too
49382         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49383
49384         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49385         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49386         take more than one file argument, so .  Add quotes, just in case $dir
49387         ever contains a shell meta-character.  Prompted by Soren Hansen in
49388         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49389
49390 2008-04-29  Eric Blake  <ebb9@byu.net>
49391
49392         Optimize getndelim2 to use block operations when possible.
49393         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49394         freadseek, and memchr2.
49395         * lib/getndelim2.c (getndelim2): Use them for block reads.
49396
49397 2008-04-29  Bruno Haible  <bruno@clisp.org>
49398
49399         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49400         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49401         * modules/inet_ntop (Depends-on): Add extensions.
49402         * modules/inet_pton (Depends-on): Likewise.
49403         Reported by Simon Josefsson.
49404
49405 2008-04-29  Jim Meyering  <meyering@redhat.com>
49406
49407         When the is more than one match in a block, match all of them.
49408         * build-aux/useless-if-before-free: Iterate through each block
49409         until there are no more matches.
49410
49411         Fix broken useless-if-before-free script.
49412         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49413         the expression to match cast of argument to free-like function.
49414
49415 2008-04-29  Eric Blake  <ebb9@byu.net>
49416
49417         Use new header.
49418         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49419
49420 2008-04-29  Jim Meyering  <meyering@redhat.com>
49421
49422         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49423         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49424         by gnulib to exist and to declare e.g., inet_ntop.
49425         Don't include "inet_ntop.h", now removed.
49426
49427         * m4/arpa_inet_h.m4: Remove trailing blanks.
49428
49429 2008-04-29  Eric Blake  <ebb9@byu.net>
49430
49431         Silence valgrind on safe reads beyond potential array bounds.
49432         * lib/rawmemchr.valgrind: New file.
49433         * lib/strchrnul.valgrind: Likewise.
49434         * modules/rawmemchr (Files): Distribute new file.
49435         * modules/strchrnul (Files): Likewise.
49436         Suggested by Bruno Haible.
49437
49438 2008-04-29  Bruno Haible  <bruno@clisp.org>
49439
49440         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49441         (inet_ntop, inet_pton): Change portability warning's wording.
49442         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49443         Invoke gl_CHECK_NEXT_HEADERS.
49444         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49445         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49446         set ARPA_INET_H.
49447         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49448         * modules/arpa_inet (Description): No longer only for systems that
49449         lack it.
49450         (Depends-on): Add include_next.
49451         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49452         HAVE_ARPA_INET_H.
49453
49454 2008-04-29  Jim Meyering  <meyering@redhat.com>
49455
49456         * modules/mkdir (License): Re-license as LGPLv2+.
49457
49458 2008-04-29  Bruno Haible  <bruno@clisp.org>
49459
49460         * modules/rawmemchr (Maintainer): Set to Eric.
49461         * modules/strchrnul (Maintainer): Likewise.
49462
49463 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49464
49465         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49466         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49467
49468         * modules/arpa_inet (arpa/inet.h): Use them.
49469
49470 2008-04-28  Eric Blake  <ebb9@byu.net>
49471
49472         Test getndelim2.
49473         * modules/getndelim2-tests: New file.
49474         * tests/test-getndelim2.c: Likewise.
49475         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49476         stream.
49477         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49478
49479         * MODULES.html.sh: Document new module.
49480
49481 2008-04-20  Bruno Haible  <bruno@clisp.org>
49482
49483         * lib/c-stack.c (die): Use raise.
49484         * modules/c-stack (Depends-on): Add raise.
49485
49486 2008-04-28  Bruno Haible  <bruno@clisp.org>
49487
49488         Expect rpmatch to be declared.
49489         * lib/yesno.c (rpmatch): Remove declaration.
49490
49491         Declare rpmatch.
49492         * lib/stdlib.in.h (rpmatch): New declaration.
49493         * lib/rpmatch.c: Include <stdlib.h> first.
49494         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49495         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49497         HAVE_RPMATCH.
49498         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49499         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49500         (Include): Set to <stdlib.h>.
49501         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49502         HAVE_RPMATCH.
49503         * NEWS: Document the change.
49504
49505 2008-04-28  Bruno Haible  <bruno@clisp.org>
49506
49507         Change rpmatch to use nl_langinfo when appropriate.
49508         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49509         (N_): New macro.
49510         (localized_pattern): New function/macro.
49511         (try): Remove match, nomatch arguments. Copy the pattern into safe
49512         memory before caching it.
49513         (rpmatch): Use localized_pattern. Add translator comments.
49514         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49515         Suggested by Eric Blake.
49516         * modules/rpmatch (Depends-on): Add stdbool.
49517
49518 2008-04-28  Eric Blake  <ebb9@byu.net>
49519
49520         Add rawmemchr module, matching glibc.
49521         * modules/string (Makefile.am): New indicator.
49522         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49523         * lib/string.in.h (rawmemchr): Declare when appropriate.
49524         * modules/rawmemchr: New file.
49525         * m4/rawmemchr.m4: Likewise.
49526         * lib/rawmemchr.c: Likewise.
49527         * modules/rawmemchr-tests: Likewise.
49528         * tests/test-rawmemchr.c: Likewise.
49529         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49530         module.
49531         * modules/strchrnul (Depends-on): Add rawmemchr.
49532         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49533
49534         Whitespace cleanup.
49535         * tests/test-strchrnul.c: Reindent.
49536         * lib/strchrnul.c: Likewise.
49537
49538         Optimize and test strchrnul.
49539         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49540         * modules/strchrnul-tests: New file.
49541         * tests/test-strchrnul.c: Likewise.
49542
49543         Remove intprops dependency.
49544         * modules/memchr (Depends-on): Remove intprops.
49545         * modules/memrchr (Depends-on): Likewise.
49546         * modules/memchr2 (Depends-on): Likewise.
49547         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49548         * lib/memrchr.c (__memrchr): Likewise.
49549         * lib/memrchr2.c (memchr2): Likewise.
49550         Reported by Simon Josefsson.
49551
49552 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49553
49554         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49555         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49556
49557 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49558
49559         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49560
49561         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49562
49563         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49564
49565         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49566         declarations.
49567         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49568
49569         * m4/inet_pton.m4: Don't check for header files.
49570
49571         * m4/inet_ntop.m4: Don't check for header files.
49572
49573 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49574
49575         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49576         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49577         trigger for cygwin).
49578         Reported by Bruno Haible  <bruno@clisp.org>.
49579
49580 2008-04-28  Bruno Haible  <bruno@clisp.org>
49581
49582         * doc/posix-functions/strdup.texi: Mention mingw problem.
49583
49584 2008-04-27  Bruno Haible  <bruno@clisp.org>
49585
49586         * modules/stat-time-tests (Depends-on): Add sleep.
49587         * tests/test-stat-time.c (force_unlink): New function.
49588         (cleanup): Use it.
49589         (test_mtime): Remove the ctime related tests.
49590         (test_ctime): New function, containing the ctime related tests.
49591         (main): Call test_ctime, except on native Windows platforms.
49592
49593 2008-04-27  Bruno Haible  <bruno@clisp.org>
49594
49595         * lib/rpmatch.c (rpmatch): Add some comments.
49596         Reported by James Youngman <jay@gnu.org>.
49597
49598 2008-04-27  Bruno Haible  <bruno@clisp.org>
49599
49600         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49601         quiet NaNs.
49602
49603 2008-04-27  Bruno Haible  <bruno@clisp.org>
49604
49605         Make test-yesno.sh work on mingw.
49606         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49607         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49608         (main): Set stdin to binary mode.
49609         * modules/yesno-tests (Depends-on): Add binary-io.
49610
49611 2008-04-27  Bruno Haible  <bruno@clisp.org>
49612
49613         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49614         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49615         argument that lie outside the IEEE 854 domain.
49616         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49617         (gl_ISFINITE): Use it.
49618         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49619
49620 2008-04-27  Bruno Haible  <bruno@clisp.org>
49621
49622         Allow local renaming in config.h.
49623         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49624
49625 2008-04-27  Bruno Haible  <bruno@clisp.org>
49626
49627         * lib/memchr.c (__memchr): Change type of 'i'.
49628         * lib/memchr2.c (memchr2): Likewise.
49629
49630 2008-04-26  Eric Blake  <ebb9@byu.net>
49631         and Bruno Haible  <bruno@clisp.org>
49632
49633         Optimize and test memrchr.
49634         * modules/memrchr (Depends-on): Add intprops.
49635         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49636         * modules/memrchr-tests: New file.
49637         * tests/test-memrchr.c: New file.
49638
49639 2008-04-26  Bruno Haible  <bruno@clisp.org>
49640
49641         Add tentative support for DragonFly BSD.
49642         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49643         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49644         fp.
49645         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49646         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49647         * lib/fpurge.c (fpurge): Likewise.
49648         * lib/freadable.c (freaadable): Likewise.
49649         * lib/freadahead.c (freadahead): Likewise.
49650         * lib/freading.c (freading): Likewise.
49651         * lib/freadptr.c (freadptr): Likewise.
49652         * lib/freadseek.c (freadptrinc): Likewise.
49653         * lib/fseeko.c (fseeko): Likewise.
49654         * lib/fseterr.c (fseterr): Likewise.
49655         * lib/fwritable.c (fwritable): Likewise.
49656         * lib/fwriting.c (fwriting): Likewise.
49657
49658 2008-04-26  Bruno Haible  <bruno@clisp.org>
49659
49660         * lib/stdio-impl.h: New file.
49661         * lib/fbufmode.c: Include stdio-impl.h.
49662         (fbufmode): Use fp_, remove redundant #defines.
49663         * lib/fflush.c: Include stdio-impl.h.
49664         (clear_ungetc_buffer): Remove redundant #defines.
49665         * lib/fpurge.c: Include stdio-impl.h.
49666         (fpurge): Remove redundant #defines.
49667         * lib/freadable.c: Include stdio-impl.h.
49668         (freadable): Remove redundant #defines.
49669         * lib/freadahead.c: Include stdio-impl.h.
49670         (freadahead): Remove redundant #defines.
49671         * lib/freading.c: Include stdio-impl.h.
49672         (freading): Remove redundant #defines.
49673         * lib/freadptr.c: Include stdio-impl.h.
49674         (freadptr): Remove redundant #defines.
49675         * lib/freadseek.c: Include stdio-impl.h.
49676         (freadptrinc): Remove redundant #defines.
49677         * lib/fseeko.c: Include stdio-impl.h.
49678         (rpl_fseeko): Remove redundant #defines.
49679         * lib/fseterr.c: Include stdio-impl.h.
49680         (fseterr): Remove redundant #defines.
49681         * lib/fwritable.c: Include stdio-impl.h.
49682         (fwritable: Remove redundant #defines.
49683         * lib/fwriting.c: Include stdio-impl.h.
49684         (fwriting): Remove redundant #defines.
49685         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49686         * modules/fflush (Files): Likewise.
49687         * modules/fpurge (Files): Likewise.
49688         * modules/freadable (Files): Likewise.
49689         * modules/freadahead (Files): Likewise.
49690         * modules/freading (Files): Likewise.
49691         * modules/freadptr (Files): Likewise.
49692         * modules/freadseek (Files): Likewise.
49693         * modules/fseeko (Files): Likewise.
49694         * modules/fseterr (Files): Likewise.
49695         * modules/fwritable (Files): Likewise.
49696         * modules/fwriting (Files): Likewise.
49697
49698 2008-04-26  Bruno Haible  <bruno@clisp.org>
49699
49700         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49701         restore_seek_optimization, update_fpos_cache): New functions, extracted
49702         from rpl_fflush.
49703         (rpl_fflush): Use them.
49704         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49705         (gl_REPLACE_FFLUSH): Use it.
49706
49707 2008-04-26  Bruno Haible  <bruno@clisp.org>
49708
49709         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49710         on Solaris.
49711         * tests/test-xstrtoimax.sh: Likewise.
49712         * tests/test-xstrtoumax.sh: Likewise.
49713         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49714
49715 2008-04-26  Bruno Haible  <bruno@clisp.org>
49716
49717         * modules/memchr-tests: New file.
49718         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49719
49720 2008-04-26  Eric Blake  <ebb9@byu.net>
49721             Bruno Haible  <bruno@clisp.org>
49722
49723         * lib/memchr.c: Include intprops.h.
49724         (__memchr): Optimize parallel detection of matching bytes. Rename local
49725         variables. Add explanatory comments.
49726
49727 2008-04-26  Bruno Haible  <bruno@clisp.org>
49728
49729         Fix module 'memchr', broken since 2000-10-28.
49730         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49731
49732 2008-04-26  Bruno Haible  <bruno@clisp.org>
49733
49734         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49735         comments.
49736
49737 2008-04-25  Eric Blake  <ebb9@byu.net>
49738
49739         Use native fstatat on cygwin 1.7.0.
49740         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49741         first.
49742
49743 2008-04-23  Eric Blake  <ebb9@byu.net>
49744
49745         Improve memchr2 performance.
49746         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49747         NUL bytes.
49748         * modules/memchr2 (Depends-on): Use intprops.h.
49749
49750 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49751
49752         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49753         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49754         <blp@cs.stanford.edu>.
49755
49756 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49757
49758         * lib/arpa_inet.in.h: New file.
49759
49760         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49761         (Makefile.am): Sed in substitute header file.
49762
49763         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49764         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49765
49766         * modules/inet_ntop (configure.ac): Use
49767         gl_ARPA_INET_MODULE_INDICATOR.
49768
49769         * modules/inet_pton (configure.ac): Use
49770         gl_ARPA_INET_MODULE_INDICATOR.
49771
49772 2008-04-22  Jim Meyering  <meyering@redhat.com>
49773
49774         * modules/verify (License): Re-license as LGPLv2+.
49775
49776 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49777
49778         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49779         parameter to void* as per POSIX standard (MinGW uses char*).
49780
49781 2008-04-21  Bruno Haible  <bruno@clisp.org>
49782
49783         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49784         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49785         Define to replacements if REPLACE_ISWCNTRL is 1.
49786         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49787         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49788         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49789         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49790         what it fixes.
49791         * doc/posix-functions/iswalpha.texi: Likewise.
49792         * doc/posix-functions/iswblank.texi: Likewise.
49793         * doc/posix-functions/iswcntrl.texi: Likewise.
49794         * doc/posix-functions/iswdigit.texi: Likewise.
49795         * doc/posix-functions/iswgraph.texi: Likewise.
49796         * doc/posix-functions/iswlower.texi: Likewise.
49797         * doc/posix-functions/iswprint.texi: Likewise.
49798         * doc/posix-functions/iswpunct.texi: Likewise.
49799         * doc/posix-functions/iswspace.texi: Likewise.
49800         * doc/posix-functions/iswupper.texi: Likewise.
49801         * doc/posix-functions/iswxdigit.texi: Likewise.
49802         Reported by Alain Guibert.
49803
49804 2008-04-21  Bruno Haible  <bruno@clisp.org>
49805
49806         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49807         Patch by Alain Guibert.
49808
49809 2008-04-21  Bruno Haible  <bruno@clisp.org>
49810
49811         Fix test failures on mingw.
49812         * tests/test-xstrtol.c (print_no_progname): New function.
49813         (main): Install it in error_print_progname hook.
49814         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49815         * tests/test-xstrtoimax.sh: Likewise.
49816         * tests/test-xstrtoumax.sh: Likewise.
49817
49818 2008-04-21  Bruno Haible  <bruno@clisp.org>
49819
49820         Fix test failure on mingw.
49821         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49822
49823 2008-04-21  Bruno Haible  <bruno@clisp.org>
49824
49825         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49826         Actually assign a value.
49827
49828 2008-04-20  Bruno Haible  <bruno@clisp.org>
49829
49830         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49831         take 2.
49832         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49833         'canonicalize-lgpl' module is also used.
49834         * lib/canonicalize-lgpl.c: Undo last change.
49835         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49836
49837 2008-04-20  Bruno Haible  <bruno@clisp.org>
49838
49839         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49840         config.h. Provide _mkdir based fallback for mingw.
49841         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49842         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49843         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49844         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49845         rather than defining mkdir in config.h.
49846         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49847         (gl_SYS_STAT_H_DEFAULTS): New macro.
49848         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49849         HAVE_IO_H any more.
49850         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49851         HAVE_DECL_MKDIR and HAVE_IO_H.
49852
49853 2008-04-20  Bruno Haible  <bruno@clisp.org>
49854
49855         * lib/isapipe.c: Port to native Windows platforms.
49856
49857 2008-04-20  Bruno Haible  <bruno@clisp.org>
49858
49859         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49860
49861 2008-04-21  Eric Blake  <ebb9@byu.net>
49862
49863         Work around preprocessors that don't handle UINTMAX_MAX.
49864         * lib/memchr2.c (memchr2): Avoid embedded #if.
49865         Reported by Alain Guibert, fix suggested by Bruno Haible.
49866
49867 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49868
49869         * doc/posix-functions/strftime.texi (strftime): Explain better
49870         Windows incompatibility.  Suggested by Micah Cowan
49871         <micah@cowan.name>.
49872
49873 2008-04-20  Bruno Haible  <bruno@clisp.org>
49874
49875         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49876         unistr/u8-mblen.
49877
49878 2008-04-20  Bruno Haible  <bruno@clisp.org>
49879
49880         Fix test failure on platforms with non-GNU iconv.
49881         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49882         (U_TO_U8): Use it, rather than u16_to_u8.
49883         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49884         units at the end of the input string.
49885         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49886
49887 2008-04-20  Bruno Haible  <bruno@clisp.org>
49888
49889         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49890         when the resulting length is 0.
49891         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49892
49893 2008-04-20  Bruno Haible  <bruno@clisp.org>
49894
49895         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49896         works.
49897         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49898
49899 2008-04-20  Bruno Haible  <bruno@clisp.org>
49900
49901         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49902         * modules/tsearch-tests (configure.ac): Test for initstate function.
49903
49904 2008-04-20  Bruno Haible  <bruno@clisp.org>
49905
49906         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49907         for nlink_t if missing.
49908         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49909
49910 2008-04-19  Bruno Haible  <bruno@clisp.org>
49911
49912         Work around snprintf bug on Linux libc5.
49913         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49914         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49915         gl_SNPRINTF_SIZE1.
49916         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49917         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49918         that test failed.
49919         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49920         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49921         * modules/snprintf (Files): Add m4/printf.m4.
49922         * modules/vsnprintf (Files): Likewise.
49923         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49924         * doc/posix-functions/vsnprintf.texi: Likewise.
49925
49926 2008-04-19  Bruno Haible  <bruno@clisp.org>
49927
49928         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49929         from 0.0058 to less than 10^-7.
49930
49931 2008-04-19  Bruno Haible  <bruno@clisp.org>
49932
49933         Fix rounding when a precision is given.
49934         * lib/vasnprintf.c (is_borderline): New function.
49935         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49936         9...9x.
49937         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49938         %e, %g.
49939         * tests/test-vasprintf-posix.c (test_function): Likewise.
49940         * tests/test-snprintf-posix.h (test_function): Likewise.
49941         * tests/test-sprintf-posix.h (test_function): Likewise.
49942         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49943         * tests/test-printf-posix.h (test_function): Likewise.
49944         * tests/test-printf-posix.output: Update.
49945         Reported by John Darrington <john@darrington.wattle.id.au> via
49946         Ben Pfaff <blp@cs.stanford.edu>.
49947
49948 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49949
49950         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49951         Suggested by Bruno Haible <bruno@clisp.org>.
49952
49953 2008-04-17  Bruno Haible  <bruno@clisp.org>
49954
49955         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49956         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49957         implementation.
49958         Patch by Bruce Merry <bmerry@gmail.com>.
49959
49960 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49961
49962         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49963         doesn't work under Windows.
49964
49965 2008-04-16  Bruno Haible  <bruno@clisp.org>
49966
49967         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49968         New macros.
49969         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49970         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49971         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49972         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49973         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49974         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49975         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49976         macros.
49977         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49978         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49979         Northern Sotho, Uighur.
49980
49981 2008-04-16  Bruno Haible  <bruno@clisp.org>
49982
49983         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49984         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49985         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49986         Reported by Daniel Bergström <daniel@octocode.com>.
49987
49988 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49989             Bruno Haible  <bruno@clisp.org>
49990
49991         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49992         function.
49993         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49994         New functions, mostly extracted from gl_locale_name_default.
49995         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49996
49997 2008-04-16  Eric Blake  <ebb9@byu.net>
49998
49999         Adjust strtod detection to catch glibc 2.7 bug.
50000         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
50001         Reported by John Gatewood Ham.
50002
50003 2008-04-16  Bruno Haible  <bruno@clisp.org>
50004
50005         Add tentative support for Linux libc5.
50006         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
50007         * lib/fpurge.c (fpurge): Likewise.
50008         * lib/freadable.c (freadable): Likewise.
50009         * lib/freadahead.c (freadahead): Likewise.
50010         * lib/freading.c (freading): Likewise.
50011         * lib/freadptr.c (freadptr): Likewise.
50012         * lib/freadseek.c (freadptrinc): Likewise.
50013         * lib/fseeko.c (rpl_fseeko): Likewise.
50014         * lib/fseterr.c (fseterr): Likewise.
50015         * lib/fwritable.c (fwritable): Likewise.
50016         * lib/fwriting.c (fwriting): Likewise.
50017         Reported by Alain Guibert <alguibert+bts@free.fr>.
50018
50019 2008-04-15  Bruno Haible  <bruno@clisp.org>
50020
50021         * modules/mathl (configure.ac): Define module indicator.
50022
50023 2008-04-15  Bruno Haible  <bruno@clisp.org>
50024
50025         * lib/logl.c (logl): Remove unused variables.
50026
50027 2008-04-15  Bruno Haible  <bruno@clisp.org>
50028
50029         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
50030         fails.
50031
50032 2008-04-15  Bruno Haible  <bruno@clisp.org>
50033
50034         * lib/trim.c (trim2): Fix argument of isspace() macro.
50035
50036 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
50037
50038         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
50039         to 0.
50040         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
50041
50042 2008-04-14  Bruno Haible  <bruno@clisp.org>
50043
50044         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
50045         AC_LANG_PROGRAM argument.
50046         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
50047         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
50048         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
50049         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
50050         * m4/math_h.m4 (gl_MATH_H): Likewise.
50051         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
50052         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50053         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
50054         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
50055         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50056         * m4/regex.m4 (gl_REGEX): Likewise.
50057         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
50058         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
50059         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50060         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
50061         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50062         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50063         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50064         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
50065
50066 2008-04-14  Jim Meyering  <meyering@redhat.com>
50067
50068         test-strtod: fix typos: s/abs/fabs/
50069         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
50070
50071 2008-04-13  Bruno Haible  <bruno@clisp.org>
50072
50073         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
50074         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
50075         module is also used and while not building the reloc-wrapper.
50076
50077 2008-04-13  Bruno Haible  <bruno@clisp.org>
50078
50079         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
50080
50081 2008-04-13  Bruno Haible  <bruno@clisp.org>
50082
50083         Fix AIX compilation failure introduced on 2008-04-02.
50084         * tests/test-frexp.c (exp): Undefine before redefining.
50085         * tests/test-frexpl.c (exp): Likewise.
50086
50087 2008-04-13  Bruno Haible  <bruno@clisp.org>
50088
50089         Work around a HP-UX stdio bug.
50090         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
50091         * tests/test-ftello.c (main): Likewise.
50092         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
50093         * doc/posix-functions/ftello.texi: Likewise.
50094
50095 2008-04-13  Bruno Haible  <bruno@clisp.org>
50096
50097         Make test-signbit pass on HP-UX/hppa.
50098         * tests/test-signbit.c (minus_zerol): New variable.
50099         (test_signbitl): Use it.
50100
50101 2008-04-13  Bruno Haible  <bruno@clisp.org>
50102
50103         Make truncl work on OSF/1 4.0.
50104         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
50105         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50106         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
50107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
50108         HAVE_DECL_TRUNCL.
50109         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
50110         HAVE_DECL_TRUNCL.
50111         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
50112
50113 2008-04-13  Bruno Haible  <bruno@clisp.org>
50114
50115         * lib/unictype.h: Remove trailing comma from enumeration definitions.
50116
50117 2008-04-13  Bruno Haible  <bruno@clisp.org>
50118
50119         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
50120         expression, so as to avoid HP-UX 11 cc compiler bug.
50121
50122 2008-04-13  Bruno Haible  <bruno@clisp.org>
50123
50124         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
50125
50126 2008-04-13  Bruno Haible  <bruno@clisp.org>
50127
50128         * lib/git-merge-changelog.c: Remove empty declaration outside of
50129         functions.
50130
50131 2008-04-13  Bruno Haible  <bruno@clisp.org>
50132
50133         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
50134
50135 2008-04-13  Bruno Haible  <bruno@clisp.org>
50136
50137         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
50138         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
50139         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
50140         also if it exists but lacks definitions of the SHUT_* macros.
50141         * modules/sys_socket (Description): Update.
50142         Reported by Elbert Pol <e.pol@chello.nl>.
50143
50144 2008-04-13  Bruno Haible  <bruno@clisp.org>
50145
50146         * lib/localcharset.c (OS2): Don't redefine if already defined.
50147         Reported by Elbert Pol <e.pol@chello.nl>.
50148
50149 2008-04-13  Bruno Haible  <bruno@clisp.org>
50150
50151         * lib/binary-io.h [__EMX__]: Include <io.h>.
50152         Reported by Elbert Pol <e.pol@chello.nl>.
50153
50154 2008-04-12  Bruno Haible  <bruno@clisp.org>
50155
50156         * lib/fpucw.h: Enable the definitions also for x86_64.
50157         Needed for NetBSD/x86_64.
50158         Reported by Thomas Klausner <tk@giga.or.at>.
50159
50160 2008-04-12  Bruno Haible  <bruno@clisp.org>
50161
50162         * tests/test-strtod.c: Include isnand.h.
50163         (main): Use isnand instead of isnan.
50164         Reported by Jim Meyering.
50165
50166 2008-04-12  Bruno Haible  <bruno@clisp.org>
50167
50168         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50169         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50170
50171 2008-04-12  Jim Meyering  <meyering@redhat.com>
50172
50173         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50174
50175 2008-04-12  Bruno Haible  <bruno@clisp.org>
50176
50177         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50178         Reported by Elbert Pol <e.pol@chello.nl>.
50179
50180 2008-04-12  Eric Blake  <ebb9@byu.net>
50181
50182         Work around Solaris 10 math.h bug.
50183         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50184         (gl_MATH_H_DEFAULTS): Set up default.
50185         * modules/math (Makefile.am): Replace new indicators.
50186         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50187         * tests/test-math.c (main): Test this.
50188         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50189         * doc/posix-headers/math.texi (math.h): Mention bug.
50190         Reported by Nelson H. F. Beebe and Jim Meyering.
50191
50192 2008-04-11  Bruno Haible  <bruno@clisp.org>
50193
50194         Adapt to future versions of Apple GCC.
50195         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50196         Reported by Peter O'Gorman <peter@pogma.com>.
50197
50198 2008-04-11  Bruno Haible  <bruno@clisp.org>
50199
50200         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50201
50202 2008-04-11  Bruno Haible  <bruno@clisp.org>
50203
50204         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50205
50206         * modules/getaddrinfo-tests (Makefile.am): Define
50207         test_getaddrinfo_LDADD.
50208
50209 2008-04-11  Bruno Haible  <bruno@clisp.org>
50210
50211         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50212         (init): Fix syntax error.
50213         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50214         is declared.
50215
50216 2008-04-11  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50219         * modules/glob (Depends-on): Add stdbool.
50220
50221 2008-04-11  Bruno Haible  <bruno@clisp.org>
50222
50223         * lib/trim.c: Include <string.h>.
50224
50225 2008-04-11  Eric Blake  <ebb9@byu.net>
50226
50227         Avoid compile failure on OS/2.
50228         * lib/regex_internal.h (internal_function): Disable optimization
50229         on OS/2 (__EMX__), where it caused compiler error.
50230         Reported by Elbert Pol.
50231
50232 2008-04-11  Bruno Haible  <bruno@clisp.org>
50233
50234         Flush the standard error stream before aborting. Needed on mingw.
50235         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50236         * tests/test-array_list.c (ASSERT): Likewise.
50237         * tests/test-array_oset.c (ASSERT): Likewise.
50238         * tests/test-avltree_list.c (ASSERT): Likewise.
50239         * tests/test-avltree_oset.c (ASSERT): Likewise.
50240         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50241         * tests/test-binary-io.c (ASSERT): Likewise.
50242         * tests/test-byteswap.c (ASSERT): Likewise.
50243         * tests/test-c-ctype.c (ASSERT): Likewise.
50244         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50245         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50246         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50247         * tests/test-c-strstr.c (ASSERT): Likewise.
50248         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50249         * tests/test-canonicalize.c (ASSERT): Likewise.
50250         * tests/test-carray_list.c (ASSERT): Likewise.
50251         * tests/test-ceilf1.c (ASSERT): Likewise.
50252         * tests/test-ceilf2.c (ASSERT): Likewise.
50253         * tests/test-ceill.c (ASSERT): Likewise.
50254         * tests/test-count-one-bits.c (ASSERT): Likewise.
50255         * tests/test-fbufmode.c (ASSERT): Likewise.
50256         * tests/test-fflush2.c (ASSERT): Likewise.
50257         * tests/test-floorf1.c (ASSERT): Likewise.
50258         * tests/test-floorf2.c (ASSERT): Likewise.
50259         * tests/test-floorl.c (ASSERT): Likewise.
50260         * tests/test-fopen.c (ASSERT): Likewise.
50261         * tests/test-fpending.c (ASSERT): Likewise.
50262         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50263         * tests/test-fpurge.c (ASSERT): Likewise.
50264         * tests/test-freadable.c (ASSERT): Likewise.
50265         * tests/test-freadahead.c (ASSERT): Likewise.
50266         * tests/test-freading.c (ASSERT): Likewise.
50267         * tests/test-freadptr.c (ASSERT): Likewise.
50268         * tests/test-freadptr2.c (ASSERT): Likewise.
50269         * tests/test-freadseek.c (ASSERT): Likewise.
50270         * tests/test-freopen.c (ASSERT): Likewise.
50271         * tests/test-frexp.c (ASSERT): Likewise.
50272         * tests/test-frexpl.c (ASSERT): Likewise.
50273         * tests/test-fseek.c (ASSERT): Likewise.
50274         * tests/test-fseeko.c (ASSERT): Likewise.
50275         * tests/test-fstrcmp.c (ASSERT): Likewise.
50276         * tests/test-ftell.c (ASSERT): Likewise.
50277         * tests/test-ftello.c (ASSERT): Likewise.
50278         * tests/test-func.c (ASSERT): Likewise.
50279         * tests/test-fwritable.c (ASSERT): Likewise.
50280         * tests/test-fwriting.c (ASSERT): Likewise.
50281         * tests/test-getdelim.c (ASSERT): Likewise.
50282         * tests/test-getline.c (ASSERT): Likewise.
50283         * tests/test-i-ring.c (ASSERT): Likewise.
50284         * tests/test-iconv-utf.c (ASSERT): Likewise.
50285         * tests/test-iconv.c (ASSERT): Likewise.
50286         * tests/test-isfinite.c (ASSERT): Likewise.
50287         * tests/test-isnand.c (ASSERT): Likewise.
50288         * tests/test-isnanf.c (ASSERT): Likewise.
50289         * tests/test-isnanl.h (ASSERT): Likewise.
50290         * tests/test-ldexpl.c (ASSERT): Likewise.
50291         * tests/test-linked_list.c (ASSERT): Likewise.
50292         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50293         * tests/test-localename.c (ASSERT): Likewise.
50294         * tests/test-lseek.c (ASSERT): Likewise.
50295         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50296         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50297         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50298         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50299         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50300         * tests/test-mbschr.c (ASSERT): Likewise.
50301         * tests/test-mbscspn.c (ASSERT): Likewise.
50302         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50303         * tests/test-mbspbrk.c (ASSERT): Likewise.
50304         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50305         * tests/test-mbsrchr.c (ASSERT): Likewise.
50306         * tests/test-mbsspn.c (ASSERT): Likewise.
50307         * tests/test-mbsstr1.c (ASSERT): Likewise.
50308         * tests/test-mbsstr2.c (ASSERT): Likewise.
50309         * tests/test-mbsstr3.c (ASSERT): Likewise.
50310         * tests/test-memchr2.c (ASSERT): Likewise.
50311         * tests/test-memmem.c (ASSERT): Likewise.
50312         * tests/test-open.c (ASSERT): Likewise.
50313         * tests/test-printf-frexp.c (ASSERT): Likewise.
50314         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50315         * tests/test-printf-posix.c (ASSERT): Likewise.
50316         * tests/test-quotearg.c (ASSERT): Likewise.
50317         * tests/test-rbtree_list.c (ASSERT): Likewise.
50318         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50319         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50320         * tests/test-round1.c (ASSERT): Likewise.
50321         * tests/test-roundf1.c (ASSERT): Likewise.
50322         * tests/test-roundl.c (ASSERT): Likewise.
50323         * tests/test-signbit.c (ASSERT): Likewise.
50324         * tests/test-sleep.c (ASSERT): Likewise.
50325         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50326         * tests/test-snprintf.c (ASSERT): Likewise.
50327         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50328         * tests/test-stat-time.c (ASSERT): Likewise.
50329         * tests/test-strcasestr.c (ASSERT): Likewise.
50330         * tests/test-strerror.c (ASSERT): Likewise.
50331         * tests/test-striconv.c (ASSERT): Likewise.
50332         * tests/test-striconveh.c (ASSERT): Likewise.
50333         * tests/test-striconveha.c (ASSERT): Likewise.
50334         * tests/test-strsignal.c (ASSERT): Likewise.
50335         * tests/test-strstr.c (ASSERT): Likewise.
50336         * tests/test-strtod.c (ASSERT): Likewise.
50337         * tests/test-trunc1.c (ASSERT): Likewise.
50338         * tests/test-trunc2.c (ASSERT): Likewise.
50339         * tests/test-truncf1.c (ASSERT): Likewise.
50340         * tests/test-truncf2.c (ASSERT): Likewise.
50341         * tests/test-truncl.c (ASSERT): Likewise.
50342         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50343         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50344         * tests/test-vasnprintf.c (ASSERT): Likewise.
50345         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50346         * tests/test-vasprintf.c (ASSERT): Likewise.
50347         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50348         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50349         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50350         * tests/test-vsnprintf.c (ASSERT): Likewise.
50351         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50352         * tests/test-wcwidth.c (ASSERT): Likewise.
50353         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50354         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50355         * tests/test-xvasprintf.c (ASSERT): Likewise.
50356         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50357         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50358         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50359         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50360         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50361         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50362         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50363         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50364         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50365         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50366         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50367         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50368         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50369         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50370         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50371         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50372         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50373         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50374         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50375         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50376         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50377         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50378         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50379         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50380         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50381         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50382         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50383         * tests/unictype/test-combining.c (ASSERT): Likewise.
50384         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50385         * tests/unictype/test-digit.c (ASSERT): Likewise.
50386         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50387         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50388         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50389         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50390         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50391         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50392         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50393         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50394         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50395         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50396         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50397         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50398         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50399         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50400         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50401         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50402         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50403         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50404         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50405         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50406         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50407         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50408         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50409         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50410         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50411         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50412         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50413         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50414         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50415         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50416         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50417         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50418         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50419         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50420         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50421         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50422         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50423         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50424         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50425         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50426         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50427         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50428         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50429         Reported by Eric Blake.
50430
50431 2008-04-11  Bruno Haible  <bruno@clisp.org>
50432
50433         * lib/wchar.in.h: Tweak comment.
50434
50435 2008-04-11  Bruno Haible  <bruno@clisp.org>
50436
50437         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50438         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50439         gl_COMMON.
50440         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50441
50442 2008-04-11  Bruno Haible  <bruno@clisp.org>
50443
50444         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50445
50446 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50447
50448         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50449         of attempting to use non-existing /dev/*random.  Based on patch
50450         from Adam Strzelecki <ono@java.pl> in
50451         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50452
50453 2008-04-08  Bruno Haible  <bruno@clisp.org>
50454
50455         Add tentative support for emx+gcc.
50456         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50457         * lib/fpurge.c (fpurge): Likewise.
50458         * lib/freadable.c (freadable): Likewise.
50459         * lib/freadahead.c (freadahead): Likewise.
50460         * lib/freading.c (freading): Likewise.
50461         * lib/freadptr.c (freadptr): Likewise.
50462         * lib/freadseek.c (freadptrinc): Likewise.
50463         * lib/fseeko.c (rpl_fseeko): Likewise.
50464         * lib/fseterr.c (fseterr): Likewise.
50465         * lib/fwritable.c (fwritable): Likewise.
50466         * lib/fwriting.c (fwriting): Likewise.
50467         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50468
50469 2008-04-09  Eric Blake  <ebb9@byu.net>
50470
50471         Avoid some autoconf warnings.
50472         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50473         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50474         * m4/afs.m4 (gl_AFS): Likewise.
50475         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50476         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50477         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50478         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50479         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50480         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50481         (AC_CHECK_DECLS_ONCE): Likewise.
50482         Rename file...
50483         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50484         gnulib-tool requires autoconf 2.59 or better.
50485         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50486
50487 2008-04-08  Eric Blake  <ebb9@byu.net>
50488
50489         Use 'git describe --match' if present (added in git 1.5.5).
50490         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50491         if possible.
50492
50493 2008-04-08  Bruno Haible  <bruno@clisp.org>
50494
50495         Add tentative support for OpenServer.
50496         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50497         _ptr, _cnt.
50498         * lib/fpurge.c (fpurge): Likewise.
50499         * lib/freadable.c (freadable): Likewise.
50500         * lib/freadahead.c (freadahead): Likewise.
50501         * lib/freading.c (freading): Likewise.
50502         * lib/freadptr.c (freadptr): Likewise.
50503         * lib/freadseek.c (freadptrinc): Likewise.
50504         * lib/fseeko.c (rpl_fseeko): Likewise.
50505         * lib/fseterr.c (fseterr): Likewise.
50506         * lib/fwritable.c (fwritable): Likewise.
50507         * lib/fwriting.c (fwriting): Likewise.
50508         Reported by Roger Cornelius <rac@tenzing.org> and
50509         Brian K. White <brian@aljex.com>.
50510
50511 2008-04-06  Jim Meyering  <meyering@redhat.com>
50512
50513         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50514
50515 2008-04-06  Bruno Haible  <bruno@clisp.org>
50516
50517         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50518         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50519         * tests/test-printf-posix.sh: Likewise.
50520         * tests/test-vfprintf-posix.sh: Likewise.
50521         * tests/test-vprintf-posix.sh: Likewise.
50522         * tests/test-xprintf-posix.sh: Likewise.
50523
50524 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50525
50526         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50527         hide error from 'ls', needed on OS/2.
50528         Report by Elbert Pol <elbert.pol@gmail.com>.
50529
50530 2008-04-04  Eric Blake  <ebb9@byu.net>
50531
50532         Make test-fseeko.c failures meaningful.
50533         * tests/test-fseeko.c: Print line number on failure.
50534         * tests/test-fseek.c: Likewise.
50535         Reported by Nelson H. F. Beebe.
50536
50537         Improve strtod bug detection check.
50538         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50539         required for Solaris 10.
50540         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50541
50542 2008-04-04  Bruno Haible  <bruno@clisp.org>
50543
50544         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50545         by m4/setenv.m4.
50546
50547 2008-04-03  Eric Blake  <ebb9@byu.net>
50548
50549         Ensure sane .version contents.
50550         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50551         version string.
50552         * build-aux/git-version-gen: Improve documentation.
50553
50554         Make GNU make output nicer.
50555         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50556         MAKECMDGOALS to enforce message for all command line targets.  Set
50557         srcdir for use in maint.mk.
50558
50559         Another maintainer tweak.
50560         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50561         a target that regenerates version.
50562
50563 2008-04-03  Jim Meyering  <meyering@redhat.com>
50564
50565         vc-list-files: don't cause coreutils "make po-check" failure
50566         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50567
50568 2008-04-03  Eric Blake  <ebb9@byu.net>
50569
50570         Allow VPATH usage of vc-list-files.
50571         * build-aux/vc-list-files (scriptversion): Add timestamp.
50572         (options): Add --help, --version, -C.
50573         (CVS): Support installed cvsu.
50574
50575 2008-04-02  Bruno Haible  <bruno@clisp.org>
50576
50577         Avoid some "statement with no effect" warnings from gcc.
50578         * tests/test-wctype.c (main): Explicitly ignore unused values.
50579         Reported by Jim Meyering.
50580
50581 2008-04-02  Jim Meyering  <meyering@redhat.com>
50582
50583         Avoid some warnings from "gcc -Wshadow".
50584         * tests/test-frexp.c (exp): Define to a different identifier.
50585         * tests/test-frexpl.c (exp): Likewise.
50586
50587 2008-04-03  Jim Meyering  <meyering@redhat.com>
50588
50589         bootstrap: remove dangling *.[ch] symlinks from lib
50590         * build-aux/bootstrap [dangling symlink removal]: Move find's
50591         -depth option to precede all others, to avoid a warning.
50592         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50593
50594 2008-04-02  Bruno Haible  <bruno@clisp.org>
50595
50596         Avoid some warnings from "gcc -Wshadow".
50597         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50598         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50599         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50600         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50601         Reported by Jim Meyering.
50602
50603 2008-04-01  Bruno Haible  <bruno@clisp.org>
50604
50605         Fix test to work on IRIX 6.5 with cc.
50606         * tests/test-math.c (numeric_equal): New function.
50607         (main): Use it.
50608
50609 2008-04-01  Bruno Haible  <bruno@clisp.org>
50610
50611         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50612
50613 2008-04-01  Bruno Haible  <bruno@clisp.org>
50614
50615         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50616         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50617         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50618         (Depends-on): Remove math.
50619
50620         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50621         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50622         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50623         (Depends-on): Remove math.
50624
50625         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50626         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50627         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50628         (Depends-on): Remove math.
50629         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50630         (Depends-on): Remove math.
50631
50632         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50633         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50634         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50635         (Depends-on): Remove math.
50636         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50637         (Depends-on): Remove math.
50638
50639         * tests/test-round1.c: Include nan.h.
50640         (main): Use NaNd instead of NAN.
50641         * modules/round-tests (Files): Add tests/nan.h.
50642
50643         * tests/test-trunc1.c: Include nan.h.
50644         (main): Use NaNd instead of NAN.
50645         * modules/trunc-tests (Files): Add tests/nan.h.
50646
50647         * tests/test-roundf1.c: Include nan.h.
50648         (main): Use NaNf instead of NAN.
50649         * modules/roundf-tests (Files): Add tests/nan.h.
50650
50651         * tests/test-truncf1.c: Include nan.h.
50652         (main): Use NaNf instead of NAN.
50653         * modules/truncf-tests (Files): Add tests/nan.h.
50654
50655         * tests/test-ceilf1.c: Include nan.h.
50656         (main): Use NaNf instead of NAN.
50657         * modules/ceilf-tests (Files): Add tests/nan.h.
50658
50659         * tests/test-floorf1.c: Include nan.h.
50660         (main): Use NaNf instead of NAN.
50661         * modules/floorf-tests (Files): Add tests/nan.h.
50662
50663         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50664         (main): Use NaNf instead of NAN.
50665         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50666
50667         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50668         (main): Use NaNd instead of NAN.
50669         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50670
50671         * tests/test-frexp.c: Include nan.h.
50672         (main): Use NaNd instead of NAN.
50673         * modules/frexp-tests (Files): Add tests/nan.h.
50674
50675         * lib/isnan.c: Don't include <math.h>.
50676         (FUNC): Don't use NAN macro.
50677         * modules/isnand-nolibm (Depends-on): Remove math.
50678         * modules/isnanf-nolibm (Depends-on): Remove math.
50679         * modules/isnanl (Depends-on): Remove math.
50680         * modules/isnanl-nolibm (Depends-on): Remove math.
50681
50682         * tests/nan.h: New file.
50683
50684 2008-04-01  Eric Blake  <ebb9@byu.net>
50685
50686         Fix typos.
50687         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50688         values to be the right type.
50689
50690         For now, cater to gnulib strtod inaccuracies.
50691         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50692         fractional results.  While not as nice from a QoI perspective, it
50693         is a quicker patch than correctly implementing decimal to binary
50694         rounding.
50695
50696 2008-03-31  Eric Blake  <ebb9@byu.net>
50697
50698         Guarantee a definition of NAN.
50699         * lib/math.in.h (NAN): Define if missing.
50700         * tests/test-math.c (main): Test it.
50701         * doc/posix-headers/math.texi (math.h): Document this.
50702         * lib/isnan.c (rpl_isnand): Use it.
50703         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50704         * tests/test-floorf1.c (NaN): Likewise.
50705         * tests/test-frexp.c (NaN): Likewise.
50706         * tests/test-isnand.c (NaN): Likewise.
50707         * tests/test-isnanf.c (NaN): Likewise.
50708         * tests/test-round1.c (NaN): Likewise.
50709         * tests/test-roundf1.c (NaN): Likewise.
50710         * tests/test-snprintf-posix.h (NaN): Likewise.
50711         * tests/test-sprintf-posix.h (NaN): Likewise.
50712         * tests/test-trunc1.c (NaN): Likewise.
50713         * tests/test-truncf1.c (NaN): Likewise.
50714         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50715         * tests/test-vasprintf-posix.c (NaN): Likewise.
50716         * modules/isnand-nolibm (Depends-on): Add math.
50717         * modules/isnanf-nolibm (Depends-on): Likewise.
50718         * modules/isnanl (Depends-on): Likewise.
50719         * modules/isnanl-nolibm (Depends-on): Likewise.
50720         * modules/snprintf-posix-tests (Depends-on): Likewise.
50721         * modules/sprintf-posix-tests (Depends-on): Likewise.
50722         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50723         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50724         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50725         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50726
50727 2008-03-31  Bruno Haible  <bruno@clisp.org>
50728
50729         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50730         * doc/posix-functions/strtod.texi: Likewise.
50731
50732 2008-03-31  Bruno Haible  <bruno@clisp.org>
50733
50734         * tests/test-strtod.c (main): Don't use C99 syntax.
50735
50736 2008-03-31  Bruno Haible  <bruno@clisp.org>
50737
50738         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50739         Reported by Eric Blake.
50740
50741 2008-03-31  Jim Meyering  <meyering@redhat.com>
50742
50743         Don't compare actual signbit return values.
50744         * tests/test-strtod.c (main): Rather, compare only their
50745         zero/non-zero nature.
50746
50747 2008-03-31  Eric Blake  <ebb9@byu.net>
50748
50749         More strtod documentation.
50750         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50751         failures as distinct bugs.
50752
50753 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50754
50755         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50756         Problem reported by Erik Benada in
50757         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50758
50759 2008-03-30  Bruno Haible  <bruno@clisp.org>
50760
50761         * tests/test-strtod.c: Add comments about which assertion fails on which
50762         platform.
50763         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50764
50765 2008-03-30  Eric Blake  <ebb9@byu.net>
50766
50767         Test signbit behavior on zeros.
50768         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50769         (test_signbitd, test_signbitl): Likewise.
50770
50771         More strtod touchups.
50772         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50773         sign of negative underflow, for now.  Use .5, not .1.
50774         * doc/posix-functions/strtod.texi (strtod): Mention these
50775         limitations.
50776         Reported by Jim Meyering.
50777
50778 2008-03-30  Bruno Haible  <bruno@clisp.org>
50779
50780         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50781         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50782
50783 2008-03-30  Bruno Haible  <bruno@clisp.org>
50784
50785         Avoid failure when attempting to return empty iconv results on some
50786         platforms.
50787         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50788         allocation, don't report ENOMEM when the resulting string is empty.
50789
50790 2008-03-30  Bruno Haible  <bruno@clisp.org>
50791
50792         Fix buffer overrun.
50793         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50794         Don't consider the width for tmp_length. Check count against tmp_length
50795         before doing the padding. Ensure enough allocation during padding.
50796
50797 2008-03-30  Eric Blake  <ebb9@byu.net>
50798
50799         strtod touchups.
50800         * lib/strtod.c (strtod): Avoid compiler warnings.
50801         Reported by Jim Meyering.
50802
50803 2008-03-30  Bruno Haible  <bruno@clisp.org>
50804
50805         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50806         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50807         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50808         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50809         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50810         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50811         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50812         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50813
50814         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50815         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50816         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50817         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50818         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50819         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50820         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50821         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50822
50823         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50824         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50825         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50826         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50827         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50828         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50829         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50830         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50831
50832         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50833         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50834
50835         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50836         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50837
50838         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50839         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50840
50841         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50842         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50843         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50844
50845         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50846         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50847         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50848
50849         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50850         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50851         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50852
50853         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50854         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50855         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50856
50857         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50858         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50859         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50860         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50861         (Depends-on): Add EOVERFLOW.
50862         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50863         (Depends-on): Add EOVERFLOW.
50864         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50865         (Depends-on): Add EOVERFLOW.
50866         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50867         (Depends-on): Add EOVERFLOW.
50868         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50869         (Depends-on): Add EOVERFLOW.
50870         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50871         (Depends-on): Add EOVERFLOW.
50872         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50873         (Depends-on): Add EOVERFLOW.
50874         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50875         (Depends-on): Add EOVERFLOW.
50876
50877         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50879         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50880
50881         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50882         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50883         * modules/snprintf (Depends-on): Add EOVERFLOW.
50884
50885         * lib/poll.c (EOVERFLOW): Remove fallback.
50886         * modules/poll (Depends-on): Add EOVERFLOW.
50887
50888         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50889         * modules/getugroups (Depends-on): Add EOVERFLOW.
50890
50891         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50892         * modules/getdelim (Depends-on): Add EOVERFLOW.
50893
50894         * lib/ftell.c (EOVERFLOW): Remove fallback.
50895         * modules/ftell (Depends-on): Add EOVERFLOW.
50896
50897         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50898         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50899         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50900
50901         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50902
50903         * modules/EOVERFLOW-tests: New file.
50904         * tests/test-EOVERFLOW.c: New file.
50905
50906         * modules/EOVERFLOW: New file.
50907         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50908
50909 2008-03-30  Bruno Haible  <bruno@clisp.org>
50910
50911         Fix bug introduced on 2007-06-10.
50912         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50913         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50914
50915 2008-03-30  Bruno Haible  <bruno@clisp.org>
50916
50917         Improve freadseek's efficiency after ungetc.
50918         * lib/freadseek.c: Include freadahead.h.
50919         (freadptrinc): New function, extracted from freadseek.
50920         (freadseek): Use it in a loop. Use freadahead to determine the number
50921         of loop iterations.
50922         * modules/freadseek (Depends-on): Add freadahead.
50923         (configure.ac): Require AC_C_INLINE.
50924
50925 2008-03-30  Bruno Haible  <bruno@clisp.org>
50926
50927         * lib/freadseek.c (freadseek): Don't ignore the return value of
50928         freadptr.
50929
50930 2008-03-29  Eric Blake  <ebb9@byu.net>
50931
50932         Add hex float support.
50933         * modules/strtod (Depends-on): Add c-ctype.
50934         (Link): Mention POW_LIB.
50935         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50936         whitespace between 'e' and exponent.
50937         * tests/test-strtod.c (main): Enable hex float tests.
50938         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50939         now provides.
50940
50941         Document various strtod bugs, with some fixes.
50942         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50943         "-0x", "inf", "nan", and hex constants.
50944         * doc/posix-functions/atof.texi (atof): Likewise.
50945         * modules/stdlib (Makefile.am): Support strtod.
50946         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50947         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50948         detect additional strtod bugs.
50949         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50950         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50951         bool where appropriate.  Parse 'inf' and 'nan'.
50952         * tests/test-strtod.c: New file.
50953         * modules/strtod (Depends-on): Add stdbool, stdlib.
50954         (configure.ac): Turn on module indicator.
50955         * modules/strtod-tests: New module.
50956
50957 2008-03-29  Eric Blake  <ebb9@byu.net>
50958
50959         Fix ftell on mingw.
50960         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50961         * modules/ftell-tests (Depends-on): Add binary-io.
50962         * modules/ftello-tests (Depends-on): Likewise.
50963         * tests/test-ftell.c (main): Enhance test to cover behavior after
50964         ungetc.  Enforce binary mode.
50965         * tests/test-ftello.c (main): Likewise.
50966
50967         Pass test-freadseek on cygwin.
50968         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50969         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50970         ungetc buffer.
50971
50972         * tests/test-fflush2.c (main): Fix typo.
50973
50974 2008-03-29  Bruno Haible  <bruno@clisp.org>
50975
50976         * tests/test-fflush2.c (main): Temporarily disable the contents of
50977         this test.
50978         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50979         Reported by Eric Blake.
50980
50981 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50982
50983         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50984         (GC_SHA224_DIGEST_SIZE): Add.
50985
50986         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50987         (gc_hash_digest_length): Likewise.
50988         (gc_hash_buffer): Likewise.
50989
50990 2008-03-25  Bruno Haible  <bruno@clisp.org>
50991
50992         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50993         detail which gettext release to use.
50994         Reported by Simon Josefsson.
50995
50996 2008-03-26  Jim Meyering  <meyering@redhat.com>
50997
50998         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50999         * modules/gnumakefile (clean-GNUmakefile): Also, use
51000         test ... && ... || : syntax rather than if-then ... fi.
51001
51002         gnumakefile: Don't double-quote-expand $(VPATH) value.
51003         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
51004
51005 2008-03-24  Eric Blake  <ebb9@byu.net>
51006
51007         Alter GNUmakefile to install into top directory.
51008         * modules/maintainer-makefile: Split, and add dependency...
51009         * modules/gnumakefile: to this new module.
51010         * build-aux/GNUmakefile: Move...
51011         * top/GNUmakefile: ...here.
51012         * build-aux/maint.mk: Move...
51013         * top/maint.mk: ...here.
51014         * MODULES.html.sh (Support for maintaining...): Document new
51015         module.
51016
51017 2008-03-23  Bruno Haible  <bruno@clisp.org>
51018
51019         * gnulib-tool: New options --vc-files, --no-vc-files.
51020         (func_usage): Document them.
51021         (vc_files): New variable.
51022         (func_import): Consider vc_files.
51023         (func_create_testdir): Set vc_files to empty.
51024         Suggested by Jim Meyering and Karl Berry.
51025
51026 2008-03-23  Bruno Haible  <bruno@clisp.org>
51027
51028         Fix regex compilation error on HP-UX 11.
51029         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
51030         * modules/regex (Files): Add m4/mbstate_t.m4.
51031         Reported by Ton Voon <ton.voon@altinity.com>.
51032
51033 2008-03-23  Bruno Haible  <bruno@clisp.org>
51034
51035         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
51036
51037 2008-03-23  Eric Blake  <ebb9@byu.net>
51038             Bruno Haible  <bruno@clisp.org>
51039
51040         Install files from top/ in the destination directory.
51041         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51042         augmentation also for the files from top/.
51043         (func_import, func_create_testdir): Rewrite file names:
51044         top/filename -> filename.
51045
51046 2008-03-23  Bruno Haible  <bruno@clisp.org>
51047
51048         Tweak "gnulib --version" output.
51049         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
51050
51051 2008-03-23  Bruno Haible  <bruno@clisp.org>
51052
51053         Tweak "gnulib --version" output.
51054         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
51055         rather than contents of ChangeLog, when possible.
51056
51057 2008-03-21  Eric Blake  <ebb9@byu.net>
51058
51059         More --version tweaks.
51060         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
51061         date of last ChangeLog entry.
51062
51063 2008-03-21  Jim Meyering  <meyering@redhat.com>
51064
51065         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
51066
51067 2008-03-20  Eric Blake  <ebb9@byu.net>
51068
51069         VPATH fix.
51070         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
51071
51072 2008-03-20  Simon Josefsson  <simon@josefsson.org>
51073
51074         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
51075         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
51076
51077 2008-03-20  Eric Blake  <ebb9@byu.net>
51078
51079         Sync GNUmakefile with coreutils.
51080         * build-aux/GNUmakefile (have-Makefile): Rename...
51081         (_have-Makefile): ...to this, for namespace consideration.
51082         (GNUmakefile.cfg): Include, if present.
51083         (_autoreconf): Define a default.
51084         (_is-dist-target): New rule for rebuilds to pick up intra-release
51085         version.
51086         (maint-cfg.mk): Rename...
51087         (cfg.mk): ...to this.
51088
51089 2008-03-18  Jim Meyering  <meyering@redhat.com>
51090
51091         New script and module: mktempd
51092         * MODULES.html.sh (maint+release support): Add mktempd.
51093         * build-aux/mktempd: New file.
51094         * modules/mktempd: New file.
51095
51096 2008-03-15  Jim Meyering  <meyering@redhat.com>
51097
51098         Undo last change.
51099         * lib/sha1.c, lib/md5.c: 63 != ~63.
51100         Reported by Andreas Schwab.
51101
51102         sha1.c, md5.c: Hoist a redundant expression.
51103         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
51104         "ctx->buflen" only once, before calling *_process_block.
51105         * lib/md5.c (md5_process_bytes): Likewise.
51106
51107 2008-03-14  Eric Blake  <ebb9@byu.net>
51108
51109         Bump copyright year in files generated by gnulib-tool.
51110         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
51111         gnulib-tool, rather than hard-coding it.
51112
51113         Fix 'gnulib-tool --version' output to work with git.
51114         * gnulib-tool (func_gnulib_dir): New function, extracted from...
51115         (startup): ...here.
51116         (func_version): Use it to invoke git-version-gen, rather than
51117         relying on CVS keyword expansion.  Modernize wording.
51118         (cvsdatestamp, last_checkin_date, version): Kill unused
51119         variables.
51120
51121 2008-03-12  Jim Meyering  <meyering@redhat.com>
51122
51123         Recognize optional cast of the argument to free.
51124         * build-aux/useless-if-before-free: Update regexps.
51125
51126         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
51127
51128 2008-03-11  Bruno Haible  <bruno@clisp.org>
51129
51130         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
51131         by a single package.
51132         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
51133         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
51134         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
51135         Reported by Sam Steingold <sds@gnu.org>.
51136
51137 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51138
51139         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
51140         repositories.
51141
51142 2008-03-11  Bruno Haible  <bruno@clisp.org>
51143
51144         Avoid conflicts between local macro definitions.
51145         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51146         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
51147
51148 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
51149             Bruno Haible  <bruno@clisp.org>
51150
51151         Make va_copy work with some version of xlc on AIX 5.1.
51152         * lib/stdarg.in.h: New file.
51153         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
51154         On AIX, use a <stdarg.h> file substitute.
51155         * modules/stdarg (Files): Add lib/stdarg.in.h.
51156         (Depends-on): Add include_next.
51157         (Makefile.am): Build a stdarg.h substitute if requested.
51158         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
51159
51160 2008-03-10  Bruno Haible  <bruno@clisp.org>
51161
51162         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
51163         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51164         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51165
51166 2008-03-10  Bruno Haible  <bruno@clisp.org>
51167
51168         * modules/stdlib (Depends-on): Add include_next, remove
51169         absolute-header.
51170
51171 2008-03-09  Bruno Haible  <bruno@clisp.org>
51172
51173         * lib/freadahead.h (freadahead): Document more precisely.
51174         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51175         the sum of both buffer sizes.
51176         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51177         * NEWS: Document the change.
51178
51179 2008-03-09  Bruno Haible  <bruno@clisp.org>
51180
51181         Extend freadptr to return also the buffer size.
51182         * lib/freadptr.h (freadptr): Add sizep argument.
51183         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51184         (freadptr): Add sizep argument. Determine buffer size like freadahead
51185         does.
51186         * tests/test-freadptr.c: Don't include freadahead.h.
51187         (main): Adapt for new calling convention of freadptr.
51188         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51189         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51190         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51191         tests/test-freadptr2.sh.
51192         (Depends): Remove freadahead.
51193         (TESTS): Add test-freadptr2.sh.
51194         (check_PROGRAMS): Add test-freadptr2.
51195
51196 2008-03-09  Bruno Haible  <bruno@clisp.org>
51197
51198         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51199         Report and solution by Simon Josefsson.
51200
51201 2008-03-06  Bruno Haible  <bruno@clisp.org>
51202
51203         Make fflush after ungetc work on BSD platforms.
51204         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51205         * tests/test-fflush2.c: New file.
51206         * tests/test-fflush2.sh: New file.
51207         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51208         tests/test-fflush2.c.
51209         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51210         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51211
51212 2008-03-06  Eric Blake  <ebb9@byu.net>
51213
51214         Likewise for ftello.
51215         * modules/ftello (Dependencies): Add extensions.
51216         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51217
51218 2008-03-06  Bruno Haible  <bruno@clisp.org>
51219
51220         * modules/fseeko (Dependencies): Add extensions.
51221         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51222         Needed on glibc systems.
51223
51224 2008-03-06  Bruno Haible  <bruno@clisp.org>
51225
51226         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51227         email address.
51228         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51229
51230 2008-03-06  Bruno Haible  <bruno@clisp.org>
51231
51232         * users.txt: Add libgnupdf.
51233
51234 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51235
51236         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51237         (Header File Substitutes, Function Substitutes,
51238         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51239         (Build robot for gnulib): Fix typo.
51240
51241 2008-03-06  Bruno Haible  <bruno@clisp.org>
51242
51243         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51244         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51245
51246 2008-03-06  Bruno Haible  <bruno@clisp.org>
51247
51248         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51249         * doc/gnulib.texi: Include it.
51250
51251 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51252
51253         * modules/func (License): Change license to unlimited; there was
51254         no LGPL parts in the module anyway.
51255
51256 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51257
51258         * modules/__func__: Renamed to modules/func.
51259         * modules/__func__-tests: Renamed to modules/func-tests.
51260         * tests/test-__func__.c: Renamed to tests/test-func.c.
51261         * m4/__func__.m4: Renamed to m4/func.m4.
51262         * doc/gnulib.texi (__func__): Section renamed to func.
51263         Suggested by Eric Blake <ebb9@byu.net>.
51264
51265 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51266
51267         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51268         about __func__.  Make example self-contained.  Suggested by Eric
51269         Blake <ebb9@byu.net>.
51270
51271         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51272         Suggested by Eric Blake <ebb9@byu.net>.
51273
51274 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51275
51276         * modules/__func__: New file.
51277         * modules/__func__-tests: New file.
51278         * tests/test-__func__.c: New file.
51279         * m4/__func__.m4: New file.
51280         * doc/gnulib.texi (__func__): Document __func__ module.
51281
51282 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51283
51284         * modules/byteswap (License): Re-license as LGPLv2+.
51285
51286 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51287
51288         * doc/Makefile: Add pdf target.
51289
51290 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51291
51292         * modules/inline (License): Use 'unlimited', since there are only
51293         *.m4 files in this module.
51294
51295 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51296             Bruno Haible  <bruno@clisp.org>
51297
51298         Add support for HP C 7.1 on OpenVMS 8.3.
51299         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51300
51301 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51302
51303         Update VMS specifics.
51304         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51305
51306 2008-03-02  Jim Meyering  <meyering@redhat.com>
51307
51308         Remove the last dependency on the "free" module.
51309         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51310         Reported by Bob Proulx.
51311
51312         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51313
51314         Remove useless "if" tests before free.  Deprecate "free" module.
51315         * doc/posix-functions/free.texi: Mention that this
51316         module is no longer useful.
51317         * modules/free (Notice): Say this module is obsolete.
51318         * modules/readutmp (Depends-on): Remove free.
51319         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51320         * lib/putenv.c (putenv): Likewise.
51321         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51322         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51323         * tests/test-c-strcasestr.c (main): Likewise.
51324         * tests/test-c-strstr.c (main): Likewise.
51325         * tests/test-mbscasestr1.c (main): Likewise.
51326         * tests/test-mbscasestr2.c (main): Likewise.
51327         * tests/test-mbsstr1.c (main): Likewise.
51328         * tests/test-mbsstr2.c (main): Likewise.
51329         * tests/test-memmem.c (main): Likewise.
51330         * tests/test-strcasestr.c (main): Likewise.
51331         * tests/test-striconv.c (main): Likewise.
51332         * tests/test-striconveh.c (main): Likewise.
51333         * tests/test-striconveha.c (main): Likewise.
51334         * tests/test-strstr.c (main): Likewise.
51335
51336         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51337
51338         bootstrap: sync from coreutils again
51339         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51340
51341 2008-03-01  Jim Meyering  <meyering@redhat.com>
51342
51343         bootstrap: sync from coreutils
51344         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51345         also when the target doesn't exist.
51346
51347 2008-03-01  Eric Blake  <ebb9@byu.net>
51348
51349         Fix bugs in last patch.
51350         * lib/memchr2.c (memchr2): Fix typo.
51351         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51352         extension.
51353         Reported by Bruce Korb.
51354
51355         New module 'memchr2'.
51356         * modules/memchr2: New file.
51357         * modules/memchr2-tests: Likewise.
51358         * lib/memchr2.h: Likewise.
51359         * lib/memchr2.c: Likewise, based on memchr.c.
51360         * tests/test-memchr2.c: New test.
51361         * MODULES.html.sh (String handling): Add memchr2.
51362
51363 2008-02-29  Bruno Haible  <bruno@clisp.org>
51364
51365         * modules/freadseek-tests: New file.
51366         * tests/test-freadseek.sh: New file.
51367         * tests/test-freadseek.c: New file.
51368
51369         New module 'freadseek'.
51370         * modules/freadseek: New file.
51371         * lib/freadseek.h: New file.
51372         * lib/freadseek.c: New file.
51373         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51374
51375 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51376
51377         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51378         wydawca.
51379
51380         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51381         program_invocation_name and program_invocation_short_name are
51382         present.
51383
51384 2008-02-28  Bruno Haible  <bruno@clisp.org>
51385
51386         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51387         * tests/test-freadptr.sh: Also test non-seekable stdin.
51388
51389 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51390
51391         * build-aux/bootstrap (source_base, m4_base)
51392         (doc_base, tests_base): New variables.
51393         (gnulib_tool_options): Do not hardcode base directories, use
51394         the above variables instead.
51395
51396 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51397
51398         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51399
51400 2008-02-28  Bruno Haible  <bruno@clisp.org>
51401
51402         * modules/freadptr-tests: New file.
51403         * tests/test-freadptr.sh: New file.
51404         * tests/test-freadptr.c: New file.
51405
51406         New module 'freadptr'.
51407         * modules/freadptr: New file.
51408         * lib/freadptr.h: New file.
51409         * lib/freadptr.c: New file.
51410         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51411
51412 2008-02-26  Karl Berry  <karl@freefriends.org>
51413
51414         Sync from Libtool:
51415         * libltdl/argz.c (argz_add, argz_count): New functions.
51416         * libltdl/argz.in.h: Declare them.
51417         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51418
51419 2008-02-22  Bruno Haible  <bruno@clisp.org>
51420
51421         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51422         is a pointer type.  Needed for HP-UX 10.
51423         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51424         * doc/posix-functions/gmtime_r.texi: Likewise.
51425         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51426
51427 2008-02-24  Bruno Haible  <bruno@clisp.org>
51428
51429         * modules/environ-tests: New file.
51430         * tests/test-environ.c: New file.
51431
51432         New module 'environ'.
51433         * modules/environ: New file.
51434         * lib/unistd.in.h (environ): New declaration.
51435         * m4/environ.m4: New file.
51436         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51437         after use.
51438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51439         HAVE_DECL_ENVIRON.
51440         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51441         HAVE_DECL_ENVIRON.
51442         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51443         wrong claim that 'environ' is missing on some systems.
51444         * modules/execute (Depends-on): Add environ.
51445         * lib/execute.c (environ): Remove fallback declaration.
51446         * modules/pipe (Depends-on): Add environ.
51447         * lib/pipe.c (environ): Remove fallback declaration.
51448         * modules/setenv (Depends-on): Add environ.
51449         * lib/setenv.c (environ): Remove fallback declaration.
51450         * modules/unsetenv (Depends-on): Add environ.
51451         * lib/unsetenv.c (environ): Remove fallback declaration.
51452         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51453         m4/environ.m4.
51454         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51455         (gl_PREREQ_UNSETENV): Likewise.
51456
51457 2008-02-24  Bruno Haible  <bruno@clisp.org>
51458
51459         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51460
51461 2008-02-20  Bob Proulx  <bob@proulx.com>
51462
51463         Enable use of older two part flavor 'git describe'.
51464         * build-aux/git-version-gen: If using the older two part flavor of
51465         git version then recreate the third part now present in the
51466         newer three part flavor of git describe.
51467
51468 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51469
51470         * lib/fts.c (fts_build): Typo correction to comment.
51471
51472 2008-02-17  Bruno Haible  <bruno@clisp.org>
51473
51474         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51475         generating no-op conflicts.
51476
51477 2008-02-17  Bruno Haible  <bruno@clisp.org>
51478
51479         Speed up by 10%.
51480         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51481         result_entries, rather than an index-based loop.
51482
51483 2008-02-17  Bruno Haible  <bruno@clisp.org>
51484
51485         Speed up by 25%.
51486         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51487         'hashcode_cached'.
51488         (entry_create): New function.
51489         (entry_hashcode): Use the cached hashcode if possible.
51490         (read_changelog_file, try_split_merged_entry): Use entry_create.
51491
51492 2008-02-17  Bruno Haible  <bruno@clisp.org>
51493
51494         Speed up from O(n^2) to O(n) for long ChangeLog files.
51495         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51496         (read_changelog_file): Change implementation of entries_reversed list
51497         to rbtreehash.
51498         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51499
51500 2008-02-17  Bruno Haible  <bruno@clisp.org>
51501
51502         New option --split-merged-entry.
51503         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51504         (find_paragraph_end, try_split_merged_entry): New functions.
51505         (long_options): Add option --split-merged-entry.
51506         (usage): Document option --split-merged-entry.
51507         (main): Implement option --split-merged-entry.
51508         Reported by Eric Blake.
51509
51510 2008-02-17  Bruno Haible  <bruno@clisp.org>
51511
51512         * lib/git-merge-changelog.c: Include c-strstr.h.
51513         (main): Support the "git pull --rebase" situation.
51514         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51515         Reported by Eric Blake.
51516
51517 2008-02-16  Eric Blake  <ebb9@byu.net>
51518
51519         Avoid doubling \ in common case of "c-maybe" quoting style.
51520         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51521         eliding outer quotes.
51522         * lib/quotearg.h: Document this.
51523         * tests/test-quotearg.c (result_strings, inputs, results_g)
51524         (flag_results, locale_results): Test it by adding a new string to
51525         each test group.
51526         (compare_strings): Test new string.
51527
51528 2008-02-13  Eric Blake  <ebb9@byu.net>
51529
51530         Avoid trigraph quoting in default output.
51531         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51532         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51533         unless explicitly requested.
51534         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51535
51536 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51537
51538         Don't rely on signed integer overflowing to negative value.
51539         * lib/getugroups.c (getugroups): Include <limits.h>.
51540         Instead, compare against INT_MAX, and increment only if the test passes.
51541
51542 2008-02-13  Jim Meyering  <meyering@redhat.com>
51543         and Eric Blake  <ebb9@byu.net>
51544
51545         Avoid shadowing warning and compile errors on Linux.
51546         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51547         forwarding macros on Linux.
51548         (dcgettext): Define a stub, for Linux.
51549         (results_g, main): Avoid warnings.
51550
51551 2008-02-12  Eric Blake  <ebb9@byu.net>
51552
51553         Silence warning in last patch.
51554         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51555
51556         Quotearg part 4: add tests, fix c-maybe colon quoting.
51557         * lib/quotearg.h: Improve documentation.
51558         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51559         escapes when adding outer quotes.  When quoting trigraphs, use
51560         valid C notation.  When quoting NUL, omit extra characters if next
51561         character is not digit.  Alter prototype.
51562         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51563         callers.
51564         * modules/quotearg-tests: New module.
51565         * tests/test-quotearg.c: New test.
51566
51567 2008-02-07  Eric Blake  <ebb9@byu.net>
51568
51569         Quotearg part 3: add flag to control outer quote elision.
51570         * lib/quotearg.h (c_maybe_quoting_style): New style.
51571         (enum quoting_flags): Better documentation of flags.
51572         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51573         c-maybe style.
51574         (quotearg_buffer_restyled): Handle new flag to elide outer
51575         quotes.
51576
51577         Quotearg part 2: add flag that can control NUL elision.
51578         * lib/quotearg.h (set_quoting_flags): New prototype.
51579         * lib/quotearg.c (struct quoting_options): Add flag field.
51580         (set_quoting_flags): New function.
51581         (quotearg_buffer_restyled): Add flags parameter.
51582         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51583         (quotearg_n_options): Set the flag, since length cannot be
51584         returned.
51585         (quoting_options_from_style): Default flags correctly.
51586
51587         Quotearg part 1: more wrappers, restore quotearg_char state.
51588         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51589         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51590         (quotearg_colon_mem): New wrappers.
51591         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51592         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51593         functions.
51594         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51595         (quotearg_colon_mem): New functions.
51596
51597 2008-02-11  Bruno Haible  <bruno@clisp.org>
51598
51599         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51600         library in the current directory: it does not work with parallel make.
51601         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51602
51603 2008-02-11  Bruno Haible  <bruno@clisp.org>
51604
51605         * .gitattributes: New file.
51606
51607 2008-02-11  Jim Meyering  <meyering@redhat.com>
51608
51609         useless-if-before-free: Fix reversed exit values.
51610         * build-aux/useless-if-before-free: Use correct values
51611         for EXIT_MATCH and EXIT_NO_MATCH.
51612
51613         * build-aux/useless-if-before-free: Close stdout carefully.
51614
51615 2008-02-10  Bruno Haible  <bruno@clisp.org>
51616
51617         New module 'git-merge-changelog'.
51618         * modules/git-merge-changelog: New file.
51619         * lib/git-merge-changelog.c: New file.
51620
51621 2008-02-10  Jim Meyering  <meyering@redhat.com>
51622
51623         useless-if-before-free: New option: --list (-l).
51624
51625         useless-if-before-free: Don't exit immediately upon open failure.
51626         * build-aux/useless-if-before-free: Exit 2 for errors.
51627         Upon failure to open a file, don't exit immediately.
51628         Rather, just warn and continue with any remaining files.
51629
51630 2008-02-10  Bruno Haible  <bruno@clisp.org>
51631
51632         New abstract list operation 'node_set_value'.
51633         * lib/gl_list.h (gl_list_node_set_value): New function.
51634         (struct gl_list_implementation): New field node_set_value.
51635         * lib/gl_list.c (gl_list_node_set_value): New function.
51636         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51637         (gl_array_list_implementation): Update.
51638         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51639         (gl_carray_list_implementation): Update.
51640         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51641         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51642         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51643         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51644         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51645         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51646         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51647         Update.
51648         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51649         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51650         (gl_sublist_list_implementation): Update.
51651
51652 2008-02-10  Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51655         Needed when ELEMENT is #defined to 'some_type *'.
51656
51657 2008-02-10  Jim Meyering  <meyering@redhat.com>
51658
51659         New script and module: useless-if-before-free
51660         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51661         * build-aux/useless-if-before-free: New file.
51662         * modules/useless-if-before-free: New file.
51663
51664         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51665
51666         xstrtol_error: Fix typo.
51667         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51668         s/exit_failure/exit_status/.
51669
51670 2008-02-09  Jim Meyering  <meyering@redhat.com>
51671
51672         New script and module: gitlog-to-changelog
51673         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51674         * modules/gitlog-to-changelog: New file.
51675         * build-aux/gitlog-to-changelog: New file.
51676
51677 2008-02-08  Jim Meyering  <meyering@redhat.com>
51678
51679         Avoid two "parameter unused" warnings.
51680         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51681         Mark "st" as used.
51682
51683         Use "git COMMAND", not "git-COMMAND".
51684         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51685         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51686         * build-aux/git-version-gen: Use "git status", not "git-status".
51687
51688 2008-02-07  Bruno Haible  <bruno@clisp.org>
51689
51690         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51691         Avoids a crash on Windows Vista.
51692         Reported by Adam Strzelecki <ono@java.pl> via
51693         Simon Josefsson <simon@josefsson.org>.
51694
51695 2008-02-06  Bruno Haible  <bruno@clisp.org>
51696
51697         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51698         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51699         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51701         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51702         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51703         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51704         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51705         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51706         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51707         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51708         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51709         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51710         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51711         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51712         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51713         left-adjust flag.
51714         * tests/test-snprintf-posix.h (test_function): Likewise.
51715         * tests/test-sprintf-posix.h (test_function): Likewise.
51716         * tests/test-vasprintf-posix.c (test_function): Likewise.
51717         * doc/posix-functions/fprintf.texi: Update.
51718         * doc/posix-functions/printf.texi: Update.
51719         * doc/posix-functions/snprintf.texi: Update.
51720         * doc/posix-functions/sprintf.texi: Update.
51721         * doc/posix-functions/vfprintf.texi: Update.
51722         * doc/posix-functions/vprintf.texi: Update.
51723         * doc/posix-functions/vsnprintf.texi: Update.
51724         * doc/posix-functions/vsprintf.texi: Update.
51725         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51726
51727 2008-02-06  Bruno Haible  <bruno@clisp.org>
51728
51729         Fix bug introduced on 2008-01-26.
51730         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51731
51732 2008-02-06  Bruno Haible  <bruno@clisp.org>
51733
51734         Fix bug introduced on 2007-06-10.
51735         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51736         !NEED_PRINTF_FLAG_ZERO.
51737
51738 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51739
51740         getloadavg: use libperfstat on AIX5
51741         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51742
51743 2008-02-03  Bruno Haible  <bruno@clisp.org>
51744
51745         * lib/diffseq.h: Add comments about required #includes.
51746         Reported by Michael Biggs <gnulib@doubleplum.net>.
51747
51748 2008-02-01  Bruno Haible  <bruno@clisp.org>
51749
51750         * users.txt: Add gnuit.
51751
51752 2008-01-31  Bruno Haible  <bruno@clisp.org>
51753
51754         * lib/md4.c (set_uint32): Mark as inline.
51755         * lib/md5.c (set_uint32): Likewise.
51756         * lib/sha1.c (set_uint32): Likewise.
51757         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51758         * m4/md5.m4 (gl_MD5): Likewise.
51759         * m4/sha1.m4 (gl_SHA1): Likewise.
51760
51761 2008-01-31  Jim Meyering  <meyering@redhat.com>
51762
51763         Use "sizeof VAR", rather than a literal "4".
51764         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51765         * lib/md4.c (md4_read_ctx): Likewise.
51766         * lib/sha1.c (sha1_read_ctx): Likewise.
51767
51768 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51769
51770         * tests/test-sha1.c: New file, based on test-md5.c.
51771
51772         * modules/crypto/sha1-tests: New file.
51773
51774 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51775
51776         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51777
51778 2008-01-31  Jim Meyering  <meyering@redhat.com>
51779
51780         Prefer "sizeof v" over the equivalent "4".
51781         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51782         * lib/md5.c (set_uint32): Likewise.
51783         * lib/sha1.c (set_uint32): Likewise.
51784
51785 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51786
51787         * lib/sha1.c (set_uint32): Mark function as static.
51788
51789 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51790
51791         md2: clarify comments to say that alignment is not required.
51792         * lib/md2.h: Remove warning about alignment in comment.
51793         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51794         never been required.
51795
51796 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51797
51798         md4: adapt alignment constraint fix from sha1.
51799         * lib/md4.c (set_uint32): New function, from sha1.c
51800         (md4_read_ctx): Use it.
51801         (md4_finish_ctx): Doc fix.
51802         * lib/md4.h: Doc fix.
51803
51804 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51805
51806         md5: adapt alignment constraint fix from sha1.
51807         * lib/md5.c (set_uint32): New function, from sha1.c
51808         (md5_read_ctx): Use it.
51809         (md5_finish_ctx): Doc fix.
51810         * lib/md5.h: Doc fix.
51811
51812 2008-01-30  Peter Palfrader  <weasel@debian.org>
51813
51814         sha1: remove the result buffer alignment constraint
51815         * lib/sha1.c (set_uint32): New function.
51816         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51817         constraint.
51818         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51819         * lib/sha1.h: Likewise.
51820
51821 2008-01-30  Andreas Schwab  <schwab@suse.de>
51822             Bruno Haible  <bruno@clisp.org>
51823
51824         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51825         correct definition of LDBL_MIN_EXP.
51826
51827 2008-01-30  Karl Berry  <karl@gnu.org>
51828
51829         * config/srclist-update: try to preserve x bit on updates.
51830         * config/srclistvars.sh: update for karl.
51831
51832 2008-01-29  Jim Meyering  <meyering@redhat.com>
51833
51834         vasnprintf.c: Avoid warning about unused label
51835         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51836         "overflow" label definition and associated code with the
51837         same cpp condition that guards the sole use of that label.
51838
51839 2008-01-26  Bruno Haible  <bruno@clisp.org>
51840
51841         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51842         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51843         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51844         * lib/isnanl-nolibm.h (isnanl): Likewise.
51845         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51846
51847 2008-01-26  Bruno Haible  <bruno@clisp.org>
51848
51849         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51850         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51851
51852 2008-01-26  Bruno Haible  <bruno@clisp.org>
51853
51854         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51855         GCC >= 4.0 built-in.
51856         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51857
51858 2008-01-26  Bruno Haible  <bruno@clisp.org>
51859
51860         Rename isnan, applicable to 'double' only, to isnand.
51861         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51862         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51863         (configure.ac): Update.
51864         (Include): Replace "isnan.h" with "isnand.h".
51865         * m4/isnand.m4: Renamed from m4/isnan.m4.
51866         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51867         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51868         instead of isnan.c.
51869         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51870         instead of HAVE_ISNAN_IN_LIBC.
51871         (isnand): Renamed from isnan.
51872         * lib/isnand.c: New file.
51873         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51874         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51875         (Makefile.am): Update.
51876         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51877         Include isnand.h instead of isnan.h.
51878         (main): Test isnand instead of isnan.
51879         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51880         isnan-nolibm.
51881         * modules/frexp (Depends-on): Likewise.
51882         * modules/frexp-tests (Depends-on): Likewise.
51883         * modules/frexp-nolibm (Depends-on): Likewise.
51884         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51885         * modules/isfinite (Depends-on): Likewise.
51886         * modules/round-tests (Depends-on): Likewise.
51887         * modules/signbit (Depends-on): Likewise.
51888         * modules/signbit-tests (Depends-on): Likewise.
51889         * modules/snprintf-posix (Depends-on): Likewise.
51890         * modules/sprintf-posix (Depends-on): Likewise.
51891         * modules/trunc-tests (Depends-on): Likewise.
51892         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51893         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51894         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51895         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51896         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51897         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51898         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51899         * modules/vasnprintf-posix (Depends-on): Likewise.
51900         * modules/vasprintf-posix (Depends-on): Likewise.
51901         * modules/vfprintf-posix (Depends-on): Likewise.
51902         * modules/vsnprintf-posix (Depends-on): Likewise.
51903         * modules/vsprintf-posix (Depends-on): Likewise.
51904         * lib/frexp.c: Include isnand.h instead of isnan.h.
51905         (ISNAN): Set to isnand instead of isnan.
51906         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51907         (gl_isfinited): Use isnand instead of isnan.
51908         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51909         (gl_signbitd): Use isnand instead of isnan.
51910         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51911         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51912         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51913         (main): Use isnand instead of isnan.
51914         * tests/test-round1.c: Include isnand.h.
51915         (main): Use isnand instead of isnan.
51916         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51917         (ISNAN): Set to isnand instead of isnan.
51918         * tests/test-trunc1.c: Include isnand.h.
51919         (main): Use isnand instead of isnan.
51920         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51921         (equal): Use isnand instead of isnan.
51922         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51923         isnand-nolibm.
51924         * NEWS: Mention the change.
51925
51926 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51927             Bruno Haible  <bruno@clisp.org>
51928
51929         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51930         the GCC builtins for signbits are present and set
51931         REPLACE_SIGNBIT_USING_GCC if so.
51932         * lib/math.in.h (signbit): Define using GCC builtins if
51933         REPLACE_SIGNBIT_USING_GCC is set.
51934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51935         REPLACE_SIGNBIT_USING_GCC.
51936         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51937
51938 2008-01-25  Jim Meyering  <meyering@redhat.com>
51939
51940         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51941         * lib/poll.c: Include <config.h>, not "config.h".
51942         * tests/test-getaddrinfo.c: Likewise.
51943
51944 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51945
51946         * modules/sockets-tests: New file.
51947
51948 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51949
51950         * modules/sockets: New module, can be used to call WSA_Startup and
51951         WSA_Cleanup when needed.
51952
51953         * lib/sockets.h, lib/sockets.c: New files.
51954
51955         * m4/sockets.m4: New file.
51956
51957         * tests/test-sockets.c: New file.
51958
51959 2008-01-19  Bruno Haible  <bruno@clisp.org>
51960
51961         * doc/posix-headers: Renamed from doc/headers.
51962         * doc/posix-functions: Renamed from doc/functions.
51963         * doc/gnulib.texi: Update.
51964
51965 2008-01-19  Bruno Haible  <bruno@clisp.org>
51966
51967         * doc/glibc-functions/strcasestr.texi: Include contents of
51968         doc/functions/strcasestr.texi, fixing the list of platforms.
51969         * doc/functions/strcasestr.texi: Remove file.
51970
51971 2008-01-19  Bruno Haible  <bruno@clisp.org>
51972
51973         * doc/glibc-functions/memmem.texi: Include contents of
51974         doc/functions/memmem.texi.
51975         * doc/functions/memmem.texi: Remove file.
51976
51977 2008-01-18  Bruno Haible  <bruno@clisp.org>
51978
51979         * doc/glibc-functions/*.texi: New files.
51980         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51981         to use the new files.
51982
51983 2008-01-17  Bruno Haible  <bruno@clisp.org>
51984
51985         * tests/test-gethostname.c (main): Fix printf statement.
51986
51987 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51988
51989         * modules/gethostname-tests: New file.
51990
51991         * tests/test-gethostname.c: New file.
51992
51993 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51994
51995         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51996         used by the UNAME case.  Reported by Bruno Haible
51997         <bruno@clisp.org>.
51998
51999 2008-01-17  Eric Blake  <ebb9@byu.net>
52000
52001         Convert c-strcasestr to be more efficient.
52002         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
52003         (Depends-on): Add c-strcase, remove malloca, strnlen.
52004         * tests/test-c-strcasestr.c (main): Enhance test.
52005         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
52006
52007 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52008
52009         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
52010         Use it in creating po/Makevars.
52011
52012 2008-01-15  Simon Josefsson  <simon@josefsson.org>
52013
52014         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
52015         Applications that requires it should initialize libgcrypt
52016         manually.
52017
52018 2008-01-16  Simon Josefsson  <simon@josefsson.org>
52019
52020         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
52021
52022 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
52023
52024         Fix problem with getdate on mingw32 reported by Simon Josefsson
52025         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
52026         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
52027         tzname", when deciding whether to declare tzname.
52028         * lib/strftime.c (tzname): Likewise.
52029
52030 2008-01-15  Bruno Haible  <bruno@clisp.org>
52031
52032         Work around a MacOS X 10.5 bug in frexpl().
52033         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
52034         * doc/functions/frexpl.texi: Document the bug.
52035         Reported by Elias Pipping <pipping@gentoo.org>.
52036
52037 2008-01-14  Eric Blake  <ebb9@byu.net>
52038
52039         Touch up previous patch.
52040         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
52041         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
52042
52043         Convert strcasestr module to use Two-Way algorithm.
52044         * modules/strcasestr-simple: New module, based on the old
52045         strcasestr, but with Two-Way rather than KMP.
52046         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
52047         * lib/string.in.h (rpl_strcasestr): Declare.
52048         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
52049         performance.
52050         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
52051         * modules/string (Makefile.am): Support strcasestr.
52052         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
52053         * modules/strcasestr-tests (Depends-on): Check for alarm.
52054         * tests/test-strcasestr.c: Augment test.
52055         * lib/str-two-way.h: Clean up stray macro.
52056         * NEWS: Document new module.
52057         * MODULES.html.sh (string handling): Likewise.
52058         * doc/functions/strcasestr.texi: New file.
52059         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
52060         here, since it is not a POSIX function.
52061
52062 2008-01-14  Colin Watson  <cjwatson@debian.org>
52063             Bruno Haible  <bruno@clisp.org>
52064
52065         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
52066         works fine; if not, set REPLACE_STRSIGNAL.
52067         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
52068         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52069         REPLACE_STRSIGNAL.
52070         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
52071         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
52072         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
52073
52074 2008-01-14  Bruno Haible  <bruno@clisp.org>
52075
52076         * modules/strsignal (Include): Change to <string.h>.
52077
52078 2008-01-14  Colin Watson  <cjwatson@debian.org>
52079
52080         * modules/argp (Notice): Add a notice recommending to change
52081         XGETTEXT_OPTIONS.
52082         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
52083
52084 2008-01-13  Colin Watson  <cjwatson@debian.org>
52085
52086         * modules/strsignal-tests: New file.
52087         * tests/test-strsignal.c: New file.
52088
52089         * lib/strsignal.c: New file, from glibc with modifications.
52090         * lib/siglist.h: New file, from glibc with modifications.
52091         * lib/string.in.h (strsignal): New declaration.
52092         * m4/strsignal.m4: New file.
52093         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52094         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
52095         * modules/strsignal: New file.
52096         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
52097         HAVE_DECL_STRSIGNAL.
52098
52099 2008-01-13  Bruno Haible  <bruno@clisp.org>
52100
52101         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
52102         locale encoding is not ASCII. Needed for OpenBSD 4.0.
52103         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52104         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52105
52106 2008-01-13  Bruno Haible  <bruno@clisp.org>
52107
52108         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
52109         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
52110         * lib/argp.h (__attribute__): Likewise.
52111         * lib/c-stack.c (__attribute__): Likewise.
52112         * lib/error.h (__attribute__): Likewise.
52113         * lib/fts.c (__attribute__): Likewise.
52114         * lib/openat.h (__attribute__): Likewise.
52115         * lib/stdio.in.h (__attribute__): Likewise.
52116         * lib/string.in.h (__attribute__): Likewise.
52117         * lib/utimens.c (__attribute__): Likewise.
52118         * lib/vasnprintf.h (__attribute__): Likewise.
52119         * lib/xalloc.h (__attribute__): Likewise.
52120         * lib/xprintf.h (__attribute__): Likewise.
52121         * lib/xstrtol.h (__attribute__): Likewise.
52122         * lib/xvasprintf.h (__attribute__): Likewise.
52123
52124 2008-01-12  Bruno Haible  <bruno@clisp.org>
52125
52126         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
52127         * doc/glibc-headers/a.out.texi: New file.
52128         * doc/glibc-headers/aliases.texi: New file.
52129         * doc/glibc-headers/alloca.texi: New file.
52130         * doc/glibc-headers/ar.texi: New file.
52131         * doc/glibc-headers/argp.texi: New file.
52132         * doc/glibc-headers/argz.texi: New file.
52133         * doc/glibc-headers/byteswap.texi: New file.
52134         * doc/glibc-headers/crypt.texi: New file.
52135         * doc/glibc-headers/endian.texi: New file.
52136         * doc/glibc-headers/envz.texi: New file.
52137         * doc/glibc-headers/err.texi: New file.
52138         * doc/glibc-headers/error.texi: New file.
52139         * doc/glibc-headers/execinfo.texi: New file.
52140         * doc/glibc-headers/fpu_control.texi: New file.
52141         * doc/glibc-headers/fstab.texi: New file.
52142         * doc/glibc-headers/fts.texi: New file.
52143         * doc/glibc-headers/getopt.texi: New file.
52144         * doc/glibc-headers/ieee754.texi: New file.
52145         * doc/glibc-headers/ifaddrs.texi: New file.
52146         * doc/glibc-headers/libintl.texi: New file.
52147         * doc/glibc-headers/mcheck.texi: New file.
52148         * doc/glibc-headers/mntent.texi: New file.
52149         * doc/glibc-headers/obstack.texi: New file.
52150         * doc/glibc-headers/paths.texi: New file.
52151         * doc/glibc-headers/printf.texi: New file.
52152         * doc/glibc-headers/pty.texi: New file.
52153         * doc/glibc-headers/resolv.texi: New file.
52154         * doc/glibc-headers/shadow.texi: New file.
52155         * doc/glibc-headers/sysexits.texi: New file.
52156         * doc/glibc-headers/ttyent.texi: New file.
52157
52158 2008-01-12  Jim Meyering  <meyering@redhat.com>
52159
52160         announce-gen: emit Gnulib's git-based version string.
52161         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
52162         New option --gnulib-version=V, where V is expected to be
52163         the output of running git describe in the gnulib directory.
52164         (get_tool_versions): Request feedback on xdelta.  I suspect it's
52165         not useful, and plan to stop publishing an xdelta file with each
52166         coreutils release.
52167
52168         * build-aux/announce-gen: Also check for lzma-compressed files.
52169
52170 2008-01-11  Bruno Haible  <bruno@clisp.org>
52171
52172         * tests/test-memmem.c (main): Increase maximum allowed time.
52173         * tests/test-strstr.c (main): Likewise.
52174
52175 2008-01-11  Bruno Haible  <bruno@clisp.org>
52176
52177         * doc/functions/memmem.texi: Add more precisions about platforms.
52178         * doc/functions/strstr.texi: Likewise.
52179
52180 2008-01-10  Eric Blake  <ebb9@byu.net>
52181
52182         * m4/strstr.m4: Delete cruft from copy-n-paste.
52183         Reported by Bruno Haible.
52184
52185 2008-01-10  Bruno Haible  <bruno@clisp.org>
52186
52187         Make c-strstr rely on strstr.
52188         * lib/c-strstr.c: Don't include str-kmp.h.
52189         (c_strstr): Define in terms of strstr.
52190         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52191         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52192
52193 2008-01-10  Bruno Haible  <bruno@clisp.org>
52194
52195         * doc/gnulib.texi (String Functions in C Locale): New section.
52196         * doc/c-ctype.texi: New file.
52197         * doc/c-strcase.texi: New file.
52198         * doc/c-strcaseeq.texi: New file.
52199         * doc/c-strcasestr.texi: New file.
52200         * doc/c-strstr.texi: New file.
52201         * doc/c-strtod.texi: New file.
52202         * doc/c-strtold.texi: New file.
52203
52204 2008-01-10  Eric Blake  <ebb9@byu.net>
52205
52206         * lib/relocatable.h: Fix a comment.
52207
52208 2008-01-10  Eric Blake  <ebb9@byu.net>
52209
52210         Share two-way algorithm.
52211         * lib/str-two-way.h: New file, merged from...
52212         * lib/memmem.c: ...here...
52213         * lib/strstr.c: ...and here.
52214         * modules/memmem (Files): Use it.
52215         * modules/strstr (Files): Likewise.
52216
52217         Avoid quadratic strstr implementations.
52218         * lib/strstr.c: New file.
52219         * m4/strstr.m4: Likewise.
52220         * modules/strstr: Likewise.
52221         * modules/strstr-tests: Likewise.
52222         * tests/test-strstr.c: Likewise.
52223         * lib/string.in.h (rpl_strstr): Declare.
52224         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52225         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52226         * modules/string (Makefile.am): Likewise.
52227         * MODULES.html.sh (string handling): Mention new module.
52228         * doc/functions/strstr.texi (strstr): Document the bug.
52229
52230 2008-01-10  Bruno Haible  <bruno@clisp.org>
52231
52232         * lib/relocatable.h (relocate): State whether result is freshly
52233         allocated or not.
52234         * lib/relocatable.c (relocate): Return a freshly allocated string
52235         instead of a pointer to a privately held string.
52236         Reported by Sylvain Beucler <beuc@gnu.org>.
52237
52238 2008-01-10  Colin Watson  <cjwatson@debian.org>
52239
52240         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52241         s/S_ISNLK/S_ISLNK/.
52242
52243 2008-01-09  Bruno Haible  <bruno@clisp.org>
52244
52245         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52246         and other files.
52247         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52248         if it's only a guess.
52249         * modules/memmem: Simplify by depending on memmem-simple.
52250
52251 2008-01-09  Bruno Haible  <bruno@clisp.org>
52252
52253         Work around OpenBSD 4.0 tdelete() bug.
52254         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52255         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52256         macros and don't redefine the enum values.
52257         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52258         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52259         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52260
52261 2008-01-09  Bruno Haible  <bruno@clisp.org>
52262
52263         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52264         (main): Don't perform the tests if setlocale did not install a UTF-8
52265         locale. Needed on OpenBSD 4.0.
52266         * modules/wcwidth-tests (Depends-on): Add localcharset.
52267
52268 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52269
52270         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52271         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52272         * NEWS: announce this.
52273         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52274
52275 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52276         and Eric Blake  <ebb9@byu.net>
52277
52278         Add memmem-simple module.
52279         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52280         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52281         * modules/memmem-simple: New file.
52282         * modules/memmem (Description): Tweak.
52283         * MODULES.html.sh (string handling): Mention new module.
52284         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52285         addressed by memmem-simple.
52286         * NEWS: Document the difference.
52287
52288 2008-01-09  Eric Blake  <ebb9@byu.net>
52289
52290         Give gcc some memmem optimization hints.
52291         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52292         (strcasestr): Declare as pure.
52293         * modules/memmem (Maintainer): Claim my implementation.
52294
52295 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52296
52297         Support AIX 6.1 and higher.
52298         * build-aux/config.libpath: Likewise.
52299         * build-aux/config.rpath: Likewise.
52300
52301 2008-01-08  Jim Meyering  <meyering@redhat.com>
52302             Bruno Haible  <bruno@clisp.org>
52303
52304         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52305         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52306         Reported by Peter Fales in
52307         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52308
52309 2008-01-08  Bruno Haible  <bruno@clisp.org>
52310
52311         * modules/unictype/category-of (Depends-on): Add
52312         unictype/category-none.
52313         * modules/unictype/category-and-tests (Depends-on): Add
52314         unictype/category-{L,N,Lu,Nd}.
52315         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52316         * modules/unictype/category-or-tests (Depends-on): Add
52317         unictype/category-{L,N}.
52318         * modules/unictype/category-name-tests (Depends-on): Add
52319         unictype/category-{Z,Nl}.
52320         Reported by Simon Josefsson.
52321
52322 2008-01-08  Bruno Haible  <bruno@clisp.org>
52323
52324         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52325         convention better.
52326         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52327         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52328         Reported by Peter Miller <millerp@canb.auug.org.au>.
52329
52330 2008-01-08  Eric Blake  <ebb9@byu.net>
52331
52332         Rewrite memmem to guarantee linear complexity without malloc.
52333         * lib/memmem.c (memmem): Use Two-Way rather than
52334         Knuth-Morris-Pratt, to allow O(1) space usage.
52335         (critical_factorization, two_way_short_needle)
52336         (two_way_long_needle): New functions.
52337         (knuth_morris_pratt): Delete.
52338         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52339         Add stdint.
52340         * tests/test-memmem.c (main): Add tests for periodic needle and
52341         sublinear performance.
52342         * doc/functions/memmem.texi (memmem): Document other deficiencies
52343         in cygwin and older glibc.
52344
52345 2008-01-08  Bruno Haible  <bruno@clisp.org>
52346
52347         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52348         augmentation.
52349
52350 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52351
52352         Add a configure time option: --disable-acl.
52353         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52354         AC_ARG_ENABLE(acl).
52355
52356 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52357
52358         * tests/test-localename.c: Don't include obsolete "setenv.h".
52359
52360         * modules/localename-tests (Depends-on): Need unsetenv.
52361
52362 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52363
52364         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52365
52366 2008-01-06  Colin Watson  <cjwatson@debian.org>
52367
52368         * users.txt: Add man-db.
52369
52370 2008-01-07  Bruno Haible  <bruno@clisp.org>
52371
52372         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52373         previous section name.
52374
52375 2008-01-07  Bruno Haible  <bruno@clisp.org>
52376
52377         * lib/progname.c (set_program_name): Don't strip off a leading
52378         "lt-" prefix outside a .libs directory.
52379         Suggested by Paul Eggert.
52380
52381 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52382             Bruno Haible  <bruno@clisp.org>
52383
52384         Improve memory cleanup in 'relocatable' module.
52385         * lib/relocatable.h (compute_curr_prefix): Change return type to
52386         'char *'.
52387         * lib/relocatable.c (compute_curr_prefix): Change return type to
52388         'char *'. Free curr_installdir after use.
52389         (relocate): Free curr_prefix_better after use.
52390         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52391
52392 2008-01-01  Bruno Haible  <bruno@clisp.org>
52393
52394         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52395         failure on older glibc systems.
52396         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52397
52398 2008-01-05  Eric Blake  <ebb9@byu.net>
52399
52400         Avoid quadratic system memmem.
52401         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52402         Reported by Ralf Wildenhues.
52403
52404         Fix memmem test for mingw.
52405         * modules/memmem-tests (configure.ac): Check for alarm.
52406         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52407         it.
52408         * doc/functions/memmem.texi: New file.
52409         * doc/gnulib.texi (Function Substitutes): Add memmem.
52410         Reported by Bruno Haible.
52411
52412 2008-01-04  Bruno Haible  <bruno@clisp.org>
52413
52414         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52415         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52416         gl_HEADER_STRING_H_DEFAULTS.
52417
52418 2008-01-04  Eric Blake  <ebb9@byu.net>
52419
52420         Shorten duration of memmem test.
52421         * tests/test-memmem.c (main): Use alarm to declare failure if test
52422         is taking too long.
52423         Reported by Ralf Wildenhues.
52424
52425 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52426
52427         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52428         string, needed by strerror.
52429
52430 2008-01-03  Colin Watson  <cjwatson@debian.org>
52431             Bruno Haible  <bruno@clisp.org>
52432
52433         * doc/gnulib-tool.texi (Localization): New section.
52434
52435 2008-01-02  Bruno Haible  <bruno@clisp.org>
52436
52437         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52438         variables to 'unsigned char *' type.
52439         Reported by Paul Eggert.
52440
52441 2008-01-02  Jim Meyering  <jim@meyering.net>
52442
52443         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52444
52445 2007-12-31  Jim Meyering  <jim@meyering.net>
52446
52447         Avoid use of private FTS type name.
52448         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52449
52450 2007-12-30  Karl Berry  <karl@gnu.org>
52451
52452         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52453         work around defect in Texinfo and/or the standalone Info browser.
52454
52455 2007-12-30  Bruno Haible  <bruno@clisp.org>
52456
52457         Unify 5 copies of the KMP code.
52458         * lib/str-kmp.h: New file.
52459         * lib/c-strcasestr.c: Include str-kmp.h.
52460         (knuth_morris_pratt): Remove function.
52461         (c_strcasestr): Update.
52462         * lib/c-strstr.c: Include str-kmp.h.
52463         (knuth_morris_pratt): Remove function.
52464         (c_strcasestr): Update.
52465         * lib/mbscasestr.c: Include str-kmp.h.
52466         (knuth_morris_pratt_unibyte): Remove function.
52467         * lib/mbsstr.c: Include str-kmp.h.
52468         (knuth_morris_pratt_unibyte): Remove function.
52469         * lib/strcasestr.c: Include str-kmp.h.
52470         (knuth_morris_pratt): Remove function.
52471         (strcasestr): Update.
52472         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52473         * modules/c-strstr (Files): Likewise.
52474         * modules/mbscasestr (Files): Likewise.
52475         * modules/mbsstr (Files): Likewise.
52476         * modules/strcasestr (Files): Likewise.
52477         Suggested by Paul Eggert.
52478
52479 2007-12-30  Bruno Haible  <bruno@clisp.org>
52480
52481         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52482         defined.
52483
52484 2007-12-30  Bruno Haible  <bruno@clisp.org>
52485
52486         * lib/xmalloca.h: Include xalloc.h.
52487         (xnmalloca): New macro.
52488
52489 2007-12-30  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/malloca.h (nmalloca): New macro.
52492         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52493         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52494         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52495         knuth_morris_pratt_multibyte): Likewise.
52496         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52497         knuth_morris_pratt_multibyte): Likewise.
52498         * lib/memmem.c (knuth_morris_pratt): Likewise.
52499         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52500
52501 2007-12-25  Bruno Haible  <bruno@clisp.org>
52502
52503         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52504         * lib/glob.c: Don't include openat.h.
52505         (link_exists2_p): Add back the code that deals with the
52506         !GLOB_ALTDIRFUNC case.
52507         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52508         let it do the filename concatenation.
52509         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52510         * modules/glob (Depends-on): Remove openat.
52511
52512 2007-12-31  Bruno Haible  <bruno@clisp.org>
52513
52514         * modules/dirfd (License): Change to LGPLv2+.
52515         Approved by Jim Meyering.
52516
52517 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52518
52519         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52520         when multiplying M by sizeof (size_t).
52521
52522 2007-12-10  Martin Lambers  <marlam@marlam.de>
52523
52524         Override getpagesize on mingw.
52525         * lib/getpagesize.c: New file.
52526         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52527         * modules/getpagesize (Files): Add lib/getpagesize.c.
52528         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52530         REPLACE_GETPAGESIZE.
52531         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52532
52533 2007-12-25  Bruno Haible  <bruno@clisp.org>
52534
52535         * modules/localcharset (Notice): New field.
52536         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52537         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52538
52539 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52540             Bruno Haible  <bruno@clisp.org>
52541
52542         Avoid using the syntax symbol() in formatted documentation.
52543         * MODULES.html.sh (func_module): When replacing symbol() with a
52544         hyperlink, remove the parentheses. Show an error if some remain.
52545         Recognize and render the '...' syntax.
52546         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52547         Rework. Add paragraph about GCC's inlining.
52548         * doc/alloca.texi: Likewise.
52549         * doc/error.texi: Remove parentheses from symbol reference.
52550         * doc/gnulib-intro.texi: Likewise.
52551         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52552         * modules/fnmatch (Description): Reword to say "the ... function".
52553         * modules/full-read (Description): Likewise.
52554         * modules/full-write (Description): Likewise.
52555         * modules/safe-read (Description): Likewise.
52556         * modules/safe-write (Description): Likewise.
52557         * modules/strchrnul (Description): Likewise.
52558         * modules/trim (Description): Likewise.
52559         * modules/error (Description): Remove parentheses from symbol
52560         references.
52561         * modules/verror (Description): Likewise.
52562         Reported by Karl Berry.
52563
52564 2007-12-25  Bruno Haible  <bruno@clisp.org>
52565
52566         Fixup after 2007-10-16 commit.
52567         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52568
52569 2007-12-24  Bruno Haible  <bruno@clisp.org>
52570
52571         Make --enable-relocatable work with DESTDIR.
52572         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52573         to compute installdir from destprog.
52574         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52575         also set the RELOC_DESTDIR variable.
52576         Reported by Левашев Иван <octagram@bluebottle.com>.
52577
52578 2007-12-24  Bruno Haible  <bruno@clisp.org>
52579
52580         Fix link error due to xalloc_die().
52581         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52582         of xreadlink.
52583         * lib/relocwrapper.c: Update comments.
52584         * build-aux/install-reloc: Remove xreadlink.c from file list.
52585         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52586         xreadlink.c.
52587         Reported by Левашев Иван <octagram@bluebottle.com>.
52588
52589 2007-12-24  Bruno Haible  <bruno@clisp.org>
52590
52591         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52592         * lib/setenv.h: Remove file.
52593         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52594         lib/setenv.h.
52595         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52596         (Depends-on): Add stdlib.
52597         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52598         gl_FUNC_UNSETENV.
52599         (Include): Replace setenv.h with <stdlib.h>.
52600         * modules/unsetenv: New file.
52601         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52602         * lib/unsetenv.c: Include <stdlib.h> first.
52603         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52604         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52605         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52606         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52607         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52608         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52610         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52611         * doc/functions/unsetenv.texi: Update.
52612         * modules/xsetenv (Depends-on): Add unsetenv.
52613         * modules/getdate (Depends-on): Likewise.
52614         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52615         * lib/xsetenv.c: Don't include setenv.h.
52616         * lib/getdate.y: Likewise.
52617         * lib/relocwrapper.c: Likewise.
52618         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52619         (Depends-on): Add stdlib.
52620         * NEWS: Mention the changes.
52621         Reported by Левашев Иван <octagram@bluebottle.com>.
52622
52623 2007-12-23  Bruno Haible  <bruno@clisp.org>
52624
52625         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52626         indentation.
52627
52628 2007-12-23  Bruno Haible  <bruno@clisp.org>
52629
52630         * lib/c-strcasestr.c: Add more comments.
52631         * lib/c-strstr.c: Likewise.
52632         * lib/mbscasestr.c: Likewise.
52633         * lib/mbsstr.c: Likewise.
52634         * lib/strcasestr.c: Likewise.
52635         * lib/memmem.c: Likewise.
52636
52637 2007-12-23  Bruno Haible  <bruno@clisp.org>
52638
52639         * tests/test-memmem.c: Include <string.h> first.
52640
52641 2007-12-22  Bruno Haible  <bruno@clisp.org>
52642
52643         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52644         the contents of $testsbase.
52645         Reported by Ralf Wildenhues.
52646
52647 2007-12-22  Bruno Haible  <bruno@clisp.org>
52648
52649         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52650         two variables local_ldadd_before, local_ldadd_last.
52651
52652 2007-12-20  Eric Blake  <ebb9@byu.net>
52653
52654         Work around circular library issue when cross-compiling.
52655         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52656         that progname.o does not need to pull in rpl_memcmp.
52657
52658 2007-12-19  Eric Blake  <ebb9@byu.net>
52659
52660         Fix memmem to avoid O(n^2) worst-case complexity.
52661         * lib/memmem.c (knuth_morris_pratt): New function.
52662         (memmem): Use it if first few naive iterations fail.
52663         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52664         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52665         * modules/memchr (License): Likewise.
52666         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52667         malloca.
52668         * tests/test-memmem.c: Rewrite, borrowing ideas from
52669         test-mbsstr1.c; the old version wouldn't even compile!
52670         * modules/memmem-tests: New file.
52671         * lib/string.in.h (rpl_memmem): Add declaration.
52672         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52673         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52674         REPLACE_MEMMEM.
52675
52676 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52677
52678         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52679         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52680         before any system include files, and undef after them all.  This
52681         should fix a problem on VMS reported by John E. Malmberg in
52682         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52683
52684 2007-12-17  Eric Blake  <ebb9@byu.net>
52685
52686         Revert addition of verify, for BSD/OS.
52687         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52688         can't handle large files, for the sake of obsolete platforms.
52689         * modules/fseeko (Depends-on): Remove verify.
52690         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52691         * doc/functions/ftello.texi (ftello): Likewise.
52692         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52693         Reported by Larry Jones.
52694
52695 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52696
52697         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52698         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52699
52700 2007-12-17  Jim Meyering  <meyering@redhat.com>
52701
52702         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52703         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52704         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52705         * modules/getcwd (Depends-on): Add openat.
52706         Reported by Petr Salinger.
52707
52708 2007-12-17  Bruno Haible  <bruno@clisp.org>
52709
52710         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52711         avoid a segmentation fault of the configure test on x86_64 systems.
52712
52713 2007-12-15  Jim Meyering  <meyering@redhat.com>
52714
52715         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52716
52717 2007-12-13  Eric Blake  <ebb9@byu.net>
52718
52719         Another fseek test.
52720         * tests/test-fseek.c (main): Also test ungetc handling.
52721         * tests/test-fseeko.c (main): Likewise.
52722         * modules/fseeko (Depends-on): Add verify.
52723         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52724         large.
52725         Reported by Larry Jones.
52726
52727         Fix fseeko on mingw.
52728         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52729         seek.
52730
52731         Beef up fseek tests.
52732         * tests/test-fseek.c (main): Also test eof handling.
52733         * tests/test-fseeko.c (main): Likewise.
52734         Reported by Larry Jones.
52735
52736 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52737
52738         Fix fseeko on BSD-based platforms.
52739         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52740         successful seek.
52741
52742 2007-12-12  Eric Blake  <ebb9@byu.net>
52743
52744         Allow circular dependency of separate libtests.a
52745         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52746         when use_libtests.
52747
52748 2007-12-11  Eric Blake  <ebb9@byu.net>
52749
52750         Fix bug with -0.0L in previous patch.
52751         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52752         * tests/test-isnan.c (main): Also test on zeroes.
52753         * tests/test-isnanf.c (main): Likewise.
52754         * tests/test-isnanl.h (main): Likewise.
52755
52756         Detect pseudo-denormals on x86 even when cross-compiling.
52757         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52758         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52759         invalid bit patterns that happen to satisfy ==.
52760
52761         Avoid link failures with separate libtests.a.
52762         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52763         last, to satisfy circular dependencies.
52764
52765 2007-12-11  Eric Blake  <ebb9@byu.net>
52766         and Bruno Haible  <bruno@clisp.org>
52767
52768         Fix OpenBSD 4.0 <float.h> handling of long double.
52769         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52770         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52771         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52772
52773 2007-12-11  Jim Meyering  <meyering@redhat.com>
52774
52775         * users.txt: Add libvirt.
52776
52777         Support versions of autoconf prior to 2.59c.
52778         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52779         if it is not already defined.
52780
52781 2007-12-09  Bruno Haible  <bruno@clisp.org>
52782
52783         Let 'gnulib-tool --import' collect sources needed for the tests in
52784         tests/ rather than in lib/.
52785         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52786         argument. If true, add rules to generate libtests.a, and put libtests.a
52787         into $(LDADD). Consider source files in subdirectories and set
52788         uses_subdirs.
52789         (func_emit_initmacro_start, func_emit_initmacro_end,
52790         func_emit_initmacro_done): Pass all arguments explicitly.
52791         (func_import): Determine two module lists main_modules,
52792         testsrelated_modules. Determine use_libtests. Determine two variables
52793         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52794         instead of just sed_transform_lib_file. Determine two variables
52795         main_files and testsrelated_files. Compute 'files' as the union of
52796         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52797         func_add_or_update. In the generated gnulib-comp.m4, collect the
52798         object files for tests/ in different variables than those for lib/.
52799         Substitute LIBTESTS_LIBDEPS.
52800         (func_create_testdir): Combine the uses_subdirs results from
52801         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52802
52803 2007-12-09  Bruno Haible  <bruno@clisp.org>
52804
52805         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52806         the build-aux directory.
52807
52808 2007-12-09  Bruno Haible  <bruno@clisp.org>
52809
52810         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52811         introduced on 2006-09-09.
52812
52813 2007-12-07  Jim Meyering  <meyering@redhat.com>
52814
52815         Let these macros work also with autoconf-2.59.
52816         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52817         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52818         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52819
52820 2007-12-06  Jim Meyering  <meyering@redhat.com>
52821
52822         Avoid a configure-time syntax error in gl_FUNC_ACL.
52823         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52824         function in each branch, before testing the cache variable.
52825
52826 2007-12-04  Eric Blake  <ebb9@byu.net>
52827
52828         Make scripts executable.
52829         * build-aux/config.guess: Add execute permissions.
52830         * build-aux/config.sub: Likewise.
52831         * build-aux/gendocs.sh: Likewise.
52832
52833         Fix frexp on mingw.
52834         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52835         cross-compiling.
52836         * doc/functions/frexp.texi (frexp): Document the bug.
52837
52838         Make cygwin fseeko check more reliable.
52839         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52840         version numbers, rather than unrelated feature check.
52841         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52842         * doc/functions/ftello.texi (ftello): Likewise.
52843         Reported by Bruno Haible.
52844
52845         * m4/strerror.m4: Bump version number.
52846
52847 2007-12-03  Bruno Haible  <bruno@clisp.org>
52848
52849         * doc/functions/mprotect.texi: Mention the mingw problem.
52850
52851 2007-12-03  Eric Blake  <ebb9@byu.net>
52852
52853         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52854         REPLACE_STRERROR is initialized before this macro.
52855
52856 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52857
52858         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52859         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52860         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52861         put -lsec in even for programs other than 'ls'.  This fixes a problem
52862         for gettext reported by Bruno Haible in
52863         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52864         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52865         Add support for Solaris 10.  This isn't efficient, but should get the
52866         job done for now.
52867
52868 2007-12-03  James Youngman  <jay@gnu.org>
52869
52870         * doc/regexprops-generic.texi: change "an close-group" to "a
52871         close-group" and "illegal" to "not allowed".
52872
52873 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52874
52875         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52876         pr_byname.h. Needed for the rare case when the maintainer has done
52877         "make maintainer-clean" in the source directory and then attempts a
52878         build outside the source directory.
52879         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52880         scripts_byname.h.
52881
52882 2007-12-02  Martin Lambers <marlam@marlam.de>
52883             Bruno Haible  <bruno@clisp.org>
52884
52885         * lib/getpagesize.h: Remove file.
52886         * lib/unistd.in.h: Include declaration of getpagesize here.
52887         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52888         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52889         HAVE_SYS_PARAM_H.
52890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52891         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52892         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52893         (Depends-on): Add unistd.
52894         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52895         (Include): Use <unistd.h> instead of getpagesize.h.
52896         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52897         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52898         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52899         gl_GETPAGESIZE invocation, already handled by module dependency.
52900         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52901
52902 2007-12-02  Bruno Haible  <bruno@clisp.org>
52903
52904         * modules/strings-tests: New file.
52905         * tests/test-strings.c: New file.
52906
52907         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52908         * lib/strings.in.h: New file.
52909         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52910         * m4/strings_h.m4: New file.
52911         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52912         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52913         * modules/strings: New file.
52914         * modules/string (Makefile.am): Update.
52915         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52916         Reported by Karl Berry.
52917
52918 2007-12-01  Eric Blake  <ebb9@byu.net>
52919
52920         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52921         accomodate fix in cygwin 1.5.25.
52922
52923 2007-12-01  Jim Meyering  <meyering@redhat.com>
52924
52925         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52926         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52927         that would inhibit utf8-optimization of a regexp containing line-
52928         or buffer-anchors, e.g., `^', `$'.
52929
52930 2007-11-30  Bruno Haible  <bruno@clisp.org>
52931
52932         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52933         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52934         glthread_recursive_lock_init.
52935         * lib/lock.c (glthread_recursive_lock_init)
52936         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52937         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52938
52939 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52940
52941         New function qset_acl, like set_acl but with syscall semantics.
52942         * lib/acl.h (qset_acl): New decl.
52943         * lib/acl.c (qset_acl): New function.
52944         (set_acl): Use new function.  Use more-consistent diagnostics.
52945
52946 2007-11-28  Jim Meyering  <meyering@redhat.com>
52947
52948         * modules/physmem (License): Change from GPL to LGPLv2+.
52949
52950 2007-11-26  Bruno Haible  <bruno@clisp.org>
52951
52952         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52953         'long double' type has excess precision.
52954         Reported by Jim Meyering in
52955         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52956
52957 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52958
52959         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52960         Sync from <http://gnu.org/licenses>.
52961         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52962         with license text from same location.
52963         * doc/maintain.texi, doc/standards.texi:  Sync from
52964         <http://savannah.gnu.org/projects/gnustandards>.
52965
52966 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
52967         and Jim Meyering  <meyering@redhat.com>
52968
52969         Adjust getdate' grammar to accept a slightly more regular language.
52970         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52971         Before, the former was rejected.
52972         * lib/getdate.y (digits_to_date_time): New function, factored
52973         out of ...
52974         (number): ...here.  Just call digits_to_date_time.
52975         (hybrid): New non-terminal to handle an <unsigned number,
52976         signed relative offset> sequence consistently.
52977
52978 2007-11-18  Jim Meyering  <meyering@redhat.com>
52979
52980         Pull my changes from coreutils:
52981         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52982         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52983         use of $gnulib_tool_option_extras, so that it's separated from the
52984         preceding argument.
52985
52986         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52987         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52988         parent destination directories before copying a file into place.
52989
52990 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52991
52992         bootstrap: work also with 4-argument variant of AC_INIT
52993         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52994
52995 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52996
52997         Port test-getaddrinfo to Solaris.
52998         Problem reported by Bruno Haible in
52999         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
53000         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
53001         explanation of setting 'hints'.
53002         Don't reject an implementation merely because it returns EAI_SERVICE.
53003         (EAI_SERVICE): Define to 0 if not defined.
53004
53005 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53006
53007         The license of gnu-make and posix-shell is now "GPLed build tool".
53008         * modules/gnu-make (License): Likewise.
53009         * modules/posix-shell (License): Likewise.
53010
53011         New module posix-shell, for determining a POSIX shell
53012         or perhaps something that is close enough to a POSIX shell.
53013         * m4/posix-shell.m4: New file.
53014         * modules/posix-shell: New file.
53015
53016         * MODULES.html.sh: Mention new module.
53017
53018         New module gnu-make, for determining whether we're using GNU Make.
53019         * m4/gnu-make.m4: New file.
53020         * modules/gnu-make: New file.
53021         * MODULES.html.sh: Mention new module.
53022
53023 2007-11-14  Jim Meyering  <meyering@redhat.com>
53024
53025         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
53026         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
53027         use this macro to create a function _definition_.
53028         Remove useless "#undef ARGMATCH_DIE".
53029
53030 2007-11-14  Bruno Haible  <bruno@clisp.org>
53031
53032         * lib/config.charset: Update for OpenBSD 4.1.
53033         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
53034
53035 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
53036
53037         Document 64-bit #if problems in stdint.texi.
53038         * doc/headers/stdint.texi (stdint.h): Mention problems with
53039         64-bit-#if, and how to work around them.
53040
53041         Don't insist on 'long long int' support in the preprocessor.  It
53042         breaks too many things.  For example, PRIdMAX still uses a 'long
53043         long int' format with the latest Sun compiler, even though
53044         HAVE_LONG_LONG_INT isn't defined due to that compiler's
53045         preprocessor problem.  This causes the latest coreutils to dump
53046         core on Solaris 10 sparc with the Sun C compiler.
53047         Instead, fix the 2007-10-16 problem in a different way, by evaluating
53048         the troublesome expressions at configure-time, not at #if-time.
53049         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
53050         preprocessor.
53051         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
53052         compile-time C checks, done at 'configure'-time.
53053         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
53054         * modules/inttypes (Makefile): Substitute the new symbols that
53055         gl_INTTYPES_H now generates.
53056         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
53057
53058 2007-11-12  Bruno Haible  <bruno@clisp.org>
53059
53060         Tests for Unicode character classification functions.
53061
53062         * modules/unictype/bidicategory-byname-tests: New file.
53063         * modules/unictype/bidicategory-name-tests: New file.
53064         * modules/unictype/bidicategory-of-tests: New file.
53065         * modules/unictype/bidicategory-test-tests: New file.
53066         * modules/unictype/block-list-tests: New file.
53067         * modules/unictype/block-of-tests: New file.
53068         * modules/unictype/block-test-tests: New file.
53069         * modules/unictype/category-C-tests: New file.
53070         * modules/unictype/category-Cc-tests: New file.
53071         * modules/unictype/category-Cf-tests: New file.
53072         * modules/unictype/category-Cn-tests: New file.
53073         * modules/unictype/category-Co-tests: New file.
53074         * modules/unictype/category-Cs-tests: New file.
53075         * modules/unictype/category-L-tests: New file.
53076         * modules/unictype/category-Ll-tests: New file.
53077         * modules/unictype/category-Lm-tests: New file.
53078         * modules/unictype/category-Lo-tests: New file.
53079         * modules/unictype/category-Lt-tests: New file.
53080         * modules/unictype/category-Lu-tests: New file.
53081         * modules/unictype/category-M-tests: New file.
53082         * modules/unictype/category-Mc-tests: New file.
53083         * modules/unictype/category-Me-tests: New file.
53084         * modules/unictype/category-Mn-tests: New file.
53085         * modules/unictype/category-N-tests: New file.
53086         * modules/unictype/category-Nd-tests: New file.
53087         * modules/unictype/category-Nl-tests: New file.
53088         * modules/unictype/category-No-tests: New file.
53089         * modules/unictype/category-P-tests: New file.
53090         * modules/unictype/category-Pc-tests: New file.
53091         * modules/unictype/category-Pd-tests: New file.
53092         * modules/unictype/category-Pe-tests: New file.
53093         * modules/unictype/category-Pf-tests: New file.
53094         * modules/unictype/category-Pi-tests: New file.
53095         * modules/unictype/category-Po-tests: New file.
53096         * modules/unictype/category-Ps-tests: New file.
53097         * modules/unictype/category-S-tests: New file.
53098         * modules/unictype/category-Sc-tests: New file.
53099         * modules/unictype/category-Sk-tests: New file.
53100         * modules/unictype/category-Sm-tests: New file.
53101         * modules/unictype/category-So-tests: New file.
53102         * modules/unictype/category-Z-tests: New file.
53103         * modules/unictype/category-Zl-tests: New file.
53104         * modules/unictype/category-Zp-tests: New file.
53105         * modules/unictype/category-Zs-tests: New file.
53106         * modules/unictype/category-and-not-tests: New file.
53107         * modules/unictype/category-and-tests: New file.
53108         * modules/unictype/category-byname-tests: New file.
53109         * modules/unictype/category-name-tests: New file.
53110         * modules/unictype/category-none-tests: New file.
53111         * modules/unictype/category-of-tests: New file.
53112         * modules/unictype/category-or-tests: New file.
53113         * modules/unictype/category-test-withtable-tests: New file.
53114         * modules/unictype/combining-class-tests: New file.
53115         * modules/unictype/ctype-alnum-tests: New file.
53116         * modules/unictype/ctype-alpha-tests: New file.
53117         * modules/unictype/ctype-blank-tests: New file.
53118         * modules/unictype/ctype-cntrl-tests: New file.
53119         * modules/unictype/ctype-digit-tests: New file.
53120         * modules/unictype/ctype-graph-tests: New file.
53121         * modules/unictype/ctype-lower-tests: New file.
53122         * modules/unictype/ctype-print-tests: New file.
53123         * modules/unictype/ctype-punct-tests: New file.
53124         * modules/unictype/ctype-space-tests: New file.
53125         * modules/unictype/ctype-upper-tests: New file.
53126         * modules/unictype/ctype-xdigit-tests: New file.
53127         * modules/unictype/decimal-digit-tests: New file.
53128         * modules/unictype/digit-tests: New file.
53129         * modules/unictype/mirror-tests: New file.
53130         * modules/unictype/numeric-tests: New file.
53131         * modules/unictype/property-alphabetic-tests: New file.
53132         * modules/unictype/property-ascii-hex-digit-tests: New file.
53133         * modules/unictype/property-bidi-arabic-digit-tests: New file.
53134         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
53135         * modules/unictype/property-bidi-block-separator-tests: New file.
53136         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
53137         * modules/unictype/property-bidi-common-separator-tests: New file.
53138         * modules/unictype/property-bidi-control-tests: New file.
53139         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
53140         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
53141         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
53142         * modules/unictype/property-bidi-european-digit-tests: New file.
53143         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
53144         * modules/unictype/property-bidi-left-to-right-tests: New file.
53145         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
53146         * modules/unictype/property-bidi-other-neutral-tests: New file.
53147         * modules/unictype/property-bidi-pdf-tests: New file.
53148         * modules/unictype/property-bidi-segment-separator-tests: New file.
53149         * modules/unictype/property-bidi-whitespace-tests: New file.
53150         * modules/unictype/property-byname-tests: New file.
53151         * modules/unictype/property-combining-tests: New file.
53152         * modules/unictype/property-composite-tests: New file.
53153         * modules/unictype/property-currency-symbol-tests: New file.
53154         * modules/unictype/property-dash-tests: New file.
53155         * modules/unictype/property-decimal-digit-tests: New file.
53156         * modules/unictype/property-default-ignorable-code-point-tests: New file.
53157         * modules/unictype/property-deprecated-tests: New file.
53158         * modules/unictype/property-diacritic-tests: New file.
53159         * modules/unictype/property-extender-tests: New file.
53160         * modules/unictype/property-format-control-tests: New file.
53161         * modules/unictype/property-grapheme-base-tests: New file.
53162         * modules/unictype/property-grapheme-extend-tests: New file.
53163         * modules/unictype/property-grapheme-link-tests: New file.
53164         * modules/unictype/property-hex-digit-tests: New file.
53165         * modules/unictype/property-hyphen-tests: New file.
53166         * modules/unictype/property-id-continue-tests: New file.
53167         * modules/unictype/property-id-start-tests: New file.
53168         * modules/unictype/property-ideographic-tests: New file.
53169         * modules/unictype/property-ids-binary-operator-tests: New file.
53170         * modules/unictype/property-ids-trinary-operator-tests: New file.
53171         * modules/unictype/property-ignorable-control-tests: New file.
53172         * modules/unictype/property-iso-control-tests: New file.
53173         * modules/unictype/property-join-control-tests: New file.
53174         * modules/unictype/property-left-of-pair-tests: New file.
53175         * modules/unictype/property-line-separator-tests: New file.
53176         * modules/unictype/property-logical-order-exception-tests: New file.
53177         * modules/unictype/property-lowercase-tests: New file.
53178         * modules/unictype/property-math-tests: New file.
53179         * modules/unictype/property-non-break-tests: New file.
53180         * modules/unictype/property-not-a-character-tests: New file.
53181         * modules/unictype/property-numeric-tests: New file.
53182         * modules/unictype/property-other-alphabetic-tests: New file.
53183         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53184         * modules/unictype/property-other-grapheme-extend-tests: New file.
53185         * modules/unictype/property-other-id-continue-tests: New file.
53186         * modules/unictype/property-other-id-start-tests: New file.
53187         * modules/unictype/property-other-lowercase-tests: New file.
53188         * modules/unictype/property-other-math-tests: New file.
53189         * modules/unictype/property-other-uppercase-tests: New file.
53190         * modules/unictype/property-paired-punctuation-tests: New file.
53191         * modules/unictype/property-paragraph-separator-tests: New file.
53192         * modules/unictype/property-pattern-syntax-tests: New file.
53193         * modules/unictype/property-pattern-white-space-tests: New file.
53194         * modules/unictype/property-private-use-tests: New file.
53195         * modules/unictype/property-punctuation-tests: New file.
53196         * modules/unictype/property-quotation-mark-tests: New file.
53197         * modules/unictype/property-radical-tests: New file.
53198         * modules/unictype/property-sentence-terminal-tests: New file.
53199         * modules/unictype/property-soft-dotted-tests: New file.
53200         * modules/unictype/property-space-tests: New file.
53201         * modules/unictype/property-terminal-punctuation-tests: New file.
53202         * modules/unictype/property-test-tests: New file.
53203         * modules/unictype/property-titlecase-tests: New file.
53204         * modules/unictype/property-unassigned-code-value-tests: New file.
53205         * modules/unictype/property-unified-ideograph-tests: New file.
53206         * modules/unictype/property-uppercase-tests: New file.
53207         * modules/unictype/property-variation-selector-tests: New file.
53208         * modules/unictype/property-white-space-tests: New file.
53209         * modules/unictype/property-xid-continue-tests: New file.
53210         * modules/unictype/property-xid-start-tests: New file.
53211         * modules/unictype/property-zero-width-tests: New file.
53212         * modules/unictype/scripts-tests: New file.
53213         * modules/unictype/syntax-c-ident-tests: New file.
53214         * modules/unictype/syntax-c-whitespace-tests: New file.
53215         * modules/unictype/syntax-java-ident-tests: New file.
53216         * modules/unictype/syntax-java-whitespace-tests: New file.
53217         * tests/unictype/test-bidi_byname.c: New file.
53218         * tests/unictype/test-bidi_name.c: New file.
53219         * tests/unictype/test-bidi_of.c: New file.
53220         * tests/unictype/test-bidi_test.c: New file.
53221         * tests/unictype/test-block_list.c: New file.
53222         * tests/unictype/test-block_of.c: New file.
53223         * tests/unictype/test-block_test.c: New file.
53224         * tests/unictype/test-categ_and.c: New file.
53225         * tests/unictype/test-categ_and_not.c: New file.
53226         * tests/unictype/test-categ_byname.c: New file.
53227         * tests/unictype/test-categ_name.c: New file.
53228         * tests/unictype/test-categ_none.c: New file.
53229         * tests/unictype/test-categ_of.c: New file.
53230         * tests/unictype/test-categ_or.c: New file.
53231         * tests/unictype/test-categ_test_withtable.c: New file.
53232         * tests/unictype/test-combining.c: New file.
53233         * tests/unictype/test-decdigit.c: New file.
53234         * tests/unictype/test-digit.c: New file.
53235         * tests/unictype/test-mirror.c: New file.
53236         * tests/unictype/test-numeric.c: New file.
53237         * tests/unictype/test-pr_byname.c: New file.
53238         * tests/unictype/test-pr_test.c: New file.
53239         * tests/unictype/test-predicate-part1.h: New file.
53240         * tests/unictype/test-predicate-part2.h: New file.
53241         * tests/unictype/test-scripts.c: New file.
53242         * tests/unictype/test-sy_c_ident.c: New file.
53243         * tests/unictype/test-sy_java_ident.c: New file.
53244
53245         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53246         for Unicode 5.0.0.
53247         * tests/unictype/test-categ_Cc.c: Likewise.
53248         * tests/unictype/test-categ_Cf.c: Likewise.
53249         * tests/unictype/test-categ_Cn.c: Likewise.
53250         * tests/unictype/test-categ_Co.c: Likewise.
53251         * tests/unictype/test-categ_Cs.c: Likewise.
53252         * tests/unictype/test-categ_L.c: Likewise.
53253         * tests/unictype/test-categ_Ll.c: Likewise.
53254         * tests/unictype/test-categ_Lm.c: Likewise.
53255         * tests/unictype/test-categ_Lo.c: Likewise.
53256         * tests/unictype/test-categ_Lt.c: Likewise.
53257         * tests/unictype/test-categ_Lu.c: Likewise.
53258         * tests/unictype/test-categ_M.c: Likewise.
53259         * tests/unictype/test-categ_Mc.c: Likewise.
53260         * tests/unictype/test-categ_Me.c: Likewise.
53261         * tests/unictype/test-categ_Mn.c: Likewise.
53262         * tests/unictype/test-categ_N.c: Likewise.
53263         * tests/unictype/test-categ_Nd.c: Likewise.
53264         * tests/unictype/test-categ_Nl.c: Likewise.
53265         * tests/unictype/test-categ_No.c: Likewise.
53266         * tests/unictype/test-categ_P.c: Likewise.
53267         * tests/unictype/test-categ_Pc.c: Likewise.
53268         * tests/unictype/test-categ_Pd.c: Likewise.
53269         * tests/unictype/test-categ_Pe.c: Likewise.
53270         * tests/unictype/test-categ_Pf.c: Likewise.
53271         * tests/unictype/test-categ_Pi.c: Likewise.
53272         * tests/unictype/test-categ_Po.c: Likewise.
53273         * tests/unictype/test-categ_Ps.c: Likewise.
53274         * tests/unictype/test-categ_S.c: Likewise.
53275         * tests/unictype/test-categ_Sc.c: Likewise.
53276         * tests/unictype/test-categ_Sk.c: Likewise.
53277         * tests/unictype/test-categ_Sm.c: Likewise.
53278         * tests/unictype/test-categ_So.c: Likewise.
53279         * tests/unictype/test-categ_Z.c: Likewise.
53280         * tests/unictype/test-categ_Zl.c: Likewise.
53281         * tests/unictype/test-categ_Zp.c: Likewise.
53282         * tests/unictype/test-categ_Zs.c: Likewise.
53283         * tests/unictype/test-ctype_alnum.c: Likewise.
53284         * tests/unictype/test-ctype_alpha.c: Likewise.
53285         * tests/unictype/test-ctype_blank.c: Likewise.
53286         * tests/unictype/test-ctype_cntrl.c: Likewise.
53287         * tests/unictype/test-ctype_digit.c: Likewise.
53288         * tests/unictype/test-ctype_graph.c: Likewise.
53289         * tests/unictype/test-ctype_lower.c: Likewise.
53290         * tests/unictype/test-ctype_print.c: Likewise.
53291         * tests/unictype/test-ctype_punct.c: Likewise.
53292         * tests/unictype/test-ctype_space.c: Likewise.
53293         * tests/unictype/test-ctype_upper.c: Likewise.
53294         * tests/unictype/test-ctype_xdigit.c: Likewise.
53295         * tests/unictype/test-decdigit.h: Likewise.
53296         * tests/unictype/test-digit.h: Likewise.
53297         * tests/unictype/test-numeric.h: Likewise.
53298         * tests/unictype/test-pr_alphabetic.c: Likewise.
53299         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53300         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53301         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53302         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53303         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53304         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53305         * tests/unictype/test-pr_bidi_control.c: Likewise.
53306         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53307         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53308         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53309         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53310         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53311         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53312         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53313         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53314         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53315         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53316         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53317         * tests/unictype/test-pr_combining.c: Likewise.
53318         * tests/unictype/test-pr_composite.c: Likewise.
53319         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53320         * tests/unictype/test-pr_dash.c: Likewise.
53321         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53322         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53323         * tests/unictype/test-pr_deprecated.c: Likewise.
53324         * tests/unictype/test-pr_diacritic.c: Likewise.
53325         * tests/unictype/test-pr_extender.c: Likewise.
53326         * tests/unictype/test-pr_format_control.c: Likewise.
53327         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53328         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53329         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53330         * tests/unictype/test-pr_hex_digit.c: Likewise.
53331         * tests/unictype/test-pr_hyphen.c: Likewise.
53332         * tests/unictype/test-pr_id_continue.c: Likewise.
53333         * tests/unictype/test-pr_id_start.c: Likewise.
53334         * tests/unictype/test-pr_ideographic.c: Likewise.
53335         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53336         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53337         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53338         * tests/unictype/test-pr_iso_control.c: Likewise.
53339         * tests/unictype/test-pr_join_control.c: Likewise.
53340         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53341         * tests/unictype/test-pr_line_separator.c: Likewise.
53342         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53343         * tests/unictype/test-pr_lowercase.c: Likewise.
53344         * tests/unictype/test-pr_math.c: Likewise.
53345         * tests/unictype/test-pr_non_break.c: Likewise.
53346         * tests/unictype/test-pr_not_a_character.c: Likewise.
53347         * tests/unictype/test-pr_numeric.c: Likewise.
53348         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53349         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53350         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53351         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53352         * tests/unictype/test-pr_other_id_start.c: Likewise.
53353         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53354         * tests/unictype/test-pr_other_math.c: Likewise.
53355         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53356         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53357         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53358         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53359         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53360         * tests/unictype/test-pr_private_use.c: Likewise.
53361         * tests/unictype/test-pr_punctuation.c: Likewise.
53362         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53363         * tests/unictype/test-pr_radical.c: Likewise.
53364         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53365         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53366         * tests/unictype/test-pr_space.c: Likewise.
53367         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53368         * tests/unictype/test-pr_titlecase.c: Likewise.
53369         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53370         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53371         * tests/unictype/test-pr_uppercase.c: Likewise.
53372         * tests/unictype/test-pr_variation_selector.c: Likewise.
53373         * tests/unictype/test-pr_white_space.c: Likewise.
53374         * tests/unictype/test-pr_xid_continue.c: Likewise.
53375         * tests/unictype/test-pr_xid_start.c: Likewise.
53376         * tests/unictype/test-pr_zero_width.c: Likewise.
53377         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53378         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53379
53380 2007-11-12  Bruno Haible  <bruno@clisp.org>
53381
53382         Unicode character classification functions.
53383         * lib/unictype.h: New file.
53384         * modules/unictype/base: New file.
53385         * modules/unictype/category-L: New file.
53386         * modules/unictype/category-Lu: New file.
53387         * modules/unictype/category-Ll: New file.
53388         * modules/unictype/category-Lt: New file.
53389         * modules/unictype/category-Lm: New file.
53390         * modules/unictype/category-Lo: New file.
53391         * modules/unictype/category-M: New file.
53392         * modules/unictype/category-Mn: New file.
53393         * modules/unictype/category-Mc: New file.
53394         * modules/unictype/category-Me: New file.
53395         * modules/unictype/category-N: New file.
53396         * modules/unictype/category-Nd: New file.
53397         * modules/unictype/category-Nl: New file.
53398         * modules/unictype/category-No: New file.
53399         * modules/unictype/category-P: New file.
53400         * modules/unictype/category-Pc: New file.
53401         * modules/unictype/category-Pd: New file.
53402         * modules/unictype/category-Ps: New file.
53403         * modules/unictype/category-Pe: New file.
53404         * modules/unictype/category-Pi: New file.
53405         * modules/unictype/category-Pf: New file.
53406         * modules/unictype/category-Po: New file.
53407         * modules/unictype/category-S: New file.
53408         * modules/unictype/category-Sm: New file.
53409         * modules/unictype/category-Sc: New file.
53410         * modules/unictype/category-Sk: New file.
53411         * modules/unictype/category-So: New file.
53412         * modules/unictype/category-Z: New file.
53413         * modules/unictype/category-Zs: New file.
53414         * modules/unictype/category-Zl: New file.
53415         * modules/unictype/category-Zp: New file.
53416         * modules/unictype/category-C: New file.
53417         * modules/unictype/category-Cc: New file.
53418         * modules/unictype/category-Cf: New file.
53419         * modules/unictype/category-Cs: New file.
53420         * modules/unictype/category-Co: New file.
53421         * modules/unictype/category-Cn: New file.
53422         * modules/unictype/category-or: New file.
53423         * modules/unictype/category-of: New file.
53424         * modules/unictype/category-test: New file.
53425         * modules/unictype/category-test-withtable: New file.
53426         * modules/unictype/category-byname: New file.
53427         * modules/unictype/category-none: New file.
53428         * modules/unictype/category-and: New file.
53429         * modules/unictype/category-and-not: New file.
53430         * modules/unictype/category-name: New file.
53431         * modules/unictype/combining-class: New file.
53432         * modules/unictype/category-all: New file.
53433         * modules/unictype/bidicategory-all: New file.
53434         * modules/unictype/bidicategory-byname: New file.
53435         * modules/unictype/bidicategory-name: New file.
53436         * modules/unictype/bidicategory-of: New file.
53437         * modules/unictype/bidicategory-test: New file.
53438         * modules/unictype/decimal-digit: New file.
53439         * modules/unictype/digit: New file.
53440         * modules/unictype/numeric: New file.
53441         * modules/unictype/mirror: New file.
53442         * modules/unictype/property-white-space: New file.
53443         * modules/unictype/property-alphabetic: New file.
53444         * modules/unictype/property-other-alphabetic: New file.
53445         * modules/unictype/property-not-a-character: New file.
53446         * modules/unictype/property-default-ignorable-code-point: New file.
53447         * modules/unictype/property-other-default-ignorable-code-point: New
53448         file.
53449         * modules/unictype/property-deprecated: New file.
53450         * modules/unictype/property-logical-order-exception: New file.
53451         * modules/unictype/property-variation-selector: New file.
53452         * modules/unictype/property-private-use: New file.
53453         * modules/unictype/property-unassigned-code-value: New file.
53454         * modules/unictype/property-uppercase: New file.
53455         * modules/unictype/property-other-uppercase: New file.
53456         * modules/unictype/property-lowercase: New file.
53457         * modules/unictype/property-other-lowercase: New file.
53458         * modules/unictype/property-titlecase: New file.
53459         * modules/unictype/property-soft-dotted: New file.
53460         * modules/unictype/property-id-start: New file.
53461         * modules/unictype/property-other-id-start: New file.
53462         * modules/unictype/property-id-continue: New file.
53463         * modules/unictype/property-other-id-continue: New file.
53464         * modules/unictype/property-xid-start: New file.
53465         * modules/unictype/property-xid-continue: New file.
53466         * modules/unictype/property-pattern-white-space: New file.
53467         * modules/unictype/property-pattern-syntax: New file.
53468         * modules/unictype/property-join-control: New file.
53469         * modules/unictype/property-grapheme-base: New file.
53470         * modules/unictype/property-grapheme-extend: New file.
53471         * modules/unictype/property-other-grapheme-extend: New file.
53472         * modules/unictype/property-grapheme-link: New file.
53473         * modules/unictype/property-bidi-control: New file.
53474         * modules/unictype/property-bidi-left-to-right: New file.
53475         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53476         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53477         * modules/unictype/property-bidi-european-digit: New file.
53478         * modules/unictype/property-bidi-eur-num-separator: New file.
53479         * modules/unictype/property-bidi-eur-num-terminator: New file.
53480         * modules/unictype/property-bidi-arabic-digit: New file.
53481         * modules/unictype/property-bidi-common-separator: New file.
53482         * modules/unictype/property-bidi-block-separator: New file.
53483         * modules/unictype/property-bidi-segment-separator: New file.
53484         * modules/unictype/property-bidi-whitespace: New file.
53485         * modules/unictype/property-bidi-non-spacing-mark: New file.
53486         * modules/unictype/property-bidi-boundary-neutral: New file.
53487         * modules/unictype/property-bidi-pdf: New file.
53488         * modules/unictype/property-bidi-embedding-or-override: New file.
53489         * modules/unictype/property-bidi-other-neutral: New file.
53490         * modules/unictype/property-hex-digit: New file.
53491         * modules/unictype/property-ascii-hex-digit: New file.
53492         * modules/unictype/property-ideographic: New file.
53493         * modules/unictype/property-unified-ideograph: New file.
53494         * modules/unictype/property-radical: New file.
53495         * modules/unictype/property-ids-binary-operator: New file.
53496         * modules/unictype/property-ids-trinary-operator: New file.
53497         * modules/unictype/property-zero-width: New file.
53498         * modules/unictype/property-space: New file.
53499         * modules/unictype/property-non-break: New file.
53500         * modules/unictype/property-iso-control: New file.
53501         * modules/unictype/property-format-control: New file.
53502         * modules/unictype/property-dash: New file.
53503         * modules/unictype/property-hyphen: New file.
53504         * modules/unictype/property-punctuation: New file.
53505         * modules/unictype/property-line-separator: New file.
53506         * modules/unictype/property-paragraph-separator: New file.
53507         * modules/unictype/property-quotation-mark: New file.
53508         * modules/unictype/property-sentence-terminal: New file.
53509         * modules/unictype/property-terminal-punctuation: New file.
53510         * modules/unictype/property-currency-symbol: New file.
53511         * modules/unictype/property-math: New file.
53512         * modules/unictype/property-other-math: New file.
53513         * modules/unictype/property-paired-punctuation: New file.
53514         * modules/unictype/property-left-of-pair: New file.
53515         * modules/unictype/property-combining: New file.
53516         * modules/unictype/property-composite: New file.
53517         * modules/unictype/property-decimal-digit: New file.
53518         * modules/unictype/property-numeric: New file.
53519         * modules/unictype/property-diacritic: New file.
53520         * modules/unictype/property-extender: New file.
53521         * modules/unictype/property-ignorable-control: New file.
53522         * modules/unictype/property-test: New file.
53523         * modules/unictype/property-byname: New file.
53524         * modules/unictype/property-all: New file.
53525         * modules/unictype/scripts: New file.
53526         * modules/unictype/scripts-all: New file.
53527         * modules/unictype/block-of: New file.
53528         * modules/unictype/block-test: New file.
53529         * modules/unictype/block-list: New file.
53530         * modules/unictype/block-all: New file.
53531         * modules/unictype/syntax-c-whitespace: New file.
53532         * modules/unictype/syntax-java-whitespace: New file.
53533         * modules/unictype/syntax-c-ident: New file.
53534         * modules/unictype/syntax-java-ident: New file.
53535         * modules/unictype/ctype-alnum: New file.
53536         * modules/unictype/ctype-alpha: New file.
53537         * modules/unictype/ctype-cntrl: New file.
53538         * modules/unictype/ctype-digit: New file.
53539         * modules/unictype/ctype-graph: New file.
53540         * modules/unictype/ctype-lower: New file.
53541         * modules/unictype/ctype-print: New file.
53542         * modules/unictype/ctype-punct: New file.
53543         * modules/unictype/ctype-space: New file.
53544         * modules/unictype/ctype-upper: New file.
53545         * modules/unictype/ctype-xdigit: New file.
53546         * modules/unictype/ctype-blank: New file.
53547         * lib/unictype/bidi_byname.c: New file.
53548         * lib/unictype/bidi_name.c: New file.
53549         * lib/unictype/bidi_of.c: New file.
53550         * lib/unictype/bidi_test.c: New file.
53551         * lib/unictype/bitmap.h: New file.
53552         * lib/unictype/block_test.c: New file.
53553         * lib/unictype/blocks.c: New file.
53554         * lib/unictype/categ_C.c: New file.
53555         * lib/unictype/categ_Cc.c: New file.
53556         * lib/unictype/categ_Cf.c: New file.
53557         * lib/unictype/categ_Cn.c: New file.
53558         * lib/unictype/categ_Co.c: New file.
53559         * lib/unictype/categ_Cs.c: New file.
53560         * lib/unictype/categ_L.c: New file.
53561         * lib/unictype/categ_Ll.c: New file.
53562         * lib/unictype/categ_Lm.c: New file.
53563         * lib/unictype/categ_Lo.c: New file.
53564         * lib/unictype/categ_Lt.c: New file.
53565         * lib/unictype/categ_Lu.c: New file.
53566         * lib/unictype/categ_M.c: New file.
53567         * lib/unictype/categ_Mc.c: New file.
53568         * lib/unictype/categ_Me.c: New file.
53569         * lib/unictype/categ_Mn.c: New file.
53570         * lib/unictype/categ_N.c: New file.
53571         * lib/unictype/categ_Nd.c: New file.
53572         * lib/unictype/categ_Nl.c: New file.
53573         * lib/unictype/categ_No.c: New file.
53574         * lib/unictype/categ_P.c: New file.
53575         * lib/unictype/categ_Pc.c: New file.
53576         * lib/unictype/categ_Pd.c: New file.
53577         * lib/unictype/categ_Pe.c: New file.
53578         * lib/unictype/categ_Pf.c: New file.
53579         * lib/unictype/categ_Pi.c: New file.
53580         * lib/unictype/categ_Po.c: New file.
53581         * lib/unictype/categ_Ps.c: New file.
53582         * lib/unictype/categ_S.c: New file.
53583         * lib/unictype/categ_Sc.c: New file.
53584         * lib/unictype/categ_Sk.c: New file.
53585         * lib/unictype/categ_Sm.c: New file.
53586         * lib/unictype/categ_So.c: New file.
53587         * lib/unictype/categ_Z.c: New file.
53588         * lib/unictype/categ_Zl.c: New file.
53589         * lib/unictype/categ_Zp.c: New file.
53590         * lib/unictype/categ_Zs.c: New file.
53591         * lib/unictype/categ_and.c: New file.
53592         * lib/unictype/categ_and_not.c: New file.
53593         * lib/unictype/categ_byname.c: New file.
53594         * lib/unictype/categ_name.c: New file.
53595         * lib/unictype/categ_none.c: New file.
53596         * lib/unictype/categ_of.c: New file.
53597         * lib/unictype/categ_or.c: New file.
53598         * lib/unictype/categ_test.c: New file.
53599         * lib/unictype/combining.c: New file.
53600         * lib/unictype/ctype_alnum.c: New file.
53601         * lib/unictype/ctype_alpha.c: New file.
53602         * lib/unictype/ctype_blank.c: New file.
53603         * lib/unictype/ctype_cntrl.c: New file.
53604         * lib/unictype/ctype_digit.c: New file.
53605         * lib/unictype/ctype_graph.c: New file.
53606         * lib/unictype/ctype_lower.c: New file.
53607         * lib/unictype/ctype_print.c: New file.
53608         * lib/unictype/ctype_punct.c: New file.
53609         * lib/unictype/ctype_space.c: New file.
53610         * lib/unictype/ctype_upper.c: New file.
53611         * lib/unictype/ctype_xdigit.c: New file.
53612         * lib/unictype/decdigit.c: New file.
53613         * lib/unictype/digit.c: New file.
53614         * lib/unictype/identsyntaxmap.h: New file.
53615         * lib/unictype/mirror.c: New file.
53616         * lib/unictype/numeric.c: New file.
53617         * lib/unictype/pr_alphabetic.c: New file.
53618         * lib/unictype/pr_ascii_hex_digit.c: New file.
53619         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53620         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53621         * lib/unictype/pr_bidi_block_separator.c: New file.
53622         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53623         * lib/unictype/pr_bidi_common_separator.c: New file.
53624         * lib/unictype/pr_bidi_control.c: New file.
53625         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53626         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53627         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53628         * lib/unictype/pr_bidi_european_digit.c: New file.
53629         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53630         * lib/unictype/pr_bidi_left_to_right.c: New file.
53631         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53632         * lib/unictype/pr_bidi_other_neutral.c: New file.
53633         * lib/unictype/pr_bidi_pdf.c: New file.
53634         * lib/unictype/pr_bidi_segment_separator.c: New file.
53635         * lib/unictype/pr_bidi_whitespace.c: New file.
53636         * lib/unictype/pr_byname.c: New file.
53637         * lib/unictype/pr_byname.gperf: New file.
53638         * lib/unictype/pr_combining.c: New file.
53639         * lib/unictype/pr_composite.c: New file.
53640         * lib/unictype/pr_currency_symbol.c: New file.
53641         * lib/unictype/pr_dash.c: New file.
53642         * lib/unictype/pr_decimal_digit.c: New file.
53643         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53644         * lib/unictype/pr_deprecated.c: New file.
53645         * lib/unictype/pr_diacritic.c: New file.
53646         * lib/unictype/pr_extender.c: New file.
53647         * lib/unictype/pr_format_control.c: New file.
53648         * lib/unictype/pr_grapheme_base.c: New file.
53649         * lib/unictype/pr_grapheme_extend.c: New file.
53650         * lib/unictype/pr_grapheme_link.c: New file.
53651         * lib/unictype/pr_hex_digit.c: New file.
53652         * lib/unictype/pr_hyphen.c: New file.
53653         * lib/unictype/pr_id_continue.c: New file.
53654         * lib/unictype/pr_id_start.c: New file.
53655         * lib/unictype/pr_ideographic.c: New file.
53656         * lib/unictype/pr_ids_binary_operator.c: New file.
53657         * lib/unictype/pr_ids_trinary_operator.c: New file.
53658         * lib/unictype/pr_ignorable_control.c: New file.
53659         * lib/unictype/pr_iso_control.c: New file.
53660         * lib/unictype/pr_join_control.c: New file.
53661         * lib/unictype/pr_left_of_pair.c: New file.
53662         * lib/unictype/pr_line_separator.c: New file.
53663         * lib/unictype/pr_logical_order_exception.c: New file.
53664         * lib/unictype/pr_lowercase.c: New file.
53665         * lib/unictype/pr_math.c: New file.
53666         * lib/unictype/pr_non_break.c: New file.
53667         * lib/unictype/pr_not_a_character.c: New file.
53668         * lib/unictype/pr_numeric.c: New file.
53669         * lib/unictype/pr_other_alphabetic.c: New file.
53670         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53671         * lib/unictype/pr_other_grapheme_extend.c: New file.
53672         * lib/unictype/pr_other_id_continue.c: New file.
53673         * lib/unictype/pr_other_id_start.c: New file.
53674         * lib/unictype/pr_other_lowercase.c: New file.
53675         * lib/unictype/pr_other_math.c: New file.
53676         * lib/unictype/pr_other_uppercase.c: New file.
53677         * lib/unictype/pr_paired_punctuation.c: New file.
53678         * lib/unictype/pr_paragraph_separator.c: New file.
53679         * lib/unictype/pr_pattern_syntax.c: New file.
53680         * lib/unictype/pr_pattern_white_space.c: New file.
53681         * lib/unictype/pr_private_use.c: New file.
53682         * lib/unictype/pr_punctuation.c: New file.
53683         * lib/unictype/pr_quotation_mark.c: New file.
53684         * lib/unictype/pr_radical.c: New file.
53685         * lib/unictype/pr_sentence_terminal.c: New file.
53686         * lib/unictype/pr_soft_dotted.c: New file.
53687         * lib/unictype/pr_space.c: New file.
53688         * lib/unictype/pr_terminal_punctuation.c: New file.
53689         * lib/unictype/pr_test.c: New file.
53690         * lib/unictype/pr_titlecase.c: New file.
53691         * lib/unictype/pr_unassigned_code_value.c: New file.
53692         * lib/unictype/pr_unified_ideograph.c: New file.
53693         * lib/unictype/pr_uppercase.c: New file.
53694         * lib/unictype/pr_variation_selector.c: New file.
53695         * lib/unictype/pr_white_space.c: New file.
53696         * lib/unictype/pr_xid_continue.c: New file.
53697         * lib/unictype/pr_xid_start.c: New file.
53698         * lib/unictype/pr_zero_width.c: New file.
53699         * lib/unictype/scripts.c: New file.
53700         * lib/unictype/sy_c_ident.c: New file.
53701         * lib/unictype/sy_c_whitespace.c: New file.
53702         * lib/unictype/sy_java_ident.c: New file.
53703         * lib/unictype/sy_java_whitespace.c: New file.
53704
53705         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53706         Unicode 5.0.0.
53707         * lib/unictype/blocks.h: Likewise.
53708         * lib/unictype/categ_C.h: Likewise.
53709         * lib/unictype/categ_Cc.h: Likewise.
53710         * lib/unictype/categ_Cf.h: Likewise.
53711         * lib/unictype/categ_Cn.h: Likewise.
53712         * lib/unictype/categ_Co.h: Likewise.
53713         * lib/unictype/categ_Cs.h: Likewise.
53714         * lib/unictype/categ_L.h: Likewise.
53715         * lib/unictype/categ_Ll.h: Likewise.
53716         * lib/unictype/categ_Lm.h: Likewise.
53717         * lib/unictype/categ_Lo.h: Likewise.
53718         * lib/unictype/categ_Lt.h: Likewise.
53719         * lib/unictype/categ_Lu.h: Likewise.
53720         * lib/unictype/categ_M.h: Likewise.
53721         * lib/unictype/categ_Mc.h: Likewise.
53722         * lib/unictype/categ_Me.h: Likewise.
53723         * lib/unictype/categ_Mn.h: Likewise.
53724         * lib/unictype/categ_N.h: Likewise.
53725         * lib/unictype/categ_Nd.h: Likewise.
53726         * lib/unictype/categ_Nl.h: Likewise.
53727         * lib/unictype/categ_No.h: Likewise.
53728         * lib/unictype/categ_P.h: Likewise.
53729         * lib/unictype/categ_Pc.h: Likewise.
53730         * lib/unictype/categ_Pd.h: Likewise.
53731         * lib/unictype/categ_Pe.h: Likewise.
53732         * lib/unictype/categ_Pf.h: Likewise.
53733         * lib/unictype/categ_Pi.h: Likewise.
53734         * lib/unictype/categ_Po.h: Likewise.
53735         * lib/unictype/categ_Ps.h: Likewise.
53736         * lib/unictype/categ_S.h: Likewise.
53737         * lib/unictype/categ_Sc.h: Likewise.
53738         * lib/unictype/categ_Sk.h: Likewise.
53739         * lib/unictype/categ_Sm.h: Likewise.
53740         * lib/unictype/categ_So.h: Likewise.
53741         * lib/unictype/categ_Z.h: Likewise.
53742         * lib/unictype/categ_Zl.h: Likewise.
53743         * lib/unictype/categ_Zp.h: Likewise.
53744         * lib/unictype/categ_Zs.h: Likewise.
53745         * lib/unictype/categ_of.h: Likewise.
53746         * lib/unictype/combining.h: Likewise.
53747         * lib/unictype/ctype_alnum.h: Likewise.
53748         * lib/unictype/ctype_alpha.h: Likewise.
53749         * lib/unictype/ctype_blank.h: Likewise.
53750         * lib/unictype/ctype_cntrl.h: Likewise.
53751         * lib/unictype/ctype_digit.h: Likewise.
53752         * lib/unictype/ctype_graph.h: Likewise.
53753         * lib/unictype/ctype_lower.h: Likewise.
53754         * lib/unictype/ctype_print.h: Likewise.
53755         * lib/unictype/ctype_punct.h: Likewise.
53756         * lib/unictype/ctype_space.h: Likewise.
53757         * lib/unictype/ctype_upper.h: Likewise.
53758         * lib/unictype/ctype_xdigit.h: Likewise.
53759         * lib/unictype/decdigit.h: Likewise.
53760         * lib/unictype/digit.h: Likewise.
53761         * lib/unictype/mirror.h: Likewise.
53762         * lib/unictype/numeric.h: Likewise.
53763         * lib/unictype/pr_alphabetic.h: Likewise.
53764         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53765         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53766         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53767         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53768         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53769         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53770         * lib/unictype/pr_bidi_control.h: Likewise.
53771         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53772         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53773         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53774         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53775         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53776         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53777         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53778         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53779         * lib/unictype/pr_bidi_pdf.h: Likewise.
53780         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53781         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53782         * lib/unictype/pr_combining.h: Likewise.
53783         * lib/unictype/pr_composite.h: Likewise.
53784         * lib/unictype/pr_currency_symbol.h: Likewise.
53785         * lib/unictype/pr_dash.h: Likewise.
53786         * lib/unictype/pr_decimal_digit.h: Likewise.
53787         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53788         * lib/unictype/pr_deprecated.h: Likewise.
53789         * lib/unictype/pr_diacritic.h: Likewise.
53790         * lib/unictype/pr_extender.h: Likewise.
53791         * lib/unictype/pr_format_control.h: Likewise.
53792         * lib/unictype/pr_grapheme_base.h: Likewise.
53793         * lib/unictype/pr_grapheme_extend.h: Likewise.
53794         * lib/unictype/pr_grapheme_link.h: Likewise.
53795         * lib/unictype/pr_hex_digit.h: Likewise.
53796         * lib/unictype/pr_hyphen.h: Likewise.
53797         * lib/unictype/pr_id_continue.h: Likewise.
53798         * lib/unictype/pr_id_start.h: Likewise.
53799         * lib/unictype/pr_ideographic.h: Likewise.
53800         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53801         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53802         * lib/unictype/pr_ignorable_control.h: Likewise.
53803         * lib/unictype/pr_iso_control.h: Likewise.
53804         * lib/unictype/pr_join_control.h: Likewise.
53805         * lib/unictype/pr_left_of_pair.h: Likewise.
53806         * lib/unictype/pr_line_separator.h: Likewise.
53807         * lib/unictype/pr_logical_order_exception.h: Likewise.
53808         * lib/unictype/pr_lowercase.h: Likewise.
53809         * lib/unictype/pr_math.h: Likewise.
53810         * lib/unictype/pr_non_break.h: Likewise.
53811         * lib/unictype/pr_not_a_character.h: Likewise.
53812         * lib/unictype/pr_numeric.h: Likewise.
53813         * lib/unictype/pr_other_alphabetic.h: Likewise.
53814         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53815         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53816         * lib/unictype/pr_other_id_continue.h: Likewise.
53817         * lib/unictype/pr_other_id_start.h: Likewise.
53818         * lib/unictype/pr_other_lowercase.h: Likewise.
53819         * lib/unictype/pr_other_math.h: Likewise.
53820         * lib/unictype/pr_other_uppercase.h: Likewise.
53821         * lib/unictype/pr_paired_punctuation.h: Likewise.
53822         * lib/unictype/pr_paragraph_separator.h: Likewise.
53823         * lib/unictype/pr_pattern_syntax.h: Likewise.
53824         * lib/unictype/pr_pattern_white_space.h: Likewise.
53825         * lib/unictype/pr_private_use.h: Likewise.
53826         * lib/unictype/pr_punctuation.h: Likewise.
53827         * lib/unictype/pr_quotation_mark.h: Likewise.
53828         * lib/unictype/pr_radical.h: Likewise.
53829         * lib/unictype/pr_sentence_terminal.h: Likewise.
53830         * lib/unictype/pr_soft_dotted.h: Likewise.
53831         * lib/unictype/pr_space.h: Likewise.
53832         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53833         * lib/unictype/pr_titlecase.h: Likewise.
53834         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53835         * lib/unictype/pr_unified_ideograph.h: Likewise.
53836         * lib/unictype/pr_uppercase.h: Likewise.
53837         * lib/unictype/pr_variation_selector.h: Likewise.
53838         * lib/unictype/pr_white_space.h: Likewise.
53839         * lib/unictype/pr_xid_continue.h: Likewise.
53840         * lib/unictype/pr_xid_start.h: Likewise.
53841         * lib/unictype/pr_zero_width.h: Likewise.
53842         * lib/unictype/scripts.h: Likewise.
53843         * lib/unictype/scripts_byname.gperf: Likewise.
53844         * lib/unictype/sy_c_ident.h: Likewise.
53845         * lib/unictype/sy_c_whitespace.h: Likewise.
53846         * lib/unictype/sy_java_ident.h: Likewise.
53847         * lib/unictype/sy_java_whitespace.h: Likewise.
53848
53849         * lib/unictype/Makefile: New file.
53850         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53851         glibc.
53852         * lib/unictype/3level.h: New file, copied from glibc.
53853         * lib/unictype/3levelbit.h: New file.
53854
53855 2007-11-11  Bruno Haible  <bruno@clisp.org>
53856
53857         * modules/gperf: New file.
53858         * modules/iconv_open (Depends-on): Add it.
53859         (Makefile.am): Remove the GPERF definition.
53860
53861 2007-11-11  Bruno Haible  <bruno@clisp.org>
53862
53863         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53864         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53865
53866 2007-11-11  Bruno Haible  <bruno@clisp.org>
53867
53868         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53869         (usage): Remove function.
53870
53871 2007-11-11  Bruno Haible  <bruno@clisp.org>
53872
53873         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53874         gl_FUNC_CEILF_LIBS.
53875         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53876         gl_FUNC_CEIL_LIBS.
53877         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53878         gl_FUNC_CEILL_LIBS.
53879         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53880         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53881         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53882
53883 2007-11-11  Bruno Haible  <bruno@clisp.org>
53884
53885         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53886         roundf were declared but do not exist on functions.
53887         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53888         roundl were declared but do not exist on functions.
53889         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53890         HAVE_FLOORL_AND_CEILL, respectively.
53891         Needed for Sun C on Solaris 10.
53892
53893 2007-11-11  Bruno Haible  <bruno@clisp.org>
53894
53895         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53896         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53897         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53898         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53899         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53900         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53901         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53902         HAVE_DECL_ROUNDF.
53903         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53904         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53906         of HAVE_DECL_ROUND*.
53907         * modules/math (Makefile.am): Update.
53908
53909 2007-11-10  Bruno Haible  <bruno@clisp.org>
53910
53911         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53912         ptrdiff_t as m4/intl.m4.
53913
53914 2007-11-10  Jim Meyering  <meyering@redhat.com>
53915
53916         Avoid link failure for the argmatch test.
53917         * tests/test-argmatch.c (usage): Define function to avoid a link
53918         failure: argmatch_die requires a usage function.
53919
53920 2007-11-09  Bruno Haible  <bruno@clisp.org>
53921
53922         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53923         * doc/functions/vsnprintf.texi: Likewise.
53924         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53925         with a size argument < 2.
53926
53927 2007-11-09  Bruno Haible  <bruno@clisp.org>
53928
53929         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53930         buffer. Fixes an inefficiency introduced on 2007-11-03.
53931
53932 2007-11-09  Bruno Haible  <bruno@clisp.org>
53933
53934         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53935         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53936
53937 2007-11-08  Jim Meyering  <meyering@redhat.com>
53938
53939         Change cache variable name prefix "jm_" to "gl_" everywhere.
53940         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53941         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53942         * m4/uptime.m4: s/gl_/jm_/
53943
53944 2007-11-07  Bruno Haible  <bruno@clisp.org>
53945
53946         Update to GNU gettext 0.17.
53947         * m4/intl.m4: Update to GNU gettext 0.17.
53948         * m4/po.m4: Likewise.
53949         * modules/gettext (Files): Remove m4/ulonglong.m4.
53950         (configure.ac): Require gettext infrastructure from version 0.17.
53951
53952 2007-11-06  Bruno Haible  <bruno@clisp.org>
53953
53954         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53955         symbolic values are not defined in a public header.
53956         * lib/freadable.c (freadable) [QNX]: Likewise.
53957         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53958         * lib/freading.c (freading) [QNX]: Likewise.
53959         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53960         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53961         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53962         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53963         Reported by Alain Magloire.
53964
53965         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53966
53967 2007-11-05  Bruno Haible  <bruno@clisp.org>
53968
53969         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53970         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53971         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53972         Reported by Eric Blake.
53973
53974 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53975             Bruno Haible  <bruno@clisp.org>
53976
53977         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53978         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53979         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53980         (malloc): Undefine also before including <stdlib.h>.
53981         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53982         Needed on OSF/1 4.0.
53983
53984 2007-11-05  Jim Meyering  <meyering@redhat.com>
53985
53986         git-version-gen: sync from coreutils.
53987         * build-aux/git-version-gen: Add comments.
53988         Change the first '-' to '.' in the snapshot version string,
53989         e.g., 6.9-377-08144 -> 6.9.377-08144
53990         Remove first parameter.
53991         Don't declare a version "-dirty" merely because a time
53992         stamp has changed.
53993
53994 2007-11-04  Bruno Haible  <bruno@clisp.org>
53995
53996         * lib/lock.h: Protect all macro definitions containing an 'if'
53997         statement through a "do { ... } while (0)".
53998         * lib/tls.h: Likewise.
53999
54000 2007-11-04  Bruno Haible  <bruno@clisp.org>
54001
54002         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
54003
54004 2007-11-04  Bruno Haible  <bruno@clisp.org>
54005
54006         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
54007         * modules/fprintf-posix (Depends-on): Add nocrash.
54008         * modules/snprintf-posix (Depends-on): Likewise.
54009         * modules/sprintf-posix (Depends-on): Likewise.
54010         * modules/vasnprintf-posix (Depends-on): Likewise.
54011         * modules/vasprintf-posix (Depends-on): Likewise.
54012         * modules/vfprintf-posix (Depends-on): Likewise.
54013         * modules/vsnprintf-posix (Depends-on): Likewise.
54014         * modules/vsprintf-posix (Depends-on): Likewise.
54015         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54016         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54017         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54018         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54019         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54020         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54021         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54022
54023 2007-11-04  Bruno Haible  <bruno@clisp.org>
54024
54025         * modules/nocrash: New file.
54026         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
54027         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
54028
54029 2007-11-04  Bruno Haible  <bruno@clisp.org>
54030
54031         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
54032         precision handling.
54033         * tests/test-vasprintf-posix.c (test_function): Likewise.
54034         * tests/test-snprintf-posix.h (test_function): Likewise.
54035         * tests/test-sprintf-posix.h (test_function): Likewise.
54036
54037         Fix *printf behaviour for large precisions on mingw and BeOS.
54038         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
54039         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
54040         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
54041         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54042         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54043         gl_PRINTF_PRECISION and test its result. Invoke
54044         gl_PREREQ_VASNPRINTF_PRECISION.
54045         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54046         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54047         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54048         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54049         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54050         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54051         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54052         * doc/functions/fprintf.texi: Update.
54053         * doc/functions/printf.texi: Update.
54054         * doc/functions/snprintf.texi: Update.
54055         * doc/functions/sprintf.texi: Update.
54056         * doc/functions/vfprintf.texi: Update.
54057         * doc/functions/vprintf.texi: Update.
54058         * doc/functions/vsnprintf.texi: Update.
54059         * doc/functions/vsprintf.texi: Update.
54060
54061 2007-11-04  Bruno Haible  <bruno@clisp.org>
54062
54063         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
54064
54065 2007-11-04  Bruno Haible  <bruno@clisp.org>
54066
54067         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
54068         Reported by Sylvain Beucler <beuc@gnu.org>.
54069
54070 2007-11-03  Bruno Haible  <bruno@clisp.org>
54071
54072         * tests/test-fprintf-posix2.sh: New file.
54073         * tests/test-fprintf-posix2.c: New file.
54074         * modules/fprintf-posix-tests (Files): Add them.
54075         (TESTS): Add test-fprintf-posix2.sh.
54076         (configure.ac): Check for getrlimit and setrlimit.
54077         (check_PROGRAMS): Add test-fprintf-posix2.
54078
54079         * tests/test-printf-posix2.sh: New file.
54080         * tests/test-printf-posix2.c: New file.
54081         * modules/printf-posix-tests (Files): Add them.
54082         (TESTS): Add test-printf-posix2.sh.
54083         (configure.ac): Check for getrlimit and setrlimit.
54084         (check_PROGRAMS): Add test-printf-posix2.
54085
54086         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
54087         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
54088         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
54089         (decode_double): New function, copied from decode_long_double.
54090         (scale10_round_decimal_decoded): New function, extracted from
54091         scale10_round_decimal_long_double.
54092         (scale10_round_decimal_long_double): Use it.
54093         (scale10_round_decimal_double): New function.
54094         (floorlog10): New function.
54095         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
54096         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
54097         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54098         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54099         gl_PRINTF_ENOMEM and test its result. Invoke
54100         gl_PREREQ_VASNPRINTF_ENOMEM.
54101         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54102         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54103         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54104         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54105         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54106         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54107         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54108         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
54109         * modules/snprintf-posix (Depends-on): Likewise.
54110         * modules/sprintf-posix (Depends-on): Likewise.
54111         * modules/vasnprintf-posix (Depends-on): Likewise.
54112         * modules/vasprintf-posix (Depends-on): Likewise.
54113         * modules/vfprintf-posix (Depends-on): Likewise.
54114         * modules/vsnprintf-posix (Depends-on): Likewise.
54115         * modules/vsprintf-posix (Depends-on): Likewise.
54116         * doc/functions/fprintf.texi: Update.
54117         * doc/functions/printf.texi: Update.
54118         * doc/functions/snprintf.texi: Update.
54119         * doc/functions/sprintf.texi: Update.
54120         * doc/functions/vfprintf.texi: Update.
54121         * doc/functions/vprintf.texi: Update.
54122         * doc/functions/vsnprintf.texi: Update.
54123         * doc/functions/vsprintf.texi: Update.
54124
54125 2007-11-03  Bruno Haible  <bruno@clisp.org>
54126
54127         * modules/frexp-nolibm-tests: New file.
54128
54129         * modules/frexp-nolibm: New file.
54130         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
54131
54132 2007-11-03  Bruno Haible  <bruno@clisp.org>
54133
54134         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
54135         value is C99 compliant.
54136         Needed for OSF/1 5.1.
54137
54138 2007-11-03  Bruno Haible  <bruno@clisp.org>
54139
54140         Fix out-of-memory handling of vasnprintf.
54141         * lib/printf-parse.c: Include <errno.h>.
54142         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
54143         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
54144         is already set.
54145
54146 2007-11-02  Eric Blake  <ebb9@byu.net>
54147
54148         Fix tests on cygwin.
54149         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
54150
54151 2007-11-01  Bruno Haible  <bruno@clisp.org>
54152
54153         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
54154         warning.
54155         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
54156         needed for POSIX compatibility.
54157
54158 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54159
54160         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
54161         for compatibility with GNU.
54162
54163 2007-11-01  Bruno Haible  <bruno@clisp.org>
54164
54165         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
54166         (putenv): Renamed from rpl_putenv. Change argument type from
54167         'const char *' to 'char *'.
54168         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54169         of defining putenv in config.h, just set REPLACE_PUTENV.
54170         * modules/putenv (Depends-on): Add stdlib.
54171         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54172         (Include): Use <stdlib.h>.
54173         * lib/stdlib.in.h (putenv): New declaration.
54174         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54175         REPLACE_PUTENV.
54176         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54177         REPLACE_PUTENV.
54178         Needed for MacOS X 10.5.0.
54179         Reported by Peter O'Gorman <peter@pogma.com>.
54180
54181 2007-11-01  Jim Meyering  <meyering@redhat.com>
54182
54183         Treat an empty date string exactly like "0".
54184         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54185         if the remaining date string (to be parsed) is empty, use "0".
54186         Reported by Mischa Molhoek and discussed in this thread:
54187         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54188
54189 2007-10-31  Bruno Haible  <bruno@clisp.org>
54190
54191         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54192         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54193         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54194         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54195         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54196         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54197
54198 2007-10-31  Bruno Haible  <bruno@clisp.org>
54199
54200         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54201         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54202         (AC_TYPE_LONG_LONG_INT): Use it.
54203         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54204         it as well.
54205         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54206         to m4/longlong.m4.
54207         * modules/stdint (Files): Remove m4/ulonglong.m4.
54208         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54209         m4/ulonglong.m4.
54210         * modules/strtoumax (Files): Likewise.
54211
54212 2007-10-30  Bruno Haible  <bruno@clisp.org>
54213
54214         * modules/xvasprintf-posix: New file.
54215         Suggested by Eric Blake.
54216
54217 2007-10-30  Bruno Haible  <bruno@clisp.org>
54218
54219         * modules/xprintf-posix-tests: New file.
54220         * tests/test-xprintf-posix.sh: New file.
54221         * tests/test-xprintf-posix.c: New file.
54222         * tests/test-xfprintf-posix.c: New file.
54223
54224         * modules/xprintf-posix: New file.
54225
54226 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54227
54228         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54229         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54230         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54231
54232 2007-10-29  Bruno Haible  <bruno@clisp.org>
54233
54234         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54235         contain the special marker '_cv_'.
54236         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54237         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54238         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54239         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54240         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54241         Reported by Ralf Wildenhues.
54242
54243 2007-10-29  Bruno Haible  <bruno@clisp.org>
54244
54245         * gnulib-tool (func_import): When --lgpl is not specified, set
54246         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54247         GPLv3.
54248         Reported by Simon Josefsson.
54249
54250 2007-10-28  Bruno Haible  <bruno@clisp.org>
54251
54252         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54253         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54254         HAVE_DECL_ISFINITE.
54255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54256         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54257         HAVE_DECL_ISFINITE.
54258
54259 2007-10-28  Bruno Haible  <bruno@clisp.org>
54260
54261         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54262         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54263
54264 2007-10-28  Bruno Haible  <bruno@clisp.org>
54265
54266         Fix link errors with Sun C 5.0 on Solaris 10.
54267         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54268         function is declared but not present in the compiler's libm.
54269         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54270         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54271         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54272         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54273         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54274         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54275         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54277         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54278         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54279         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54280         HAVE_DECL_FLOORL.
54281
54282 2007-10-28  Bruno Haible  <bruno@clisp.org>
54283
54284         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54285         gl_FUNC_FLOORL. Cache the result.
54286         (gl_FUNC_FLOORL): Use it.
54287         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54288         gl_FUNC_CEILL. Cache the result.
54289         (gl_FUNC_CEILL): Use it.
54290
54291         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54292         gl_FUNC_FLOOR. Cache the result.
54293         (gl_FUNC_FLOOR): Use it.
54294         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54295         gl_FUNC_CEIL. Cache the result.
54296         (gl_FUNC_CEIL): Use it.
54297
54298         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54299         gl_FUNC_FLOORF. Cache the result.
54300         (gl_FUNC_FLOORF): Use it.
54301         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54302         gl_FUNC_CEILF. Cache the result.
54303         (gl_FUNC_CEILF): Use it.
54304
54305 2007-10-28  Bruno Haible  <bruno@clisp.org>
54306
54307         * gnulib-tool: Allow specifying the LGPL version number through
54308         --lgpl=2 or --lgpl=3.
54309         (func_usage): Document --lgpl with argument.
54310         Handle --lgpl=... arguments.
54311         (func_import): Recognize also gl_LGPL calls with an argument. When
54312         --lgpl=2 is used and the module's license is just LGPL, report an
54313         error. Set sed_transform_lib_file according to the lgpl variable. In
54314         the generated files, use --lgpl or gl_LGPL invocations with argument,
54315         if necessary.
54316         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54317         an LGPv2+ license.
54318         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54319         gl_LGPL macro.
54320
54321 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54322             Bruno Haible  <bruno@clisp.org>
54323
54324         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54325         (u16_uctomb_aux): Likewise.
54326         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54327         !HAVE_INLINE.
54328         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54329
54330 2007-10-28  Bruno Haible  <bruno@clisp.org>
54331
54332         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54333         Invoke AM_GETTEXT_OPTION if it exists.
54334         * modules/vasprintf: Likewise.
54335         * modules/verror: Likewise.
54336         * modules/xprintf: Likewise.
54337         * modules/xvasprintf: Likewise.
54338
54339 2007-10-27  Ben Pfaff  <blp@gnu.org>
54340
54341         * lib/math.in.h: Define isfinite macro and prototypes for
54342         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54343         implementations.
54344         * m4/math_h.m4: New substitutions for isfinite module.
54345         * lib/isfinite.c: New file.
54346         * m4/isfinite.m4: New file.
54347         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54348         * modules/isfinite: New file.
54349         * modules/isfinite-tests: New file.
54350         * tests/tests-isfinite.c: New file.
54351         * doc/functions/isfinite.texi: Mention isfinite module.
54352         * MODULES.html.sh: Mention new module.
54353
54354 2007-10-27  Ben Pfaff  <blp@gnu.org>
54355
54356         Ralf Wildenhues reported that Tru64 4.0D declares the round
54357         functions but does not have definitions.
54358         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54359         cannot be found in any library, set the output variable to
54360         "missing" instead of "".
54361         * m4/round.m4: Also use our substitute if we cannot find round in
54362         any library, even if it is declared.
54363         * m4/roundf.m4: Likewise for roundf.
54364         * m4/roundl.m4: Likewise for roundl.
54365         * lib/math.in.h: Undefine roundf, round, roundl before defining
54366         their replacements, to allow for hypothetical systems where these
54367         may be defined as macros but not available in libraries.
54368
54369 2007-10-27  Bruno Haible  <bruno@clisp.org>
54370
54371         * doc/gnulib.texi: Invoke @firstparagraphindent.
54372         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54373         changes in gnulib.
54374         (Source changes): New section.
54375
54376 2007-10-26  Bruno Haible  <bruno@clisp.org>
54377
54378         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54379         borrowed from autoconf.
54380
54381 2007-10-26  Bruno Haible  <bruno@clisp.org>
54382
54383         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54384         strerror returned the empty string. Needed on HP-UX 11.00.
54385
54386 2007-10-24  Micah Cowan  <micah@cowan.name>
54387
54388         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54389         * build-aux/bootstrap: Remove support for now-unnecessary option,
54390         --cvs-user, and envvars CVS_USER, CVS_RSH.
54391
54392 2007-10-24  Jim Meyering  <meyering@redhat.com>
54393
54394         Avoid diagnostics from sha1sum when there is no cached checksum.
54395         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54396         if the po.s1 file hasn't been created yet.
54397
54398         * build-aux/bootstrap: Sync from coreutils:
54399         2007-10-24  Jim Meyering  <meyering@redhat.com>
54400         Get gnulib from the git repository, not from an obsolete cvs one.
54401         * build-aux/bootstrap: Suggestion from Micah Cowan.
54402         2007-10-04  Jim Meyering  <jim@meyering.net>
54403         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54404         (update_po_files): Work also when there are no .po files in po/.
54405
54406 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54407
54408         * README: Append ".git" to git and cg examples.
54409         Problem reported by Benoit Sigoure.
54410
54411 2007-10-23  Micah Cowan  <micah@cowan.name>
54412
54413         * users.txt: Add wget.
54414
54415 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54416
54417         Fix linking of some unistdio tests on FreeBSD.
54418         * modules/unistdio/u16-vsnprintf-tests
54419         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54420         * modules/unistdio/u16-vsprintf-tests
54421         (test_u16_vsnprintf1_LDADD): Likewise.
54422         * modules/unistdio/u32-vsnprintf-tests
54423         (test_u32_vsnprintf1_LDADD): Likewise.
54424         * modules/unistdio/u32-vsprintf-tests
54425         (test_u32_vsprintf1_LDADD): Likewise.
54426         * modules/unistdio/u8-vsnprintf-tests
54427         (test_u8_vsnprintf1_LDADD): Likewise.
54428         * modules/unistdio/u8-vsprintf-tests
54429         (test_u8_vsprintf1_LDADD): Likewise.
54430         * modules/unistdio/ulc-vsnprintf-tests
54431         (test_ulc_vsnprintf1_LDADD): Likewise.
54432         * modules/unistdio/ulc-vsprintf-tests
54433         (test_ulc_vsprintf1_LDADD): Likewise.
54434
54435         Fix linking of some uniconv tests on FreeBSD.
54436         * modules/uniconv/u16-conv-from-enc-tests
54437         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54438         * modules/uniconv/u16-conv-to-enc-tests
54439         (test_u16_conv_to_enc_LDADD): Likewise.
54440         * modules/uniconv/u16-strconv-from-enc-tests
54441         (test_u16_strconv_from_enc_LDADD): Likewise.
54442         * modules/uniconv/u16-strconv-to-enc-tests
54443         (test_u16_strconv_to_enc_LDADD): Likewise.
54444         * modules/uniconv/u32-conv-from-enc-tests
54445         (test_u32_conv_from_enc_LDADD): Likewise.
54446         * modules/uniconv/u32-conv-to-enc-tests
54447         (test_u32_conv_to_enc_LDADD): Likewise.
54448         * modules/uniconv/u32-strconv-from-enc-tests
54449         (test_u32_strconv_from_enc_LDADD): Likewise.
54450         * modules/uniconv/u32-strconv-to-enc-tests
54451         (test_u32_strconv_to_enc_LDADD): Likewise.
54452         * modules/uniconv/u8-conv-from-enc-tests
54453         (test_u8_conv_from_enc_LDADD): Likewise.
54454         * modules/uniconv/u8-conv-to-enc-tests
54455         (test_u8_conv_to_enc_LDADD): Likewise.
54456         * modules/uniconv/u8-strconv-from-enc-tests
54457         (test_u8_strconv_from_enc_LDADD): Likewise.
54458         * modules/uniconv/u8-strconv-to-enc-tests
54459         (test_u8_strconv_to_enc_LDADD): Likewise.
54460
54461 2007-10-22  Bruno Haible  <bruno@clisp.org>
54462
54463         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54464         size.
54465
54466 2007-10-22  Eric Blake  <ebb9@byu.net>
54467
54468         Tweak x*printf documentation.
54469         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54470         variable name and comments.
54471         Suggested by Bruno Haible.
54472
54473 2007-10-22  Bruno Haible  <bruno@clisp.org>
54474
54475         * lib/acl.c (copy_acl): Fix file name in comment.
54476
54477 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54478
54479         Fix Tru64 problem with stdbool.h.
54480         * lib/stdbool.in.h (false, true):
54481         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54482         Don't declare as an enum in this situation; it runs afoul of Tru64.
54483         Problem reported by Steven M. Schweda in
54484         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54485
54486 2007-10-22  Eric Blake  <ebb9@byu.net>
54487
54488         Also wrap vf?printf.
54489         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54490         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54491         (xvprintf, xvfprintf): New functions.
54492
54493 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54494
54495         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54496         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54497
54498         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54499         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54500
54501 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54502
54503         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54504         by Bruno Haible.
54505
54506 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54507
54508         * lib/getloadavg.c
54509         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54510         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54511
54512         * tests/test-i-ring.c: Work for C89.
54513
54514 2007-10-22  Bruno Haible  <bruno@clisp.org>
54515
54516         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54517         -1u, in preprocessor expression, so that we don't test for the bug
54518         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54519         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54520
54521 2007-10-22  Eric Blake  <ebb9@byu.net>
54522
54523         * tests/test-yesno.sh: Silence stderr during test.
54524
54525 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54526
54527         * modules/crypto/gc-camellia: New file.
54528
54529         * m4/gc-camellia.m4: New file.
54530
54531         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54532
54533         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54534
54535 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54536
54537         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54538         --help to stdout.  Reported by sms@antinode.org (Steven
54539         M. Schweda).
54540
54541 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54542
54543         * users.txt: Fix link to libksba.
54544
54545 2007-10-21  Ben Pfaff  <blp@gnu.org>
54546
54547         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54548         round.c roundf implementation that depends on floorf and ceilf to
54549         be tested unconditionally.
54550
54551 2007-10-21  Ben Pfaff  <blp@gnu.org>
54552
54553         * m4/check-libm-func.m4: Removed.
54554         * m4/check-math-lib.m4: New file.
54555         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54556         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54557         definition and lack of AC_LIBOBJ([roundf]).
54558         * m4/roundl.m4: Ditto, and similarly for roundl.
54559         * modules/round: Reference new m4 file.
54560         * modules/roundf: Ditto.
54561         * modules/roundl: Ditto.
54562         * tests/test-round2.c (main): Use ROUND instead of round.
54563         Bug report from Bruno Haible.
54564
54565 2007-10-21  Bruno Haible  <bruno@clisp.org>
54566
54567         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54568         context.
54569
54570 2007-10-21  Bruno Haible  <bruno@clisp.org>
54571
54572         * tests/test-wcwidth.c (main): Allow negative result for some control
54573         characters.
54574
54575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54576         Needed on OSF/1 5.1.
54577
54578 2007-10-21  Bruno Haible  <bruno@clisp.org>
54579
54580         * tests/test-floorf1.c: Include isnanf.h.
54581         (main): Use isnanf() instead of isnan().
54582         * tests/test-ceilf1.c: Include isnanf.h.
54583         (main): Use isnanf() instead of isnan().
54584         * tests/test-truncf1.c: Include isnanf.h.
54585         (main): Use isnanf() instead of isnan().
54586         * tests/test-roundf1.c: Include isnanf.h.
54587         (main): Use isnanf() instead of isnan().
54588
54589 2007-10-21  Eric Blake  <ebb9@byu.net>
54590
54591         * users.txt: Update URL for m4.
54592
54593 2007-10-21  Bruno Haible  <bruno@clisp.org>
54594
54595         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54596
54597 2007-10-21  Bruno Haible  <bruno@clisp.org>
54598
54599         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54600         Git's management files if the CVS files are not present.
54601
54602 2007-10-20  Bruno Haible  <bruno@clisp.org>
54603
54604         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54605         gcc-3.4.x.
54606
54607 2007-10-20  Ben Pfaff  <blp@gnu.org>
54608
54609         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54610         implementations.
54611         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54612         * lib/round.c: New file.
54613         * lib/roundf.c: New file.
54614         * lib/roundl.c: New file.
54615         * m4/round.m4: New file.
54616         * m4/roundf.m4: New file.
54617         * m4/roundl.m4: New file.
54618         * m4/check-libm-func-m4: New file.
54619         * modules/math: Replace round, roundf, roundl related @VARS@ in
54620         math.in.h.
54621         * modules/round: New file.
54622         * modules/round-tests: New file.
54623         * modules/roundf: New file.
54624         * modules/roundf-tests: New file.
54625         * modules/roundl: New file.
54626         * modules/roundl-tests: New file.
54627         * tests/test-round1.c: New file.
54628         * tests/test-round2.c: New file.
54629         * tests/test-roundf1.c: New file.
54630         * tests/test-roundf2.c: New file.
54631         * tests/test-roundl.c: New file.
54632         * doc/functions/round.texi: Mention round module.
54633         * doc/functions/roundf.texi: Mention roundf module.
54634         * doc/functions/roundl.texi: Mention roundl module.
54635         * MODULES.html.sh: Mention new modules.
54636         Thanks to Bruno Haible for suggestions.
54637
54638 2007-10-20  Jim Meyering  <meyering@redhat.com>
54639
54640         * lib/xprintf.c: Include <config.h> unconditionally.
54641
54642         Change xprintf's license to GPL.
54643         * modules/xprintf (License): s/LGPL/GPL/, since this module
54644         depends on modules (exit and exitfail) which are GPL.
54645         Suggestion from Bruno Haible.
54646
54647         xprintf fixes.
54648         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54649         Use a clearer diagnostic.
54650         Patch from Bruno Haible.
54651
54652 2007-10-20  Bruno Haible  <bruno@clisp.org>
54653
54654         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54655         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54656         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54657
54658 2007-10-20  Bruno Haible  <bruno@clisp.org>
54659
54660         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54661         precision in the comparison result > x - 1 or similar.
54662         * tests/test-ceilf2.c (correct_result_p): Likewise.
54663         * tests/test-truncf2.c (correct_result_p): Likewise.
54664         * tests/test-trunc2.c (correct_result_p): Likewise.
54665         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54666
54667 2007-10-20  Bruno Haible  <bruno@clisp.org>
54668
54669         * modules/ceil: New file.
54670         * m4/ceil.m4: New file.
54671         * doc/functions/ceil.texi: Mention the 'ceil' module.
54672
54673 2007-10-20  Bruno Haible  <bruno@clisp.org>
54674
54675         * modules/floor: New file.
54676         * m4/floor.m4: New file.
54677         * doc/functions/floor.texi: Mention the 'floor' module.
54678
54679 2007-10-20  Bruno Haible  <bruno@clisp.org>
54680
54681         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54682         of %a.
54683         * modules/floorf-tests (Depends-on): Likewise.
54684         * modules/truncf-tests (Depends-on): Likewise.
54685         * modules/trunc-tests (Depends-on): Likewise.
54686         Reported by Ben Pfaff.
54687
54688 2007-10-19  Jim Meyering  <meyering@redhat.com>
54689
54690         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54691         Don't bother testing specific errno values.  Just test ferror.
54692
54693         New module: xprintf
54694         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54695
54696 2007-10-19  Bruno Haible  <bruno@clisp.org>
54697
54698         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54699         syntax.
54700         * modules/javaexec (Makefile.am): Likewise.
54701         * modules/relocatable-prog (Makefile.am): Likewise.
54702         Suggested by Jim Meyering.
54703
54704 2007-10-18  Bruno Haible  <bruno@clisp.org>
54705
54706         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54707         Reported by Jim Meyering.
54708
54709 2007-10-18  Eric Blake  <ebb9@byu.net>
54710
54711         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54712
54713 2007-10-18  Bruno Haible  <bruno@clisp.org>
54714
54715         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54716         the format string into writable memory. Needed in Fortify conditions.
54717
54718 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54719             Bruno Haible  <bruno@clisp.org>
54720
54721         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54722         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54723         * modules/trim (Depends-on): Add mbchar.
54724         (configure.ac): Add gl_FUNC_MBRTOWC.
54725         (Makefile.am): Augment lib_SOURCES.
54726
54727 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54728
54729         Modify glob.c to use fstatat and dirfd, to simplify it.
54730         Suggested by Eric Blake.
54731         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54732         Don't include <stdbool.h>; not used.
54733         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54734         (link_exists_p): Simplify implementation, since we can now assume
54735         dirfd and fstatat.
54736         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54737
54738 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54739
54740         * gnulib-tool (func_get_dependencies): Fix sed script to
54741         match only tests.
54742
54743 2007-10-17  Bruno Haible  <bruno@clisp.org>
54744
54745         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54746         allow locale names without encoding suffix.
54747         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54748         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54749
54750 2007-10-16  Bruno Haible  <bruno@clisp.org>
54751
54752         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54753         * lib/getgroups.c (getgroups): Likewise.
54754         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54755
54756 2007-10-16  Bruno Haible  <bruno@clisp.org>
54757
54758         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54759         * modules/malloc-posix (License): Likewise.
54760         * modules/realloc-posix (License): Likewise.
54761         * modules/calloc-posix (License): Likewise.
54762         * modules/intprops (License): Change from GPL to LGPL, with
54763         Paul Eggert's approval.
54764
54765 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54766
54767         Merge glibc changes into lib/glob.c.
54768
54769         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54770         2007-10-15 04:59:03 UTC.  Here are the changes:
54771
54772         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54773
54774         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54775
54776         * lib/glob.c: Add some branch prediction throughout.
54777
54778         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54779
54780         [BZ #5103]
54781         * lib/glob.c (glob): Recognize patterns starting \/.
54782
54783         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54784
54785         [BZ #3996]
54786         * lib/glob.c (attribute_hidden): Define if not defined.
54787         (glob): Unescape dirname, filename or username when needed and not
54788         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54789         is NULL.  Handle unescaped [ in pattern without closing ].
54790         Don't pass GLOB_CHECK down to recursive glob for directories.
54791         (__glob_pattern_type): New function.
54792         (__glob_pattern_p): Implement using __glob_pattern_type.
54793         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54794         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54795         Remove unreachable code.
54796
54797         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54798
54799         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54800         explain why there are no leaks.
54801
54802         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54803
54804         [BZ #3253]
54805         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54806         time, rather allocate increasingly bigger arrays of pointers, if
54807         possible with alloca, if too large with malloc.
54808
54809 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54810
54811         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54812         Problem reported by H.Merijn Brand in
54813         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54814         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54815         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54816
54817 2007-10-15  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54820         with explicit rpl_ prefix.
54821         * lib/fopen.c (fopen): Likewise.
54822         * lib/freopen.c (freopen): Likewise.
54823         * lib/iconv.c (iconv): Likewise.
54824         * lib/iconv_close.c (iconv_close): Likewise.
54825
54826 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54827
54828         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54829
54830 2007-10-15  Bruno Haible  <bruno@clisp.org>
54831
54832         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54833         <stddef.h> instead of <stdlib.h> since we only need NULL.
54834         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54835
54836 2007-10-15  Bruno Haible  <bruno@clisp.org>
54837
54838         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54839         Replace paragraph talking about LIBOBJS.
54840         Reported by Colin Watson <cjwatson@debian.org>.
54841
54842 2007-10-15  Bruno Haible  <bruno@clisp.org>
54843
54844         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54845         <stdlib.h> before using NULL.
54846
54847 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54848
54849         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54850         Reported by Albert Chin <china@thewrittenword.com>.
54851
54852 2007-10-14  Bruno Haible  <bruno@clisp.org>
54853
54854         * modules/iconv_open-utf-tests: New file.
54855         * tests/test-iconv-utf.c: New file.
54856
54857         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54858         * modules/iconv_open-utf: New file.
54859         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54860         (iconv, iconv_close): New declarations.
54861         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54862         be defined.
54863         (iconv_open): Add special handling of conversion between UTF-8 and
54864         UTF-{16,32}{BE,LE}.
54865         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54866         * lib/iconv_close.c: New file.
54867         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54868         gl_FUNC_ICONV_OPEN.
54869         (gl_FUNC_ICONV_OPEN): Use it.
54870         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54871         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54872         and REPLACE_ICONV_UTF.
54873         * modules/iconv_open (Depends-on): Add c-strcase.
54874         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54875         ICONV_CONST.
54876         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54877
54878 2007-10-13  Albert Chin  <china@thewrittenword.com>
54879             Bruno Haible  <bruno@clisp.org>
54880
54881         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54882         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54883
54884 2007-10-13  Bruno Haible  <bruno@clisp.org>
54885
54886         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54887         defined, use the ISO C99 inline semantics.
54888         * lib/argp.h (ARGP_EI): Likewise.
54889
54890 2007-10-13  Bruno Haible  <bruno@clisp.org>
54891
54892         Handle 'inline' change in gcc 4.3.0.
54893         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54894         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54895         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54896         argp_fmtstream_point): Disable 'extern' declaration if the function
54897         definition is going to be provided inline.
54898         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54899         semantics, not the ISO C99 inline semantics.
54900         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54901         'extern' declaration if the function definition is going to be provided
54902         inline.
54903         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54904         the GNU C inline semantics, not the ISO C99 inline semantics. With
54905         GCC 4.2, avoid a warning.
54906
54907 2007-10-13  Bruno Haible  <bruno@clisp.org>
54908
54909         * lib/freading.h (freading): Enable the use of __freading for
54910         glibc >= 2.7.
54911         * lib/freading.c (freading): Likewise.
54912
54913 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54914
54915         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54916         "warning: C99 inline functions are not supported; using GNU89".
54917
54918 2007-10-12  Bruno Haible  <bruno@clisp.org>
54919
54920         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54921         of 2.
54922         * tests/test-ceilf2.c: New file.
54923         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54924
54925         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54926         * modules/ceilf-tests: Update.
54927
54928 2007-10-12  Bruno Haible  <bruno@clisp.org>
54929
54930         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54931         of 2.
54932         * tests/test-floorf2.c: New file.
54933         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54934
54935         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54936         * modules/floorf-tests: Update.
54937
54938 2007-10-12  Bruno Haible  <bruno@clisp.org>
54939
54940         * tests/test-trunc2.c: New file.
54941         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54942
54943         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54944         * modules/trunc-tests: Update.
54945
54946 2007-10-12  Bruno Haible  <bruno@clisp.org>
54947
54948         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54949         of 2.
54950         * tests/test-truncf2.c: New file.
54951         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54952
54953         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54954         * modules/truncf-tests: Update.
54955
54956 2007-10-11  Eric Blake  <ebb9@byu.net>
54957
54958         Don't claim strerror is broken on Interix.
54959         * doc/functions/strerror.texi (strerror): Known broken systems are
54960         now Solaris 8, and not Interix.
54961         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54962         Interix on cross-compile.
54963         Reported by Martin Koeppe in
54964         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54965
54966 2007-10-11  Bruno Haible  <bruno@clisp.org>
54967
54968         * modules/i-ring-tests: New file.
54969         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54970         instead of assert.
54971
54972 2007-10-11  Bruno Haible  <bruno@clisp.org>
54973
54974         * modules/filenamecat-tests: New file.
54975         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54976         * lib/filenamecat.c: Remove test code.
54977
54978 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54979
54980         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54981
54982         * lib/strerror.c: Include <string.h> always, to test interface,
54983         and to remove the need for the dummy.
54984         Include intprops.h to compute width instead of doing it ourselves
54985         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54986         (strerror): Define it to return NULL if there's no system strerror.
54987         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54988         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54989         ancient pre-strerror Unix systems well any more.  Saying "unknown
54990         system error" is enough.
54991         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54992         simpler strerror.c implementation.
54993         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54994         Simplify the tests to reflect the simpler strerror implementation.
54995         * modules/strerror (Depends-on): Add intprops.
54996
54997 2007-10-09  Eric Blake  <ebb9@byu.net>
54998
54999         Silence test-fpending.
55000         * modules/fpending-tests (Files): Add wrapper script.
55001         * tests/test-fpending.sh: New file.
55002
55003 2007-10-09  Bruno Haible  <bruno@clisp.org>
55004
55005         * MODULES.html.sh (func_module): Don't create a hyperlink for
55006         function names like 'printf_frexp'.
55007         (Misc): Add crc, memxor.
55008         (Characteristics of floating types): New section.
55009         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
55010         isnanf-nolibm, signbit, trunc, truncf, truncl.
55011         (Enhancements for ISO C 99 functions): New subsection Input/output.
55012         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
55013         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
55014         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
55015         (Compatibility checks for POSIX:2001 functions): Add clock-time.
55016         (Enhancements for POSIX:2001 functions): Add chdir-long.
55017         (File system functions): Add areadlink, chdir-safer, read-file.
55018         Remove cycle-check.
55019         (File system as inode set): New section.
55020         (Date and time): Add gethrxtime.
55021         (Multithreading): Add openmp.
55022         (Internationalization functions): Add localename.
55023         (Unicode string functions): Add unistr/u*-mbsnlen.
55024         (Support for maintaining and releasing projects): Add git-version-gen.
55025         (Lone files): Remove directories.
55026
55027 2007-10-08  Ben Pfaff  <blp@gnu.org>
55028
55029         * lib/xmalloca.h: Fix typo in comment.
55030
55031 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55032
55033         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
55034         when avoiding problems with integer overflow.  Use a portable test
55035         instead.
55036
55037 2007-10-08  Simon Josefsson  <simon@josefsson.org>
55038
55039         * modules/dummy (License): Change to LGPLv2+.
55040         * modules/float (License): Likewise
55041         * modules/realloc (License): Likewise
55042         * modules/stdlib (License): Likewise
55043
55044 2007-10-07  Bruno Haible  <bruno@clisp.org>
55045
55046         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
55047         * floor.c (TWO_MANT_DIG): Likewise.
55048         * ceil.c (TWO_MANT_DIG): Likewise.
55049         Reported by Ben Pfaff.
55050
55051 2007-10-07  Bruno Haible  <bruno@clisp.org>
55052
55053         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
55054         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
55055         * lib/frexp.c (FUNC): Likewise.
55056         * lib/printf-frexp.h (printf_frexp): Likewise.
55057         * lib/printf-frexpl.h (printf_frexpl): Likewise.
55058         * lib/printf-frexp.c (FUNC): Likewise.
55059         Suggested by Jim Meyering.
55060
55061 2007-10-07  Jim Meyering  <meyering@redhat.com>
55062
55063         Make xnanosleep's integer overflow test more robust.
55064         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
55065         so that gcc-4.3.0 doesn't optimize away this test for overflow.
55066
55067 2007-10-07  Bruno Haible  <bruno@clisp.org>
55068
55069         * NEWS: Mention the license change.
55070
55071         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
55072         abbreviations in the modules files.
55073
55074         Change copyright notice from GPLv2+ to GPLv3+.
55075         * README: Change copyright notice.
55076         * MODULES.html.sh: Likewise.
55077         * build-aux/bootstrap.conf: Likewise.
55078         * build-aux/config.libpath: Likewise.
55079         * build-aux/csharpcomp.sh.in: Likewise.
55080         * build-aux/csharpexec.sh.in: Likewise.
55081         * build-aux/install-reloc: Likewise.
55082         * build-aux/javacomp.sh.in: Likewise.
55083         * build-aux/javaexec.sh.in: Likewise.
55084         * build-aux/ldd.sh.in: Likewise.
55085         * build-aux/reloc-ldflags: Likewise.
55086         * build-aux/relocatable.sh.in: Likewise.
55087         * build-aux/x-to-1.in: Likewise.
55088         * check-module: Likewise.
55089         * config/srclistvars.sh: Likewise.
55090         * gnulib-tool: Likewise.
55091         * lib/acl-internal.h: Likewise.
55092         * lib/acl.c: Likewise.
55093         * lib/acl.h: Likewise.
55094         * lib/acl_entries.c: Likewise.
55095         * lib/areadlink-with-size.c: Likewise.
55096         * lib/areadlink.c: Likewise.
55097         * lib/areadlink.h: Likewise.
55098         * lib/argmatch.c: Likewise.
55099         * lib/argmatch.h: Likewise.
55100         * lib/argp-ba.c: Likewise.
55101         * lib/argp-eexst.c: Likewise.
55102         * lib/argp-fmtstream.c: Likewise.
55103         * lib/argp-fmtstream.h: Likewise.
55104         * lib/argp-fs-xinl.c: Likewise.
55105         * lib/argp-help.c: Likewise.
55106         * lib/argp-namefrob.h: Likewise.
55107         * lib/argp-parse.c: Likewise.
55108         * lib/argp-pin.c: Likewise.
55109         * lib/argp-pv.c: Likewise.
55110         * lib/argp-pvh.c: Likewise.
55111         * lib/argp-xinl.c: Likewise.
55112         * lib/argp.h: Likewise.
55113         * lib/at-func.c: Likewise.
55114         * lib/atanl.c: Likewise.
55115         * lib/backupfile.c: Likewise.
55116         * lib/backupfile.h: Likewise.
55117         * lib/basename.c: Likewise.
55118         * lib/binary-io.h: Likewise.
55119         * lib/byteswap.in.h: Likewise.
55120         * lib/c-stack.c: Likewise.
55121         * lib/c-stack.h: Likewise.
55122         * lib/c-strcasestr.c: Likewise.
55123         * lib/c-strcasestr.h: Likewise.
55124         * lib/c-strstr.c: Likewise.
55125         * lib/c-strstr.h: Likewise.
55126         * lib/c-strtod.c: Likewise.
55127         * lib/calloc.c: Likewise.
55128         * lib/canon-host.c: Likewise.
55129         * lib/canon-host.h: Likewise.
55130         * lib/canonicalize-lgpl.c: Likewise.
55131         * lib/canonicalize.c: Likewise.
55132         * lib/canonicalize.h: Likewise.
55133         * lib/ceil.c: Likewise.
55134         * lib/ceilf.c: Likewise.
55135         * lib/ceill.c: Likewise.
55136         * lib/chdir-long.c: Likewise.
55137         * lib/chdir-long.h: Likewise.
55138         * lib/chdir-safer.c: Likewise.
55139         * lib/chdir-safer.h: Likewise.
55140         * lib/chown.c: Likewise.
55141         * lib/classpath.c: Likewise.
55142         * lib/classpath.h: Likewise.
55143         * lib/clean-temp.c: Likewise.
55144         * lib/clean-temp.h: Likewise.
55145         * lib/cloexec.c: Likewise.
55146         * lib/close-stream.c: Likewise.
55147         * lib/closein.c: Likewise.
55148         * lib/closein.h: Likewise.
55149         * lib/closeout.c: Likewise.
55150         * lib/closeout.h: Likewise.
55151         * lib/concat-filename.c: Likewise.
55152         * lib/copy-file.c: Likewise.
55153         * lib/copy-file.h: Likewise.
55154         * lib/count-one-bits.h: Likewise.
55155         * lib/crc.c: Likewise.
55156         * lib/crc.h: Likewise.
55157         * lib/creat-safer.c: Likewise.
55158         * lib/csharpcomp.c: Likewise.
55159         * lib/csharpcomp.h: Likewise.
55160         * lib/csharpexec.c: Likewise.
55161         * lib/csharpexec.h: Likewise.
55162         * lib/cycle-check.c: Likewise.
55163         * lib/cycle-check.h: Likewise.
55164         * lib/diacrit.c: Likewise.
55165         * lib/diacrit.h: Likewise.
55166         * lib/diffseq.h: Likewise.
55167         * lib/dirchownmod.c: Likewise.
55168         * lib/dirent.in.h: Likewise.
55169         * lib/dirfd.c: Likewise.
55170         * lib/dirfd.h: Likewise.
55171         * lib/dirname.c: Likewise.
55172         * lib/dirname.h: Likewise.
55173         * lib/dummy.c: Likewise.
55174         * lib/dup-safer.c: Likewise.
55175         * lib/dup2.c: Likewise.
55176         * lib/eealloc.h: Likewise.
55177         * lib/error.c: Likewise.
55178         * lib/error.h: Likewise.
55179         * lib/euidaccess.c: Likewise.
55180         * lib/exclude.c: Likewise.
55181         * lib/exclude.h: Likewise.
55182         * lib/execute.c: Likewise.
55183         * lib/execute.h: Likewise.
55184         * lib/exitfail.c: Likewise.
55185         * lib/exitfail.h: Likewise.
55186         * lib/expl.c: Likewise.
55187         * lib/fatal-signal.c: Likewise.
55188         * lib/fatal-signal.h: Likewise.
55189         * lib/fbufmode.c: Likewise.
55190         * lib/fbufmode.h: Likewise.
55191         * lib/fchdir.c: Likewise.
55192         * lib/fchmodat.c: Likewise.
55193         * lib/fchownat.c: Likewise.
55194         * lib/fcntl--.h: Likewise.
55195         * lib/fcntl-safer.h: Likewise.
55196         * lib/fcntl.in.h: Likewise.
55197         * lib/fd-safer.c: Likewise.
55198         * lib/fflush.c: Likewise.
55199         * lib/file-has-acl.c: Likewise.
55200         * lib/file-set.c: Likewise.
55201         * lib/file-type.c: Likewise.
55202         * lib/file-type.h: Likewise.
55203         * lib/fileblocks.c: Likewise.
55204         * lib/filemode.c: Likewise.
55205         * lib/filemode.h: Likewise.
55206         * lib/filename.h: Likewise.
55207         * lib/filenamecat.c: Likewise.
55208         * lib/filenamecat.h: Likewise.
55209         * lib/findprog.c: Likewise.
55210         * lib/findprog.h: Likewise.
55211         * lib/float.in.h: Likewise.
55212         * lib/floor.c: Likewise.
55213         * lib/floorf.c: Likewise.
55214         * lib/floorl.c: Likewise.
55215         * lib/fopen-safer.c: Likewise.
55216         * lib/fopen.c: Likewise.
55217         * lib/fpending.c: Likewise.
55218         * lib/fpending.h: Likewise.
55219         * lib/fprintf.c: Likewise.
55220         * lib/fprintftime.h: Likewise.
55221         * lib/fpucw.h: Likewise.
55222         * lib/fpurge.c: Likewise.
55223         * lib/fpurge.h: Likewise.
55224         * lib/freadable.c: Likewise.
55225         * lib/freadable.h: Likewise.
55226         * lib/freadahead.c: Likewise.
55227         * lib/freadahead.h: Likewise.
55228         * lib/freading.c: Likewise.
55229         * lib/freading.h: Likewise.
55230         * lib/free.c: Likewise.
55231         * lib/freopen.c: Likewise.
55232         * lib/frexp.c: Likewise.
55233         * lib/frexpl.c: Likewise.
55234         * lib/fseek.c: Likewise.
55235         * lib/fseterr.c: Likewise.
55236         * lib/fseterr.h: Likewise.
55237         * lib/fstatat.c: Likewise.
55238         * lib/fstrcmp.c: Likewise.
55239         * lib/fstrcmp.h: Likewise.
55240         * lib/fsusage.c: Likewise.
55241         * lib/fsusage.h: Likewise.
55242         * lib/ftell.c: Likewise.
55243         * lib/ftello.c: Likewise.
55244         * lib/fts-cycle.c: Likewise.
55245         * lib/fts.c: Likewise.
55246         * lib/fts_.h: Likewise.
55247         * lib/full-read.c: Likewise.
55248         * lib/full-read.h: Likewise.
55249         * lib/full-write.c: Likewise.
55250         * lib/full-write.h: Likewise.
55251         * lib/fwritable.c: Likewise.
55252         * lib/fwritable.h: Likewise.
55253         * lib/fwriteerror.c: Likewise.
55254         * lib/fwriteerror.h: Likewise.
55255         * lib/fwriting.c: Likewise.
55256         * lib/fwriting.h: Likewise.
55257         * lib/gcd.c: Likewise.
55258         * lib/gcd.h: Likewise.
55259         * lib/getcwd.c: Likewise.
55260         * lib/getdate.h: Likewise.
55261         * lib/getdate.y: Likewise.
55262         * lib/getdomainname.c: Likewise.
55263         * lib/getdomainname.h: Likewise.
55264         * lib/getgroups.c: Likewise.
55265         * lib/gethostname.c: Likewise.
55266         * lib/gethrxtime.c: Likewise.
55267         * lib/gethrxtime.h: Likewise.
55268         * lib/getloadavg.c: Likewise.
55269         * lib/getndelim2.c: Likewise.
55270         * lib/getndelim2.h: Likewise.
55271         * lib/getnline.c: Likewise.
55272         * lib/getnline.h: Likewise.
55273         * lib/getopt.c: Likewise.
55274         * lib/getopt.in.h: Likewise.
55275         * lib/getopt1.c: Likewise.
55276         * lib/getopt_int.h: Likewise.
55277         * lib/getpagesize.h: Likewise.
55278         * lib/getsubopt.c: Likewise.
55279         * lib/gettime.c: Likewise.
55280         * lib/getugroups.c: Likewise.
55281         * lib/getugroups.h: Likewise.
55282         * lib/getusershell.c: Likewise.
55283         * lib/gl_anyavltree_list1.h: Likewise.
55284         * lib/gl_anyavltree_list2.h: Likewise.
55285         * lib/gl_anyhash_list1.h: Likewise.
55286         * lib/gl_anyhash_list2.h: Likewise.
55287         * lib/gl_anylinked_list1.h: Likewise.
55288         * lib/gl_anylinked_list2.h: Likewise.
55289         * lib/gl_anyrbtree_list1.h: Likewise.
55290         * lib/gl_anyrbtree_list2.h: Likewise.
55291         * lib/gl_anytree_list1.h: Likewise.
55292         * lib/gl_anytree_list2.h: Likewise.
55293         * lib/gl_anytree_oset.h: Likewise.
55294         * lib/gl_anytreehash_list1.h: Likewise.
55295         * lib/gl_anytreehash_list2.h: Likewise.
55296         * lib/gl_array_list.c: Likewise.
55297         * lib/gl_array_list.h: Likewise.
55298         * lib/gl_array_oset.c: Likewise.
55299         * lib/gl_array_oset.h: Likewise.
55300         * lib/gl_avltree_list.c: Likewise.
55301         * lib/gl_avltree_list.h: Likewise.
55302         * lib/gl_avltree_oset.c: Likewise.
55303         * lib/gl_avltree_oset.h: Likewise.
55304         * lib/gl_avltreehash_list.c: Likewise.
55305         * lib/gl_avltreehash_list.h: Likewise.
55306         * lib/gl_carray_list.c: Likewise.
55307         * lib/gl_carray_list.h: Likewise.
55308         * lib/gl_linked_list.c: Likewise.
55309         * lib/gl_linked_list.h: Likewise.
55310         * lib/gl_linkedhash_list.c: Likewise.
55311         * lib/gl_linkedhash_list.h: Likewise.
55312         * lib/gl_list.c: Likewise.
55313         * lib/gl_list.h: Likewise.
55314         * lib/gl_oset.c: Likewise.
55315         * lib/gl_oset.h: Likewise.
55316         * lib/gl_rbtree_list.c: Likewise.
55317         * lib/gl_rbtree_list.h: Likewise.
55318         * lib/gl_rbtree_oset.c: Likewise.
55319         * lib/gl_rbtree_oset.h: Likewise.
55320         * lib/gl_rbtreehash_list.c: Likewise.
55321         * lib/gl_rbtreehash_list.h: Likewise.
55322         * lib/gl_sublist.c: Likewise.
55323         * lib/gl_sublist.h: Likewise.
55324         * lib/group-member.c: Likewise.
55325         * lib/group-member.h: Likewise.
55326         * lib/hard-locale.c: Likewise.
55327         * lib/hard-locale.h: Likewise.
55328         * lib/hash-pjw.c: Likewise.
55329         * lib/hash-pjw.h: Likewise.
55330         * lib/hash-triple.c: Likewise.
55331         * lib/hash.c: Likewise.
55332         * lib/hash.h: Likewise.
55333         * lib/human.c: Likewise.
55334         * lib/human.h: Likewise.
55335         * lib/i-ring.c: Likewise.
55336         * lib/i-ring.h: Likewise.
55337         * lib/idcache.c: Likewise.
55338         * lib/imaxabs.c: Likewise.
55339         * lib/imaxdiv.c: Likewise.
55340         * lib/inet_pton.c: Likewise.
55341         * lib/inet_pton.h: Likewise.
55342         * lib/intprops.h: Likewise.
55343         * lib/inttostr.c: Likewise.
55344         * lib/inttostr.h: Likewise.
55345         * lib/inttypes.in.h: Likewise.
55346         * lib/isapipe.c: Likewise.
55347         * lib/isdir.c: Likewise.
55348         * lib/isnan.c: Likewise.
55349         * lib/isnan.h: Likewise.
55350         * lib/isnanf.c: Likewise.
55351         * lib/isnanf.h: Likewise.
55352         * lib/isnanl-nolibm.h: Likewise.
55353         * lib/isnanl.c: Likewise.
55354         * lib/isnanl.h: Likewise.
55355         * lib/javacomp.c: Likewise.
55356         * lib/javacomp.h: Likewise.
55357         * lib/javaexec.c: Likewise.
55358         * lib/javaexec.h: Likewise.
55359         * lib/javaversion.c: Likewise.
55360         * lib/javaversion.h: Likewise.
55361         * lib/javaversion.java: Likewise.
55362         * lib/lbrkprop.h: Likewise.
55363         * lib/lchmod.h: Likewise.
55364         * lib/lchown.c: Likewise.
55365         * lib/ldexpl.c: Likewise.
55366         * lib/linebreak.c: Likewise.
55367         * lib/linebreak.h: Likewise.
55368         * lib/linebuffer.c: Likewise.
55369         * lib/linebuffer.h: Likewise.
55370         * lib/locale.in.h: Likewise.
55371         * lib/logl.c: Likewise.
55372         * lib/long-options.c: Likewise.
55373         * lib/long-options.h: Likewise.
55374         * lib/lstat.c: Likewise.
55375         * lib/lstat.h: Likewise.
55376         * lib/math.in.h: Likewise.
55377         * lib/mbchar.c: Likewise.
55378         * lib/mbchar.h: Likewise.
55379         * lib/mbfile.h: Likewise.
55380         * lib/mbiter.h: Likewise.
55381         * lib/mbscasecmp.c: Likewise.
55382         * lib/mbscasestr.c: Likewise.
55383         * lib/mbschr.c: Likewise.
55384         * lib/mbscspn.c: Likewise.
55385         * lib/mbslen.c: Likewise.
55386         * lib/mbsncasecmp.c: Likewise.
55387         * lib/mbsnlen.c: Likewise.
55388         * lib/mbspbrk.c: Likewise.
55389         * lib/mbspcasecmp.c: Likewise.
55390         * lib/mbsrchr.c: Likewise.
55391         * lib/mbssep.c: Likewise.
55392         * lib/mbsspn.c: Likewise.
55393         * lib/mbsstr.c: Likewise.
55394         * lib/mbstok_r.c: Likewise.
55395         * lib/mbswidth.c: Likewise.
55396         * lib/mbswidth.h: Likewise.
55397         * lib/mbuiter.h: Likewise.
55398         * lib/memcasecmp.c: Likewise.
55399         * lib/memcasecmp.h: Likewise.
55400         * lib/memchr.c: Likewise.
55401         * lib/memcmp.c: Likewise.
55402         * lib/memcoll.c: Likewise.
55403         * lib/memcoll.h: Likewise.
55404         * lib/memcpy.c: Likewise.
55405         * lib/memrchr.c: Likewise.
55406         * lib/mkancesdirs.c: Likewise.
55407         * lib/mkdir-p.c: Likewise.
55408         * lib/mkdir-p.h: Likewise.
55409         * lib/mkdir.c: Likewise.
55410         * lib/mkdirat.c: Likewise.
55411         * lib/mkdtemp.c: Likewise.
55412         * lib/mkstemp-safer.c: Likewise.
55413         * lib/mkstemp.c: Likewise.
55414         * lib/modechange.c: Likewise.
55415         * lib/modechange.h: Likewise.
55416         * lib/mountlist.c: Likewise.
55417         * lib/mountlist.h: Likewise.
55418         * lib/mpsort.c: Likewise.
55419         * lib/nanosleep.c: Likewise.
55420         * lib/obstack.c: Likewise.
55421         * lib/obstack.h: Likewise.
55422         * lib/open-safer.c: Likewise.
55423         * lib/open.c: Likewise.
55424         * lib/openat-die.c: Likewise.
55425         * lib/openat-priv.h: Likewise.
55426         * lib/openat-proc.c: Likewise.
55427         * lib/openat.c: Likewise.
55428         * lib/openat.h: Likewise.
55429         * lib/pagealign_alloc.c: Likewise.
55430         * lib/pagealign_alloc.h: Likewise.
55431         * lib/physmem.c: Likewise.
55432         * lib/physmem.h: Likewise.
55433         * lib/pipe-safer.c: Likewise.
55434         * lib/pipe.c: Likewise.
55435         * lib/pipe.h: Likewise.
55436         * lib/posixtm.c: Likewise.
55437         * lib/posixtm.h: Likewise.
55438         * lib/posixver.c: Likewise.
55439         * lib/printf-frexp.c: Likewise.
55440         * lib/printf-frexp.h: Likewise.
55441         * lib/printf-frexpl.c: Likewise.
55442         * lib/printf-frexpl.h: Likewise.
55443         * lib/printf.c: Likewise.
55444         * lib/progname.c: Likewise.
55445         * lib/progname.h: Likewise.
55446         * lib/progreloc.c: Likewise.
55447         * lib/putenv.c: Likewise.
55448         * lib/quote.c: Likewise.
55449         * lib/quote.h: Likewise.
55450         * lib/quotearg.c: Likewise.
55451         * lib/quotearg.h: Likewise.
55452         * lib/raise.c: Likewise.
55453         * lib/readline.c: Likewise.
55454         * lib/readline.h: Likewise.
55455         * lib/readlink.c: Likewise.
55456         * lib/readtokens.c: Likewise.
55457         * lib/readtokens.h: Likewise.
55458         * lib/readtokens0.c: Likewise.
55459         * lib/readtokens0.h: Likewise.
55460         * lib/readutmp.c: Likewise.
55461         * lib/readutmp.h: Likewise.
55462         * lib/realloc.c: Likewise.
55463         * lib/relocwrapper.c: Likewise.
55464         * lib/rename-dest-slash.c: Likewise.
55465         * lib/rename.c: Likewise.
55466         * lib/rmdir.c: Likewise.
55467         * lib/rpmatch.c: Likewise.
55468         * lib/safe-read.c: Likewise.
55469         * lib/safe-read.h: Likewise.
55470         * lib/safe-write.c: Likewise.
55471         * lib/safe-write.h: Likewise.
55472         * lib/same-inode.h: Likewise.
55473         * lib/same.c: Likewise.
55474         * lib/same.h: Likewise.
55475         * lib/save-cwd.c: Likewise.
55476         * lib/save-cwd.h: Likewise.
55477         * lib/savedir.c: Likewise.
55478         * lib/savedir.h: Likewise.
55479         * lib/savewd.c: Likewise.
55480         * lib/savewd.h: Likewise.
55481         * lib/search.in.h: Likewise.
55482         * lib/setenv.c: Likewise.
55483         * lib/setenv.h: Likewise.
55484         * lib/settime.c: Likewise.
55485         * lib/sh-quote.c: Likewise.
55486         * lib/sh-quote.h: Likewise.
55487         * lib/sig2str.c: Likewise.
55488         * lib/sig2str.h: Likewise.
55489         * lib/signal.in.h: Likewise.
55490         * lib/signbitd.c: Likewise.
55491         * lib/signbitf.c: Likewise.
55492         * lib/signbitl.c: Likewise.
55493         * lib/sigprocmask.c: Likewise.
55494         * lib/sincosl.c: Likewise.
55495         * lib/sleep.c: Likewise.
55496         * lib/sprintf.c: Likewise.
55497         * lib/sqrtl.c: Likewise.
55498         * lib/stat-time.h: Likewise.
55499         * lib/stdio--.h: Likewise.
55500         * lib/stdio-safer.h: Likewise.
55501         * lib/stdlib--.h: Likewise.
55502         * lib/stdlib-safer.h: Likewise.
55503         * lib/stdlib.in.h: Likewise.
55504         * lib/stpcpy.c: Likewise.
55505         * lib/stpncpy.c: Likewise.
55506         * lib/strchrnul.c: Likewise.
55507         * lib/strcspn.c: Likewise.
55508         * lib/strerror.c: Likewise.
55509         * lib/strftime.c: Likewise.
55510         * lib/strftime.h: Likewise.
55511         * lib/striconveh.c: Likewise.
55512         * lib/striconveh.h: Likewise.
55513         * lib/striconveha.c: Likewise.
55514         * lib/striconveha.h: Likewise.
55515         * lib/stripslash.c: Likewise.
55516         * lib/strnlen1.c: Likewise.
55517         * lib/strnlen1.h: Likewise.
55518         * lib/strtod.c: Likewise.
55519         * lib/strtoimax.c: Likewise.
55520         * lib/strtok_r.c: Likewise.
55521         * lib/strtol.c: Likewise.
55522         * lib/strtoll.c: Likewise.
55523         * lib/strtoul.c: Likewise.
55524         * lib/strtoull.c: Likewise.
55525         * lib/sysexits.in.h: Likewise.
55526         * lib/tempname.c: Likewise.
55527         * lib/tempname.h: Likewise.
55528         * lib/timespec.h: Likewise.
55529         * lib/tls.c: Likewise.
55530         * lib/tls.h: Likewise.
55531         * lib/tmpdir.c: Likewise.
55532         * lib/tmpdir.h: Likewise.
55533         * lib/tmpfile-safer.c: Likewise.
55534         * lib/tmpfile.c: Likewise.
55535         * lib/trigl.c: Likewise.
55536         * lib/trigl.h: Likewise.
55537         * lib/trim.c: Likewise.
55538         * lib/trim.h: Likewise.
55539         * lib/trunc.c: Likewise.
55540         * lib/truncf.c: Likewise.
55541         * lib/truncl.c: Likewise.
55542         * lib/tsearch.c: Likewise.
55543         * lib/unicodeio.c: Likewise.
55544         * lib/unicodeio.h: Likewise.
55545         * lib/unistd--.h: Likewise.
55546         * lib/unistd-safer.h: Likewise.
55547         * lib/unistdio/ulc-fprintf.c: Likewise.
55548         * lib/unistdio/ulc-vfprintf.c: Likewise.
55549         * lib/unlinkdir.c: Likewise.
55550         * lib/unlinkdir.h: Likewise.
55551         * lib/unlocked-io.h: Likewise.
55552         * lib/unsetenv.c: Likewise.
55553         * lib/userspec.c: Likewise.
55554         * lib/utime.c: Likewise.
55555         * lib/utimecmp.c: Likewise.
55556         * lib/utimecmp.h: Likewise.
55557         * lib/utimens.c: Likewise.
55558         * lib/verify.h: Likewise.
55559         * lib/verror.c: Likewise.
55560         * lib/verror.h: Likewise.
55561         * lib/version-etc-fsf.c: Likewise.
55562         * lib/version-etc.c: Likewise.
55563         * lib/version-etc.h: Likewise.
55564         * lib/vfprintf.c: Likewise.
55565         * lib/vprintf.c: Likewise.
55566         * lib/vsprintf.c: Likewise.
55567         * lib/w32spawn.h: Likewise.
55568         * lib/wait-process.c: Likewise.
55569         * lib/wait-process.h: Likewise.
55570         * lib/wcwidth.c: Likewise.
55571         * lib/write-any-file.c: Likewise.
55572         * lib/xalloc-die.c: Likewise.
55573         * lib/xalloc.h: Likewise.
55574         * lib/xasprintf.c: Likewise.
55575         * lib/xgetcwd.c: Likewise.
55576         * lib/xgetcwd.h: Likewise.
55577         * lib/xgetdomainname.c: Likewise.
55578         * lib/xgetdomainname.h: Likewise.
55579         * lib/xgethostname.c: Likewise.
55580         * lib/xmalloc.c: Likewise.
55581         * lib/xmalloca.c: Likewise.
55582         * lib/xmalloca.h: Likewise.
55583         * lib/xmemcoll.c: Likewise.
55584         * lib/xnanosleep.c: Likewise.
55585         * lib/xreadlink.c: Likewise.
55586         * lib/xreadlink.h: Likewise.
55587         * lib/xsetenv.c: Likewise.
55588         * lib/xsetenv.h: Likewise.
55589         * lib/xstriconv.c: Likewise.
55590         * lib/xstriconv.h: Likewise.
55591         * lib/xstrndup.c: Likewise.
55592         * lib/xstrndup.h: Likewise.
55593         * lib/xstrtod.c: Likewise.
55594         * lib/xstrtod.h: Likewise.
55595         * lib/xstrtol-error.c: Likewise.
55596         * lib/xstrtol.c: Likewise.
55597         * lib/xstrtol.h: Likewise.
55598         * lib/xtime.h: Likewise.
55599         * lib/xvasprintf.c: Likewise.
55600         * lib/xvasprintf.h: Likewise.
55601         * lib/yesno.c: Likewise.
55602         * lib/yesno.h: Likewise.
55603         * posix-modules: Likewise.
55604         * tests/test-alloca-opt.c: Likewise.
55605         * tests/test-arcfour.c: Likewise.
55606         * tests/test-arctwo.c: Likewise.
55607         * tests/test-argmatch.c: Likewise.
55608         * tests/test-argp-2.sh: Likewise.
55609         * tests/test-argp.c: Likewise.
55610         * tests/test-arpa_inet.c: Likewise.
55611         * tests/test-array_list.c: Likewise.
55612         * tests/test-array_oset.c: Likewise.
55613         * tests/test-atexit.c: Likewise.
55614         * tests/test-avltree_list.c: Likewise.
55615         * tests/test-avltree_oset.c: Likewise.
55616         * tests/test-avltreehash_list.c: Likewise.
55617         * tests/test-base64.c: Likewise.
55618         * tests/test-binary-io.c: Likewise.
55619         * tests/test-byteswap.c: Likewise.
55620         * tests/test-c-ctype.c: Likewise.
55621         * tests/test-c-strcasecmp.c: Likewise.
55622         * tests/test-c-strcasestr.c: Likewise.
55623         * tests/test-c-strncasecmp.c: Likewise.
55624         * tests/test-c-strstr.c: Likewise.
55625         * tests/test-canonicalize-lgpl.c: Likewise.
55626         * tests/test-canonicalize.c: Likewise.
55627         * tests/test-carray_list.c: Likewise.
55628         * tests/test-ceilf.c: Likewise.
55629         * tests/test-ceill.c: Likewise.
55630         * tests/test-count-one-bits.c: Likewise.
55631         * tests/test-crc.c: Likewise.
55632         * tests/test-dirname.c: Likewise.
55633         * tests/test-fbufmode.c: Likewise.
55634         * tests/test-fcntl.c: Likewise.
55635         * tests/test-fflush.c: Likewise.
55636         * tests/test-floorf.c: Likewise.
55637         * tests/test-floorl.c: Likewise.
55638         * tests/test-fopen.c: Likewise.
55639         * tests/test-fprintf-posix.c: Likewise.
55640         * tests/test-fprintf-posix.h: Likewise.
55641         * tests/test-fpurge.c: Likewise.
55642         * tests/test-freadable.c: Likewise.
55643         * tests/test-freadahead.c: Likewise.
55644         * tests/test-freading.c: Likewise.
55645         * tests/test-freopen.c: Likewise.
55646         * tests/test-frexp.c: Likewise.
55647         * tests/test-frexpl.c: Likewise.
55648         * tests/test-fseek.c: Likewise.
55649         * tests/test-fseeko.c: Likewise.
55650         * tests/test-fseterr.c: Likewise.
55651         * tests/test-fstrcmp.c: Likewise.
55652         * tests/test-ftell.c: Likewise.
55653         * tests/test-ftello.c: Likewise.
55654         * tests/test-fwritable.c: Likewise.
55655         * tests/test-fwriting.c: Likewise.
55656         * tests/test-getaddrinfo.c: Likewise.
55657         * tests/test-getpass.c: Likewise.
55658         * tests/test-gettimeofday.c: Likewise.
55659         * tests/test-hmac-md5.c: Likewise.
55660         * tests/test-hmac-sha1.c: Likewise.
55661         * tests/test-iconv.c: Likewise.
55662         * tests/test-iconvme.c: Likewise.
55663         * tests/test-inttypes.c: Likewise.
55664         * tests/test-isnan.c: Likewise.
55665         * tests/test-isnanf.c: Likewise.
55666         * tests/test-isnanl-nolibm.c: Likewise.
55667         * tests/test-isnanl.c: Likewise.
55668         * tests/test-isnanl.h: Likewise.
55669         * tests/test-ldexpl.c: Likewise.
55670         * tests/test-linked_list.c: Likewise.
55671         * tests/test-linkedhash_list.c: Likewise.
55672         * tests/test-locale.c: Likewise.
55673         * tests/test-localename.c: Likewise.
55674         * tests/test-lock.c: Likewise.
55675         * tests/test-lseek.c: Likewise.
55676         * tests/test-malloca.c: Likewise.
55677         * tests/test-math.c: Likewise.
55678         * tests/test-mbscasecmp.c: Likewise.
55679         * tests/test-mbscasestr1.c: Likewise.
55680         * tests/test-mbscasestr2.c: Likewise.
55681         * tests/test-mbscasestr3.c: Likewise.
55682         * tests/test-mbscasestr4.c: Likewise.
55683         * tests/test-mbschr.c: Likewise.
55684         * tests/test-mbscspn.c: Likewise.
55685         * tests/test-mbsncasecmp.c: Likewise.
55686         * tests/test-mbspbrk.c: Likewise.
55687         * tests/test-mbspcasecmp.c: Likewise.
55688         * tests/test-mbsrchr.c: Likewise.
55689         * tests/test-mbsspn.c: Likewise.
55690         * tests/test-mbsstr1.c: Likewise.
55691         * tests/test-mbsstr2.c: Likewise.
55692         * tests/test-mbsstr3.c: Likewise.
55693         * tests/test-md5.c: Likewise.
55694         * tests/test-memmem.c: Likewise.
55695         * tests/test-netinet_in.c: Likewise.
55696         * tests/test-open.c: Likewise.
55697         * tests/test-printf-frexp.c: Likewise.
55698         * tests/test-printf-frexpl.c: Likewise.
55699         * tests/test-printf-posix.c: Likewise.
55700         * tests/test-printf-posix.h: Likewise.
55701         * tests/test-rbtree_list.c: Likewise.
55702         * tests/test-rbtree_oset.c: Likewise.
55703         * tests/test-rbtreehash_list.c: Likewise.
55704         * tests/test-read-file.c: Likewise.
55705         * tests/test-rijndael.c: Likewise.
55706         * tests/test-search.c: Likewise.
55707         * tests/test-signbit.c: Likewise.
55708         * tests/test-sleep.c: Likewise.
55709         * tests/test-snprintf-posix.c: Likewise.
55710         * tests/test-snprintf-posix.h: Likewise.
55711         * tests/test-snprintf.c: Likewise.
55712         * tests/test-sprintf-posix.c: Likewise.
55713         * tests/test-sprintf-posix.h: Likewise.
55714         * tests/test-stat-time.c: Likewise.
55715         * tests/test-stdbool.c: Likewise.
55716         * tests/test-stdint.c: Likewise.
55717         * tests/test-stdio.c: Likewise.
55718         * tests/test-stdlib.c: Likewise.
55719         * tests/test-stpncpy.c: Likewise.
55720         * tests/test-strcasestr.c: Likewise.
55721         * tests/test-striconv.c: Likewise.
55722         * tests/test-striconveh.c: Likewise.
55723         * tests/test-striconveha.c: Likewise.
55724         * tests/test-string.c: Likewise.
55725         * tests/test-sys_select.c: Likewise.
55726         * tests/test-sys_socket.c: Likewise.
55727         * tests/test-sys_stat.c: Likewise.
55728         * tests/test-sys_time.c: Likewise.
55729         * tests/test-sysexits.c: Likewise.
55730         * tests/test-time.c: Likewise.
55731         * tests/test-tls.c: Likewise.
55732         * tests/test-trunc.c: Likewise.
55733         * tests/test-truncf.c: Likewise.
55734         * tests/test-truncl.c: Likewise.
55735         * tests/test-unistd.c: Likewise.
55736         * tests/test-vasnprintf-posix.c: Likewise.
55737         * tests/test-vasnprintf-posix2.c: Likewise.
55738         * tests/test-vasnprintf.c: Likewise.
55739         * tests/test-vasprintf-posix.c: Likewise.
55740         * tests/test-vasprintf.c: Likewise.
55741         * tests/test-verify.c: Likewise.
55742         * tests/test-vfprintf-posix.c: Likewise.
55743         * tests/test-vprintf-posix.c: Likewise.
55744         * tests/test-vsnprintf-posix.c: Likewise.
55745         * tests/test-vsnprintf.c: Likewise.
55746         * tests/test-vsprintf-posix.c: Likewise.
55747         * tests/test-wchar.c: Likewise.
55748         * tests/test-wctype.c: Likewise.
55749         * tests/test-wcwidth.c: Likewise.
55750         * tests/test-xstrtol.c: Likewise.
55751         * tests/test-xvasprintf.c: Likewise.
55752         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55753         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55754         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55755         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55756         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55757         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55758         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55759         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55760         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55761         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55762         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55763         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55764         * tests/uniname/test-uninames.c: Likewise.
55765         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55766         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55767         * tests/unistdio/test-u16-printf1.h: Likewise.
55768         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55769         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55770         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55771         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55772         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55773         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55774         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55775         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55776         * tests/unistdio/test-u32-printf1.h: Likewise.
55777         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55778         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55779         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55780         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55781         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55782         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55783         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55784         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55785         * tests/unistdio/test-u8-printf1.h: Likewise.
55786         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55787         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55788         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55789         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55790         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55791         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55792         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55793         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55794         * tests/unistdio/test-ulc-printf1.h: Likewise.
55795         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55796         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55797         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55798         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55799         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55800         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55801         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55802         * tests/uniwidth/test-u16-width.c: Likewise.
55803         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55804         * tests/uniwidth/test-u32-width.c: Likewise.
55805         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55806         * tests/uniwidth/test-u8-width.c: Likewise.
55807         * tests/uniwidth/test-uc_width.c: Likewise.
55808         * config/srclist-update: Likewise.
55809         (fixlicense): Update to GPLv3+.
55810
55811         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55812         * tests/test-tsearch.c: Change copyright notice.
55813
55814         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55815         * lib/c-strcaseeq.h: Change copyright notice.
55816         * lib/streq.h: Likewise.
55817         * lib/uniconv.h: Likewise.
55818         * lib/uniconv/u-conv-from-enc.h: Likewise.
55819         * lib/uniconv/u-conv-to-enc.h: Likewise.
55820         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55821         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55822         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55823         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55824         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55825         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55826         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55827         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55828         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55829         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55830         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55831         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55832         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55833         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55834         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55835         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55836         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55837         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55838         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55839         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55840         * lib/uniname.h: Likewise.
55841         * lib/uniname/uniname.c: Likewise.
55842         * lib/unistdio.h: Likewise.
55843         * lib/unistdio/u-asnprintf.h: Likewise.
55844         * lib/unistdio/u-asprintf.h: Likewise.
55845         * lib/unistdio/u-printf-args.c: Likewise.
55846         * lib/unistdio/u-printf-args.h: Likewise.
55847         * lib/unistdio/u-printf-parse.h: Likewise.
55848         * lib/unistdio/u-snprintf.h: Likewise.
55849         * lib/unistdio/u-sprintf.h: Likewise.
55850         * lib/unistdio/u-vasprintf.h: Likewise.
55851         * lib/unistdio/u-vsnprintf.h: Likewise.
55852         * lib/unistdio/u-vsprintf.h: Likewise.
55853         * lib/unistdio/u16-asnprintf.c: Likewise.
55854         * lib/unistdio/u16-asprintf.c: Likewise.
55855         * lib/unistdio/u16-printf-parse.c: Likewise.
55856         * lib/unistdio/u16-snprintf.c: Likewise.
55857         * lib/unistdio/u16-sprintf.c: Likewise.
55858         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55859         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55860         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55861         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55862         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55863         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55864         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55865         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55866         * lib/unistdio/u16-vasnprintf.c: Likewise.
55867         * lib/unistdio/u16-vasprintf.c: Likewise.
55868         * lib/unistdio/u16-vsnprintf.c: Likewise.
55869         * lib/unistdio/u16-vsprintf.c: Likewise.
55870         * lib/unistdio/u32-asnprintf.c: Likewise.
55871         * lib/unistdio/u32-asprintf.c: Likewise.
55872         * lib/unistdio/u32-printf-parse.c: Likewise.
55873         * lib/unistdio/u32-snprintf.c: Likewise.
55874         * lib/unistdio/u32-sprintf.c: Likewise.
55875         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55876         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55877         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55878         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55879         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55880         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55881         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55882         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55883         * lib/unistdio/u32-vasnprintf.c: Likewise.
55884         * lib/unistdio/u32-vasprintf.c: Likewise.
55885         * lib/unistdio/u32-vsnprintf.c: Likewise.
55886         * lib/unistdio/u32-vsprintf.c: Likewise.
55887         * lib/unistdio/u8-asnprintf.c: Likewise.
55888         * lib/unistdio/u8-asprintf.c: Likewise.
55889         * lib/unistdio/u8-printf-parse.c: Likewise.
55890         * lib/unistdio/u8-snprintf.c: Likewise.
55891         * lib/unistdio/u8-sprintf.c: Likewise.
55892         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55893         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55894         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55895         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55896         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55897         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55898         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55899         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55900         * lib/unistdio/u8-vasnprintf.c: Likewise.
55901         * lib/unistdio/u8-vasprintf.c: Likewise.
55902         * lib/unistdio/u8-vsnprintf.c: Likewise.
55903         * lib/unistdio/u8-vsprintf.c: Likewise.
55904         * lib/unistdio/ulc-asnprintf.c: Likewise.
55905         * lib/unistdio/ulc-asprintf.c: Likewise.
55906         * lib/unistdio/ulc-printf-parse.c: Likewise.
55907         * lib/unistdio/ulc-snprintf.c: Likewise.
55908         * lib/unistdio/ulc-sprintf.c: Likewise.
55909         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55910         * lib/unistdio/ulc-vasprintf.c: Likewise.
55911         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55912         * lib/unistdio/ulc-vsprintf.c: Likewise.
55913         * lib/unistr.h: Likewise.
55914         * lib/unistr/u-cpy-alloc.h: Likewise.
55915         * lib/unistr/u-cpy.h: Likewise.
55916         * lib/unistr/u-endswith.h: Likewise.
55917         * lib/unistr/u-move.h: Likewise.
55918         * lib/unistr/u-set.h: Likewise.
55919         * lib/unistr/u-startswith.h: Likewise.
55920         * lib/unistr/u-stpcpy.h: Likewise.
55921         * lib/unistr/u-stpncpy.h: Likewise.
55922         * lib/unistr/u-strcat.h: Likewise.
55923         * lib/unistr/u-strcpy.h: Likewise.
55924         * lib/unistr/u-strcspn.h: Likewise.
55925         * lib/unistr/u-strdup.h: Likewise.
55926         * lib/unistr/u-strlen.h: Likewise.
55927         * lib/unistr/u-strncat.h: Likewise.
55928         * lib/unistr/u-strncpy.h: Likewise.
55929         * lib/unistr/u-strnlen.h: Likewise.
55930         * lib/unistr/u-strpbrk.h: Likewise.
55931         * lib/unistr/u-strspn.h: Likewise.
55932         * lib/unistr/u-strstr.h: Likewise.
55933         * lib/unistr/u-strtok.h: Likewise.
55934         * lib/unistr/u16-check.c: Likewise.
55935         * lib/unistr/u16-chr.c: Likewise.
55936         * lib/unistr/u16-cmp.c: Likewise.
55937         * lib/unistr/u16-cpy-alloc.c: Likewise.
55938         * lib/unistr/u16-cpy.c: Likewise.
55939         * lib/unistr/u16-endswith.c: Likewise.
55940         * lib/unistr/u16-mblen.c: Likewise.
55941         * lib/unistr/u16-mbsnlen.c: Likewise.
55942         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55943         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55944         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55945         * lib/unistr/u16-mbtouc.c: Likewise.
55946         * lib/unistr/u16-mbtoucr.c: Likewise.
55947         * lib/unistr/u16-move.c: Likewise.
55948         * lib/unistr/u16-next.c: Likewise.
55949         * lib/unistr/u16-prev.c: Likewise.
55950         * lib/unistr/u16-set.c: Likewise.
55951         * lib/unistr/u16-startswith.c: Likewise.
55952         * lib/unistr/u16-stpcpy.c: Likewise.
55953         * lib/unistr/u16-stpncpy.c: Likewise.
55954         * lib/unistr/u16-strcat.c: Likewise.
55955         * lib/unistr/u16-strchr.c: Likewise.
55956         * lib/unistr/u16-strcmp.c: Likewise.
55957         * lib/unistr/u16-strcpy.c: Likewise.
55958         * lib/unistr/u16-strcspn.c: Likewise.
55959         * lib/unistr/u16-strdup.c: Likewise.
55960         * lib/unistr/u16-strlen.c: Likewise.
55961         * lib/unistr/u16-strmblen.c: Likewise.
55962         * lib/unistr/u16-strmbtouc.c: Likewise.
55963         * lib/unistr/u16-strncat.c: Likewise.
55964         * lib/unistr/u16-strncmp.c: Likewise.
55965         * lib/unistr/u16-strncpy.c: Likewise.
55966         * lib/unistr/u16-strnlen.c: Likewise.
55967         * lib/unistr/u16-strpbrk.c: Likewise.
55968         * lib/unistr/u16-strrchr.c: Likewise.
55969         * lib/unistr/u16-strspn.c: Likewise.
55970         * lib/unistr/u16-strstr.c: Likewise.
55971         * lib/unistr/u16-strtok.c: Likewise.
55972         * lib/unistr/u16-to-u32.c: Likewise.
55973         * lib/unistr/u16-to-u8.c: Likewise.
55974         * lib/unistr/u16-uctomb-aux.c: Likewise.
55975         * lib/unistr/u16-uctomb.c: Likewise.
55976         * lib/unistr/u32-check.c: Likewise.
55977         * lib/unistr/u32-chr.c: Likewise.
55978         * lib/unistr/u32-cmp.c: Likewise.
55979         * lib/unistr/u32-cpy-alloc.c: Likewise.
55980         * lib/unistr/u32-cpy.c: Likewise.
55981         * lib/unistr/u32-endswith.c: Likewise.
55982         * lib/unistr/u32-mblen.c: Likewise.
55983         * lib/unistr/u32-mbsnlen.c: Likewise.
55984         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55985         * lib/unistr/u32-mbtouc.c: Likewise.
55986         * lib/unistr/u32-mbtoucr.c: Likewise.
55987         * lib/unistr/u32-move.c: Likewise.
55988         * lib/unistr/u32-next.c: Likewise.
55989         * lib/unistr/u32-prev.c: Likewise.
55990         * lib/unistr/u32-set.c: Likewise.
55991         * lib/unistr/u32-startswith.c: Likewise.
55992         * lib/unistr/u32-stpcpy.c: Likewise.
55993         * lib/unistr/u32-stpncpy.c: Likewise.
55994         * lib/unistr/u32-strcat.c: Likewise.
55995         * lib/unistr/u32-strchr.c: Likewise.
55996         * lib/unistr/u32-strcmp.c: Likewise.
55997         * lib/unistr/u32-strcpy.c: Likewise.
55998         * lib/unistr/u32-strcspn.c: Likewise.
55999         * lib/unistr/u32-strdup.c: Likewise.
56000         * lib/unistr/u32-strlen.c: Likewise.
56001         * lib/unistr/u32-strmblen.c: Likewise.
56002         * lib/unistr/u32-strmbtouc.c: Likewise.
56003         * lib/unistr/u32-strncat.c: Likewise.
56004         * lib/unistr/u32-strncmp.c: Likewise.
56005         * lib/unistr/u32-strncpy.c: Likewise.
56006         * lib/unistr/u32-strnlen.c: Likewise.
56007         * lib/unistr/u32-strpbrk.c: Likewise.
56008         * lib/unistr/u32-strrchr.c: Likewise.
56009         * lib/unistr/u32-strspn.c: Likewise.
56010         * lib/unistr/u32-strstr.c: Likewise.
56011         * lib/unistr/u32-strtok.c: Likewise.
56012         * lib/unistr/u32-to-u16.c: Likewise.
56013         * lib/unistr/u32-to-u8.c: Likewise.
56014         * lib/unistr/u32-uctomb.c: Likewise.
56015         * lib/unistr/u8-check.c: Likewise.
56016         * lib/unistr/u8-chr.c: Likewise.
56017         * lib/unistr/u8-cmp.c: Likewise.
56018         * lib/unistr/u8-cpy-alloc.c: Likewise.
56019         * lib/unistr/u8-cpy.c: Likewise.
56020         * lib/unistr/u8-endswith.c: Likewise.
56021         * lib/unistr/u8-mblen.c: Likewise.
56022         * lib/unistr/u8-mbsnlen.c: Likewise.
56023         * lib/unistr/u8-mbtouc-aux.c: Likewise.
56024         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
56025         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
56026         * lib/unistr/u8-mbtouc.c: Likewise.
56027         * lib/unistr/u8-mbtoucr.c: Likewise.
56028         * lib/unistr/u8-move.c: Likewise.
56029         * lib/unistr/u8-next.c: Likewise.
56030         * lib/unistr/u8-prev.c: Likewise.
56031         * lib/unistr/u8-set.c: Likewise.
56032         * lib/unistr/u8-startswith.c: Likewise.
56033         * lib/unistr/u8-stpcpy.c: Likewise.
56034         * lib/unistr/u8-stpncpy.c: Likewise.
56035         * lib/unistr/u8-strcat.c: Likewise.
56036         * lib/unistr/u8-strchr.c: Likewise.
56037         * lib/unistr/u8-strcmp.c: Likewise.
56038         * lib/unistr/u8-strcpy.c: Likewise.
56039         * lib/unistr/u8-strcspn.c: Likewise.
56040         * lib/unistr/u8-strdup.c: Likewise.
56041         * lib/unistr/u8-strlen.c: Likewise.
56042         * lib/unistr/u8-strmblen.c: Likewise.
56043         * lib/unistr/u8-strmbtouc.c: Likewise.
56044         * lib/unistr/u8-strncat.c: Likewise.
56045         * lib/unistr/u8-strncmp.c: Likewise.
56046         * lib/unistr/u8-strncpy.c: Likewise.
56047         * lib/unistr/u8-strnlen.c: Likewise.
56048         * lib/unistr/u8-strpbrk.c: Likewise.
56049         * lib/unistr/u8-strrchr.c: Likewise.
56050         * lib/unistr/u8-strspn.c: Likewise.
56051         * lib/unistr/u8-strstr.c: Likewise.
56052         * lib/unistr/u8-strtok.c: Likewise.
56053         * lib/unistr/u8-to-u16.c: Likewise.
56054         * lib/unistr/u8-to-u32.c: Likewise.
56055         * lib/unistr/u8-uctomb-aux.c: Likewise.
56056         * lib/unistr/u8-uctomb.c: Likewise.
56057         * lib/unitypes.h: Likewise.
56058         * lib/uniwidth.h: Likewise.
56059         * lib/uniwidth/cjk.h: Likewise.
56060         * lib/uniwidth/u16-strwidth.c: Likewise.
56061         * lib/uniwidth/u16-width.c: Likewise.
56062         * lib/uniwidth/u32-strwidth.c: Likewise.
56063         * lib/uniwidth/u32-width.c: Likewise.
56064         * lib/uniwidth/u8-strwidth.c: Likewise.
56065         * lib/uniwidth/u8-width.c: Likewise.
56066         * lib/uniwidth/width.c: Likewise.
56067
56068 2007-10-07  Bruno Haible  <bruno@clisp.org>
56069
56070         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
56071         The file is still under LGPL (see modules/inttypes).
56072
56073 2007-10-06  Bruno Haible  <bruno@clisp.org>
56074
56075         * modules/trunc (Dependencies): Add 'extensions'.
56076         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
56077         Reported by Ben Pfaff <blp@gnu.org>.
56078
56079 2007-10-06  Bruno Haible  <bruno@clisp.org>
56080
56081         * modules/freopen-tests: New file.
56082         * tests/test-freopen.c: New file.
56083
56084         * modules/fopen-tests: New file.
56085         * tests/test-fopen.c: New file.
56086
56087         * modules/fopen: New file.
56088         * lib/fopen.c: New file.
56089         * m4/fopen.m4: New file.
56090         * modules/freopen: New file.
56091         * lib/freopen.c: New file.
56092         * m4/freopen.m4: New file.
56093         * lib/stdio.in.h (fopen, freopen): New declarations.
56094         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
56095         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56096         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
56097         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
56098         * doc/functions/fopen.texi: Mention the 'fopen' module.
56099         * doc/functions/freopen.texi: Mention the 'freopen' module.
56100
56101 2007-10-06  Bruno Haible  <bruno@clisp.org>
56102
56103         * modules/open-tests: New file.
56104         * tests/test-open.c: New file.
56105
56106         * modules/open: New file.
56107         * lib/open.c: New file.
56108         * m4/open.m4: New file.
56109         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
56110         lib/open.c does.
56111         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
56112         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
56113         macros.
56114         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
56115         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
56116         REPLACE_OPEN.
56117         * doc/functions/open.texi: Mention the 'open' module.
56118
56119 2007-10-04  Bruno Haible  <bruno@clisp.org>
56120
56121         * modules/ceill-tests: New file.
56122         * tests/test-ceill.c: New file.
56123
56124         * modules/ceill: New file.
56125         * lib/ceill.c: Replace entire file.
56126         * m4/ceill.m4: New file.
56127         * lib/math.in.h (ceill): Replace declaration.
56128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
56129         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
56130         * doc/functions/ceill.texi: Mention the 'ceill' module.
56131         * modules/mathl (Files): Remove lib/ceill.c.
56132         (Depends-on): Add ceill.
56133
56134 2007-10-04  Bruno Haible  <bruno@clisp.org>
56135
56136         * modules/ceilf-tests: New file.
56137         * tests/test-ceilf.c: New file.
56138
56139         * modules/ceilf: New file.
56140         * lib/ceil.c: New file.
56141         * lib/ceilf.c: New file.
56142         * m4/ceilf.m4: New file.
56143         * lib/math.in.h (ceilf): New declaration.
56144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
56145         HAVE_DECL_CEILF.
56146         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
56147         HAVE_DECL_CEILF.
56148         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
56149
56150 2007-10-04  Bruno Haible  <bruno@clisp.org>
56151
56152         * modules/floorl-tests: New file.
56153         * tests/test-floorl.c: New file.
56154
56155         * modules/floorl: New file.
56156         * lib/floorl.c: Replace entire file.
56157         * m4/floorl.m4: New file.
56158         * lib/math.in.h (floorl): Replace declaration.
56159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
56160         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
56161         * doc/functions/floorl.texi: Mention the 'floorl' module.
56162         * modules/mathl (Files): Remove lib/floorl.c.
56163         (Depends-on): Add floorl.
56164
56165 2007-10-04  Bruno Haible  <bruno@clisp.org>
56166
56167         * modules/floorf-tests: New file.
56168         * tests/test-floorf.c: New file.
56169
56170         * modules/floorf: New file.
56171         * lib/floor.c: New file.
56172         * lib/floorf.c: New file.
56173         * m4/floorf.m4: New file.
56174         * lib/math.in.h (floorf): New declaration.
56175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56176         HAVE_DECL_FLOORF.
56177         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56178         HAVE_DECL_FLOORF.
56179         * doc/functions/floorf.texi: Mention the 'floorf' module.
56180
56181 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56182             Bruno Haible  <bruno@clisp.org>
56183
56184         Advertise for the Git server instead of the CVS server.
56185         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56186         repository instead of the CVS one.
56187         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56188         about all VCS systems generically.
56189         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56190
56191 2007-10-04  Bruno Haible  <bruno@clisp.org>
56192
56193         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56194         means.
56195         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56196
56197 2007-10-04  Bruno Haible  <bruno@clisp.org>
56198
56199         * modules/truncl-tests: New file.
56200         * tests/test-truncl.c: New file.
56201
56202         * modules/truncl: New file.
56203         * lib/truncl.c: New file.
56204         * m4/truncl.m4: New file.
56205         * lib/math.in.h (truncl): New declaration.
56206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56207         HAVE_DECL_TRUNCL.
56208         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56209         HAVE_DECL_TRUNCL.
56210         * doc/functions/truncl.texi: Mention the 'truncl' module.
56211
56212 2007-10-04  Bruno Haible  <bruno@clisp.org>
56213
56214         * modules/truncf-tests: New file.
56215         * tests/test-truncf.c: New file.
56216
56217         * modules/truncf: New file.
56218         * lib/trunc.c: Make paramerizable through USE_* macros.
56219         * lib/truncf.c: New file.
56220         * m4/truncf.m4: New file.
56221         * lib/math.in.h (truncf): New declaration.
56222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56223         HAVE_DECL_TRUNCF.
56224         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56225         HAVE_DECL_TRUNCF.
56226         * doc/functions/truncf.texi: Mention the 'truncf' module.
56227
56228 2007-10-03  Bruno Haible  <bruno@clisp.org>
56229
56230         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56231         augmentation also for tests modules.
56232         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56233         * modules/atexit-tests (Makefile.am): Likewise.
56234         * modules/binary-io-tests (Makefile.am): Likewise.
56235         * modules/c-strcase-tests (Makefile.am): Likewise.
56236         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56237         * modules/canonicalize-tests (Makefile.am): Likewise.
56238         * modules/closein-tests (Makefile.am): Likewise.
56239         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56240         * modules/freadahead-tests (Makefile.am): Likewise.
56241         * modules/fseek-tests (Makefile.am): Likewise.
56242         * modules/fseeko-tests (Makefile.am): Likewise.
56243         * modules/ftell-tests (Makefile.am): Likewise.
56244         * modules/ftello-tests (Makefile.am): Likewise.
56245         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56246         * modules/isnanl-tests (Makefile.am): Likewise.
56247         * modules/lseek-tests (Makefile.am): Likewise.
56248         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56249         * modules/mbscasestr-tests (Makefile.am): Likewise.
56250         * modules/mbschr-tests (Makefile.am): Likewise.
56251         * modules/mbscspn-tests (Makefile.am): Likewise.
56252         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56253         * modules/mbspbrk-tests (Makefile.am): Likewise.
56254         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56255         * modules/mbsrchr-tests (Makefile.am): Likewise.
56256         * modules/mbsspn-tests (Makefile.am): Likewise.
56257         * modules/mbsstr-tests (Makefile.am): Likewise.
56258         * modules/printf-posix-tests (Makefile.am): Likewise.
56259         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56260         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56261         * modules/tsearch-tests (Makefile.am): Likewise.
56262         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56263         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56264         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56265         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56266         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56267         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56268         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56269         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56270         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56271         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56272         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56273         * modules/xstrtol-tests (Makefile.am): Likewise.
56274         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56275         * modules/yesno-tests (Makefile.am): Likewise.
56276
56277 2007-10-03  Bruno Haible  <bruno@clisp.org>
56278
56279         * modules/trunc-tests: New file.
56280         * tests/test-trunc.c: New file.
56281
56282         * modules/trunc: New file.
56283         * lib/trunc.c: New file.
56284         * m4/trunc.m4: New file.
56285         * lib/math.in.h (trunc): New declaration.
56286         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56287         HAVE_DECL_TRUNC.
56288         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56289         HAVE_DECL_TRUNC.
56290         * doc/functions/trunc.texi: Mention the 'trunc' module.
56291
56292 2007-10-03  Bruno Haible  <bruno@clisp.org>
56293
56294         * tests/test-fpending.c: New file, mostly copied
56295         from coreutils/lib/t-fpending.c.
56296         * modules/fpending-tests: New file.
56297
56298 2007-10-03  Bruno Haible  <bruno@clisp.org>
56299
56300         Port the stdio extensions to QNX (untested).
56301         * lib/fseterr.c (fseterr): Add support for QNX.
56302         * lib/fbufmode.c (fbufmode): Likewise.
56303         * lib/freadable.c (freadable): Likewise.
56304         * lib/fwritable.c (fwritable): Likewise.
56305         * lib/freading.c (freading): Likewise.
56306         * lib/fwriting.c (fwriting): Likewise.
56307         * lib/freadahead.c (freadahed): Likewise.
56308         * lib/fpurge.c (fpurge): Likewise.
56309         * lib/fseeko.c (rpl_fseeko): Likewise.
56310
56311 2007-10-03  Bruno Haible  <bruno@clisp.org>
56312             Jim Meyering  <jim@meyering.net>
56313             Eric Blake  <ebb9@byu.net>
56314
56315         * doc/relocatable.texi: Use @command instead of @program.
56316
56317 2007-10-02  Jim Meyering  <jim@meyering.net>
56318
56319         Perform one more "_.h" -> ".in.h" substitution.
56320         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56321         instead of unistd_.h here, too.
56322
56323 2007-10-01  Bruno Haible  <bruno@clisp.org>
56324
56325         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56326         Needed for the alloca-opt module.
56327
56328 2007-09-30  Bruno Haible  <bruno@clisp.org>
56329
56330         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56331         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56332         alloca_.h.
56333         * lib/argz.in.h: Renamed from lib/argz_.h.
56334         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56335         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56336         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56337         byteswap_.h.
56338         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56339         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56340         dirent_.h.
56341         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56342         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56343         fcntl_.h.
56344         * lib/float.in.h: Renamed from lib/float_.h.
56345         * modules/float (Files, Makefile.am): Use float.in.h instead of
56346         float_.h.
56347         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56348         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56349         fnmatch_.h.
56350         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56351         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56352         getopt_.h.
56353         * lib/glob.in.h: Renamed from lib/glob_.h.
56354         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56355         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56356         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56357         iconv_.h.
56358         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56359         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56360         inttypes_.h.
56361         * lib/locale.in.h: Renamed from lib/locale_.h.
56362         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56363         locale_.h.
56364         * lib/math.in.h: Renamed from lib/math_.h.
56365         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56366         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56367         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56368         of netinet_in_.h. Add dependency.
56369         * lib/poll.in.h: Renamed from lib/poll_.h.
56370         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56371         * lib/search.in.h: Renamed from lib/search_.h.
56372         * modules/search (Files, Makefile.am): Use search.in.h instead of
56373         search_.h.
56374         * lib/signal.in.h: Renamed from lib/signal_.h.
56375         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56376         _signal.h.
56377         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56378         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56379         stdbool_.h.
56380         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56381         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56382         stdint_.h.
56383         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56384         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56385         stdio_.h.
56386         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56387         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56388         stdlib_.h.
56389         * lib/string.in.h: Renamed from lib/string_.h.
56390         * modules/string (Files, Makefile.am): Use string.in.h instead of
56391         string_.h.
56392         * doc/gnulib-tool.texi (Initial import): Update.
56393         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56394         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56395         of sys_select_.h. Add dependency.
56396         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56397         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56398         of sys_socket_.h.
56399         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56400         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56401         sys_stat_.h.
56402         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56403         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56404         sys_time_.h.
56405         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56406         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56407         sysexits_.h.
56408         * lib/time.in.h: Renamed from lib/time_.h.
56409         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56410         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56411         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56412         unistd_.h.
56413         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56414         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56415         wchar_.h.
56416         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56417         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56418         wctype_.h.
56419         * build-aux/bootstrap (slurp): Update.
56420         * lib/.cppi-disable: Update.
56421
56422 2007-09-30  Bruno Haible  <bruno@clisp.org>
56423
56424         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56425         Needed on BeOS.
56426
56427 2007-09-30  Bruno Haible  <bruno@clisp.org>
56428
56429         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56430
56431 2007-09-29  Bruno Haible  <bruno@clisp.org>
56432
56433         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56434
56435 2007-09-29  Bruno Haible  <bruno@clisp.org>
56436
56437         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56438         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56439         * build-aux/install-reloc: Compile also areadlink.c.
56440         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56441
56442 2007-09-29  Bruno Haible  <bruno@clisp.org>
56443
56444         * gnulib-tool (func_emit_initmacro_done): Indentation.
56445
56446 2007-09-29  Bruno Haible  <bruno@clisp.org>
56447
56448         * README: Add CVS checkout update instructions.
56449         Info from Bob Proulx <bob@proulx.com>.
56450
56451 2007-09-28  Eric Blake  <ebb9@byu.net>
56452
56453         Provide move-if-change.
56454         * build-aux/move-if-change: New file, based on best practice
56455         rather than any canonical upstream location.
56456
56457 2007-09-28  Jim Meyering  <jim@meyering.net>
56458
56459         Fix canonicalize loop-detection corner case.
56460         Do not attempt to stat the symlink values stored via seen_triple.
56461         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56462         on linux-2.6.18, (but not 2.6.22).
56463         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56464         triple_compare.  The former compares dev,ino,filename, while the latter
56465         would actually stat dirname(filename) when dev and ino were equal.
56466         * lib/hash-triple.c: Install <string.h>.
56467         (STREQ): Define.
56468         (triple_compare_ino_str): New function.
56469         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56470
56471 2007-09-28  Eric Blake  <ebb9@byu.net>
56472
56473         Enforce that AC_REPLACE_FUNCS files exist.
56474         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56475         override check for typos.
56476
56477         Fix test-closein on Solaris 10.
56478         * tests/test-closein.c (main): Don't assume stdin can be inherited
56479         closed on all systems.
56480         * tests/test-closein.sh: Likewise.
56481         Reported by Piotr Tarnowski.
56482
56483 2007-09-28  Jim Meyering  <jim@meyering.net>
56484
56485         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56486
56487 2007-09-27  Jim Meyering  <jim@meyering.net>
56488
56489         canonicalize: Avoid a false-positive cycle failure.
56490         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56491         Sort.  Remove cycle-check.
56492         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56493         not cycle-check.h.
56494         (seen_triple): New function.
56495         (canonicalize_filename_mode): Use it instead of cycle-check.
56496         * tests/test-canonicalize.c: Add a test for this bug.
56497         * tests/test-canonicalize.sh: Set up and run the test.
56498
56499         New module, file-set, from coreutils.
56500         * modules/file-set: Define it.
56501         * lib/file-set.c, lib/file-set.h: Implement.
56502
56503         New module, hash-triple, from coreutils.
56504         * modules/hash-triple: Define it.
56505         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56506
56507 2007-09-25  Eric Blake  <ebb9@byu.net>
56508
56509         Fix strerror on Interix.
56510         * lib/string_.h (strerror): Declare replacement.
56511         * doc/functions/strerror.texi (strerror): Document the Interix
56512         shortcoming.
56513         * modules/string (Makefile.am): Support new hooks.
56514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56515         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56516         gl_FUNC_STRERROR_SEPARATE.
56517         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56518         * lib/strerror.c (rpl_strerror): Provide replacement.
56519         * modules/strerror (Depends-on): Add string.
56520         (configure.ac): Detect use of module.
56521         * tests/test-strerror.c: New file.
56522         * modules/strerror-tests: New test module.
56523         * modules/argp (Depends-on): Add strerror.
56524         * modules/error (Depends-on): Likewise.
56525         Reported by Martin Koeppe.
56526
56527 2007-09-24  Bruno Haible  <bruno@clisp.org>
56528
56529         * README: Update git instructions.
56530
56531 2007-09-24  Eric Blake  <ebb9@byu.net>
56532
56533         Revert fpending breakage from 2007-09-08.
56534         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56535         __fpending.c.
56536
56537 2007-09-24  Jim Meyering  <jim@meyering.net>
56538
56539         filenamecat.c: Add a test.
56540         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56541         showing how the function works when DIR is the empty string.
56542
56543 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56544
56545         * tests/test-canonicalize.sh: Turn on executable bit.
56546
56547 2007-09-19  Eric Blake  <ebb9@byu.net>
56548
56549         * README: Update CVS instructions.
56550
56551 2007-09-18  Bruno Haible  <bruno@clisp.org>
56552
56553         * modules/areadlink: New file.
56554         * lib/areadlink.h (areadlink): New declaration.
56555         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56556
56557 2007-09-17  Jim Meyering  <jim@meyering.net>
56558
56559         * lib/savewd.c (ESTALE) [!defined]: Define.
56560         Reported to be required on Interix by Martin Koeppe.
56561
56562 2007-09-17  Bruno Haible  <bruno@clisp.org>
56563
56564         * gnulib-tool (func_version): Use $version.
56565
56566 2007-09-16  Bruno Haible  <bruno@clisp.org>
56567
56568         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56569         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56570         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56571         Reported by Greg Schafer <gschafer@zip.com.au>.
56572
56573 2007-09-15  Bruno Haible  <bruno@clisp.org>
56574
56575         * gnulib-tool (sed): Try a little harder to make bash understand the
56576         alias.
56577         Reported by Bruce Korb <bruce.korb@gmail.com>.
56578
56579 2007-09-13  Eric Blake  <ebb9@byu.net>
56580
56581         * ChangeLog: Remove conflict markers.
56582
56583 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56584
56585         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56586         Reported by Bruno Haible <bruno@clisp.org>.
56587
56588 2007-09-12  Bruno Haible  <bruno@clisp.org>
56589
56590         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56591         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56592         is not defined.
56593
56594 2007-09-12  Eric Blake  <ebb9@byu.net>
56595
56596         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56597         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56598         Autoconf definition.
56599         * modules/euidaccess (Depends-on): Add extensions, for
56600         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56601         * modules/fnmatch (Depends-on): Likewise.
56602         * modules/getaddrinfo (Depends-on): Likewise.
56603         * modules/getdelim (Depends-on): Likewise.
56604         * modules/getline (Depends-on): Likewise.
56605         * modules/getsubopt (Depends-on): Likewise.
56606         * modules/gettext (Depends-on): Likewise.
56607         * modules/group-member (Depends-on): Likewise.
56608         * modules/mbchar (Depends-on): Likewise.
56609         * modules/memmem (Depends-on): Likewise.
56610         * modules/mempcpy (Depends-on): Likewise.
56611         * modules/memrchr (Depends-on): Likewise.
56612         * modules/pagealign_alloc (Depends-on): Likewise.
56613         * modules/readutmp (Depends-on): Likewise.
56614         * modules/stpcpy (Depends-on): Likewise.
56615         * modules/stpncpy (Depends-on): Likewise.
56616         * modules/strchrnul (Depends-on): Likewise.
56617         * modules/strndup (Depends-on): Likewise.
56618         * modules/strsep (Depends-on): Likewise.
56619         * modules/strverscmp (Depends-on): Likewise.
56620         * modules/vasprintf (Depends-on): Likewise.
56621         * modules/wcwidth (Depends-on): Likewise.
56622         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56623         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56624         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56625         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56626         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56627         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56628         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56629         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56630         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56631         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56632         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56633         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56634         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56635         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56636         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56637         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56638         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56639         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56640         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56641         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56642         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56643         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56644         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56645         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56646         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56648         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56649         so that lock.m4 can be used in gettext without extensions module.
56650
56651 2007-09-11  Bruno Haible  <bruno@clisp.org>
56652
56653         * m4/isc-posix.m4: Remove file.
56654         Suggested by Eric Blake.
56655
56656 2007-09-11  Eric Blake  <ebb9@byu.net>
56657
56658         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56659
56660 2007-09-10  Bruno Haible  <bruno@clisp.org>
56661
56662         * posix-modules: Fix typo in error message.
56663         Reported by Matt <mkraai@beckman.com>.
56664
56665 2007-09-09  Bruno Haible  <bruno@clisp.org>
56666
56667         * doc/functions/getdelim.texi: Update list of platforms lacking the
56668         function.
56669         * doc/functions/getline.texi: Likewise.
56670
56671 2007-09-09  Jim Meyering  <jim@meyering.net>
56672
56673         * lib/hash.c (hash_initialize): Detect calloc failure.
56674         Reported by Bruno Haible.
56675
56676 2007-09-09  Bruno Haible  <bruno@clisp.org>
56677
56678         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56679         malloc or realloc fails.
56680
56681 2007-09-09  Bruno Haible  <bruno@clisp.org>
56682
56683         * modules/getcwd (Depends-on): Add malloc-posix.
56684         * modules/glob (Depends-on): Likewise.
56685         * modules/putenv (Depends-on): Likewise.
56686         * modules/strdup (Depends-on): Likewise.
56687         * modules/getdelim (Depends-on): Add realloc-posix.
56688         * modules/read-file (Depends-on): Likewise.
56689
56690 2007-09-09  Bruno Haible  <bruno@clisp.org>
56691
56692         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56693         (gl_FUNC_MALLOC_POSIX): Require it.
56694         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56695         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56696         * modules/realloc (Files): Add m4/malloc.m4.
56697         * modules/calloc (Files): Likewise.
56698
56699 2007-09-09  Bruno Haible  <bruno@clisp.org>
56700
56701         * modules/malloc-posix: New file.
56702         * modules/malloc (Depends-on): Add malloc-posix.
56703         * lib/malloc.c: Include errno.h.
56704         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56705         and a POSIX-compatible malloc into a single function. Set ENOMEM
56706         when returning NULL.
56707         * m4/malloc.m4: New file.
56708         * doc/functions/malloc.texi: Mention the malloc-posix module.
56709         * lib/stdlib_.h (malloc): New declaration.
56710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56711         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56712         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56713         and HAVE_MALLOC_POSIX.
56714
56715 2007-09-09  Bruno Haible  <bruno@clisp.org>
56716
56717         * modules/realloc-posix: New file.
56718         * modules/realloc (Depends-on): Add realloc-posix.
56719         * lib/realloc.c: Include errno.h.
56720         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56721         and a POSIX-compatible realloc into a single function. Set ENOMEM
56722         when returning NULL.
56723         * m4/realloc.m4: New file.
56724         * doc/functions/realloc.texi: Mention the realloc-posix module.
56725         * lib/stdlib_.h (realloc): New declaration.
56726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56727         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56728         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56729         and HAVE_REALLOC_POSIX.
56730
56731 2007-09-09  Bruno Haible  <bruno@clisp.org>
56732
56733         * modules/calloc-posix: New file.
56734         * modules/calloc (Depends-on): Add calloc-posix.
56735         * lib/calloc.c: Include errno.h.
56736         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56737         and a POSIX-compatible calloc into a single function. Set ENOMEM
56738         when returning NULL.
56739         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56740         * doc/functions/calloc.texi: Mention the calloc-posix module.
56741         * lib/stdlib_.h (calloc): New declaration.
56742         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56743         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56744         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56745         and HAVE_CALLOC_POSIX.
56746
56747 2007-09-09  Bruno Haible  <bruno@clisp.org>
56748
56749         Allow for modules to show an arbitrary notice.
56750         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56751         * gnulib-tool: New option --extract-notice.
56752         (func_usage): Document it.
56753         (sed_extract_prog): Update.
56754         (func_get_notice): New function.
56755         (func_modules_notice): New function.
56756         (func_import, func_create_testdir): Invoke it.
56757         Suggested by Jim Meyering.
56758
56759 2007-09-09  Bruno Haible  <bruno@clisp.org>
56760
56761         * gnulib-tool: New options --verbose, --quiet.
56762         (func_usage): Document them.
56763         (verbose): New variable.
56764         (func_execute_command): New function.
56765         (func_import): Don't show the module list and the file list if
56766         $verbose < 0.
56767         (func_create_testdir): Likewise. Use func_execute_command.
56768         (func_create_megatestdir): Use func_execute_command.
56769
56770 2007-09-08  Bruno Haible  <bruno@clisp.org>
56771
56772         * gnulib-tool (func_import): Prefer rsync over wget when available,
56773         for fetching the PO files.
56774
56775 2007-09-08  Bruno Haible  <bruno@clisp.org>
56776
56777         * posix-modules: New file. Portions copied from gnulib-tool.
56778         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56779
56780 2007-09-08  Jim Meyering  <jim@meyering.net>
56781
56782         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56783         * lib/fpending.h: Rename from __fpending.h.
56784         * lib/fpending.c: Rename from __fpending.c.
56785         Include "fpending.h", not "__fpending.h".
56786         * lib/__fpending.h, lib/__fpending.c: Remove files.
56787         * modules/fpending (Files): Reflect new file names.
56788         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56789
56790 2007-09-08  Bruno Haible  <bruno@clisp.org>
56791
56792         * m4/inttypes-h.m4: Remove stub file.
56793
56794 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56795
56796         * doc/headers/stdint.texi: Discuss #include_next issue.
56797
56798 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56799
56800         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56801
56802 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56803
56804         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56805         in variable name.
56806
56807 2007-09-03  Jim Meyering  <jim@meyering.net>
56808
56809         New module: git-version-gen.
56810         * modules/git-version-gen: New file.
56811
56812         Import changes from coreutils for bootstrap script.
56813
56814         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56815
56816         bootstrap: uses rsync to download the .po files
56817         * build-aux/bootstrap (po_download_command_format): New global.
56818         (download_po_files): Use rsync.
56819         (update_po_files): Don't remove .po files after download,
56820         so future rsync runs can take advantage of the copies.
56821
56822         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56823
56824         Solve the unnecessary-.po-file-regeneration problem once and for all.
56825         * build-aux/bootstrap (download_po_files): New function, renamed from
56826         get_translations.  Now, downloads, but doesn't update LINGUAS.
56827         (update_po_files): New function.
56828
56829         bootstrap: Ignore more.
56830         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56831         uniwidth to e.g., lib/.gitignore.
56832         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56833
56834         * build-aux/bootstrap: New setting: vc_ignore.
56835         (insert_sorted_if_absent): Create $file if absent.
56836         Adapt to new, possibly empty, list: $vc_ignore.
56837
56838         bootstrap: generate more ignorable names
56839         * build-aux/bootstrap (slurp): When generating ignorable names,
56840         also map .sin to .sed, .gperf to .c, and .y to .c.
56841
56842 2007-09-03  Jim Meyering  <jim@meyering.net>
56843
56844         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56845         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56846
56847 2007-09-02  Bruno Haible  <bruno@clisp.org>
56848
56849         Fix mis-recognition of 'mcs' on QNX 6.
56850         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56851         output contains the string "Mono".
56852         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56853         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56854
56855 2007-09-01  Bruno Haible  <bruno@clisp.org>
56856
56857         Fix collision between uniwidth/* and linebreak modules.
56858         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56859         u32_width): Remove declarations.
56860         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56861         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56862         streq3, streq2, streq1, streq0): Remove functions.
56863         (STREQ): Remove macro.
56864         (is_cjk_encoding): Remove function.
56865         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56866         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56867         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56868         * NEWS: Document the change.
56869
56870 2007-09-01  Bruno Haible  <bruno@clisp.org>
56871
56872         * lib/streq.h: Add double-inclusion guard.
56873
56874 2007-09-01  Karl Berry  <karl@gnu.org>
56875
56876         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56877
56878 2007-08-28  Jim Meyering  <jim@meyering.net>
56879
56880         Rename mreadlink_with_size to areadlink_with_size.
56881         * NEWS: Document the change.
56882         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56883         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56884         * lib/mreadlink.h: Rename this to...
56885         * lib/areadlink.h: ...this.
56886         * modules/mreadlink-with-size: Rename this to...
56887         * modules/areadlink-with-size: ...this.
56888         * lib/canonicalize.c: Reflect the renaming.
56889         * modules/canonicalize: Likewise.
56890
56891 2007-08-26  Bruno Haible  <bruno@clisp.org>
56892
56893         * gnulib-tool (func_import): When deciding which files to remove,
56894         consider also dangling symbolic links.
56895         Reported by Eric Blake.
56896
56897 2007-08-26  Bruno Haible  <bruno@clisp.org>
56898
56899         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56900
56901 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56902
56903         * lib/readline.c: Don't include getline.h, the prototype is now
56904         found in stdio.h.
56905
56906 2007-08-23  Jim Meyering  <jim@meyering.net>
56907
56908         Getdelim touchup.
56909         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56910         around the funlockfile call, since funlockfile never sets errno.
56911         Don't set errno upon failed realloc.
56912
56913 2007-08-22  Eric Blake  <ebb9@byu.net>
56914
56915         Getline touchups.
56916         * lib/getdelim.c (getdelim): Revert regression that required *n to
56917         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56918         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56919         getdelim, rather than whether implementation is missing.
56920         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56921         * lib/stdio_.h (getline): Also declare if replacement is
56922         required.
56923         * doc/functions/getdelim.texi: New file.
56924         * doc/functions/getline.texi: Likewise.
56925         * doc/gnulib.texi (Function Substitutes): Add new files.
56926         Reported by Bruno Haible.
56927
56928 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56929
56930         * users.txt: Add Guile.
56931
56932 2007-08-22  Eric Blake  <ebb9@byu.net>
56933
56934         * tests/test-getdelim.c (main): Use remove, not unlink.
56935         * tests/test-getline.c (main): Likewise.
56936
56937         Move getline and getdelim into stdio.h, per POSIX 200x.
56938         * modules/getline (Files): Remove getline.h.
56939         (Depends-on): Add stdio.
56940         (configure.ac): Add module indicator.
56941         * modules/getdelim (Files): Remove getdelim.h.
56942         (Depends-on): Add stdio.
56943         (configure.ac): Add module indicator.
56944         * modules/stdio (Makefile.am): Work with new indicators.
56945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56946         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56947         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56948         * lib/getdelim.h: Delete.
56949         * lib/getline.h: Delete.
56950         * lib/stdio_.h (getdelim, getline): Declare.
56951         * modules/getdelim-tests: New module.
56952         * modules/getline-tests: Likewise.
56953         * tests/test-getdelim.c: New file.
56954         * tests/test-getline.c: Likewise.
56955         * NEWS: Document the change.
56956         * lib/getline.c: Update choice of header.
56957         * lib/csharpcomp.c: Likewise.
56958         * lib/getpass.c: Likewise.
56959         * lib/javacomp.c: Likewise.
56960         * lib/javaversion.c: Likewise.
56961         * lib/yesno.c: Likewise.
56962         * lib/getdelim.c: Likewise.
56963         (getdelim): Set errno on failure, and avoid memory leak.
56964
56965 2007-08-19  Bruno Haible  <bruno@clisp.org>
56966
56967         * modules/closein (Depends-on): Add freadahead.
56968         * lib/closein.c: Include freadahead.h.
56969         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56970         is zero.
56971
56972 2007-08-19  Bruno Haible  <bruno@clisp.org>
56973
56974         * modules/freadahead-tests: New file.
56975         * tests/test-freadahead.sh: New file.
56976         * tests/test-freadahead.c: New file.
56977
56978         * modules/freadahead: New file.
56979         * lib/freadahead.h: New file.
56980         * lib/freadahead.c: New file.
56981         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56982         fbufmode, fpurge, freadable, fwritable.
56983
56984 2007-08-19  Eric Blake  <ebb9@byu.net>
56985
56986         Test yesno in combination with closein.
56987         * lib/yesno.c (yesno): Document use of stdin.
56988         * modules/yesno-tests (Files): New module.
56989         * tests/test-yesno.c (main): New file.
56990         * tests/test-yesno.sh: Likewise.
56991
56992 2007-08-19  Bruno Haible  <bruno@clisp.org>
56993
56994         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56995         * lib/fseeko.c (rpl_fseeko): Likewise.
56996         * lib/fseterr.c (fseterr): Likewise.
56997
56998 2007-08-19  Bruno Haible  <bruno@clisp.org>
56999
57000         * tests/test-lseek.c (main): Disable a test for BeOS.
57001         * doc/functions/lseek.texi: Document the BeOS bug.
57002
57003 2007-08-19  Bruno Haible  <bruno@clisp.org>
57004             Eric Blake  <ebb9@byu.net>
57005
57006         * lib/lseek.c: Include <sys/stat.h>.
57007         (rpl_lseek): Add workaround code also for Unix platforms.
57008         Needed for BeOS.
57009         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
57010         * doc/functions/lseek.texi: Document BeOS definiency.
57011
57012 2007-08-18  Bruno Haible  <bruno@clisp.org>
57013
57014         * modules/fstrcmp-tests: New file.
57015         * tests/test-fstrcmp.c: New file.
57016
57017 2007-08-18  Bruno Haible  <bruno@clisp.org>
57018
57019         * modules/fstrcmp: New file, from GNU gettext with modifications.
57020         * lib/fstrcmp.h: New file, from GNU gettext.
57021         * lib/fstrcmp.c: New file, from GNU gettext.
57022         * MODULES.html.sh (String handling): Add fstrcmp.
57023
57024 2007-08-18  Bruno Haible  <bruno@clisp.org>
57025
57026         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
57027         'bool'.
57028         (diag, compareseq): Remove const from the ctxt argument.
57029         (USE_HEURISTIC): Undefine at the end.
57030
57031 2007-08-18  Jim Meyering  <jim@meyering.net>
57032
57033         New file: lib/idcache.h
57034         * NEWS: Mention the addition.
57035         * modules/idcache (Files): Add lib/idcache.h
57036         * lib/idcache.c: Include "idcache.h".
57037         Don't include <sys/types.h>.
57038         Add a FIXME comment.
57039         Move file-scoped "static" declarations to the top.
57040         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
57041
57042 2007-08-17  Bruno Haible  <bruno@clisp.org>
57043         and Paul Eggert  <eggert@cs.ucla.edu>
57044
57045         * MODULES.html.sh: Add diffseq.
57046         * modules/diffseq: New file.
57047         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
57048         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
57049
57050 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57051
57052         Import changes from coreutils for bootstrap script.
57053
57054         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
57055
57056         * build-aux/bootstrap (slurp): Work even in environments where
57057         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
57058         current code does not slurp files whose names start with ".", and
57059         this looks like it might be a troublesome area.
57060
57061         2007-07-11  Jim Meyering  <jim@meyering.net>
57062
57063         If there's a GPL vN copyright comment, require that N == 3.
57064
57065         2007-07-08  Jim Meyering  <jim@meyering.net>
57066
57067         Run the coreutils-specific code only if tests/Makefile.am.in exists.
57068         * build-aux/bootstrap (mam_template): Move definition out of loop.
57069
57070         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
57071
57072         * build-aux/bootstrap (symlink_to_dir): Rename function from
57073         symlink_to_gnulib.  Add a directory parameter.  Update all
57074         callers.
57075         (cp_mark_as_generated): Also check for -- and link to -- files in
57076         gl/.
57077
57078         2007-07-08  Jim Meyering  <jim@meyering.net>
57079
57080         Adapt to deeper hierarchy in gnulib.
57081         * build-aux/bootstrap (symlink_to_dir): If the destination
57082         directory doesn't exist, create it. This is required at least for
57083         "lib/uniwidth/cjk.h".
57084
57085         2007-05-15  Jim Meyering  <jim@meyering.net>
57086
57087         * build-aux/bootstrap: Now that generated Makefile.am files
57088         are no longer under version control, they must be created at
57089         bootstrap time.
57090
57091 2007-08-14  Ben Pfaff  <blp@gnu.org>
57092
57093         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
57094
57095 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57096
57097         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
57098         given the changes below.
57099         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
57100         even on hosts that have padding bits beyond the supported 64.
57101
57102 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57103
57104         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
57105         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
57106         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
57107         depends on it.
57108         (xstrtol_error): Remove.
57109         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
57110         but with a different signature.
57111         (ATTRIBUTE_NORETURN, __attribute__): New macros.
57112         * lib/xstrtol-error.c: Include exitfail.h.
57113         (xstrtol_fatal): New function, with a different signature from the
57114         old xstrtol_error, so that the caller need not worry about passing
57115         in an exit status, or about storage management of the option argument.
57116         (xstrtol_error): Now a static function.  Redo signature to
57117         implement xstrtol_fatal.  Output the correct number of hyphens in
57118         front of the option so that the caller need not worry about
57119         storage management.
57120         (N_): New macro.
57121         (_): Remove; not used now.
57122         * modules/xstrtol: Depend on getopt.
57123         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
57124         of old STRTOL_FATAL_ERROR macro.
57125         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
57126         of test program.
57127         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
57128         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
57129
57130 2007-08-08  Eric Blake  <ebb9@byu.net>
57131
57132         * lib/xstrtol-error.c: Add missing include.
57133
57134         Move xstrtol messages into gnulib domain, when --pobase is used.
57135         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
57136         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
57137         * modules/xstrtol (Files): Distribute new file.
57138         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
57139         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
57140         * tests/test-xstrtol.c: ...into new file.
57141         * tests/test-xstrtoul.c: Also test xstrtoul.
57142         * tests/test-xstrtoimax.c: Also test xstrtoimax.
57143         * tests/test-xstrtoumax.c: Also test xstrtoumax.
57144         * tests/test-xstrtol.sh: Drive the tests.
57145         * tests/test-xstrtoimax.sh: Likewise.
57146         * tests/test-xstrtoumax.sh: Likewise.
57147         * modules/xstrtol-tests: New module.
57148         * modules/xstrtoimax-tests: Likewise.
57149         * modules/xstrtoumax-tests: Likewise.
57150
57151 2007-08-08  Jim Meyering  <jim@meyering.net>
57152
57153         New function: mfile_name_concat.
57154         * lib/filenamecat.c (mfile_name_concat): New function, just like
57155         file_name_concat, but return NULL upon failure rather than exiting
57156         with a diagnostic.
57157         * lib/filenamecat.h: Declare it.
57158
57159 2007-08-07  Bruno Haible  <bruno@clisp.org>
57160
57161         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
57162         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
57163         warning from gcc.
57164         Reported by Eric Blake.
57165
57166 2007-08-07  Simon Josefsson  <simon@josefsson.org>
57167
57168         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57169         * modules/crypto/arcfour (License): Likewise.
57170         * modules/crypto/des-tests (License): Likewise.
57171         * modules/crypto/gc-arctwo-tests (License): Likewise.
57172         * modules/crypto/gc-des-tests (License): Likewise.
57173         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57174         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57175         * modules/crypto/gc-md2-tests (License): Likewise.
57176         * modules/crypto/gc-md4-tests (License): Likewise.
57177         * modules/crypto/gc-md5-tests (License): Likewise.
57178         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57179         * modules/crypto/gc-rijndael-tests (License): Likewise.
57180         * modules/crypto/gc-sha1-tests (License): Likewise.
57181         * modules/crypto/gc-tests (License): Likewise.
57182         * modules/crypto/hmac-md5 (License): Likewise.
57183         * modules/crypto/hmac-sha1 (License): Likewise.
57184         * modules/crypto/md2-tests (License): Likewise.
57185         * modules/crypto/md4-tests (License): Likewise.
57186         * modules/crypto/md5 (License): Likewise.
57187         * modules/crypto/rijndael (License): Likewise.
57188         * modules/crypto/sha1 (License): Likewise.
57189         * modules/memxor (License): Likewise.
57190
57191 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57192         and Bruno Haible  <bruno@clisp.org>
57193
57194         * NEWS: Describe interface changes to human, xstrtol.
57195         * lib/human.h: Include <xstrtol.h>.
57196         (human_options): Return enum strtol_error, not int.  Remove
57197         bool arg; take int * instead.
57198         * lib/human.c: Don't include "gettext.h".
57199         (_): Remove; no longer used.
57200         Don't include <xstrtol.h>, since human.h does it.
57201         (human_options): Adjust to abovementioned interface changes.
57202         Do not report error to stderr; that's now the caller's
57203         responsibility.
57204         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57205         interface change.
57206         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57207         Str, Argument_type_string.  All uses changed.  Put " argument"
57208         in diagnostics to make them clearer.  Change wording of suffix
57209         message for clarity.
57210         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57211         Argument_type_string.
57212         (STRTOL_FATAL_WARN): Remove; no longer used.
57213         * modules/human (Depends-on): Remove gettext-h.
57214
57215 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57216
57217         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57218
57219 2007-07-31  Bruno Haible  <bruno@clisp.org>
57220
57221         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57222         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57223         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57224
57225 2007-07-31  Bruno Haible  <bruno@clisp.org>
57226
57227         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57228         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57229
57230 2007-07-30  Bruno Haible  <bruno@clisp.org>
57231
57232         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57233         * modules/c-ctype (License): Likewise.
57234         * modules/c-strcase (License): Likewise.
57235         * modules/check-version (License): Likewise.
57236         * modules/iconv (License): Likewise.
57237         * modules/iconv_open (License): Likewise.
57238         * modules/read-file (License): Likewise.
57239         * modules/striconv (License): Likewise.
57240         * modules/strverscmp (License): Likewise.
57241         * modules/vasprintf (License): Likewise.
57242         * modules/crypto/des (License): Likewise.
57243         * modules/crypto/gc (License): Likewise.
57244         * modules/crypto/gc-arcfour (License): Likewise.
57245         * modules/crypto/gc-arctwo (License): Likewise.
57246         * modules/crypto/gc-des (License): Likewise.
57247         * modules/crypto/gc-hmac-md5 (License): Likewise.
57248         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57249         * modules/crypto/gc-md2 (License): Likewise.
57250         * modules/crypto/gc-md4 (License): Likewise.
57251         * modules/crypto/gc-md5 (License): Likewise.
57252         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57253         * modules/crypto/gc-random (License): Likewise.
57254         * modules/crypto/gc-rijndael (License): Likewise.
57255         * modules/crypto/gc-sha1 (License): Likewise.
57256         * modules/crypto/md2 (License): Likewise.
57257         * modules/crypto/md4 (License): Likewise.
57258
57259 2007-07-30  Jim Meyering  <jim@meyering.net>
57260
57261         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57262         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57263         it has valid stat data.  This bug would cause du not to count the
57264         sizes of inaccessible directories.
57265         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57266         in <http://bugzilla.redhat.com/250077>.
57267
57268 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57269             Bruno Haible  <bruno@clisp.org>
57270
57271         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57272         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57273         #include_next, gives a diagnostic about it, but reports no error in
57274         the exit code.
57275         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57276
57277 2007-07-24  Ben Pfaff  <blp@gnu.org>
57278
57279         Improve name: "count-one-bits" is better than "popcount".
57280         * MODULES.html.sh: Update name.
57281         * lib/popcount.h: Renamed lib/count-one-bits.h.
57282         (popcount): Renamed count_one_bits.
57283         (popcountl): Renamed count_one_bits_l.
57284         (popcountll): Renamed count_one_bits_ll.
57285         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57286         * modules/popcount: Renamed module/count-one-bits.
57287         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57288         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57289
57290 2007-07-23  Ben Pfaff  <blp@gnu.org>
57291
57292         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57293         better code generation, and add U to large constants to avoid
57294         warnings, in non-GCC case.
57295         Suggested by Bruno Haible.
57296
57297 2007-07-23  Ben Pfaff  <blp@gnu.org>
57298
57299         * lib/popcount.h: Use verify_true instead of if...abort.
57300         * modules/popcount: Depend on verify module.
57301         Suggested by Jim Meyering.
57302
57303 2007-07-23  Bruno Haible  <bruno@clisp.org>
57304
57305         * gnulib-tool (func_import): Create a .cvsignore file also when the
57306         directory is not yet in CVS but the toplevel directory is. When
57307         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57308         Reported by Karl Berry.
57309
57310 2007-07-22  Ben Pfaff  <blp@gnu.org>
57311
57312         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57313         case.
57314         Suggested by Eric Blake.
57315
57316 2007-07-22  Ben Pfaff  <blp@gnu.org>
57317
57318         New module: popcount.
57319         * MODULES.html.sh: Add popcount.
57320         * modules/popcount: New file.
57321         * modules/popcount-tests: New file.
57322         * tests/test-popcount.c: New file.
57323         * lib/popcount.h: New file.
57324         * m4/popcount.m4: New file.
57325
57326 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57327
57328         * build-aux/announce-gen: Update to GPLv3.
57329
57330         * build-aux/config.guess: Update from config.
57331
57332 2007-07-21  Bruno Haible  <bruno@clisp.org>
57333
57334         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57335         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57336
57337 2007-07-20  Jim Meyering  <jim@meyering.net>
57338
57339         * check-module: Diagnose a self-dependency.
57340
57341 2007-07-19  Bruno Haible  <bruno@clisp.org>
57342
57343         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57344         empty.
57345         Reported by Eric Blake.
57346
57347 2007-07-18  Bruno Haible  <bruno@clisp.org>
57348
57349         * gnulib-tool: New options --po-base, --po-domain.
57350         (func_usage): Document them.
57351         (pobase, po_domain): New variables.
57352         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57353         DEFAULT_TEXT_DOMAIN.
57354         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57355         (func_import): Consider pobase and po_domain. Create a po/ directory.
57356         (func_create_testdir): Set pobase and po_domain to empty.
57357         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57358         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57359
57360 2007-07-18  Bruno Haible  <bruno@clisp.org>
57361
57362         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57363         EXTRA_DIST augmentation for files in build-aux/.
57364
57365 2007-07-16  Bruno Haible  <bruno@clisp.org>
57366
57367         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57368         * modules/getdelim (License): Likewise.
57369
57370 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57371
57372         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57373         * modules/d-type (License): Likewise.
57374         * modules/extensions (License): Likewise.
57375         * modules/fnmatch (License): Likewise.
57376         * modules/fseeko (License): Likewise.
57377         * modules/getaddrinfo (License): Likewise.
57378         * modules/getline (License): Likewise.
57379         * modules/getlogin_r (License): Likewise.
57380         * modules/getpass (License): Likewise.
57381         * modules/gettimeofday (License): Likewise.
57382         * modules/glob (License): Likewise.
57383         * modules/inet_ntop (License): Likewise.
57384         * modules/malloc (License): Likewise.
57385         * modules/malloca (License): Likewise.
57386         * modules/memmem (License): Likewise.
57387         * modules/mempcpy (License): Likewise.
57388         * modules/memset (License): Likewise.
57389         * modules/minmax (License): Likewise.
57390         * modules/mktime (License): Likewise.
57391         * modules/netinet_in (License): Likewise.
57392         * modules/pathmax (License): Likewise.
57393         * modules/poll (License): Likewise.
57394         * modules/regex (License): Likewise.
57395         * modules/snprintf (License): Likewise.
57396         * modules/stdbool (License): Likewise.
57397         * modules/stdint (License): Likewise.
57398         * modules/stdio (License): Likewise.
57399         * modules/strcase (License): Likewise.
57400         * modules/strcasestr (License): Likewise.
57401         * modules/strdup (License): Likewise.
57402         * modules/string (License): Likewise.
57403         * modules/strndup (License): Likewise.
57404         * modules/strnlen (License): Likewise.
57405         * modules/strpbrk (License): Likewise.
57406         * modules/strptime (License): Likewise.
57407         * modules/strsep (License): Likewise.
57408         * modules/sys_select (License): Likewise.
57409         * modules/sys_socket (License): Likewise.
57410         * modules/sys_stat (License): Likewise.
57411         * modules/sys_time (License): Likewise.
57412         * modules/time (License): Likewise.
57413         * modules/time_r (License): Likewise.
57414         * modules/timegm (License): Likewise.
57415         * modules/unistd (License): Likewise.
57416         * modules/vsnprintf (License): Likewise.
57417         * modules/wctype (License): Likewise.
57418
57419 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57420
57421         * modules/argz (License): LGPLv2+.
57422
57423 2007-07-15  Karl Berry  <karl@gnu.org>
57424
57425         * doc/gnulib.texi: revise node structure per new fdl.texi.
57426
57427 2007-07-14  Bruno Haible  <bruno@clisp.org>
57428
57429         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57430         the output file.
57431         * lib/uniname/uninames.h: Regenerated.
57432
57433 2007-07-14  Karl Berry  <karl@gnu.org>
57434
57435         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57436         omitting sectioning and index commands.
57437
57438 2007-07-13  Bruno Haible  <bruno@clisp.org>
57439
57440         New gnulib-tool option --more-symlinks.
57441         * gnulib-tool (func_usage): Document --more-symlinks.
57442         (do_copyrights): New variable.
57443         Recognize option --more-symlinks.
57444         (func_import): Don't add a copyright notice transform to
57445         sed_transform_lib_file if do_copyrights is empty.
57446
57447 2007-07-13  Bruno Haible  <bruno@clisp.org>
57448
57449         * lib/vasnprintf.c (decimal_point_char): Define also if
57450         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57451         && !NEED_PRINTF_DIRECTIVE_A.
57452         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57453         Gary V. Vaughan <gary@gnu.org>.
57454
57455 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57456
57457         * lib/inttypes_.h: Undo previous change, since it was fixed
57458         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57459
57460 2007-07-13  Bruno Haible  <bruno@clisp.org>
57461
57462         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57463         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57464
57465 2007-07-13  Jim Meyering  <jim@meyering.net>
57466
57467         df: Don't fail for Tru64's "file-on-file mount".
57468         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57469         so we fall through and use statfs instead.  Details here:
57470         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57471         Reported by Albert Chin.
57472
57473 2007-07-13  Bruno Haible  <bruno@clisp.org>
57474
57475         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57476         * modules/configmake (License): Likewise.
57477         * modules/gettext (License): Likewise.
57478         * modules/gettext-h (License): Likewise.
57479         * modules/include_next (License): Likewise.
57480         * modules/link-warning (License): Likewise.
57481         * modules/localcharset (License): Likewise.
57482         * modules/localename (License): Likewise.
57483         * modules/lock (License): Likewise.
57484         * modules/relocatable-lib-lgpl (License): Likewise.
57485         * modules/size_max (License): Likewise.
57486         * modules/vasnprintf (License): Likewise.
57487         * modules/wchar (License): Likewise.
57488         * modules/xsize (License): Likewise.
57489
57490 2007-07-13  Bruno Haible  <bruno@clisp.org>
57491
57492         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57493         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57494
57495 2007-07-12  Bruno Haible  <bruno@clisp.org>
57496
57497         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57498         in the modules files.
57499
57500 2007-07-11  Karl Berry  <karl@gnu.org>
57501
57502         * MODULES.html.sh (func_module): use
57503          sed -e '\|^'"${includefile}"'$|d'
57504          instead of /.../d, to avoid errors on $includefile's containing /.
57505
57506 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57507
57508         * gnulib-tool (func_import): Avoid duplication of --avoid
57509         statements
57510         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57511         names to `_' in variable names.
57512
57513 2007-07-10  Eric Blake  <ebb9@byu.net>
57514
57515         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57516         * NEWS: Document this change.
57517
57518 2007-07-08  Bruno Haible  <bruno@clisp.org>
57519
57520         Update to Unicode 5.0.
57521         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57522         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57523         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57524         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57525         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57526         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57527         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57528         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57529         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57530         U+10A3F, U+1D242..U+1D244.
57531         (nonspacing_table_ind): Update.
57532         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57533         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57534
57535 2007-07-08  Bruno Haible  <bruno@clisp.org>
57536
57537         Update to Unicode 5.0.
57538         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57539         code transform. Extend the name index field of unicode_name_to_code and
57540         unicode_code_to_name from 16 to 24 bits.
57541         * lib/uniname/uniname.c (unicode_character_name,
57542         unicode_name_character): Add the range 0x12xxx to the code transform.
57543         * lib/uniname/uninames.h: Regenerated.
57544         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57545
57546 2007-07-07  Bruno Haible  <bruno@clisp.org>
57547
57548         * modules/wcwidth-tests: New file.
57549         * tests/test-wcwidth.c: New file.
57550
57551         Work around MacOS X wcwidth() bug.
57552         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57553         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57554         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57555         original wcwidth in non-UTF-8 locales.
57556         * modules/wcwidth (Depends-on): Add localcharset, streq,
57557         uniwidth/width.
57558         * doc/functions/wcwidth.texi: Update.
57559
57560 2007-07-07  Bruno Haible  <bruno@clisp.org>
57561
57562         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57563         (wcwidth): New declaration.
57564         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57565         macros.
57566         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57567         here. Prepare for creating <wchar.h> unconditionally.
57568         * modules/wchar (Depends-on): Add link-warning.
57569         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57570         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57571         * lib/wcwidth.h: Remove file.
57572         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57573         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57574         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57575         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57576         (Include): Replace wcwidth.h with <wchar.h>.
57577         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57578         * lib/mbchar.h: Don't include wcwidth.h.
57579         * lib/mbswidth.c: Likewise.
57580         * NEWS: Mention the change.
57581
57582 2007-07-07  Bruno Haible  <bruno@clisp.org>
57583
57584         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57585         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57586         definition with an external declaration.
57587         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57588         defined as a function. Remove AC_C_INLINE requirement.
57589         * modules/wcwidth (Files): Add lib/wcwidth.c.
57590         (Makefile.am): Remove redundant statement.
57591
57592 2007-07-07  Bruno Haible  <bruno@clisp.org>
57593
57594         * MODULES.html.sh (Unicode string functions): Add the new modules.
57595
57596         * tests/uniwidth/test-u32-strwidth.c: New file.
57597         * modules/uniwidth/u32-strwidth-tests: New file.
57598
57599         * lib/uniwidth/u32-strwidth.c: New file.
57600         * modules/uniwidth/u32-strwidth: New file.
57601
57602         * tests/uniwidth/test-u16-strwidth.c: New file.
57603         * modules/uniwidth/u16-strwidth-tests: New file.
57604
57605         * lib/uniwidth/u16-strwidth.c: New file.
57606         * modules/uniwidth/u16-strwidth: New file.
57607
57608         * tests/uniwidth/test-u8-strwidth.c: New file.
57609         * modules/uniwidth/u8-strwidth-tests: New file.
57610
57611         * lib/uniwidth/u8-strwidth.c: New file.
57612         * modules/uniwidth/u8-strwidth: New file.
57613
57614         * tests/uniwidth/test-u32-width.c: New file.
57615         * modules/uniwidth/u32-width-tests: New file.
57616
57617         * lib/uniwidth/u32-width.c: New file.
57618         * modules/uniwidth/u32-width: New file.
57619
57620         * tests/uniwidth/test-u16-width.c: New file.
57621         * modules/uniwidth/u16-width-tests: New file.
57622
57623         * lib/uniwidth/u16-width.c: New file.
57624         * modules/uniwidth/u16-width: New file.
57625
57626         * tests/uniwidth/test-u8-width.c: New file.
57627         * modules/uniwidth/u8-width-tests: New file.
57628
57629         * lib/uniwidth/u8-width.c: New file.
57630         * modules/uniwidth/u8-width: New file.
57631
57632         * tests/uniwidth/test-uc_width.c: New file.
57633         * modules/uniwidth/width-tests: New file.
57634
57635         * lib/uniwidth/width.c: New file, from GNU libiconv.
57636         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57637         * modules/uniwidth/width: New file.
57638
57639         * lib/uniwidth.h: New file, from GNU libiconv.
57640         * modules/uniwidth/base: New file.
57641
57642 2007-07-07  Bruno Haible  <bruno@clisp.org>
57643
57644         * lib/uniname.h: New file, from GNU gettext.
57645         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57646         * lib/uniname/uninames.h: New file, from GNU gettext.
57647         * lib/uniname/uniname.c: New file, from GNU gettext.
57648         * tests/uniname/test-uninames.sh: New file.
57649         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57650         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57651         * modules/uniname/base: New file.
57652         * modules/uniname/uniname: New file.
57653         * modules/uniname/uniname-tests: New file.
57654         * MODULES.html.sh (Unicode string functions): Add the new modules.
57655
57656 2007-07-06  Bruno Haible  <bruno@clisp.org>
57657
57658         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57659
57660 2007-07-06  Bruno Haible  <bruno@clisp.org>
57661
57662         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57663         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57664         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57665         include <sys/time.h>.
57666         Reported by Eric Blake.
57667
57668 2007-07-06  Eric Blake  <ebb9@byu.net>
57669
57670         Fix testing canonicalize on cygwin.
57671         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57672         Revert patch from 2007-06-19.
57673         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57674         canonicalize module is also in use.
57675         * tests/test-canonicalize.c: New file.
57676         * tests/test-canonicalize.sh: Likewise.
57677         * modules/canonicalize-tests: Likewise.
57678
57679 2007-07-06  Jim Meyering  <jim@meyering.net>
57680
57681         * lib/getugroups.c (getugroups): Detect getgrent failure.
57682         Adjust comment to reflect reality: this function may return -1.
57683
57684 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57685
57686         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57687         the new TP address.
57688         (usage): Fix typo
57689         (gnulib_mk): New variable.
57690
57691 2007-07-05  Jim Meyering  <jim@meyering.net>
57692
57693         Don't let endgrent clobber errno, no matter how improbable.
57694         * lib/getugroups.c (getugroups): Save and restore errno around
57695         endgrent call.
57696
57697         Close the group DB even when failing with 2^31 or more members.
57698         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57699
57700 2007-07-04  Jim Meyering  <jim@meyering.net>
57701
57702         * lib/getugroups.h: New file.
57703         * lib/getugroups.c: Include "getugroups.h".
57704         Remove uses of "register" keyword.
57705         Move local variable, "cp", down into scope where used.
57706         Give "username" parameter the "const" attribute.
57707         * modules/getugroups (Files): Add lib/getugroups.h
57708
57709 2007-07-04  Karl Berry  <karl@gnu.org>
57710
57711         * MODULES.html.sh (func_all_modules): Complete rename of
57712         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57713
57714 2007-07-02  Bruno Haible  <bruno@clisp.org>
57715
57716         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57717         mode, when inttypes.h comes from gnulib.
57718         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57719
57720 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57721
57722         * NEWS: Mention lgpl module name change.
57723
57724         * modules/lgpl-2.1: Renamed from lgpl.
57725
57726         * NEWS: Mention gpl module name change.
57727
57728         * modules/gpl-3.0: New file, based on gpl-2.0.
57729
57730         * modules/gpl-2.0: Renamed from gpl.
57731
57732         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57733         doc/gpl-2.0.texi.
57734
57735 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57736
57737         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57738         #define __STDC_LIMIT_MACROS temporarily while including
57739         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57740         Problem reported by Joel E. Denny in
57741         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57742
57743 2007-07-01  Bruno Haible  <bruno@clisp.org>
57744
57745         * lib/unistdio.h: New file.
57746         * lib/unistdio/u-asnprintf.h: New file.
57747         * lib/unistdio/u-asprintf.h: New file.
57748         * lib/unistdio/u-printf-args.c: New file.
57749         * lib/unistdio/u-printf-args.h: New file.
57750         * lib/unistdio/u-printf-parse.h: New file.
57751         * lib/unistdio/u-snprintf.h: New file.
57752         * lib/unistdio/u-sprintf.h: New file.
57753         * lib/unistdio/u-vasprintf.h: New file.
57754         * lib/unistdio/u-vsnprintf.h: New file.
57755         * lib/unistdio/u-vsprintf.h: New file.
57756         * lib/unistdio/ulc-asnprintf.c: New file.
57757         * lib/unistdio/ulc-asprintf.c: New file.
57758         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57759         * lib/unistdio/ulc-printf-parse.c: New file.
57760         * lib/unistdio/ulc-snprintf.c: New file.
57761         * lib/unistdio/ulc-sprintf.c: New file.
57762         * lib/unistdio/ulc-vasnprintf.c: New file.
57763         * lib/unistdio/ulc-vasprintf.c: New file.
57764         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57765         * lib/unistdio/ulc-vsnprintf.c: New file.
57766         * lib/unistdio/ulc-vsprintf.c: New file.
57767         * lib/unistdio/u8-asnprintf.c: New file.
57768         * lib/unistdio/u8-asprintf.c: New file.
57769         * lib/unistdio/u8-printf-parse.c: New file.
57770         * lib/unistdio/u8-snprintf.c: New file.
57771         * lib/unistdio/u8-sprintf.c: New file.
57772         * lib/unistdio/u8-vasnprintf.c: New file.
57773         * lib/unistdio/u8-vasprintf.c: New file.
57774         * lib/unistdio/u8-vsnprintf.c: New file.
57775         * lib/unistdio/u8-vsprintf.c: New file.
57776         * lib/unistdio/u8-u8-asnprintf.c: New file.
57777         * lib/unistdio/u8-u8-asprintf.c: New file.
57778         * lib/unistdio/u8-u8-snprintf.c: New file.
57779         * lib/unistdio/u8-u8-sprintf.c: New file.
57780         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57781         * lib/unistdio/u8-u8-vasprintf.c: New file.
57782         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57783         * lib/unistdio/u8-u8-vsprintf.c: New file.
57784         * lib/unistdio/u16-asnprintf.c: New file.
57785         * lib/unistdio/u16-asprintf.c: New file.
57786         * lib/unistdio/u16-printf-parse.c: New file.
57787         * lib/unistdio/u16-snprintf.c: New file.
57788         * lib/unistdio/u16-sprintf.c: New file.
57789         * lib/unistdio/u16-vasnprintf.c: New file.
57790         * lib/unistdio/u16-vasprintf.c: New file.
57791         * lib/unistdio/u16-vsnprintf.c: New file.
57792         * lib/unistdio/u16-vsprintf.c: New file.
57793         * lib/unistdio/u16-u16-asnprintf.c: New file.
57794         * lib/unistdio/u16-u16-asprintf.c: New file.
57795         * lib/unistdio/u16-u16-snprintf.c: New file.
57796         * lib/unistdio/u16-u16-sprintf.c: New file.
57797         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57798         * lib/unistdio/u16-u16-vasprintf.c: New file.
57799         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57800         * lib/unistdio/u16-u16-vsprintf.c: New file.
57801         * lib/unistdio/u32-asnprintf.c: New file.
57802         * lib/unistdio/u32-asprintf.c: New file.
57803         * lib/unistdio/u32-printf-parse.c: New file.
57804         * lib/unistdio/u32-snprintf.c: New file.
57805         * lib/unistdio/u32-sprintf.c: New file.
57806         * lib/unistdio/u32-vasnprintf.c: New file.
57807         * lib/unistdio/u32-vasprintf.c: New file.
57808         * lib/unistdio/u32-vsnprintf.c: New file.
57809         * lib/unistdio/u32-vsprintf.c: New file.
57810         * lib/unistdio/u32-u32-asnprintf.c: New file.
57811         * lib/unistdio/u32-u32-asprintf.c: New file.
57812         * lib/unistdio/u32-u32-snprintf.c: New file.
57813         * lib/unistdio/u32-u32-sprintf.c: New file.
57814         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57815         * lib/unistdio/u32-u32-vasprintf.c: New file.
57816         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57817         * lib/unistdio/u32-u32-vsprintf.c: New file.
57818         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57819         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57820         * tests/unistdio/test-ulc-printf1.h: New file.
57821         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57822         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57823         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57824         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57825         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57826         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57827         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57828         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57829         * tests/unistdio/test-u8-asnprintf1.c: New file.
57830         * tests/unistdio/test-u8-asnprintf1.h: New file.
57831         * tests/unistdio/test-u8-printf1.h: New file.
57832         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57833         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57834         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57835         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57836         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57837         * tests/unistdio/test-u8-vasprintf1.c: New file.
57838         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57839         * tests/unistdio/test-u8-vsprintf1.c: New file.
57840         * tests/unistdio/test-u16-asnprintf1.c: New file.
57841         * tests/unistdio/test-u16-asnprintf1.h: New file.
57842         * tests/unistdio/test-u16-printf1.h: New file.
57843         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57844         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57845         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57846         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57847         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57848         * tests/unistdio/test-u16-vasprintf1.c: New file.
57849         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57850         * tests/unistdio/test-u16-vsprintf1.c: New file.
57851         * tests/unistdio/test-u32-asnprintf1.c: New file.
57852         * tests/unistdio/test-u32-asnprintf1.h: New file.
57853         * tests/unistdio/test-u32-printf1.h: New file.
57854         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57855         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57856         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57857         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57858         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57859         * tests/unistdio/test-u32-vasprintf1.c: New file.
57860         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57861         * tests/unistdio/test-u32-vsprintf1.c: New file.
57862         * modules/unistdio/base: New file.
57863         * modules/unistdio/u-printf-args: New file.
57864         * modules/unistdio/ulc-asnprintf: New file.
57865         * modules/unistdio/ulc-asprintf: New file.
57866         * modules/unistdio/ulc-fprintf: New file.
57867         * modules/unistdio/ulc-printf-parse: New file.
57868         * modules/unistdio/ulc-snprintf: New file.
57869         * modules/unistdio/ulc-sprintf: New file.
57870         * modules/unistdio/ulc-vasnprintf: New file.
57871         * modules/unistdio/ulc-vasprintf: New file.
57872         * modules/unistdio/ulc-vfprintf: New file.
57873         * modules/unistdio/ulc-vsnprintf: New file.
57874         * modules/unistdio/ulc-vsprintf: New file.
57875         * modules/unistdio/u8-asnprintf: New file.
57876         * modules/unistdio/u8-asprintf: New file.
57877         * modules/unistdio/u8-printf-parse: New file.
57878         * modules/unistdio/u8-snprintf: New file.
57879         * modules/unistdio/u8-sprintf: New file.
57880         * modules/unistdio/u8-vasnprintf: New file.
57881         * modules/unistdio/u8-vasprintf: New file.
57882         * modules/unistdio/u8-vsnprintf: New file.
57883         * modules/unistdio/u8-vsprintf: New file.
57884         * modules/unistdio/u8-u8-asnprintf: New file.
57885         * modules/unistdio/u8-u8-asprintf: New file.
57886         * modules/unistdio/u8-u8-snprintf: New file.
57887         * modules/unistdio/u8-u8-sprintf: New file.
57888         * modules/unistdio/u8-u8-vasnprintf: New file.
57889         * modules/unistdio/u8-u8-vasprintf: New file.
57890         * modules/unistdio/u8-u8-vsnprintf: New file.
57891         * modules/unistdio/u8-u8-vsprintf: New file.
57892         * modules/unistdio/u16-asnprintf: New file.
57893         * modules/unistdio/u16-asprintf: New file.
57894         * modules/unistdio/u16-printf-parse: New file.
57895         * modules/unistdio/u16-snprintf: New file.
57896         * modules/unistdio/u16-sprintf: New file.
57897         * modules/unistdio/u16-vasnprintf: New file.
57898         * modules/unistdio/u16-vasprintf: New file.
57899         * modules/unistdio/u16-vsnprintf: New file.
57900         * modules/unistdio/u16-vsprintf: New file.
57901         * modules/unistdio/u16-u16-asnprintf: New file.
57902         * modules/unistdio/u16-u16-asprintf: New file.
57903         * modules/unistdio/u16-u16-snprintf: New file.
57904         * modules/unistdio/u16-u16-sprintf: New file.
57905         * modules/unistdio/u16-u16-vasnprintf: New file.
57906         * modules/unistdio/u16-u16-vasprintf: New file.
57907         * modules/unistdio/u16-u16-vsnprintf: New file.
57908         * modules/unistdio/u16-u16-vsprintf: New file.
57909         * modules/unistdio/u32-asnprintf: New file.
57910         * modules/unistdio/u32-asprintf: New file.
57911         * modules/unistdio/u32-printf-parse: New file.
57912         * modules/unistdio/u32-snprintf: New file.
57913         * modules/unistdio/u32-sprintf: New file.
57914         * modules/unistdio/u32-vasnprintf: New file.
57915         * modules/unistdio/u32-vasprintf: New file.
57916         * modules/unistdio/u32-vsnprintf: New file.
57917         * modules/unistdio/u32-vsprintf: New file.
57918         * modules/unistdio/u32-u32-asnprintf: New file.
57919         * modules/unistdio/u32-u32-asprintf: New file.
57920         * modules/unistdio/u32-u32-snprintf: New file.
57921         * modules/unistdio/u32-u32-sprintf: New file.
57922         * modules/unistdio/u32-u32-vasnprintf: New file.
57923         * modules/unistdio/u32-u32-vasprintf: New file.
57924         * modules/unistdio/u32-u32-vsnprintf: New file.
57925         * modules/unistdio/u32-u32-vsprintf: New file.
57926         * modules/unistdio/ulc-asnprintf-tests: New file.
57927         * modules/unistdio/ulc-vasnprintf-tests: New file.
57928         * modules/unistdio/ulc-vasprintf-tests: New file.
57929         * modules/unistdio/ulc-vsnprintf-tests: New file.
57930         * modules/unistdio/ulc-vsprintf-tests: New file.
57931         * modules/unistdio/u8-asnprintf-tests: New file.
57932         * modules/unistdio/u8-vasnprintf-tests: New file.
57933         * modules/unistdio/u8-vasprintf-tests: New file.
57934         * modules/unistdio/u8-vsnprintf-tests: New file.
57935         * modules/unistdio/u8-vsprintf-tests: New file.
57936         * modules/unistdio/u16-asnprintf-tests: New file.
57937         * modules/unistdio/u16-vasnprintf-tests: New file.
57938         * modules/unistdio/u16-vasprintf-tests: New file.
57939         * modules/unistdio/u16-vsnprintf-tests: New file.
57940         * modules/unistdio/u16-vsprintf-tests: New file.
57941         * modules/unistdio/u32-asnprintf-tests: New file.
57942         * modules/unistdio/u32-vasnprintf-tests: New file.
57943         * modules/unistdio/u32-vasprintf-tests: New file.
57944         * modules/unistdio/u32-vsnprintf-tests: New file.
57945         * modules/unistdio/u32-vsprintf-tests: New file.
57946         * MODULES.html.sh (Unicode string functions): Add the new modules.
57947
57948 2007-07-01  Bruno Haible  <bruno@clisp.org>
57949
57950         * lib/sprintf.c (sprintf): Limit the available length estimation,
57951         to avoid address wraparound.
57952         * lib/vsprintf.c (vsprintf): Likewise.
57953         * modules/sprintf-posix (Dependencies): Add stdint.
57954         * modules/vsprintf-posix (Dependencies): Likewise.
57955
57956 2007-07-01  Bruno Haible  <bruno@clisp.org>
57957
57958         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57959         Windows PATH as well. Conservative double-quoting. Comments.
57960
57961 2007-07-01  Bruno Haible  <bruno@clisp.org>
57962             Eric Blake  <ebb9@byu.net>
57963             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57964
57965         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57966         empty components in $PATH, denoting '.'.
57967
57968 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57969
57970         * gnulib-tool: Fix indentation.
57971         (func_create_megatestdir): Likewise.
57972         Report by Bruno Haible.
57973
57974 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57975
57976         Sync from Automake.
57977         * build-aux/gnupload: Fix shell portability issues with for loops.
57978         Report by Karl Berry.
57979
57980 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57981
57982         * build-aux/maint.mk (POURL): Use translationproject.org.
57983
57984 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57985             Bruno Haible  <bruno@clisp.org>
57986
57987         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57988         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57989         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57990         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57991         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57992
57993 2007-06-27  Bruno Haible  <bruno@clisp.org>
57994
57995         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57996         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57997
57998 2007-06-26  Karl Berry  <karl@gnu.org>
57999
58000         * MODULES.html.sh: remove xreadlink-with-size.
58001
58002 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58003
58004         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
58005         method that I hope also handles the double-include problem noted
58006         by Bruno Haible in
58007         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
58008
58009 2007-06-23  Bruno Haible  <bruno@clisp.org>
58010
58011         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58012         Don't let the 'mostlyclean' target fail if the last subdirectory could
58013         not be removed.
58014         Reported by Karl Berry.
58015
58016 2007-06-23  Bruno Haible  <bruno@clisp.org>
58017
58018         * gnulib-tool (echo): Add a speedier workaround for ksh.
58019         * tests/test-echo.sh: Likewise.
58020
58021 2007-06-23  Bruno Haible  <bruno@clisp.org>
58022
58023         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
58024         * tests/test-echo.sh: Likewise.
58025
58026 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58027
58028         * gnulib-tool (IFS): Initialize early, so we don't set it to
58029         empty later.
58030         (self_abspathname): Rewrite algorithm to set it, reindent.
58031         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
58032         (func_create_megatestdir): Merge some sed scripts.
58033
58034 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58035
58036         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
58037         exposed by Sun Studio 11 cc on Solaris 8.
58038
58039 2007-06-22  Bruno Haible  <bruno@clisp.org>
58040
58041         * gnulib-tool (echo): Ensure the echo primitive does not interpret
58042         backslashes.
58043         * tests/test-echo.sh: New file.
58044
58045 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58046
58047         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
58048         simplify `sed_replace_build_aux' scripts, they are portable but
58049         echoing them with `echo' is not.
58050         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
58051
58052 2007-06-21  Karl Berry  <karl@gnu.org>
58053
58054         * config/srclist.txt: guess we can't handle the licenses via
58055         srclist at the moment.
58056
58057 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
58058
58059         * MODULES.html.sh: Add include_next.
58060         * modules/include_next: New file.
58061
58062 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
58063
58064         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
58065         INCLUDE_NEXT.
58066         (gl_CHECK_NEXT_HEADERS): New macro.
58067         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
58068         the obsolescent gl_ABSOLUTE_HEADER.
58069         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
58070         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
58071         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
58072         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58073         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
58074         * m4/math_h.m4 (gl_MATH_H): Likewise.
58075         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58076         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58077         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
58078         * m4/stdint.m4 (gl_STDINT_H): Likewise.
58079         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
58080         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
58081         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
58082         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58083         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58084         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
58085         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
58086         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
58087         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
58088         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
58089         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
58090         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58091         * m4/inttypes.m4 (gl_INTTYPES_H): Define
58092         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
58093         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
58094         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
58095         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
58096         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
58097         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
58098         * lib/float_.h: Likewise.
58099         * lib/inttypes_.h: Likewise.
58100         * lib/math_.h: Likewise.
58101         * lib/search_.h: Likewise.
58102         * lib/signal_.h: Likewise.
58103         * lib/stdint_.h: Likewise.
58104         * lib/stdio_.h: Likewise.
58105         * lib/stdlib_.h: Likewise.
58106         * lib/string_.h: Likewise.
58107         * lib/sys_stat_.h: Likewise.
58108         * lib/sys_time_.h: Likewise.
58109         * lib/time_.h: Likewise.
58110         * lib/unistd_.h: Likewise.
58111         * lib/wchar_.h: Likewise.
58112         * lib/wctype_.h: Likewise.
58113         * lib/dirent_.h: Likewise.
58114         * lib/iconv_.h: Likewise.
58115         * lib/locale_.h: Likewise.
58116         * lib/netinet_in_.h: Likewise.
58117         * lib/sys_select_.h: Likewise.
58118         * lib/sys_socket_.h: Likewise.
58119         * lib/sysexits_.h: Likewise.
58120         * modules/fcntl (Depends-on): Depend on include_next, not
58121         absolute_header.
58122         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
58123         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
58124         * modules/fchdir: Likewise.
58125         * modules/float: Likewise.
58126         * modules/iconv_open: Likewise.
58127         * modules/inttypes: Likewise.
58128         * modules/locale: Likewise.
58129         * modules/math: Likewise.
58130         * modules/netinet_in: Likewise.
58131         * modules/search: Likewise.
58132         * modules/signal: Likewise.
58133         * modules/stdint: Likewise.
58134         * modules/stdio: Likewise.
58135         * modules/stdlib: Likewise.
58136         * modules/string: Likewise.
58137         * modules/sys_select: Likewise.
58138         * modules/sys_socket: Likewise.
58139         * modules/sys_stat: Likewise.
58140         * modules/sys_time: Likewise.
58141         * modules/sysexits: Likewise.
58142         * modules/time: Likewise.
58143         * modules/unistd: Likewise.
58144         * modules/wchar: Likewise.
58145         * modules/wctype: Likewise.
58146         * modules/sys_stat: Change maintainer to "all".
58147         * modules/unistd: Likewise.
58148
58149 2007-06-20  Karl Berry  <karl@gnu.org>
58150
58151         * config/srclist.txt: track www changes in license files.
58152
58153 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
58154
58155         * build-aux/bootstrap: Remove stray dot.
58156         Make sure build_aux settings are honored when linking
58157         gnulib_extra_files.
58158
58159 2007-06-19  Eric Blake  <ebb9@byu.net>
58160
58161         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
58162         Allow compilation on cygwin.
58163
58164 2007-06-19  Jim Meyering  <jim@meyering.net>
58165
58166         xreadlink-with-size: Remove module.  No longer used.
58167         Ex-callers now use xreadlink or mreadlink-with-size.
58168         * modules/xreadlink-with-size: Remove module.
58169         * lib/xreadlink-with-size.c: Remove file.
58170         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58171         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58172         just before the function definition *is* accurate.
58173
58174         Eliminate one way canonicalize_filename_mode could exit.
58175         * lib/canonicalize.c (canonicalize_filename_mode):
58176         Use mreadlink_with_size, not xreadlink_with_size.
58177
58178 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58179
58180         Detect porting problems to FreeBSD/arm, which has time_t wider than
58181         long int.  Original problem reported for GNU diff by Xin Li in
58182         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58183         * modules/getdate (Depends-on): Add intprops, verify.
58184         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58185         is an integer type no wider than long int.
58186
58187 2007-06-18  Jim Meyering  <jim@meyering.net>
58188
58189         New module: mreadlink-with-size.
58190         * MODULES.html.sh: Add mreadlink-with-size.
58191         * modules/mreadlink-with-size: New module
58192         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58193         not xreadlink-with-size.
58194         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58195
58196 2007-06-16  Bruno Haible  <bruno@clisp.org>
58197
58198         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58199         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58200         Reported by Gary V. Vaughan <gary@gnu.org>.
58201
58202 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58203
58204         Revamp lchown so that it lives in unistd.h where it belongs.
58205         * lib/lchown.h: Remove.
58206         * lib/dirchownmod.c: Don't include lib/lchown.h.
58207         * lib/fchownat.c: Likewise.
58208         * lib/openat.c: Likewise.
58209         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58210         does not follow symlinks.
58211         (EOPNOTSUPP): Define if not defined.
58212         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58213         is defined to 0.
58214         (lchown): New decl.
58215         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58216         Do not check for lchown decl.
58217         Set REPLACE_LCHOWN.
58218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58219         REPLACE_LCHOWN.
58220         * modules/chown: Make it clear it follows symlinks.
58221         * modules/lchown: Make it clear it doesn't follow symlinks.
58222         (Files): Remove lib/lchown.h
58223         (Depends-on): Add unistd.
58224         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58225         (Include): Include <unistd.h>, not "lchown.h".
58226         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58227         REPLACE_LCHOWN.
58228
58229 2007-06-15  Jim Meyering  <jim@meyering.net>
58230
58231         Change license (GPL to LGPL) of fsusage and dependents.
58232         * modules/fsusage (License): Change to LGPL.
58233         * modules/full-read (License): Likewise.
58234         * modules/full-write (License): Likewise.
58235         * modules/safe-read (License): Likewise.
58236         * modules/safe-write (License): Likewise.
58237
58238 2007-06-14  Ben Pfaff  <blp@gnu.org>
58239
58240         Missing part of allocsa -> malloca transition.
58241         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58242         gl_MALLOCA.
58243
58244 2007-06-12  Bruno Haible  <bruno@clisp.org>
58245
58246         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58247         to ia64, x86_64, i386.
58248         Reported by Eric Blake.
58249
58250 2007-06-12  Bruno Haible  <bruno@clisp.org>
58251
58252         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58253         cross-compiling to x86_64.
58254
58255 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58256
58257         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58258         glitch reported by Ralf Wildenhues in
58259         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58260
58261         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58262         Vin Shelton.
58263
58264 2007-06-11  Bruno Haible  <bruno@clisp.org>
58265
58266         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58267         replacement string.
58268         Reported by Eric Blake.
58269
58270 2007-06-10  Bruno Haible  <bruno@clisp.org>
58271
58272         Prepare vasnprintf code for use with Unicode strings.
58273         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58274         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58275         TYPE_U32_STRING.
58276         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58277         a_u32_string variants.
58278         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58279         * lib/printf-args.c: Don't include config.h and the specification
58280         header if PRINTF_FETCHARGS is already defined.
58281         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58282         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58283         TYPE_U16_STRING, TYPE_U32_STRING.
58284         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58285         u16_directive, u16_directives, u32_directive, u32_directives): New
58286         types.
58287         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58288         New declarations.
58289         * lib/printf-parse.c: Don't include config.h and the specification
58290         header if PRINTF_PARSE is already defined. Eliminate the set of
58291         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58292         them now. Include c-ctype.h.
58293         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58294         directive and CHAR_T_ONLY_ASCII.
58295         * lib/vasnprintf.c: Don't include config.h and the specification header
58296         if VASNPRINTF is already defined.
58297         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58298         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58299         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58300         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58301         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58302         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58303         code accordingly.
58304         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58305         pad_ourselves also in this case, with the 'c' and 's' directives, and
58306         with a different notion of "width".
58307         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58308
58309 2007-06-10  Bruno Haible  <bruno@clisp.org>
58310
58311         * modules/unistr/u32-mbsnlen: New file.
58312         * lib/unistr/u32-mbsnlen.c: New file.
58313
58314         * modules/unistr/u16-mbsnlen: New file.
58315         * lib/unistr/u16-mbsnlen.c: New file.
58316
58317         * modules/unistr/u8-mbsnlen: New file.
58318         * lib/unistr/u8-mbsnlen.c: New file.
58319
58320         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58321         declarations.
58322
58323 2007-06-10  Bruno Haible  <bruno@clisp.org>
58324
58325         * lib/string_.h (mbsnlen): New declaration.
58326         * lib/mbsnlen.c: New file.
58327         * m4/mbsnlen.m4: New file.
58328         * modules/mbsnlen: New file.
58329         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58330         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58331         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58332
58333 2007-06-10  Bruno Haible  <bruno@clisp.org>
58334
58335         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58336
58337 2007-06-10  Bruno Haible  <bruno@clisp.org>
58338
58339         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58340         * lib/mbuiter.h: Likewise.
58341
58342 2007-06-10  Bruno Haible  <bruno@clisp.org>
58343
58344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58345         declaration.
58346
58347 2007-06-10  Karl Berry  <karl@gnu.org>
58348
58349         * config/srclist.txt: remove gettext entries, Bruno prefers
58350         to update individually.
58351
58352 2007-06-10  Bruno Haible  <bruno@clisp.org>
58353
58354         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58355         'maxlen'. Ensure only length + width bytes are allocated, not
58356         length + 1 + width.
58357
58358 2007-06-09  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58361         (CHAR_T): Remove macro.
58362         (VASNPRINTF): Update.
58363
58364 2007-06-09  Bruno Haible  <bruno@clisp.org>
58365
58366         * MODULES.html.sh (Unicode string functions): Add the new modules.
58367
58368         * modules/uniconv/u32-conv-to-enc: New file.
58369         * lib/uniconv/u32-conv-to-enc.c: New file.
58370         * modules/uniconv/u32-conv-to-enc-tests: New file.
58371         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58372
58373         * modules/uniconv/u16-conv-to-enc: New file.
58374         * lib/uniconv/u16-conv-to-enc.c: New file.
58375         * lib/uniconv/u-conv-to-enc.h: New file.
58376         * modules/uniconv/u16-conv-to-enc-tests: New file.
58377         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58378
58379         * modules/uniconv/u8-conv-to-enc: New file.
58380         * lib/uniconv/u8-conv-to-enc.c: New file.
58381         * modules/uniconv/u8-conv-to-enc-tests: New file.
58382         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58383
58384         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58385         u32_conv_to_encoding): New declarations.
58386
58387 2007-06-09  Bruno Haible  <bruno@clisp.org>
58388
58389         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58390
58391 2007-06-09  Bruno Haible  <bruno@clisp.org>
58392
58393         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58394         * modules/malloca: Renamed from modules/allocsa, updated.
58395         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58396         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58397         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58398         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58399         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58400         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58401         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58402         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58403         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58404         * modules/c-strcasestr (Depends-on): Update.
58405         * lib/c-strcasestr.c: Update.
58406         * modules/c-strstr (Depends-on): Update.
58407         * lib/c-strstr.c: Update.
58408         * modules/canonicalize-lgpl (Depends-on): Update.
58409         * lib/canonicalize-lgpl.c: Update.
58410         * modules/clean-temp (Depends-on): Update.
58411         * lib/clean-temp.c: Update.
58412         * modules/csharpcomp (Depends-on): Update.
58413         * lib/csharpcomp.c: Update.
58414         * modules/csharpexec (Depends-on): Update.
58415         * lib/csharpexec.c: Update.
58416         * modules/javacomp (Depends-on): Update.
58417         * lib/javacomp.c: Update.
58418         * modules/javaexec (Depends-on): Update.
58419         * lib/javaexec.c: Update.
58420         * modules/mbscasestr (Depends-on): Update.
58421         * lib/mbscasestr.c: Update.
58422         * modules/mbsstr (Depends-on): Update.
58423         * lib/mbsstr.c: Update.
58424         * modules/setenv (Depends-on): Update.
58425         * lib/setenv.c: Update.
58426         * modules/strcasestr (Depends-on): Update.
58427         * lib/strcasestr.c: Update.
58428         * modules/striconveha (Depends-on): Update.
58429         * lib/striconveha.c: Update.
58430         * modules/relocatable-prog-wrapper (Files): Update.
58431         * lib/relocwrapper.c: Update.
58432         * build-aux/install-reloc: Update.
58433         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58434
58435 2007-06-08  Bruno Haible  <bruno@clisp.org>
58436
58437         Port to uClibc.
58438         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58439         * lib/fpurge.c (fpurge): Likewise.
58440         * lib/freading.c (freading): Likewise.
58441         * lib/fseeko.c (rpl_fseeko): Likewise.
58442         * lib/fseterr.c (fseterr): Likewise.
58443         * lib/fwriting.c (fwriting): Likewise.
58444         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58445
58446 2007-06-08  Bruno Haible  <bruno@clisp.org>
58447
58448         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58449         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58450         * modules/gettext (Files): Add m4/intlmacosx.m4.
58451
58452 2007-06-07  Bruno Haible  <bruno@clisp.org>
58453
58454         * modules/localename-tests: New file.
58455         * tests/test-localename.c: New file.
58456
58457         New module 'localename'.
58458         * lib/localename.h: New file.
58459         * lib/localename.c: New file, from GNU gettext.
58460         * m4/localename.m4: New file.
58461         * modules/localename: New file.
58462
58463 2007-06-07  Bruno Haible  <bruno@clisp.org>
58464
58465         Work around the lack of <wchar.h> on some builds of uClibc.
58466         * doc/headers/wchar.texi: Update.
58467         * lib/wchar_.h: Include <wchar.h> only if it exists.
58468         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58469         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58470         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58471         doesn't exist.
58472         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58473         * modules/mbfile (Depends-on): Add wchar.
58474         * modules/mbiter (Depends-on): Likewise.
58475         * modules/mbuiter (Depends-on): Likewise.
58476         Reported by Simon Josefsson.
58477
58478 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58479
58480         Work around problem reported by Steven M. Schweda in
58481         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58482         Tru64 5.1B with the Compaq compiler environment installed declares
58483         an 'isblank' function but does not define it in the C library.
58484         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58485         * lib/regex_internal.h (isblank): Likewise.
58486         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58487         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58488
58489 2007-06-05  Bruno Haible  <bruno@clisp.org>
58490
58491         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58492         ia64.
58493         * modules/printf-safe: New file.
58494         * modules/fprintf-posix (Depends-on): Add printf-safe.
58495         * modules/printf-posix (Depends-on): Likewise.
58496         * modules/snprintf-posix (Depends-on): Likewise.
58497         * modules/sprintf-posix (Depends-on): Likewise.
58498         * modules/vasnprintf-posix (Depends-on): Likewise.
58499         * modules/vasprintf-posix (Depends-on): Likewise.
58500         * modules/vfprintf-posix (Depends-on): Likewise.
58501         * modules/vprintf-posix (Depends-on): Likewise.
58502         * modules/vsnprintf-posix (Depends-on): Likewise.
58503         * modules/vsprintf-posix (Depends-on): Likewise.
58504         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58505         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58506         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58507         "no" on i386, x86_64, ia64.
58508         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58509         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58510         on i386, x86_64, ia64.
58511         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58512         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58513         on i386, x86_64, ia64.
58514         * tests/test-vasnprintf-posix.c: Include float.h.
58515         (LDBL80_WORDS): New macro.
58516         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58517         on i386, x86_64, ia64.
58518         * tests/test-vasprintf-posix.c: Include float.h.
58519         (LDBL80_WORDS): New macro.
58520         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58521         on i386, x86_64, ia64.
58522         * tests/test-snprintf-posix.c: Include float.h.
58523         * tests/test-sprintf-posix.c: Likewise.
58524         * tests/test-vsnprintf-posix.c: Likewise.
58525         * tests/test-vsprintf-posix.c: Likewise.
58526
58527 2007-06-05  Bruno Haible  <bruno@clisp.org>
58528
58529         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58530         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58531         non-IEEE numbers on i386, x86_64, ia64.
58532         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58533         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58534         * tests/test-isnanl.h: Include float.h.
58535         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58536
58537 2007-06-05  Bruno Haible  <bruno@clisp.org>
58538
58539         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58540         also the %a / %A. Handle the %a / %A code before this extra handling.
58541
58542 2007-06-05  Bruno Haible  <bruno@clisp.org>
58543
58544         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58545         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58546
58547 2007-06-05  Bruno Haible  <bruno@clisp.org>
58548
58549         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58550         typo in variable name.
58551
58552 2007-06-05  Eric Blake  <ebb9@byu.net>
58553
58554         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58555         Reported by Simon Josefsson.
58556
58557 2007-06-04  Bruno Haible  <bruno@clisp.org>
58558
58559         Avoid test failures on some PowerPC platforms.
58560         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58561         Define differently for PowerPC.
58562         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58563         Reported by Gary V. Vaughan <gary@gnu.org>.
58564
58565 2007-06-02  Bruno Haible  <bruno@clisp.org>
58566
58567         Fix test-stdint failure on FreeBSD/ia64.
58568         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58569         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58570         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58571         * doc/headers/stdint.texi: Update.
58572
58573 2007-06-01  Bruno Haible  <bruno@clisp.org>
58574
58575         * tests/test-binary-io.c (main): Pass a third argument to open().
58576         Reported by Gary V. Vaughan <gary@gnu.org>.
58577
58578 2007-06-01  Bruno Haible  <bruno@clisp.org>
58579
58580         * doc/functions/frexpl.texi: Update for mingw.
58581
58582 2007-06-01  Bruno Haible  <bruno@clisp.org>
58583
58584         * tests/test-lseek.c (main): Disable test of errno for invalid third
58585         argument.
58586         * doc/functions/lseek.texi: Update.
58587         Reported by Gary V. Vaughan <gary@gnu.org>.
58588
58589 2007-05-28  Bruno Haible  <bruno@clisp.org>
58590
58591         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58592
58593 2007-05-31  Eric Blake  <ebb9@byu.net>
58594
58595         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58596         cross compiling.
58597
58598 2007-05-30  Eric Blake  <ebb9@byu.net>
58599         and Bruno Haible  <bruno@clisp.org>
58600
58601         Work around mingw test failures exposed by m4-1.4.9b.
58602         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58603         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58604         moment.
58605
58606 2007-05-30  Bruno Haible  <bruno@clisp.org>
58607
58608         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58609         assuming that they are closed. Needed on HP-UX 11.
58610
58611 2007-05-29  Bruno Haible  <bruno@clisp.org>
58612
58613         Fix a problem with #include_next.
58614         * lib/dirent_.h: Split the double-inclusion guard.
58615         * lib/fcntl_.h: Likewise.
58616         * lib/float_.h: Likewise.
58617         * lib/iconv_.h: Likewise.
58618         * lib/inttypes_.h: Likewise.
58619         * lib/locale_.h: Likewise.
58620         * lib/math_.h: Likewise.
58621         * lib/netinet_in_.h: Likewise.
58622         * lib/search_.h: Likewise.
58623         * lib/signal_.h: Likewise.
58624         * lib/stdint_.h: Likewise.
58625         * lib/stdio_.h: Likewise.
58626         * lib/stdlib_.h: Likewise.
58627         * lib/string_.h: Likewise.
58628         * lib/sys_select_.h: Likewise.
58629         * lib/sys_socket_.h: Likewise.
58630         * lib/sys_stat_.h: Likewise.
58631         * lib/sys_time_.h: Likewise.
58632         * lib/sysexits_.h: Likewise.
58633         * lib/time_.h: Likewise.
58634         * lib/unistd_.h: Likewise.
58635         * lib/wchar_.h: Likewise.
58636         * lib/wctype_.h: Likewise.
58637
58638 2007-05-29  Bruno Haible  <bruno@clisp.org>
58639
58640         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58641         for the moment.
58642
58643 2007-05-29  Bruno Haible  <bruno@clisp.org>
58644
58645         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58646         invocation.
58647         Reported by Eric Blake.
58648
58649 2007-05-29  Bruno Haible  <bruno@clisp.org>
58650
58651         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58652         compiling case.
58653
58654 2007-05-29  Eric Blake  <ebb9@byu.net>
58655             Bruno Haible  <bruno@clisp.org>
58656
58657         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58658         cross compiles.
58659
58660 2007-05-28  Eric Blake  <ebb9@byu.net>
58661
58662         * modules/closein-tests (test_closein_LDADD): Support test on
58663         cygwin with libtool.
58664
58665 2007-05-28  Bruno Haible  <bruno@clisp.org>
58666
58667         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58668         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58669         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58670         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58671         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58672         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58673         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58674         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58675         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58676
58677 2007-05-28  Eric Blake  <ebb9@byu.net>
58678
58679         Unconditionally include <config.h> in unit tests.
58680         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58681         * tests/test-allocsa.c, tests/test-arcfour.c,
58682         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58683         tests/test-array_list.c, tests/test-array_oset.c,
58684         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58685         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58686         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58687         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58688         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58689         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58690         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58691         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58692         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58693         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58694         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58695         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58696         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58697         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58698         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58699         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58700         test-md5.c, test-memmem.c, test-printf-posix.c,
58701         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58702         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58703         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58704         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58705         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58706         test-vasnprintf-posix2.c, test-vasnprintf.c,
58707         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58708         test-vfprintf-posix.c, test-vprintf-posix.c,
58709         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58710         test-xvasprintf.c: Likewise.
58711
58712 2007-05-28  Bruno Haible  <bruno@clisp.org>
58713
58714         * gnulib-tool (func_import): Remember the --with-tests command-line
58715         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58716         Reported by Eric Blake.
58717
58718 2007-05-28  Bruno Haible  <bruno@clisp.org>
58719
58720         * modules/ftell-tests: New file.
58721         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58722         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58723
58724         * lib/ftell.c: New file.
58725         * modules/ftell: New file.
58726         * m4/ftell.m4: New file.
58727         * doc/functions/ftell.texi: Update.
58728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58729         REPLACE_FTELL.
58730         * lib/stdio_.h (rpl_ftell): New declaration.
58731         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58732         REPLACE_FTELL.
58733
58734 2007-05-28  Eric Blake  <ebb9@byu.net>
58735
58736         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58737
58738 2007-05-28  Bruno Haible  <bruno@clisp.org>
58739
58740         * modules/fseek-tests: New file.
58741         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58742         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58743
58744         * lib/fseek.c: New file.
58745         * modules/fseek: New file.
58746         * m4/fseek.m4: New file.
58747         * doc/functions/fseek.texi: Update.
58748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58749         REPLACE_FSEEK.
58750         * lib/stdio_.h (rpl_fseek): New declaration.
58751         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58752         REPLACE_FSEEK.
58753
58754 2007-05-28  Bruno Haible  <bruno@clisp.org>
58755
58756         * lib/stdio_.h (fflush): More comments.
58757
58758 2007-05-28  Bruno Haible  <bruno@clisp.org>
58759
58760         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58761         runtime test.
58762
58763 2007-05-28  Eric Blake  <ebb9@byu.net>
58764
58765         Improve lseek module.
58766         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58767         * lib/unistd_.h (lseek): Scale back link warning message.
58768         * tests/test-lseek.c: Beef up test.
58769         * tests/test-lseek.sh: Exercise more facets of lseek.
58770         Reported by Bruno Haible.
58771
58772 2007-05-28  Bruno Haible  <bruno@clisp.org>
58773
58774         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58775         to define.
58776
58777 2007-05-27  Bruno Haible  <bruno@clisp.org>
58778
58779         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58780
58781 2007-05-27  Bruno Haible  <bruno@clisp.org>
58782
58783         * modules/openmp: New file.
58784         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58785         Noah Misch.
58786
58787 2007-05-26  Bruno Haible  <bruno@clisp.org>
58788
58789         * modules/chdir-long (Depends-on): Add fchdir.
58790         * modules/chdir-safer (Depends-on): Likewise.
58791         * modules/fts (Depends-on): Likewise.
58792         * modules/fts-lgpl (Depends-on): Likewise.
58793         * modules/openat (Depends-on): Likewise.
58794         * modules/savewd (Depends-on): Likewise.
58795
58796 2007-05-24  Eric Blake  <ebb9@byu.net>
58797
58798         Fix lseek on mingw.
58799         * modules/lseek: New module.
58800         * m4/lseek.m4: New file.
58801         * lib/lseek.c: New file.
58802         * modules/lseek-tests: New file.
58803         * tests/test-lseek.c: New file.
58804         * tests/test-lseek.sh: New file.
58805         * MODULES.html.sh: Document lseek module.
58806         * modules/fflush (Depends-on): Add lseek, fseeko.
58807         * modules/fseeko (Depends-on): Likewise.
58808         * modules/ftello (Depends-on): Likewise.
58809         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58810         broken.
58811         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58812         broken.
58813         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58814         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58815         * lib/ftello.c (rpl_ftello): Likewise.
58816         * tests/test-fseeko.c (main): Test this.
58817         * tests/test-fseeko.sh: Likewise.
58818         * tests/test-ftello.c (main): Likewise.
58819         * tests/test-ftello.sh: Likewise.
58820         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58821         implies replacing fseek.
58822         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58823         HAVE_FTELLO.
58824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58825         * modules/unistd (Makefile.am): Likewise.
58826         * lib/unistd_.h (lseek): Declare a replacement.
58827         * doc/functions/lseek.texi (lseek): Document this fix.
58828         * doc/functions/fseek.texi (fseek): Likewise.
58829         * doc/functions/ftell.texi (ftell): Likewise.
58830
58831 2007-05-24  Bruno Haible  <bruno@clisp.org>
58832
58833         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58834         in the printed representation of a NaN.
58835         * tests/test-vasprintf-posix.c (test_function): Likewise.
58836         * tests/test-snprintf-posix.h (test_function): Likewise.
58837         * tests/test-sprintf-posix.h (test_function): Likewise.
58838         Reported by Eric Blake.
58839
58840 2007-05-23  Eric Blake  <ebb9@byu.net>
58841
58842         Fix fseeko/ftello on cygwin 1.5.24.
58843         * doc/functions/fseeko.texi (fseeko): Document the fix.
58844         * doc/functions/ftello.texi (ftello): Document the fix.
58845         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58846         * doc/functions/stdout.text (stdout): New file.
58847         * doc/functions/stderr.text (stderr): New file.
58848         * doc/gnulib.texi (Function Substitutes): Use new files.
58849         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58850         prior to 1.7.0.
58851         * tests/test-ftello.c (main): Likewise for ftello.
58852         * tests/test-fseeko.sh: New file.
58853         * tests/test-ftello.sh: New file.
58854         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58855         with seekable stdin.
58856         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58857         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58858         (gl_REPLACE_FSEEKO): New macro.
58859         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58860         * modules/fseeko (Files): Distribute fseeko.c.
58861         * modules/ftello (Files): Distribute ftello.c.
58862         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58863         mode.
58864         * lib/ftello.c (rpl_ftello): New file.
58865         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58866         fseeko, ftello.
58867         (gl_STDIN_LARGE_OFFSET): New macro.
58868         * modules/stdio (Makefile.am): Perform the replacement.
58869         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58870
58871 2007-05-23  Bruno Haible  <bruno@clisp.org>
58872
58873         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58874         GNULIB_POSIXCHECK is defined.
58875
58876 2007-05-21  Bruno Haible  <bruno@clisp.org>
58877
58878         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58879         Check also the output for NaN arguments. When cross-compiling, guess
58880         no on IRIX.
58881         * lib/vasnprintf.c: Update comments.
58882         * tests/test-vasnprintf-posix.c (strisnan): New function.
58883         (test_function): Use it.
58884         * tests/test-vasprintf-posix.c (strisnan): New function.
58885         (test_function): Use it.
58886         * tests/test-snprintf-posix.h (strisnan): New function.
58887         (test_function): Use it.
58888         * tests/test-sprintf-posix.h (strisnan): New function.
58889         (test_function): Use it.
58890         Reported by Eric Blake.
58891
58892 2007-05-20  Bruno Haible  <bruno@clisp.org>
58893
58894         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58895         numbers that fails on BeOS.
58896         * doc/functions/frexpl.texi: Update.
58897
58898 2007-05-20  Jim Meyering  <jim@meyering.net>
58899
58900         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58901         forced upon us by glibc-2.6.
58902
58903 2007-05-20  Bruno Haible  <bruno@clisp.org>
58904
58905         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58906         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58907         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58908         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58909         NEED_PRINTF_INFINITE.
58910         (is_infinitel): New function.
58911         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58912         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58913         gl_PREREQ_VASNPRINTF_INFINITE.
58914         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58915         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58916         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58917         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58918         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58919         gl_PREREQ_VASNPRINTF_INFINITE.
58920         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58921         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58922         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58923         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58924         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58925         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58926         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58927         * doc/functions/fprintf.texi: Update.
58928         * doc/functions/printf.texi: Update.
58929         * doc/functions/snprintf.texi: Update.
58930         * doc/functions/sprintf.texi: Update.
58931         * doc/functions/vfprintf.texi: Update.
58932         * doc/functions/vprintf.texi: Update.
58933         * doc/functions/vsnprintf.texi: Update.
58934         * doc/functions/vsprintf.texi: Update.
58935
58936 2007-05-20  Bruno Haible  <bruno@clisp.org>
58937
58938         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58939         was not found in libc.
58940         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58941
58942 2007-05-20  Bruno Haible  <bruno@clisp.org>
58943
58944         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58945         printed as "-nan" instead of "nan".
58946         * tests/test-vasprintf-posix.c (test_function): Likewise.
58947         * tests/test-snprintf-posix.h (test_function): Likewise.
58948         * tests/test-sprintf-posix.h (test_function): Likewise.
58949         Needed for HP-UX 11.
58950
58951 2007-05-20  Jim Meyering  <jim@meyering.net>
58952
58953         Fix buggy test for the fchownat-deref bug.
58954         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58955         symlink required for the run-test.  Without it, this test would
58956         always declare that fchownat doesn't work, and client code would
58957         unnecessarily use the replacement function with fixed libc.
58958         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58959         Reported by Greg Schafer.
58960
58961 2007-05-19  Bruno Haible  <bruno@clisp.org>
58962
58963         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58964         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58965         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58966         Needed for IRIX 6.5 and Solaris 2.5.1.
58967
58968 2007-05-19  Bruno Haible  <bruno@clisp.org>
58969
58970         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58971         (test_function): Skip tests involving -0.0 on platforms where
58972         -0.0 = 0.0.
58973         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58974         (test_function): Skip tests involving -0.0 on platforms where
58975         -0.0 = 0.0.
58976         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58977         (test_function): Skip tests involving -0.0 on platforms where
58978         -0.0 = 0.0.
58979         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58980         (test_function): Skip tests involving -0.0 on platforms where
58981         -0.0 = 0.0.
58982         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58983         tests.
58984         * tests/test-printf-posix.h (test_function): Likewise.
58985         * tests/test-printf-posix.output: Remove all -0.0 related results.
58986         Needed for IRIX 6.5.
58987
58988 2007-05-19  Bruno Haible  <bruno@clisp.org>
58989
58990         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58991         printed as "nan0x7fffffff" instead of "nan".
58992         * tests/test-vasprintf-posix.c (test_function): Likewise.
58993         * tests/test-snprintf-posix.h (test_function): Likewise.
58994         * tests/test-sprintf-posix.h (test_function): Likewise.
58995         * tests/test-fprintf-posix.h (NaN): Remove macro.
58996         (test_function): Remove all NaN related tests.
58997         * tests/test-printf-posix.h (NaN): Remove macro.
58998         (test_function): Remove all NaN related tests.
58999         * tests/test-printf-posix.output: Remove all NaN related results.
59000         Needed for IRIX 6.5.
59001
59002 2007-05-19  Bruno Haible  <bruno@clisp.org>
59003
59004         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
59005         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
59006
59007 2007-05-19  Bruno Haible  <bruno@clisp.org>
59008
59009         * lib/float_.h: New file.
59010         * m4/float_h.m4: New file.
59011         * modules/float: New file.
59012         * modules/isnanl (Dependencies): Add float.
59013         * modules/isnanl-nolibm (Dependencies): Likewise.
59014         * modules/mathl (Dependencies): Likewise.
59015         * modules/printf-frexpl (Dependencies): Likewise.
59016         * modules/signbit (Dependencies): Likewise.
59017         * modules/vasnprintf (Dependencies): Likewise.
59018         * doc/headers/float.texi: Update.
59019
59020 2007-05-19  Jim Meyering  <jim@meyering.net>
59021
59022         * lib/utimens.c (gl_futimens): Rename from futimens,
59023         now that glibc-2.6 declares futimens.
59024         * lib/utimens.h: Likewise.
59025
59026 2007-05-19  Bruno Haible  <bruno@clisp.org>
59027
59028         Avoid test failures on mingw.
59029         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
59030         * tests/test-printf-posix.sh: Likewise.
59031         * tests/test-vfprintf-posix.sh: Likewise.
59032         * tests/test-vprintf-posix.sh: Likewise.
59033
59034 2007-05-19  Bruno Haible  <bruno@clisp.org>
59035
59036         Fix *printf result for NaN, Inf, -0.0 on mingw.
59037         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
59038         * lib/vasnprintf.c: Include math.h and isnan.h.
59039         (is_infinite_or_zero): New function.
59040         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
59041         values in the %f, %F, %e, %E, %g, %G directives.
59042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
59043         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59044         gl_PRINTF_INFINITE and test its result. Invoke
59045         gl_PREREQ_VASNPRINTF_INFINITE.
59046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59047         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59048         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59049         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59050         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59051         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59052         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59053         * doc/functions/fprintf.texi: Update.
59054         * doc/functions/printf.texi: Update.
59055         * doc/functions/snprintf.texi: Update.
59056         * doc/functions/sprintf.texi: Update.
59057         * doc/functions/vfprintf.texi: Update.
59058         * doc/functions/vprintf.texi: Update.
59059         * doc/functions/vsnprintf.texi: Update.
59060         * doc/functions/vsprintf.texi: Update.
59061
59062 2007-05-19  Bruno Haible  <bruno@clisp.org>
59063
59064         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
59065         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
59066         Instead of multiplying with 10^k, set extra_zeroes to k.
59067         (scale10_round_long_double): Remove function.
59068
59069 2007-05-18  Bruno Haible  <bruno@clisp.org>
59070
59071         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
59072         introduced on 2007-05-06.
59073
59074 2007-05-18  Bruno Haible  <bruno@clisp.org>
59075
59076         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
59077         %g directives.
59078         * tests/test-vasprintf-posix.c (test_function): Likewise.
59079         * tests/test-snprintf-posix.h (test_function): Likewise.
59080         * tests/test-sprintf-posix.h (test_function): Likewise.
59081
59082 2007-05-18  Bruno Haible  <bruno@clisp.org>
59083
59084         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
59085         (strmatch): New function.
59086         (test_function): Test the %f directive on numbers of various exponents.
59087         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
59088         (strmatch): New function.
59089         (test_function): Test the %f directive on numbers of various exponents.
59090         * tests/test-snprintf-posix.h (strmatch): New function.
59091         (test_function): Test the %f directive on numbers of various exponents.
59092         * tests/test-sprintf-posix.h (strmatch): New function.
59093         (test_function): Test the %f directive on numbers of various exponents.
59094         * tests/test-snprintf-posix.c (SIZEOF): New macro.
59095         * tests/test-sprintf-posix.c (SIZEOF): New macro.
59096         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
59097         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
59098
59099 2007-05-18  Bruno Haible  <bruno@clisp.org>
59100
59101         Add support for 'long double' number output.
59102         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
59103         * lib/vasnprintf.c: Include math.h and float+.h.
59104         (mp_limb_t): New type.
59105         (GMP_LIMB_BITS): New macro.
59106         (mp_twolimb_t): New type.
59107         (GMP_TWOLIMB_BITS): New macro.
59108         (mpn_t): New type.
59109         (multiply, divide, convert_to_decimal, decode_long_double,
59110         scale10_round_long_double, scale10_round_decimal_long_double,
59111         floorlog10l): New functions.
59112         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
59113         for the %f, %F, %e, %E, %g, %G directives.
59114         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
59115         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59116         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
59117         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
59118         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59119         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59120         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59121         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59122         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59123         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59124         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59125         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
59126         * modules/snprintf-posix (Depends-on): Likewise.
59127         * modules/sprintf-posix (Depends-on): Likewise.
59128         * modules/vasnprintf-posix (Depends-on): Likewise.
59129         * modules/vasprintf-posix (Depends-on): Likewise.
59130         * modules/vfprintf-posix (Depends-on): Likewise.
59131         * modules/vsnprintf-posix (Depends-on): Likewise.
59132         * modules/vsprintf-posix (Depends-on): Likewise.
59133         * modules/vasnprintf (Files): Add lib/float+.h.
59134         * doc/functions/fprintf.texi: Update.
59135         * doc/functions/printf.texi: Update.
59136         * doc/functions/snprintf.texi: Update.
59137         * doc/functions/sprintf.texi: Update.
59138         * doc/functions/vfprintf.texi: Update.
59139         * doc/functions/vprintf.texi: Update.
59140         * doc/functions/vsnprintf.texi: Update.
59141         * doc/functions/vsprintf.texi: Update.
59142
59143 2007-05-18  Bruno Haible  <bruno@clisp.org>
59144
59145         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
59146
59147 2007-05-18  Bruno Haible  <bruno@clisp.org>
59148
59149         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
59150         for printing 64-bit integers. Needed for mingw.
59151
59152 2007-05-18  Bruno Haible  <bruno@clisp.org>
59153
59154         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59155         gl_FUNC_FREXPL_WORKS.
59156         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
59157
59158 2007-05-18  Bruno Haible  <bruno@clisp.org>
59159
59160         * modules/frexpl-nolibm-tests: New file.
59161
59162         * modules/frexpl-nolibm: New file.
59163         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
59164
59165 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59166
59167         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
59168         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59169         GCC 4.2, which otherwise issues a lot of warnings.
59170         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59171         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59172         Likewise.
59173         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59174         * modules/iconv_open (iconv.h): Likewise.
59175         * modules/locale (locale.h): Likewise.
59176         * modules/netinet_in (netinet/in.h): Likewise.
59177         * modules/sys_select (sys_select.h): Likewise.
59178         * modules/sys_socket (sys/socket.h): Likewise.
59179         * modules/sys_stat (sys/stat.h): Likewise.
59180         * modules/sysexits (sysexits.h): Likewise.
59181         * modules/unistd (unistd.h): Likewise.
59182
59183 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59184
59185         * modules/closein-tests (Makefile.am): Distribute
59186         `test-closein.sh'.
59187
59188 2007-05-17  Bruno Haible  <bruno@clisp.org>
59189
59190         * tests/test-printf-posix.output: Renamed from
59191         tests/test-fprintf-posix.out.
59192         * modules/fprintf-posix-tests: Update.
59193         * modules/printf-posix-tests: Update.
59194         * modules/vfprintf-posix-tests: Update.
59195         * modules/vprintf-posix-tests: Update.
59196         * tests/test-fprintf-posix.sh: Update.
59197         * tests/test-printf-posix.sh: Update.
59198         * tests/test-vfprintf-posix.sh: Update.
59199         * tests/test-vprintf-posix.sh: Update.
59200         Reported by Ralf Wildenhues.
59201
59202 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59203
59204         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59205         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59206         GCC 4.2, which otherwise issues a lot of warnings.
59207         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59208         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59209         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59210         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59211         it should no longer be needed.
59212         * lib/string_.h: Likewise.
59213         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59214         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59215         * modules/inttypes (inttypes.h): Likewise.
59216         * modules/math (math.h): Likewise.
59217         * modules/search (search.h): Likewise.
59218         * modules/signal (signal.h): Likewise.
59219         * modules/stdint (stdint.h): Likewise.
59220         * modules/stdio (stdio.h): Likewise.
59221         * modules/stdlib (stdlib.h): Likewise.
59222         * modules/string (string.h): Likewise.
59223         * modules/sys_time (sys/time.h): Likewise.
59224         * modules/time (time.h): Likewise.
59225         * modules/wchar (wchar.h): Likewise.
59226         * modules/wctype (wtype.h): Likewise.
59227
59228 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59229
59230         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59231
59232 2007-05-13  Bruno Haible  <bruno@clisp.org>
59233
59234         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59235         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59236         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59237         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59238         (gl_PREREQ_STRTOK_R): Don't require it here.
59239
59240 2007-05-13  Bruno Haible  <bruno@clisp.org>
59241
59242         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59243         when used in C++ mode.
59244
59245 2007-05-12  Bruno Haible  <bruno@clisp.org>
59246
59247         * lib/linebuffer.h: Tweak doc.
59248         * lib/linebuffer.c: Likewise.
59249
59250 2007-05-12  James Youngman  <jay@gnu.org>
59251
59252         * lib/linebuffer.c (readlinebuffer_delim): New function,
59253         like readlinebuffer, but use a caller-specified delimiter.
59254         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59255         as the delimiter.
59256         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59257
59258 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59259
59260         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59261         * modules/openat (Files): Remove openat-die.c.
59262         (Depends-on): Add openat-die.
59263         * modules/openat-die: New module.
59264
59265 2007-05-06  Bruno Haible  <bruno@clisp.org>
59266
59267         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59268         Update with info about Cygwin.
59269         * doc/functions/fprintf.texi: Update.
59270         * doc/functions/printf.texi: Update.
59271         * doc/functions/snprintf.texi: Update.
59272         * doc/functions/sprintf.texi: Update.
59273         * doc/functions/vfprintf.texi: Update.
59274         * doc/functions/vprintf.texi: Update.
59275         * doc/functions/vsnprintf.texi: Update.
59276         * doc/functions/vsprintf.texi: Update.
59277         Reported by Eric Blake.
59278
59279 2007-05-06  Bruno Haible  <bruno@clisp.org>
59280
59281         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59282         padding ourselves for the floating-point directives.
59283         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59284         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59285         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59286         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59287         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59288         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59289         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59290         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59291         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59292         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59293         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59294         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59295         * tests/test-snprintf-posix.h (test_function): Also check the width
59296         and some flags in the %f directive.
59297         * tests/test-sprintf-posix.h (test_function): Likewise.
59298         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59299         * tests/test-vasprintf-posix.c (test_function): Likewise.
59300         * doc/functions/fprintf.texi: Update.
59301         * doc/functions/printf.texi: Update.
59302         * doc/functions/snprintf.texi: Update.
59303         * doc/functions/sprintf.texi: Update.
59304         * doc/functions/vfprintf.texi: Update.
59305         * doc/functions/vprintf.texi: Update.
59306         * doc/functions/vsnprintf.texi: Update.
59307         * doc/functions/vsprintf.texi: Update.
59308
59309 2007-05-06  Bruno Haible  <bruno@clisp.org>
59310
59311         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59312         pass the ' flag character to sprintf or snprintf.
59313         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59314         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59315         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59316         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59317         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59318         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59319         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59320         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59321         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59322         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59323         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59324         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59325         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59326         flag.
59327         * tests/test-sprintf-posix.h (test_function): Likewise.
59328         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59329         * tests/test-vasprintf-posix.c (test_function): Likewise.
59330         * doc/functions/fprintf.texi: Update.
59331         * doc/functions/printf.texi: Update.
59332         * doc/functions/snprintf.texi: Update.
59333         * doc/functions/sprintf.texi: Update.
59334         * doc/functions/vfprintf.texi: Update.
59335         * doc/functions/vprintf.texi: Update.
59336         * doc/functions/vsnprintf.texi: Update.
59337         * doc/functions/vsprintf.texi: Update.
59338
59339 2007-05-01  Bruno Haible  <bruno@clisp.org>
59340
59341         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59342
59343 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59344
59345         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59346         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59347
59348 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59349
59350         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59351         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59352         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59353
59354 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59355
59356         * lib/argp-help.c (struct hol_entry): New member `ord'.
59357         (HOL_ENTRY_PTRCMP): Use ord for comparison
59358         (hol_sort): Initialize ord.
59359
59360 2007-05-01  Bruno Haible  <bruno@clisp.org>
59361
59362         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59363         Reported by Eric Blake.
59364         * doc/gnulib.texi (Function Substitutes): Update.
59365
59366 2007-05-01  Bruno Haible  <bruno@clisp.org>
59367
59368         * doc/functions.texi: Remove file, now redundant through
59369         doc/functions/*.texi.
59370
59371 2007-05-01  Bruno Haible  <bruno@clisp.org>
59372
59373         * modules/argp (Depends-on): Add sleep.
59374
59375 2007-05-01  Bruno Haible  <bruno@clisp.org>
59376
59377         * modules/sleep-tests: New file.
59378         * tests/test-sleep.c: New file.
59379
59380         * modules/sleep: New file.
59381         * lib/sleep.c: New file.
59382         * m4/sleep.m4: New file.
59383         * lib/unistd_.h (sleep): New declaration.
59384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59385         HAVE_SLEEP.
59386         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59387         * doc/functions/sleep.texi: Document the sleep module.
59388
59389 2007-05-01  Bruno Haible  <bruno@clisp.org>
59390
59391         * lib/sigprocmask.h: Remove file.
59392         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59393         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59394         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59395         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59396         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59397         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59398         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59399         HAVE_SIGSET_T as a shell variable.
59400         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59401         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59402         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59403         (Depends-on): Add signal. Remove verify.
59404         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59405         (Include): Mention <signal.h> instead of sigprocmask.h.
59406         * NEWS: Mention the change.
59407         * lib/fatal-signal.c: Don't include sigprocmask.h.
59408
59409 2007-05-01  Bruno Haible  <bruno@clisp.org>
59410
59411         * modules/signal: New file.
59412         * lib/signal_.h: New file.
59413         * m4/signal_h.m4: New file.
59414
59415 2007-05-01  Bruno Haible  <bruno@clisp.org>
59416
59417         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59418         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59419         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59420         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59421
59422 2007-05-01  Bruno Haible  <bruno@clisp.org>
59423
59424         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59425         configure time.
59426         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59427         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59428         * modules/sys_stat (Makefile.am): Substitute their values into
59429         sys/stat.h.
59430
59431 2007-05-01  Bruno Haible  <bruno@clisp.org>
59432
59433         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59434         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59435         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59436
59437 2007-05-01  Bruno Haible  <bruno@clisp.org>
59438
59439         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59440         'assert' module here.
59441
59442 2007-05-01  Bruno Haible  <bruno@clisp.org>
59443
59444         * doc/functions/*.texi: New files.
59445         * doc/functions/google-ranking.txt: New file.
59446         * doc/gnulib.texi (Function Substitutes): New chapter.
59447         (ctime, inet_ntoa): Remove sections.
59448         * doc/ctime.texi: Remove file.
59449         * doc/inet_ntoa.texi: Remove file.
59450         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59451         dependencies.
59452         (%.info): New rule, specifying a --reference-limit.
59453
59454 2007-05-01  Bruno Haible  <bruno@clisp.org>
59455
59456         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59457
59458 2007-05-01  Bruno Haible  <bruno@clisp.org>
59459
59460         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59461         the portability of 'mkdir' to mingw systems.
59462
59463 2007-05-01  Bruno Haible  <bruno@clisp.org>
59464
59465         * doc/headers/google-ranking.txt: New file.
59466
59467 2007-04-30  Eric Blake  <ebb9@byu.net>
59468
59469         Prefer fseeko to fseek.
59470         * modules/getpass (Depends-on): Add fseeko.
59471         * lib/getpass.c (getpass): Use fseeko, not fseek.
59472
59473 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59474
59475         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59476         assumes the sorting is stable, while most qsort implementations
59477         are not.  Use argument addresses to ensure they never compare as
59478         equal.
59479
59480         * tests/test-argp-2.sh (usage-indent test): Fix output
59481         (func_compare): Restore diff options
59482         * tests/test-argp.c: Restore #include "progname.h"
59483
59484 2007-04-29  Bruno Haible  <bruno@clisp.org>
59485
59486         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59488         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59489         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59490         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59491         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59492         (TESTS, check_PROGRAMS): Add test-snprintf.
59493         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59494         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59495         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59496         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59497         assertions that fail on HP-UX, OSF/1, or IRIX.
59498         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59499
59500 2007-04-29  Bruno Haible  <bruno@clisp.org>
59501
59502         * MODULES.html.sh (posix_functions): Remove 'contents'.
59503
59504 2007-04-29  Karl Berry  <karl@gnu.org>
59505
59506         * config/srclist.txt (gendocs_template_min): new entry.
59507
59508 2007-04-29  Bruno Haible  <bruno@clisp.org>
59509
59510         Work around fpurge bug on BSD systems.
59511         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59512         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59513         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59514         fpurge to rpl_fpurge if the system already has this function.
59515         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59516         the case where the system already has this function. Correct invariants
59517         on BSD systems.
59518         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59519         BSD systems.
59520
59521 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59522
59523         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59524         proposed by Sven Verdoolaege.
59525
59526         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59527         options.
59528         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59529         (usage and help tests): Update
59530
59531 2007-04-29  Bruno Haible  <bruno@clisp.org>
59532
59533         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59534         Print more information in case of failure. Disable a test on BeOS.
59535
59536 2007-04-29  Bruno Haible  <bruno@clisp.org>
59537
59538         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59539         This helps debugging on systems on which no gdb is available.
59540
59541 2007-04-29  Bruno Haible  <bruno@clisp.org>
59542
59543         * lib/freading.h: Improve comments.
59544         * lib/fwriting.h: Likewise.
59545         * tests/test-freading.c (main): Don't check freading immediately after
59546         repositioning. Needed for glibc.
59547
59548 2007-04-29  Bruno Haible  <bruno@clisp.org>
59549
59550         * lib/freading.c (freading): Trivial simplification.
59551
59552 2007-04-28  Bruno Haible  <bruno@clisp.org>
59553
59554         * tests/test-fwriting.c (main): Also test the interaction between
59555         fflush and fwriting.
59556         * modules/fwriting-tests (Depends-on): Add fflush.
59557
59558         * tests/test-freading.c (main): Also test the interaction between
59559         fflush and freading.
59560         * modules/freading-tests (Depends-on): Add fflush.
59561
59562 2007-04-28  Bruno Haible  <bruno@clisp.org>
59563
59564         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59565         fseeko and ftello.
59566         Suggested by Eric Blake.
59567
59568 2007-04-28  Jim Meyering  <jim@meyering.net>
59569
59570         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59571         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59572         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59573
59574 2007-04-27  Eric Blake  <ebb9@byu.net>
59575
59576         * doc/headers/assert.texi (assert.h): Document assert module use.
59577
59578 2007-04-27  Bruno Haible  <bruno@clisp.org>
59579
59580         * doc/headers/*.texi: New files.
59581         * doc/gnulib.texi (Header File Substitutes): New chapter.
59582         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59583         dependencies.
59584         (standards.info ,standards.html, standards.dvi): Update dependencies.
59585         (mostlyclean, clean): New targets.
59586
59587 2007-04-27  Bruno Haible  <bruno@clisp.org>
59588
59589         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59590         * modules/sysexits (Files, Makefile.am): Update.
59591
59592         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59593         * modules/sys_socket (Files, Makefile.am): Update.
59594
59595         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59596         * modules/sys_stat (Files, Makefile.am): Update.
59597
59598 2007-04-27  Eric Blake  <ebb9@byu.net>
59599
59600         * lib/freading.h: Improve comments.
59601         * lib/fwriting.h: Likewise.
59602         * lib/fflush.c: Likewise.
59603
59604         Fix closein for mingw.
59605         * modules/closein-tests: Add tests for closein.
59606         * tests/test-closein.c: New file.
59607         * tests/test-closein.sh: Likewise.
59608         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59609         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59610
59611 2007-04-27  Bruno Haible  <bruno@clisp.org>
59612
59613         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59614         version is < 6.
59615         * lib/math_.h [__DECC]: Likewise.
59616         * lib/stdio_.h [__DECC]: Likewise.
59617         * lib/stdlib_.h [__DECC]: Likewise.
59618         * lib/string_.h [__DECC]: Likewise.
59619         * lib/time_.h [__DECC]: Likewise.
59620         * lib/wchar_.h [__DECC]: Likewise.
59621         * lib/wctype_.h [__DECC]: Likewise.
59622
59623 2007-04-27  Bruno Haible  <bruno@clisp.org>
59624
59625         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59626
59627 2007-04-27  Bruno Haible  <bruno@clisp.org>
59628
59629         * lib/fflush.c: Add comments.
59630         * modules/fpurge-tests (Depends-on): Add fflush.
59631         * modules/freadable-tests (Depends-on): Likewise.
59632         * modules/fwritable-tests (Depends-on): Likewise.
59633
59634 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59635
59636         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59637         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59638         Report by Bruno Haible <bruno@clisp.org>.
59639
59640 2007-04-26  Eric Blake  <ebb9@byu.net>
59641
59642         Fix fflush on mingw.
59643         * modules/fflush (Depends-on): Add freading.
59644         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59645         but unread data.
59646
59647 2007-04-26  Eric Blake  <ebb9@byu.net>
59648         and Bruno Haible  <bruno@clisp.org>
59649
59650         Implement freading and fwriting.
59651         * lib/freading.c: New file.
59652         * lib/freading.h: Likewise.
59653         * m4/freading.m4: Likewise.
59654         * modules/freading: Likewise.
59655         * modules/freading-tests: Likewise.
59656         * tests/test-freading.c: Likewise.
59657         * lib/fwriting.c: New file.
59658         * lib/fwriting.h: Likewise.
59659         * m4/fwriting.m4: Likewise.
59660         * modules/fwriting: Likewise.
59661         * modules/fwriting-tests: Likewise.
59662         * tests/test-fwriting.c: Likewise.
59663         * MODULES.html.sh (File stream based Input/Output): Mention them.
59664
59665 2007-04-26  Bruno Haible  <bruno@clisp.org>
59666
59667         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59668         'long' when we assume it.
59669         Suggested by Eric Blake.
59670
59671 2007-04-26  Bruno Haible  <bruno@clisp.org>
59672
59673         Ensure fseeko, ftello are declared on glibc systems.
59674         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59675         * modules/fseeko (configure.ac-early): Likewise.
59676         * modules/ftello (configure.ac-early): Likewise.
59677         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59678         AC_FUNC_FSEEKO for this.
59679         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59680         (gl_CHECK_FSEEKO): Remove macro.
59681
59682 2007-04-26  Bruno Haible  <bruno@clisp.org>
59683
59684         * tests/test-fflush.c (main): Also check the ftell result after
59685         fflush and fseek/fseeko.
59686         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59687         file descriptor position cache in the stream.
59688         * lib/fseeko.c (rpl_fseeko): Likewise.
59689
59690 2007-04-26  Bruno Haible  <bruno@clisp.org>
59691
59692         * modules/fflush-tests (Depends-on): Add fseeko.
59693
59694 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59695             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59696
59697         * lib/argz_.h: ensure error_t definition is obtained in same
59698         mechanism system argz.h would have.
59699         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59700         argz facilities are known bad.  Err on the side of caution if
59701         cross-compiling.
59702
59703 2007-04-25  Eric Blake  <ebb9@byu.net>
59704
59705         * lib/fpurge.c (includes): Use stdlib.h for free.
59706         * tests/test-fflush.c (main): Also test fflush-fseeko.
59707
59708 2007-04-25  Bruno Haible  <bruno@clisp.org>
59709
59710         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59711         * lib/fseeko.c: New file.
59712         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59713         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59714         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59715         gl_FUNC_FSEEKO.
59716         (gl_FUNC_FSEEKO): Invoke it.
59717         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59718         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59719         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59720
59721 2007-04-25  Bruno Haible  <bruno@clisp.org>
59722
59723         * modules/fflush (Depends-on): Add ftello.
59724
59725 2007-04-25  Bruno Haible  <bruno@clisp.org>
59726
59727         * modules/ftello-tests: New file.
59728         * tests/test-ftello.c: New file.
59729
59730         * modules/ftello: New file.
59731         * m4/ftello.m4: New file.
59732         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59733         HAVE_FTELLO.
59734         * lib/stdio_.h (ftello): New declaration.
59735         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59736         HAVE_FTELLO.
59737
59738 2007-04-25  Bruno Haible  <bruno@clisp.org>
59739
59740         * modules/fseeko-tests: New file.
59741         * tests/test-fseeko.c: New file.
59742
59743         * modules/fseeko: New file.
59744         * m4/fseeko.m4: New file.
59745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59746         HAVE_FSEEKO.
59747         * lib/stdio_.h (fseeko): New declaration.
59748         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59749         HAVE_FSEEKO.
59750
59751 2007-04-25  Bruno Haible  <bruno@clisp.org>
59752
59753         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59754
59755 2007-04-25  Bruno Haible  <bruno@clisp.org>
59756
59757         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59758         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59759         * tests/test-unistd.c: Likewise.
59760         * tests/test-fcntl.c: Likewise.
59761
59762 2007-04-23  Eric Blake  <ebb9@byu.net>
59763
59764         * lib/fflush.c: Fix missing include.
59765         Reported by Bruno Haible.
59766
59767 2007-04-23  Bruno Haible  <bruno@clisp.org>
59768
59769         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59770         Reported by Eric Blake.
59771
59772 2007-04-23  Bruno Haible  <bruno@clisp.org>
59773
59774         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59775
59776 2007-04-23  Bruno Haible  <bruno@clisp.org>
59777
59778         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59779
59780 2007-04-23  Bruno Haible  <bruno@clisp.org>
59781
59782         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59783         Needed on HP-UX 11.
59784
59785 2007-04-16  Eric Blake  <ebb9@byu.net>
59786
59787         Make fflush rely on fpurge.
59788         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59789         open coding all variants.
59790         * modules/fflush (Depends-on): Add fpurge and unistd.
59791         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59792         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59793
59794         Fix --with-tests compilation on cygwin.
59795         * modules/argmatch-tests (Makefile.am): List gnulib library first
59796         in LDADD.
59797         * modules/argp-tests (Makefile.am): Likewise.
59798         * modules/array-list-tests (Makefile.am): Likewise.
59799         * modules/array-oset-tests (Makefile.am): Likewise.
59800         * modules/avltree-list-tests (Makefile.am): Likewise.
59801         * modules/avltree-oset-tests (Makefile.am): Likewise.
59802         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59803         * modules/carray-list-tests (Makefile.am): Likewise.
59804         * modules/dirname-tests (Makefile.am): Likewise.
59805         * modules/frexp-tests (Makefile.am): Likewise.
59806         * modules/isnanl-tests (Makefile.am): Likewise.
59807         * modules/linked-list-tests (Makefile.am): Likewise.
59808         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59809         * modules/lock-tests (Makefile.am): Likewise.
59810         * modules/rbtree-list-tests (Makefile.am): Likewise.
59811         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59812         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59813         * modules/tls-tests (Makefile.am): Likewise.
59814         * modules/tsearch-tests (Makefile.am): Likewise.
59815         * modules/xvasprintf-tests (Makefile.am): Likewise.
59816
59817         Fix fpurge for cygwin.
59818         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59819         value.
59820         * modules/fpurge-tests (Depends-on): Clean up trash.
59821
59822 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59823
59824         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59825
59826         * m4/autobuild.m4: Re-indent.
59827
59828 2007-04-13  Bruno Haible  <bruno@clisp.org>
59829
59830         * modules/fpurge-tests: New file.
59831         * tests/test-fpurge.c: New file.
59832
59833         * modules/fpurge: New file.
59834         * lib/fpurge.h: New file.
59835         * lib/fpurge.c: New file.
59836         * m4/fpurge.m4: New file.
59837
59838 2007-04-13  Bruno Haible  <bruno@clisp.org>
59839
59840         * modules/fbufmode-tests: New file.
59841         * tests/test-fbufmode.c: New file.
59842
59843         * modules/fbufmode: New file.
59844         * lib/fbufmode.h: New file.
59845         * lib/fbufmode.c: New file.
59846         * m4/fbufmode.m4: New file.
59847
59848 2007-04-13  Bruno Haible  <bruno@clisp.org>
59849
59850         * modules/fwritable-tests: New file.
59851         * tests/test-fwritable.c: New file.
59852
59853         * modules/fwritable: New file.
59854         * lib/fwritable.h: New file.
59855         * lib/fwritable.c: New file.
59856         * m4/fwritable.m4: New file.
59857
59858 2007-04-13  Bruno Haible  <bruno@clisp.org>
59859
59860         * modules/freadable-tests: New file.
59861         * tests/test-freadable.c: New file.
59862
59863         * modules/freadable: New file.
59864         * lib/freadable.h: New file.
59865         * lib/freadable.c: New file.
59866         * m4/freadable.m4: New file.
59867
59868 2007-04-13  Bruno Haible  <bruno@clisp.org>
59869
59870         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59871         MOSTLYCLEANFILES.
59872
59873 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59874
59875         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59876         gzip bootstrap.conf to avoid dragging in i18n machinery.
59877         (gnulib_tool_option): Use it.
59878
59879 2007-04-13  Bruno Haible  <bruno@clisp.org>
59880
59881         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59882         %F directives.
59883         * tests/test-vasprintf-posix.c (test_function): Likewise.
59884         * tests/test-snprintf-posix.h (test_function): Likewise.
59885         * tests/test-sprintf-posix.h (test_function): Likewise.
59886         * tests/test-fprintf-posix.h (test_function): Likewise.
59887         * tests/test-printf-posix.h (test_function): Likewise.
59888         * tests/test-fprintf-posix.out: Likewise.
59889
59890 2007-04-13  Bruno Haible  <bruno@clisp.org>
59891
59892         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59893         * modules/tls-tests (configure.ac): Likewise.
59894         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59895
59896 2007-04-13  Bruno Haible  <bruno@clisp.org>
59897
59898         * lib/tls.c (glthread_tls_get): Fix return type.
59899         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59900
59901 2007-04-12  Eric Blake  <ebb9@byu.net>
59902
59903         * modules/gettime (Depends-on): Remove gettime.
59904         Reported by Dmitry V. Levin.
59905
59906 2007-04-12  Bruno Haible  <bruno@clisp.org>
59907
59908         * modules/fflush (Include): Mention <stdio.h>.
59909         * modules/strtoimax (Include): Mention <inttypes.h>.
59910         * modules/strtoumax (Include): Likewise.
59911
59912 2007-04-12  Eric Blake  <ebb9@byu.net>
59913
59914         * .cvsignore: New file.
59915         * .gitignore: Likewise.
59916
59917 2007-04-12  Bruno Haible  <bruno@clisp.org>
59918
59919         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59920         not before, since $(LDADD) often contains libgnu.a.
59921         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59922         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59923         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59924         Needed on Cygwin.
59925
59926 2007-04-12  Eric Blake  <ebb9@byu.net>
59927
59928         Work around glibc's failure to flush stdin on fclose.
59929         * lib/closein.c (close_stdin): Flush stdin before closing.
59930
59931         Work around glibc's failure to reset seekable stdin on exit.
59932         * modules/closein: New module.
59933         * lib/closein.c: New file.
59934         * lib/closein.h: Likewise.
59935         * m4/closein.m4: Likewise.
59936         * MODULES.html.sh (File stream based Input/Output): Document it.
59937
59938 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59939
59940         * gnulib-tool: Rename generated 'autobuild' script to
59941         'do-autobuild' in --create-megatestdir output.
59942
59943         * doc/gnulib.texi (Build robot for gnulib): Fix.
59944
59945 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59946
59947         * modules/sysexits (Depends-on): Add absolute-header.
59948
59949 2007-04-12  Eric Blake  <ebb9@byu.net>
59950
59951         No need to preserve errno on success.
59952         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59953         Reported by Bruno Haible.
59954
59955 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59956
59957         * MODULES.html.sh (Support for maintaining and releasing
59958         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59959
59960 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59961
59962         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59963
59964 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59965
59966         * modules/autobuild: New module.
59967
59968         * m4/autobuild.m4: New file.
59969
59970 2007-04-11  Bruno Haible  <bruno@clisp.org>
59971
59972         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59973         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59974         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59975         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59976         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59977         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59978         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59979         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59980         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59981         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59982         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59983         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59984         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59985         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59986         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59987         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59988         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59989         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59990         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59991         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59992         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59993         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59994         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59995         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59996         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59997         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59998         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59999         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
60000         Reported by Eric Blake.
60001
60002 2007-04-11  Bruno Haible  <bruno@clisp.org>
60003
60004         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
60005
60006 2007-04-10  Bruno Haible  <bruno@clisp.org>
60007
60008         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
60009         for NaN and Infinity. Needed on FreeBSD 6.1.
60010         * tests/test-vasnprintf-posix.c (test_function): Undo last change
60011         regarding results for "%010a" of Infinity and NaN.
60012         * tests/test-vasprintf-posix.c (test_function): Likewise.
60013         * tests/test-snprintf-posix.h (test_function): Likewise.
60014         * tests/test-sprintf-posix.h (test_function): Likewise.
60015         * tests/test-fprintf-posix.h (test_function): Likewise.
60016         * tests/test-printf-posix.h (test_function): Likewise.
60017         * tests/test-fprintf-posix.out: Likewise.
60018
60019 2007-04-10  Bruno Haible  <bruno@clisp.org>
60020
60021         * modules/locale-tests: New file.
60022         * tests/test-locale.c: New file.
60023
60024         * modules/locale: New file.
60025         * lib/locale_.h: New file.
60026         * m4/locale_h.m4: New file.
60027
60028 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
60029             Bruno Haible  <bruno@clisp.org>
60030
60031         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
60032         be determined, test for availability of the copysignf, copysign,
60033         copysignl functions.
60034         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
60035         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
60036         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
60037
60038 2007-04-09  Eric Blake  <ebb9@byu.net>
60039
60040         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
60041         * modules/stdio (Makefile.am): Support fflush.
60042         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
60043         * modules/fflush: New file.
60044         * lib/fflush.c: Likewise.
60045         * m4/fflush.m4: Likewise.
60046         * modules/fflush-tests: New test.
60047         * tests/test-fflush.c: Likewise.
60048         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
60049
60050 2007-04-06  Bruno Haible  <bruno@clisp.org>
60051
60052         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
60053         (VASNPRINTF): Use signbit for faster determination whether to print a
60054         minus sign.
60055         * modules/vasnprintf (Files): Remove lib/float+.h.
60056         * modules/fprintf-posix (Depends-on): Add signbit.
60057         * modules/snprintf-posix (Depends-on): Likewise.
60058         * modules/sprintf-posix (Depends-on): Likewise.
60059         * modules/vasnprintf-posix (Depends-on): Likewise.
60060         * modules/vasprintf-posix (Depends-on): Likewise.
60061         * modules/vfprintf-posix (Depends-on): Likewise.
60062         * modules/vsnprintf-posix (Depends-on): Likewise.
60063         * modules/vsprintf-posix (Depends-on): Likewise.
60064
60065 2007-04-06  Bruno Haible  <bruno@clisp.org>
60066
60067         * tests/test-frexp.c (main): Test also the sign bit of zero results.
60068         * tests/test-frexpl.c (main): Likewise.
60069         * tests/test-ldexpl.c (main): Likewise.
60070         * modules/frexp-tests (Depends-on): Add signbit.
60071         * modules/frexpl-tests (Depdends-on): Likewise.
60072         * modules/ldexpl-tests (Depdends-on): Likewise.
60073
60074 2007-04-06  Bruno Haible  <bruno@clisp.org>
60075
60076         * modules/signbit-tests: New file.
60077         * tests/test-signbit.c: New file.
60078
60079         * modules/signbit: New file.
60080         * lib/signbitf.c: New file.
60081         * lib/signbitd.c: New file.
60082         * lib/signbitl.c: New file.
60083         * m4/signbit.m4: New file.
60084         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
60085         (signbit): New macro.
60086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
60087         REPLACE_SIGNBIT.
60088         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
60089         REPLACE_FREXPL into math.h.
60090
60091 2007-04-06  Bruno Haible  <bruno@clisp.org>
60092
60093         * modules/isnanf-nolibm-tests: New file.
60094         * tests/test-isnanf.c: New file.
60095
60096         * modules/isnanf-nolibm: New file.
60097         * lib/isnanf.h: New file.
60098         * lib/isnanf.c: New file.
60099         * lib/isnan.c: Consider the USE_FLOAT macro.
60100         * m4/isnanf.m4: New file.
60101
60102 2007-04-06  Bruno Haible  <bruno@clisp.org>
60103
60104         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
60105         (Link): New section.
60106
60107         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
60108
60109 2007-04-06  Bruno Haible  <bruno@clisp.org>
60110
60111         Assume the 'long double' type.
60112         * m4/longdouble.m4: Remove file.
60113         * config/srclist.txt: Don't mention longdouble.m4.
60114         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
60115         * lib/float+.h: Likewise.
60116         * lib/frexp.c: Likewise.
60117         * lib/printf-args.h: Likewise.
60118         * lib/printf-args.c: Likewise.
60119         * lib/printf-frexp.c: Likewise.
60120         * lib/printf-parse.c: Likewise.
60121         * lib/vasnprintf.c: Likewise.
60122         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
60123         * m4/intl.m4: Likewise.
60124         * m4/isnanl.m4: Likewise.
60125         * m4/printf.m4: Likewise.
60126         * m4/printf-frexpl.m4: Likewise.
60127         * m4/vasnprintf.m4: Likewise.
60128         * modules/allocsa (Files): Remove m4/longdouble.m4.
60129         * modules/gettext (Files): Likewise.
60130         * modules/relocatable-prog-wrapper (Files): Likewise.
60131         * modules/vasnprintf (Files): Likewise.
60132         * modules/isnanl (Files): Likewise.
60133         (Include): Simplify.
60134         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
60135         (Include): Simplify.
60136         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
60137         (Include): Simplify.
60138         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
60139         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60140         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
60141         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60142         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60143         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60144         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
60145         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60146         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
60147         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60148         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
60149         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
60150         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
60151         * tests/test-isnanl.c: Likewise.
60152         * tests/test-snprintf-posix.h: Likewise.
60153         * tests/test-sprintf-posix.h: Likewise.
60154         * tests/test-vasnprintf-posix.c: Likewise.
60155         * tests/test-vasnprintf-posix2.c: Likewise.
60156         * tests/test-vasprintf-posix.c: Likewise.
60157
60158 2007-04-06  Bruno Haible  <bruno@clisp.org>
60159
60160         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
60161         * lib/math_.h [__DECC]: Include the overridden include file through
60162         #include_next, outside the double-inclusion guard.
60163         * lib/stdio_.h [__DECC]: Likewise.
60164         * lib/stdlib_.h [__DECC]: Likewise.
60165         * lib/string_.h [__DECC]: Likewise.
60166         * lib/time_.h [__DECC]: Likewise.
60167         * lib/wchar_.h [__DECC]: Likewise.
60168         * lib/wctype_.h [__DECC]: Likewise.
60169         * lib/inttypes_.h [__DECC]: Likewise.
60170         Reported by Albert Chin <china@thewrittenword.com> in
60171         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60172
60173 2007-04-04  Eric Blake  <ebb9@byu.net>
60174
60175         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60176         1.5.x.
60177
60178 2007-04-04  Bruno Haible  <bruno@clisp.org>
60179
60180         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60181         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60182
60183 2007-04-04  Bruno Haible  <bruno@clisp.org>
60184
60185         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60186         results for "%010a" of Infinity and NaN.
60187         * tests/test-vasprintf-posix.c (test_function): Likewise.
60188         * tests/test-snprintf-posix.h (test_function): Likewise.
60189         * tests/test-sprintf-posix.h (test_function): Likewise.
60190         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60191         * tests/test-printf-posix.h (test_function): Likewise.
60192         * tests/test-fprintf-posix.out: Update.
60193         Needed for FreeBSD 6.1.
60194
60195 2007-04-04  Bruno Haible  <bruno@clisp.org>
60196
60197         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60198         directly used by the gnulib modules nor by gnulib-tool.
60199
60200 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60201
60202         * DEPENDENCIES: Give overall description of version dependency
60203         desirability.  Use more-typical names for apps.
60204         Add shell, coreutils, diffutils, grep, tar, gzip.
60205
60206 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60207
60208         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60209
60210 2007-04-04  Karl Berry  <karl@gnu.org>
60211
60212         * MODULES.html.sh (func_module): missing '.
60213
60214 2007-04-03  Bruno Haible  <bruno@clisp.org>
60215
60216         * modules/argmatch-tests (Makefile.am): New variable
60217         test_argmatch_LDADD.
60218         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60219         * modules/array-list-tests (Makefile.am): New variable
60220         test_array_list_LDADD.
60221         * modules/array-oset-tests (Makefile.am): New variable
60222         test_array_oset_LDADD.
60223         * modules/avltree-list-tests (Makefile.am): New variable
60224         test_avltree_list_LDADD.
60225         * modules/avltree-oset-tests (Makefile.am): New variable
60226         test_avltree_oset_LDADD.
60227         * modules/avltreehash-list-tests (Makefile.am): New variable
60228         test_avltreehash_list_LDADD.
60229         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60230         test_canonicalize_lgpl_LDADD.
60231         * modules/carray-list-tests (Makefile.am): New variable
60232         test_carray_list_LDADD.
60233         * modules/dirname-tests (Makefile.am): New variable
60234         test_dirname_LDADD.
60235         * modules/linked-list-tests (Makefile.am): New variable
60236         test_linked_list_LDADD.
60237         * modules/linkedhash-list-tests (Makefile.am): New variable
60238         test_linkedhash_list_LDADD.
60239         * modules/rbtree-list-tests (Makefile.am): New variable
60240         test_rbtree_list_LDADD.
60241         * modules/rbtree-oset-tests (Makefile.am): New variable
60242         test_rbtree_oset_LDADD.
60243         * modules/rbtreehash-list-tests (Makefile.am): New variable
60244         test_rbtreehash_list_LDADD.
60245         * modules/xvasprintf-tests (Makefile.am): New variable
60246         test_xvasprintf_LDADD.
60247         Reported by Eric Blake.
60248
60249 2007-04-03  Eric Blake  <ebb9@byu.net>
60250
60251         * DEPENDENCIES: Weaken m4 requirements.
60252
60253 2007-04-03  Bruno Haible  <bruno@clisp.org>
60254
60255         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60256         * modules/isnanl-tests (configure.ac): Likewise.
60257
60258 2007-04-03  Ben Pfaff  <blp@gnu.org>
60259
60260         * modules/iconv_open: Add $(srcdir)/ to source directory
60261         references in Makefile fragments that call gperf, to fix VPATH
60262         builds.
60263
60264 2007-04-03  Bruno Haible  <bruno@clisp.org>
60265
60266         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60267         * lib/ldexpl.c: Undo last change.
60268
60269 2007-04-03  Bruno Haible  <bruno@clisp.org>
60270
60271         * modules/printf-frexpl (Depends-on): Undo last change.
60272         (Files): Add m4/ldexpl.m4.
60273
60274 2007-04-03  Bruno Haible  <bruno@clisp.org>
60275
60276         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60277         * modules/isnanl (Link): New section.
60278
60279         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60280         * modules/frexp (Link): New section.
60281
60282         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60283         * modules/frexpl (Link): New section.
60284
60285         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60286         * modules/ldexpl (Link): New section.
60287
60288 2007-04-03  Bruno Haible  <bruno@clisp.org>
60289
60290         * modules/TEMPLATE-EXTENDED: New file.
60291         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60292
60293 2007-04-03  Bruno Haible  <bruno@clisp.org>
60294
60295         * DEPENDENCIES: New file.
60296         Suggested by Simon Josefsson.
60297
60298 2007-04-03  Bruno Haible  <bruno@clisp.org>
60299
60300         * doc/gnulib.texi: Escape @.
60301
60302 2007-04-03  James Youngman  <jay@gnu.org>
60303         and Paul Eggert  <eggert@cs.ucla.edu>
60304
60305         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60306         birthtime on all systems that have birthtime, not just those which
60307         use st_birthtimensec rather than st_birthtim.  Putting zero in
60308         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60309         that the birth time is not available for files on an NFS mount.
60310
60311 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60312
60313         * modules/memxor: Move back from crypto/, suggested by Bruno.
60314         * modules/crypto/hmac-sha1: Fix memxor dependency.
60315
60316         * modules/crypto/gc: Moved from ../.
60317
60318 2007-04-02  Eric Blake  <ebb9@byu.net>
60319
60320         * lib/ldexpl.c (includes): Avoid libm.
60321
60322         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60323
60324 2007-04-02  Bruno Haible  <bruno@clisp.org>
60325
60326         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60327         on IRIX.
60328
60329 2007-04-02  Bruno Haible  <bruno@clisp.org>
60330
60331         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60332         x86 or x86_64 platforms running MacOS X.
60333         Reported by Ryan Schmidt <@ryandesign.com>.
60334
60335 2007-04-02  Bruno Haible  <bruno@clisp.org>
60336
60337         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60338         i386.
60339
60340 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60341
60342         * modules/crypto/arcfour: Moved from ../.
60343         * modules/crypto/arcfour-tests: Moved from ../.
60344         * modules/crypto/arctwo: Moved from ../.
60345         * modules/crypto/arctwo-tests: Moved from ../.
60346         * modules/crypto/des: Moved from ../.
60347         * modules/crypto/des-tests: Moved from ../.
60348         * modules/crypto/gc-arcfour: Moved from ../.
60349         * modules/crypto/gc-arcfour-tests: Moved from ../.
60350         * modules/crypto/gc-arctwo: Moved from ../.
60351         * modules/crypto/gc-arctwo-tests: Moved from ../.
60352         * modules/crypto/gc-des: Moved from ../.
60353         * modules/crypto/gc-des-tests: Moved from ../.
60354         * modules/crypto/gc-hmac-md5: Moved from ../.
60355         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60356         * modules/crypto/gc-hmac-sha1: Moved from ../.
60357         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60358         * modules/crypto/gc-md2: Moved from ../.
60359         * modules/crypto/gc-md2-tests: Moved from ../.
60360         * modules/crypto/gc-md4: Moved from ../.
60361         * modules/crypto/gc-md4-tests: Moved from ../.
60362         * modules/crypto/gc-md5: Moved from ../.
60363         * modules/crypto/gc-md5-tests: Moved from ../.
60364         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60365         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60366         * modules/crypto/gc-random: Moved from ../.
60367         * modules/crypto/gc-rijndael: Moved from ../.
60368         * modules/crypto/gc-rijndael-tests: Moved from ../.
60369         * modules/crypto/gc-sha1: Moved from ../.
60370         * modules/crypto/gc-sha1-tests: Moved from ../.
60371         * modules/crypto/gc-tests: Moved from ../.
60372         * modules/crypto/hmac-md5: Moved from ../.
60373         * modules/crypto/hmac-md5-tests: Moved from ../.
60374         * modules/crypto/hmac-sha1: Moved from ../.
60375         * modules/crypto/hmac-sha1-tests: Moved from ../.
60376         * modules/crypto/md2: Moved from ../.
60377         * modules/crypto/md2-tests: Moved from ../.
60378         * modules/crypto/md4: Moved from ../.
60379         * modules/crypto/md4-tests: Moved from ../.
60380         * modules/crypto/md5: Moved from ../.
60381         * modules/crypto/md5-tests: Moved from ../.
60382         * modules/crypto/memxor: Moved from ../.
60383         * modules/crypto/rijndael: Moved from ../.
60384         * modules/crypto/rijndael-tests: Moved from ../.
60385         * modules/crypto/sha1: Moved from ../.
60386
60387 2007-03-30  James Youngman  <jay@gnu.org>
60388
60389         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60390         rename() to change the ctime of a file (because ctime is unaffected
60391         by rename on jfs2 on AIX 5.1).
60392         (main): Start by doing cleanup, in case a previous run failed leaving
60393         test files behind.
60394
60395 2007-03-31  Bruno Haible  <bruno@clisp.org>
60396
60397         Support old proprietary implementations of iconv.
60398         * modules/iconv_open: New file.
60399         * lib/iconv_.h: New file.
60400         * m4/iconv_h.m4: New file.
60401         * lib/iconv_open.c: New file.
60402         * lib/iconv_open-aix.gperf: New file.
60403         * lib/iconv_open-hpux.gperf: New file.
60404         * lib/iconv_open-irix.gperf: New file.
60405         * lib/iconv_open-osf.gperf: New file.
60406         * m4/iconv_open.m4: New file.
60407         * modules/linebreak (Depends-on): Add iconv_open.
60408         * modules/striconv (Depends-on): Likewise.
60409         * modules/striconveh (Depends-on): Likewise.
60410         * modules/unicodeio (Depends-on): Likewise.
60411         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60412         (iconv_t)(-1).
60413         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60414         conversion if cd is (iconv_t)(-1).
60415         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60416         is not possible.
60417
60418 2007-03-31  Bruno Haible  <bruno@clisp.org>
60419
60420         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60421         work on Solaris either. Protect also second use of "autodetect_jp".
60422
60423 2007-03-31  Bruno Haible  <bruno@clisp.org>
60424
60425         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60426         the function is not present.
60427
60428 2007-03-31  Bruno Haible  <bruno@clisp.org>
60429
60430         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60431         the function is not present.
60432
60433 2007-03-31  Bruno Haible  <bruno@clisp.org>
60434
60435         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60436         a bug in HP-UX iconv_open().
60437
60438 2007-03-31  Bruno Haible  <bruno@clisp.org>
60439
60440         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60441         (Mathematics <math.h>): New section, add fpieee.
60442         (Input/output <stdio.h>): Add fseterr.
60443         (Mathematics <math.h>): New section, add printf-frexp.
60444         (Container data structures): Add sublist.
60445         (Core language properties): Add fpucw, inline.
60446         (Functions for greatest-width integer types <inttypes.h>): Add
60447         imaxabs, imaxdiv, inttypes.
60448         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60449         isnanl-nolibm, ldexp.
60450         (Mathematics <math.h>): New section, add printf-frexpl.
60451         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60452         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60453         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60454         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60455         (Unicode string functions): Add unistr/u*-mbtoucr.
60456         (Java): Add javacomp-script, javaexec-script.
60457         (C#): Add csharpcomp-script, csharpexec-script.
60458         (Support for building libraries and executables): Add havelib,
60459         relocatable-*.
60460         (Support for maintaining and releasing projects): Renamed from
60461         'Support for maintaining and release projects'. Add announce-gen.
60462
60463 2007-03-31  Bruno Haible  <bruno@clisp.org>
60464
60465         * README: Talk primarily about git.
60466         (git and CVS): Renamed from CVS.
60467         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60468         gnulib is available through git.
60469         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60470
60471 2007-03-30  Bruno Haible  <bruno@clisp.org>
60472
60473         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60474         * lib/poll_.h: Likewise.
60475         * lib/stat_.h: Likewise.
60476         * lib/sys_time_.h: Likewise.
60477         * lib/sysexit_.h: Likewise.
60478         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60479         * lib/stdbool_.h: Likewise.
60480         * lib/byteswap_.h: Add double-inclusion guard.
60481
60482 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60483
60484         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60485
60486 2007-03-30  Karl Berry  <karl@gnu.org>
60487
60488         * config/srclist-update: double space after USA in the license
60489         substitution, since that's how it's usually (?) written.
60490
60491 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60492
60493         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60494         reported by Bruno Haible.
60495
60496 2007-03-29  Bruno Haible  <bruno@clisp.org>
60497
60498         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60499         a bug in AIX iconv().
60500
60501 2007-03-29  Bruno Haible  <bruno@clisp.org>
60502
60503         * modules/ldexpl-tests: New file.
60504         * tests/test-ldexpl.c: New file.
60505
60506 2007-03-29  Bruno Haible  <bruno@clisp.org>
60507
60508         * lib/ldexpl.c: Include fpucw.h.
60509         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60510         multiplication.
60511         * modules/ldexpl (Depends-on): Add fpucw.
60512
60513 2007-03-29  Bruno Haible  <bruno@clisp.org>
60514
60515         * modules/ldexpl: New file.
60516         * m4/ldexpl.m4: New file.
60517         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60518         set.
60519         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60520         REPLACE_LDEXPL.
60521         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60522         REPLACE_LDEXPL.
60523         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60524         gl_FUNC_LDEXPL_WORKS.
60525         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60526         * modules/mathl (Files): Remove lib/ldexpl.c.
60527         (Depends-on): Add ldexpl.
60528
60529 2007-03-29  Bruno Haible  <bruno@clisp.org>
60530
60531         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60532
60533 2007-03-29  Bruno Haible  <bruno@clisp.org>
60534
60535         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60536         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60537         and possibly also HP-UX.
60538         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60539         work on AIX, IRIX, HP-UX, OSF/1.
60540         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60541         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60542         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60543         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60544         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60545         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60546
60547 2007-03-29  Bruno Haible  <bruno@clisp.org>
60548
60549         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60550
60551 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60552
60553         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60554         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60555
60556 2007-03-29  Eric Blake  <ebb9@byu.net>
60557
60558         * lib/acl-internal.h: Remove redundant include.
60559         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60560         Cygwin when a file is locked.
60561
60562 2007-03-29  Bruno Haible  <bruno@clisp.org>
60563
60564         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60565         file.
60566         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60567
60568 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60569
60570         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60571         try to remove a parent directory if the child couldn't be removed
60572         (except for the first rmdir, which could fail because the child
60573         doesn't exist).  Problem reported by Jeff Blaine in
60574         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60575
60576 2007-03-28  Bruno Haible  <bruno@clisp.org>
60577
60578         * lib/striconveh.c (utf8conv_carefully): New function.
60579         (mem_cd_iconveh_internal): Invoke it.
60580
60581 2007-03-28  Bruno Haible  <bruno@clisp.org>
60582
60583         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60584         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60585         input.
60586         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60587         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60588         unistr/u8-uctomb.
60589
60590 2007-03-28  Bruno Haible  <bruno@clisp.org>
60591
60592         * modules/unistr/u8-mbtoucr: New file.
60593         * lib/unistr/u8-mbtoucr.c: New file.
60594         * modules/unistr/u16-mbtoucr: New file.
60595         * lib/unistr/u16-mbtoucr.c: New file.
60596         * modules/unistr/u16-mbtoucr: New file.
60597         * lib/unistr/u16-mbtoucr.c: New file.
60598         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60599
60600 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60601             Bruno Haible  <bruno@clisp.org>
60602
60603         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60604         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60605         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60606
60607         * m4/stdio_h.m4: Add stubs for vasprintf too.
60608
60609         * modules/stdio: Support vasprintf in sed command.
60610
60611         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60612         vasprintf.h.  Add stdio module indicator.
60613
60614         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60615         vasprintf.h.
60616
60617         * lib/vasprintf.h: File removed.
60618
60619         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60620         * lib/vasprintf.c: Ditto.
60621         * lib/xvasprintf.c: Ditto.
60622         * tests/test-vasprintf-posix.c: Ditto.
60623         * tests/test-vasprintf.c: Ditto.
60624
60625 2007-03-27  Bruno Haible  <bruno@clisp.org>
60626
60627         Make vasnprintf multithread-safe.
60628         * lib/vasnprintf.c (decimal_point_char): New function.
60629         (VASNPRINTF): Use it.
60630         Suggested by Simon Josefsson.
60631
60632 2007-03-27  Eric Blake  <ebb9@byu.net>
60633
60634         Support sub-second birthtime on cygwin.
60635         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60636         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60637         (get_stat_birthtime): Also work with st_birthtim.
60638
60639 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60640
60641         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60642         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60643         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60644         (get_stat_birthtime_ns): Simplify compile-time tests.
60645         (get_stat_birthtime): Change the API to look like
60646         get_stat_mtime etc., except return a negative tv_nsec on error.
60647         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60648         Don't check for "spare" fields.
60649         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60650         or for struct stat.st_birthtime, as these tests aren't used.
60651         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60652
60653 2007-03-27  Bruno Haible  <bruno@clisp.org>
60654
60655         * lib/stat-time.h: Include <sys/stat.h>.
60656
60657 2007-03-27  James Youngman  <jay@gnu.org>
60658
60659         * lib/stat-time.h (get_stat_birthtime): New function for
60660           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60661         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60662           and its variants.
60663         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60664         * modules/stat-time-test: New file.
60665         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60666
60667 2007-03-26  Bruno Haible  <bruno@clisp.org>
60668
60669         Better support of signalling NaNs.
60670         * lib/atanl.c: Include isnanl.h.
60671         (atanl): Perform test for NaN at the beginning of the function and
60672         through a call to isnanl.
60673         * lib/cosl.c: Include isnanl.h.
60674         (cosl): Perform test for NaN at the beginning of the function and
60675         through a call to isnanl.
60676         * lib/ldexpl.c: Include isnanl.h.
60677         (ldexpl): Perform test for NaN through a call to isnanl.
60678         * lib/logl.c: Include isnanl.h.
60679         (logl): Perform test for NaN at the beginning of the function and
60680         through a call to isnanl.
60681         * lib/sinl.c: Include isnanl.h.
60682         (sinl): Perform test for NaN at the beginning of the function and
60683         through a call to isnanl.
60684         * lib/sqrtl.c: Include isnanl.h.
60685         (sqrtl): Perform test for NaN at the beginning of the function and
60686         through a call to isnanl.
60687         * lib/tanl.c: Include isnanl.h.
60688         (tanl): Perform test for NaN at the beginning of the function and
60689         through a call to isnanl.
60690         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60691         * modules/mathl (Depends-on): Add isnanl.
60692
60693 2007-03-26  Eric Blake  <ebb9@byu.net>
60694
60695         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60696         regression in logic sense of previous patch.
60697
60698 2007-03-26  Bruno Haible  <bruno@clisp.org>
60699
60700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60701         unportable shell command "if ! ...".
60702         Reported by Ralf Wildenhues.
60703
60704 2007-03-25  Bruno Haible  <bruno@clisp.org>
60705
60706         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60707         <sysexits.h> file, and only add EX_CONFIG.
60708         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60709         absolute file name and whether it is sufficient. Substitute also
60710         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60711         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60712         ABSOLUTE_SYSEXITS_H into sysexits.h.
60713
60714 2007-03-25  Bruno Haible  <bruno@clisp.org>
60715
60716         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60717         hints is NULL.
60718
60719 2007-03-25  Bruno Haible  <bruno@clisp.org>
60720
60721         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60722         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60723
60724 2007-03-25  Bruno Haible  <bruno@clisp.org>
60725
60726         * lib/vasnprintf.c: Include langinfo.h.
60727         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60728         multithread-safe.
60729         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60730         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60731         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60732         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60733         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60734         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60735         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60736         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60737         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60738         Reported by Simon Josefsson.
60739
60740 2007-03-25  Bruno Haible  <bruno@clisp.org>
60741
60742         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60743         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60744         * modules/vasnprintf (Depends-on): Add stdint.
60745
60746 2007-03-25  Bruno Haible  <bruno@clisp.org>
60747
60748         * modules/fpieee: New file.
60749         * m4/fpieee.m4: New file.
60750         * modules/isnan-nolibm (Depends-on): Add fpieee.
60751         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60752         * modules/isnanl (Depends-on): Add fpieee.
60753
60754 2007-03-25  Bruno Haible  <bruno@clisp.org>
60755
60756         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60757
60758 2007-03-25  Bruno Haible  <bruno@clisp.org>
60759
60760         Avoid test failures on IRIX 6.5.
60761         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60762         (main): Use it.
60763         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60764         macros.
60765         (main): Use them.
60766
60767 2007-03-25  Bruno Haible  <bruno@clisp.org>
60768
60769         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60770         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60771         exists but doesn't work.
60772         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60773         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60775         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60776         math.h.
60777
60778 2007-03-25  Bruno Haible  <bruno@clisp.org>
60779
60780         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60781         returns inf. Needed on IRIX 6.5.
60782
60783 2007-03-25  Bruno Haible  <bruno@clisp.org>
60784
60785         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60786         (main): Use isnanl instead of x != x idiom.
60787         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60788
60789         * tests/test-frexp.c: Include isnan.h.
60790         (main): Use isnan instead of x != x idiom.
60791         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60792
60793 2007-03-25  Bruno Haible  <bruno@clisp.org>
60794
60795         * tests/test-frexp.c (NaN): New function/macro.
60796         (main): Use it instead of 0.0 / 0.0.
60797         * tests/test-isnan.c (NaN): New function/macro.
60798         (main): Use it instead of 0.0 / 0.0.
60799         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60800         (test_function): Use it instead of 0.0 / 0.0.
60801         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60802         (test_function): Use it instead of 0.0 / 0.0.
60803         * tests/test-snprintf-posix.h (NaN): New function/macro.
60804         (test_function): Use it instead of 0.0 / 0.0.
60805         * tests/test-sprintf-posix.h (NaN): New function/macro.
60806         (test_function): Use it instead of 0.0 / 0.0.
60807         * tests/test-fprintf-posix.h (NaN): New function/macro.
60808         (test_function): Use it instead of 0.0 / 0.0.
60809         * tests/test-printf-posix.h (NaN): New function/macro.
60810         (test_function): Use it instead of 0.0 / 0.0.
60811
60812         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60813
60814 2007-03-25  Bruno Haible  <bruno@clisp.org>
60815
60816         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60817
60818 2007-03-25  Bruno Haible  <bruno@clisp.org>
60819
60820         * lib/regexec.c (merge_state_with_log): Make static.
60821
60822 2007-03-25  Bruno Haible  <bruno@clisp.org>
60823
60824         * lib/trigl.c (kernel_rem_pio2): Make static.
60825
60826 2007-03-25  Bruno Haible  <bruno@clisp.org>
60827
60828         * lib/sincosl.c (sincosl_table): Make static.
60829
60830 2007-03-25  Bruno Haible  <bruno@clisp.org>
60831
60832         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60833         if the compiler does not support C99.
60834
60835 2007-03-25  Bruno Haible  <bruno@clisp.org>
60836
60837         * modules/time (Makefile.am): Ensure all rule action lines start with a
60838         tab.
60839
60840 2007-03-24  Bruno Haible  <bruno@clisp.org>
60841
60842         * modules/tsearch-tests: New file.
60843         * tests/test-tsearch.sh: New file.
60844         * tests/test-tsearch.c: New file, mostly copied from glibc.
60845
60846         * modules/search-tests: New file.
60847         * tests/test-search.c: New file.
60848
60849         * modules/search: New file.
60850         * lib/search_.h: New file, incorporating lib/tsearch.h.
60851         * m4/search_h.m4: New file.
60852         * lib/tsearch.h: Remove file.
60853         * lib/tsearch.c: Include search.h instead of tsearch.h.
60854         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60855         HAVE_TSEARCH.
60856         * modules/tsearch (Files): Remove lib/tsearch.h.
60857         (Depends-on): Add search.
60858         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60859         (Include): Change tsearch.h into search.h.
60860
60861 2007-03-24  Bruno Haible  <bruno@clisp.org>
60862
60863         * modules/fpucw: New file.
60864         * lib/fpucw.h: New file.
60865         * lib/frexp.c: Include fpucw.h.
60866         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60867         (FUNC): Use them.
60868         * lib/printf-frexp.c: Include fpucw.h.
60869         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60870         (FUNC): Use them.
60871         * lib/vasnprintf.c: Include fpucw.h.
60872         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60873         'long double' calculations.
60874         * tests/test-frexpl.c: Include fpucw.h.
60875         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60876         * tests/test-printf-frexpl.c: Include fpucw.h.
60877         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60878         * modules/frexpl (Depends-on): Add fpucw.
60879         * modules/printf-frexpl (Depends-on): Likewise.
60880         * modules/fprintf-posix (Depends-on): Likewise.
60881         * modules/snprintf-posix (Depends-on): Likewise.
60882         * modules/sprintf-posix (Depends-on): Likewise.
60883         * modules/vasnprintf-posix (Depends-on): Likewise.
60884         * modules/vasprintf-posix (Depends-on): Likewise.
60885         * modules/vfprintf-posix (Depends-on): Likewise.
60886         * modules/vsnprintf-posix (Depends-on): Likewise.
60887         * modules/vsprintf-posix (Depends-on): Likewise.
60888         * modules/frexpl-tests (Depends-on): Likewise.
60889         * modules/printf-frexpl-tests (Depends-on): Likewise.
60890
60891 2007-03-24  Bruno Haible  <bruno@clisp.org>
60892
60893         * lib/float+.h: New file.
60894         * lib/isnan.c: Include float+.h.
60895         (SIZE): New macro.
60896         (FUNC): Compare only SIZE bytes of the value.
60897         * lib/vasnprintf.c: Include float+.h.
60898         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60899         SIZEOF_LDBL or SIZEOF_DBL bytes.
60900         * modules/isnan-nolibm (Files): Add lib/float+.h.
60901         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60902         * modules/isnanl (Files): Add lib/float+.h.
60903         * modules/vasnprintf (Files): Add lib/float+.h.
60904
60905 2007-03-24  Bruno Haible  <bruno@clisp.org>
60906
60907         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60908         include isnanl-nolibm.h.
60909
60910 2007-03-24  Bruno Haible  <bruno@clisp.org>
60911
60912         * tests/test-read-file.c (main): Don't produce spurious output for
60913         expected situations. Make the test fail if it encountered unexpected
60914         results.
60915
60916 2007-03-24  Bruno Haible  <bruno@clisp.org>
60917
60918         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60919         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60920
60921 2007-03-24  Bruno Haible  <bruno@clisp.org>
60922
60923         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60924
60925 2007-03-24  Bruno Haible  <bruno@clisp.org>
60926
60927         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60928         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60929
60930         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60931         * modules/utf8-ucs4: Turn into a symbolic link to module
60932         unistr/u8-mbtouc.
60933
60934         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60935         utf8-ucs4-unsafe.
60936         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60937         unistr/u8-mbtouc-unsafe.
60938
60939         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60940         * modules/utf16-ucs4: Turn into a symbolic link to module
60941         unistr/u16-mbtouc.
60942
60943         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60944         utf16-ucs4-unsafe.
60945         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60946         unistr/u16-mbtouc-unsafe.
60947
60948         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60949         * modules/ucs4-utf8: Turn into a symbolic link to module
60950         unistr/u8-ubtomb.
60951
60952         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60953         * modules/ucs4-utf16: Turn into a symbolic link to module
60954         unistr/u16-ubtomb.
60955
60956 2007-03-24  Bruno Haible  <bruno@clisp.org>
60957
60958         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60959         Enable the function only if HAVE_INLINE.
60960         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60961         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60962         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60963         Enable the function only if HAVE_INLINE.
60964         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60965         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60966         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60967         Enable the function only if HAVE_INLINE.
60968         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60969         Enable the function only if HAVE_INLINE.
60970         * modules/utf8-ucs4: Update.
60971         * modules/utf8-ucs4-unsafe: Update.
60972         * modules/utf16-ucs4: Update.
60973         * modules/utf16-ucs4-unsafe: Update.
60974         * modules/ucs4-utf8: Update.
60975         * modules/ucs4-utf16: Update.
60976
60977 2007-03-24  Bruno Haible  <bruno@clisp.org>
60978
60979         * lib/utf8-ucs4.h: Remove file.
60980         * lib/utf8-ucs4-unsafe.h: Remove file.
60981         * lib/utf16-ucs4.h: Remove file.
60982         * lib/utf16-ucs4-unsafe.h: Remove file.
60983         * lib/ucs4-utf8.h: Remove file.
60984         * lib/ucs4-utf16.h: Remove file.
60985         * lib/unistr.h: Include their previous contents.
60986         * m4/utf-ucs4.m4: Remove file.
60987         * m4/ucs4-utf.m4: Remove file.
60988         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60989         (Depends-on): Add unistr/base.
60990         (configure.ac): Remove gl_UTF_UCS4.
60991         (Makefile.am): Update.
60992         (Include): Change to unistr.h.
60993         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60994         (Depends-on): Add unistr/base.
60995         (configure.ac): Remove gl_UTF_UCS4.
60996         (Makefile.am): Update.
60997         (Include): Change to unistr.h.
60998         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60999         (Depends-on): Add unistr/base.
61000         (configure.ac): Remove gl_UTF_UCS4.
61001         (Makefile.am): Update.
61002         (Include): Change to unistr.h.
61003         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
61004         (Depends-on): Add unistr/base.
61005         (configure.ac): Remove gl_UTF_UCS4.
61006         (Makefile.am): Update.
61007         (Include): Change to unistr.h.
61008         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
61009         (Depends-on): Add unistr/base.
61010         (configure.ac): Remove gl_UCS4_UTF.
61011         (Makefile.am): Update.
61012         (Include): Change to unistr.h.
61013         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
61014         (Depends-on): Add unistr/base.
61015         (configure.ac): Remove gl_UCS4_UTF.
61016         (Makefile.am): Update.
61017         (Include): Change to unistr.h.
61018         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
61019         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
61020         utf8-ucs4-unsafe.h.
61021         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
61022         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
61023         utf16-ucs4-unsafe.h.
61024         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
61025         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
61026         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
61027         * lib/unistr/u8-strchr.c: Likewise.
61028         * lib/unistr/u8-strrchr.c: Likewise.
61029         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
61030         * lib/unistr/u16-strchr.c: Likewise.
61031         * lib/unistr/u16-strrchr.c: Likewise.
61032         * lib/striconveh.c: Update.
61033         * lib/linebreak.c: Update.
61034
61035 2007-03-24  Bruno Haible  <bruno@clisp.org>
61036
61037         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
61038         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
61039
61040 2007-03-22  Bruno Haible  <bruno@clisp.org>
61041
61042         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
61043
61044 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
61045
61046         * MODULES.html.sh (File system functions): New module write-any-file.
61047         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
61048         * m4/write-any-file.m4: New files.
61049
61050 2007-03-23  Eric Blake  <ebb9@byu.net>
61051
61052         * gnulib-tool: Rearrange space-tab sequences, since some editors
61053         like to eat them.
61054
61055 2007-03-23  Eric Blake  <ebb9@byu.net>
61056
61057         * lib/version-etc.c (version_etc_va): Update license wording to
61058         be more concise.  Recommended by Richard Stallman.
61059
61060 2007-03-22  Bruno Haible  <bruno@clisp.org>
61061
61062         * lib/poll.c (MSG_PEEK): New fallback definition.
61063
61064 2007-03-22  Bruno Haible  <bruno@clisp.org>
61065
61066         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
61067         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
61068         (main): Update.
61069         Fixes a compilation error on BeOS.
61070
61071 2007-03-22  Bruno Haible  <bruno@clisp.org>
61072
61073         * modules/frexpl-tests: New file.
61074         * tests/test-frexpl.c: New file.
61075
61076         * modules/frexpl: New file.
61077         * m4/frexpl.m4: New file.
61078         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
61079         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
61080         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
61081         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
61082         (Depends-on): Add frexpl. Remove isnanl-nolibm.
61083         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
61084
61085 2007-03-22  Bruno Haible  <bruno@clisp.org>
61086
61087         * lib/frexpl.c: Share code with lib/frexp.c.
61088         * modules/mathl (Files): Add lib/frexp.c.
61089         (Depends-on): Add isnanl-nolibm.
61090
61091 2007-03-22  Bruno Haible  <bruno@clisp.org>
61092
61093         * modules/printf-frexp (Files): Add m4/frexp.m4.
61094         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
61095         only if the found frexp function actually works.
61096
61097 2007-03-22  Bruno Haible  <bruno@clisp.org>
61098
61099         * lib/frexp.c: Remove older implementation that uses divisions.
61100
61101 2007-03-21  Bruno Haible  <bruno@clisp.org>
61102
61103         * modules/frexp-tests: New file.
61104         * tests/test-frexp.c: New file.
61105
61106         * modules/frexp: New file.
61107         * lib/frexp.c: New file.
61108         * m4/frexp.m4: New file.
61109         * lib/math_.h (frexp): New declaration.
61110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
61111         REPLACE_FREXP.
61112         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
61113
61114 2007-03-21  Bruno Haible  <bruno@clisp.org>
61115
61116         * modules/isnanl-tests: New file.
61117         * tests/test-isnanl.c: New file.
61118
61119         * modules/isnanl: New file.
61120         * lib/isnanl.h: New file.
61121         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
61122         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
61123         gl_FUNC_ISNANL_WORKS.
61124         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
61125         New macros.
61126
61127 2007-03-21  Bruno Haible  <bruno@clisp.org>
61128
61129         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
61130         lib/isnanl.h.
61131         (Include): Update.
61132         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
61133         * lib/vasnprintf.c: Update.
61134         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
61135         tests/test-isnanl.h, remove tests/test-isnanl.c.
61136         (Makefile.am): Update.
61137         * tests/test-isnanl-nolibm.c: New file.
61138         * tests/test-isnanl.h: New file.
61139         * tests/test-isnanl.c: Remove file.
61140
61141 2007-03-21  Jim Meyering  <jim@meyering.net>
61142
61143         When trying to open ".", treat ESTALE like EACCES.
61144         * lib/savewd.c (savewd_save): Resort to forking not just upon
61145         failure with EACCES, but also when errno is ESTALE.
61146
61147 2007-03-20  Bruno Haible  <bruno@clisp.org>
61148
61149         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
61150         Needed on AIX 5.1. Reported by Matthew Woehlke.
61151
61152 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61153
61154         Suggestions by Bruno Haible:
61155         * lib/acl-internal.h: Include "gettext.h" rather than rolling
61156         our own.
61157         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
61158         * modules/acl (Depends-on): Add gettext.
61159
61160 2007-03-19  Bruno Haible  <bruno@clisp.org>
61161
61162         * modules/iconvme: Remove file.
61163         * lib/iconvme.h: Remove file.
61164         * lib/iconvme.c: Remove file.
61165         * m4/iconvme.m4: Remove file.
61166
61167 2007-03-19  Bruno Haible  <bruno@clisp.org>
61168
61169         * doc/relocatable-maint.texi: Break long shell script line.
61170         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61171
61172 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61173
61174         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61175         handle file_has_acl.
61176         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61177         * lib/acl.c: Move header inclusions and related macro defns into
61178         lib/acl-internal.h.
61179         (S_ISLNK): Remove defn, since that's now done for us.
61180         (file_has_acl): Move to lib/file-has-acl.c.
61181         Call acl_trivial if available.  This is the crucial part of the fix.
61182         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61183         shared within the library.  Rewrite a bit, partly to make it compatible
61184         with the GNU coding style.
61185         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61186         Remove unnecessary double-quotes.
61187         Don't test for acl_to_text; the build will catch that.
61188         Replace acl_entries if it doesn't exist and it is needed.
61189         Check for -lsec and acl_trivial (as used on Solaris 10).
61190         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61191         lib/file-has-acl.c.
61192         (Depends-on): Add sys_stat, for S_ISLNK.
61193
61194 2007-03-19  Ben Pfaff  <blp@gnu.org>
61195
61196         * doc/gnulib.texi: Fix typos.
61197         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61198
61199 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61200
61201         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61202         If size is zero here, buf must be zero.
61203
61204 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61205
61206         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61207         <bruno@clisp.org>.
61208
61209 2007-03-18  Bruno Haible  <bruno@clisp.org>
61210
61211         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61212         Suggested by Eric Blake.
61213
61214 2007-03-18  Ben Pfaff  <blp@gnu.org>
61215
61216         * doc/relocatable.texi: Recommend using as prefix a directory
61217         that does not exist and will never be created.  Based on
61218         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61219         and others.
61220
61221 2007-03-17  Bruno Haible  <bruno@clisp.org>
61222
61223         * lib/fchownat.c: Include lchown.h.
61224
61225 2007-03-17  Bruno Haible  <bruno@clisp.org>
61226
61227         Fix endless loop when the given allocated size was > INT_MAX.
61228         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61229         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61230         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61231         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61232         * lib/sprintf.c (sprintf): Likewise.
61233
61234 2007-03-17  Bruno Haible  <bruno@clisp.org>
61235
61236         * tests/test-argp-2.sh (func_compare): Output a context diff.
61237
61238 2007-03-17  Bruno Haible  <bruno@clisp.org>
61239
61240         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61241         locale's decimal-point character.
61242
61243 2007-03-17  Bruno Haible  <bruno@clisp.org>
61244
61245         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61246         before comparing it. Needed because on some platforms (e.g. x86) a
61247         'long double' occupies less bytes than sizeof (long double).
61248
61249 2007-03-17  Bruno Haible  <bruno@clisp.org>
61250
61251         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61252         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61253         * tests/test-getaddrinfo.c (simple): Likewise.
61254         * tests/test-read-file.c (main): Likewise.
61255
61256 2007-03-17  Bruno Haible  <bruno@clisp.org>
61257
61258         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61259
61260 2007-03-17  Bruno Haible  <bruno@clisp.org>
61261
61262         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61263         unused variable.
61264
61265 2007-03-17  Bruno Haible  <bruno@clisp.org>
61266
61267         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61268         * tests/test-c-strncasecmp.c: Likewise.
61269
61270 2007-03-17  Bruno Haible  <bruno@clisp.org>
61271
61272         * modules/stdlib (Depends-on): Add unistd.
61273         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61274         Needed for MacOS X 10.3.
61275
61276 2007-03-17  Bruno Haible  <bruno@clisp.org>
61277
61278         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61279
61280 2007-03-17  Bruno Haible  <bruno@clisp.org>
61281
61282         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61283
61284 2007-03-17  Bruno Haible  <bruno@clisp.org>
61285
61286         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61287         to reflect files copied from gnulib (with or without modifications).
61288         Suggested by Jim Meyering.
61289
61290 2007-03-17  Eric Blake  <ebb9@byu.net>
61291
61292         * NEWS: Document stdlib change from 2007-02-18.
61293
61294 2007-03-17  Jim Meyering  <jim@meyering.net>
61295
61296         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61297         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61298         someone uses a name containing shell meta-characters.
61299         Reported by Alfred M. Szmidt.
61300
61301         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61302
61303 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61304
61305         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61306         and copy gettext configuration files only if configure.ac contains
61307         a use of AM_GNU_GETTEXT_VERSION.
61308
61309 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61310
61311         * build-aux/bootstrap (gnulib_name): New variable.
61312         (gnulib_tool_options): Use it.
61313
61314 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61315
61316         * tests/test-des.c: Use new namespace.
61317
61318 2007-03-15  Bruno Haible  <bruno@clisp.org>
61319
61320         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61321         Reported by James Youngman <jay@gnu.org>.
61322
61323 2007-03-15  Bruno Haible  <bruno@clisp.org>
61324
61325         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61326         declared prototype. Needed with cc on OSF/1 5.1.
61327
61328 2007-03-15  Bruno Haible  <bruno@clisp.org>
61329
61330         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61331         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61332         (struct gl_list_implementation): Add dispose_fn argument to the
61333         'create_empty', 'create' methods.
61334         (struct gl_list_impl_base): Add field 'dispose_fn'.
61335         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61336         argument.
61337         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61338         dispose_fn argument.
61339         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61340         dispose_fn on the dropped values.
61341         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61342         dispose_fn argument.
61343         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61344         dropped values.
61345         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61346         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61347         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61348         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61349         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61350         argument.
61351         (gl_tree_list_free): Call dispose_fn on the dropped values.
61352         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61353         the dropped values.
61354         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61355         Add dispose_fn argument.
61356         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61357         Call dispose_fn on the dropped values.
61358         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61359         Add dispose_fn argument.
61360         (gl_sublist_create): Initialize the 'dispose_fn' field.
61361         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61362         * tests/test-array_list.c (main): Update.
61363         * tests/test-carray_list.c (main): Update.
61364         * tests/test-avltree_list.c (main): Update.
61365         * tests/test-rbtree_list.c (main): Update.
61366         * tests/test-avltreehash_list.c (main): Update.
61367         * tests/test-rbtreehash_list.c (main): Update.
61368         * tests/test-linked_list.c (main): Update.
61369         * tests/test-linkedhash_list.c (main): Update.
61370         * tests/test-array_oset.c (main): Update.
61371
61372 2007-03-15  Bruno Haible  <bruno@clisp.org>
61373
61374         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61375         (gl_oset_create_empty): Add dispose_fn argument.
61376         (struct gl_oset_implementation): Add dispose_fn argument to
61377         'create_empty' method.
61378         (struct gl_oset_impl_base): Add dispose_fn field.
61379         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61380         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61381         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61382         values.
61383         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61384         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61385         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61386         dropped value.
61387         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61388         dropped value.
61389         * tests/test-array_oset.c (main): Update.
61390         * tests/test-avltree_oset.c (main): Update.
61391         * tests/test-rbtree_oset.c (main): Update.
61392         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61393
61394 2007-03-13  Bruno Haible  <bruno@clisp.org>
61395
61396         * tests/test-stdbool.c (i): Update after last patch.
61397
61398 2007-03-12  Bruno Haible  <bruno@clisp.org>
61399
61400         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61401         the iswprint macro. Needed on Solaris 2.5.1.
61402
61403 2007-03-12  Bruno Haible  <bruno@clisp.org>
61404
61405         * tests/test-printf-frexp.c (main): Declare x as volatile.
61406
61407 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61408
61409         * doc/gnulib.texi (Build robot for gnulib): New section.
61410
61411 2007-03-12  Jim Meyering  <jim@meyering.net>
61412
61413         * build-aux/bootstrap: New file.
61414         * build-aux/bootstrap.conf: New file, from coreutils.
61415
61416 2007-03-11  Bruno Haible  <bruno@clisp.org>
61417
61418         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61419
61420 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61421
61422         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61423         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61424         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61425
61426 2007-03-11  Bruno Haible  <bruno@clisp.org>
61427
61428         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61429         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61430
61431 2007-03-11  Bruno Haible  <bruno@clisp.org>
61432
61433         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61434         formula. Needed for SunPRO C 5.0.
61435
61436 2007-03-11  Bruno Haible  <bruno@clisp.org>
61437
61438         * modules/long-options (Depends-on): Add getopt.
61439
61440 2007-03-11  Bruno Haible  <bruno@clisp.org>
61441
61442         * modules/modechange (Depends-on): Add stdbool.
61443
61444 2007-03-11  Bruno Haible  <bruno@clisp.org>
61445
61446         * modules/i-ring (Depends-on): Add stdbool.
61447
61448 2007-03-11  Bruno Haible  <bruno@clisp.org>
61449
61450         * modules/gc-des (Depends-on): Add stdbool.
61451
61452 2007-03-11  Bruno Haible  <bruno@clisp.org>
61453
61454         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61455
61456 2007-03-11  Bruno Haible  <bruno@clisp.org>
61457
61458         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61459
61460 2007-03-11  Bruno Haible  <bruno@clisp.org>
61461
61462         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61463
61464 2007-03-11  Bruno Haible  <bruno@clisp.org>
61465
61466         * lib/vasnprintf.c (sprintf): Undefine.
61467
61468 2007-03-11  Bruno Haible  <bruno@clisp.org>
61469
61470         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61471         initializers in SunPRO C and Compaq C compilers.
61472
61473 2007-03-11  Bruno Haible  <bruno@clisp.org>
61474
61475         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61476         decrementing code ANSI C compliant.
61477
61478 2007-03-11  Bruno Haible  <bruno@clisp.org>
61479
61480         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61481         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61482
61483 2007-03-11  Bruno Haible  <bruno@clisp.org>
61484
61485         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61486         <stdbool.h> substitute doesn't pass.
61487
61488 2007-03-11  Bruno Haible  <bruno@clisp.org>
61489
61490         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61491
61492 2007-03-11  Bruno Haible  <bruno@clisp.org>
61493
61494         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61495         script, for submission to autobuild.josefsson.org.
61496
61497 2007-03-10  Bruno Haible  <bruno@clisp.org>
61498
61499         * modules/canonicalize-lgpl-tests: New file.
61500         * tests/test-canonicalize-lgpl.sh: New file.
61501         * tests/test-canonicalize-lgpl.c: New file.
61502
61503         * modules/c-strcase-tests: New file.
61504         * tests/test-c-strcase.sh: New file.
61505         * tests/test-c-strcasecmp.c: New file.
61506         * tests/test-c-strncasecmp.c: New file.
61507
61508         * modules/atexit-tests: New file.
61509         * tests/test-atexit.sh: New file.
61510         * tests/test-atexit.c: New file.
61511
61512 2007-03-10  Bruno Haible  <bruno@clisp.org>
61513
61514         * tests/test-binary-io.sh: Use temporary filenames that are not so
61515         likely to clash with those of other tests (in a parallel make).
61516         * tests/test-binary-io.c: Likewise.
61517
61518 2007-03-10  Bruno Haible  <bruno@clisp.org>
61519
61520         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61521         fallback; use #error instead.
61522         Suggested by Simon Josefsson.
61523
61524 2007-03-10  Bruno Haible  <bruno@clisp.org>
61525
61526         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61527         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61528         first and the last.
61529
61530 2007-03-10  Bruno Haible  <bruno@clisp.org>
61531
61532         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61533
61534 2007-03-10  Bruno Haible  <bruno@clisp.org>
61535
61536         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61537         "make distcheck".
61538         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61539         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61540         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61541
61542 2007-03-10  Bruno Haible  <bruno@clisp.org>
61543
61544         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61545         variable.
61546         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61547         variable.
61548
61549 2007-03-09  Eric Blake  <ebb9@byu.net>
61550         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61551
61552         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61553         types are not being provided by gnulib.
61554         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61555         types are supported.
61556
61557 2007-03-10  Bruno Haible  <bruno@clisp.org>
61558
61559         * lib/stdio_.h (__attribute__): New macro.
61560         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61561         vsprintf): Specify __attribute__ __format__ for GCC.
61562         Suggested by Eric Blake.
61563
61564 2007-03-09  Bruno Haible  <bruno@clisp.org>
61565
61566         * modules/printf-posix-tests: New file.
61567         * tests/test-printf-posix.sh: New file.
61568         * tests/test-printf-posix.c: New file.
61569
61570         * modules/printf-posix: New file.
61571         * lib/printf.c: New file.
61572         * m4/printf-posix-rpl.m4: New file.
61573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61574         REPLACE_PRINTF.
61575         * lib/stdio_.h (printf): New declaration.
61576         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61577         ____strfmon____): New macros.
61578         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61579         REPLACE_PRINTF.
61580
61581 2007-03-09  Bruno Haible  <bruno@clisp.org>
61582
61583         * tests/test-vasnprintf-posix2.sh: New file.
61584         * tests/test-vasnprintf-posix2.c: New file.
61585         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61586         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61587         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61588
61589         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61590         a locale dependent decimal point, rather than always '.'.
61591
61592 2007-03-09  Eric Blake  <ebb9@byu.net>
61593
61594         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61595         spite of platforms like Tandem/NSK that define it to -1.
61596
61597 2007-03-08  Bruno Haible  <bruno@clisp.org>
61598
61599         * modules/vprintf-posix-tests: New file.
61600         * tests/test-vprintf-posix.sh: New file.
61601         * tests/test-vprintf-posix.c: New file.
61602         * tests/test-printf-posix.h: New file.
61603
61604         * modules/vprintf-posix: New file.
61605         * lib/vprintf.c: New file.
61606         * m4/vprintf-posix.m4: New file.
61607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61608         REPLACE_VPRINTF.
61609         * lib/stdio_.h (vprintf): New declaration.
61610         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61611         REPLACE_VPRINTF.
61612
61613 2007-03-08  Bruno Haible  <bruno@clisp.org>
61614
61615         * modules/fprintf-posix-tests: New file.
61616         * tests/test-fprintf-posix.sh: New file.
61617         * tests/test-fprintf-posix.c: New file.
61618
61619         * modules/fprintf-posix: New file.
61620         * lib/fprintf.c: New file.
61621         * m4/fprintf-posix.m4: New file.
61622         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61623         REPLACE_FPRINTF.
61624         * lib/stdio_.h (fprintf): New declaration.
61625         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61626         REPLACE_FPRINTF.
61627
61628 2007-03-08  Bruno Haible  <bruno@clisp.org>
61629
61630         * modules/vfprintf-posix-tests: New file.
61631         * tests/test-vfprintf-posix.sh: New file.
61632         * tests/test-vfprintf-posix.c: New file.
61633         * tests/test-fprintf-posix.h: New file.
61634         * tests/test-fprintf-posix.out: New file.
61635
61636         * modules/vfprintf-posix: New file.
61637         * lib/vfprintf.c: New file.
61638         * m4/vfprintf-posix.m4: New file.
61639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61640         REPLACE_VFPRINTF.
61641         * lib/stdio_.h (vfprintf): New declaration.
61642         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61643         REPLACE_VFPRINTF.
61644
61645 2007-03-08  Bruno Haible  <bruno@clisp.org>
61646
61647         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61648
61649 2007-03-08  Bruno Haible  <bruno@clisp.org>
61650
61651         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61652         instead of 'expr' invocations.
61653         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61654         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61655         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61656         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61657         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61658         Suggested by Paul Eggert.
61659
61660 2007-03-08  Bruno Haible  <bruno@clisp.org>
61661
61662         * modules/fseterr-tests: New file.
61663         * tests/test-fseterr.c: New file.
61664
61665         * modules/fseterr: New file.
61666         * lib/fseterr.h: New file.
61667         * lib/fseterr.c: New file.
61668
61669 2007-03-08  Bruno Haible  <bruno@clisp.org>
61670
61671         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61672         * lib/getopt_.h: Likewise.
61673         * lib/mbswidth.h: Likewise.
61674         * lib/setenv.h: Likewise.
61675         * lib/vasnprintf.h: Likewise.
61676         * lib/vasprintf.h: Likewise.
61677         * lib/verror.h: Likewise.
61678         * lib/xsetenv.h: Likewise.
61679         * lib/xvasprintf.h: Likewise.
61680
61681 2007-03-08  Jim Meyering  <jim@meyering.net>
61682
61683         * users.txt: Add parted.
61684
61685         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61686
61687 2007-03-07  Bruno Haible  <bruno@clisp.org>
61688
61689         * m4/printf.m4: Make the shell script snippets copy&pastable.
61690
61691 2007-03-02  Bruno Haible  <bruno@clisp.org>
61692
61693         * lib/netinet_in_.h: New file.
61694         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61695         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61696         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61697         (Depends-on): Add absolute-header.
61698         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61699         into netinet/in.h.
61700
61701 2007-03-03  Bruno Haible  <bruno@clisp.org>
61702
61703         * lib/sys_select_.h: New file.
61704         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61705         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61706         * modules/sys_select (Files): Add lib/sys_select_.h.
61707         (Depends-on): Add absolute-header.
61708         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61709         into sys/select.h.
61710
61711 2007-03-02  Bruno Haible  <bruno@clisp.org>
61712
61713         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61714         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61715         values.
61716         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61717         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61718         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61719         * modules/sys_socket (Depends-on): Add absolute-header.
61720         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61721         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61722         (Include): Remove requirement of inclusion of <sys/types.h>.
61723
61724 2007-03-02  Bruno Haible  <bruno@clisp.org>
61725
61726         * lib/byteswap_.h (bswap_32): Fix formula.
61727
61728 2007-03-06  Bruno Haible  <bruno@clisp.org>
61729
61730         * modules/sprintf-posix-tests: New file.
61731         * tests/test-sprintf-posix.c: New file.
61732
61733         * modules/sprintf-posix: New file.
61734         * lib/sprintf.c: New file.
61735         * m4/sprintf-posix.m4: New file.
61736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61737         REPLACE_SPRINTF.
61738         * lib/stdio_.h (sprintf): New declaration.
61739         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61740         REPLACE_SPRINTF.
61741
61742 2007-03-06  Bruno Haible  <bruno@clisp.org>
61743
61744         * modules/vsprintf-posix-tests: New file.
61745         * tests/test-vsprintf-posix.c: New file.
61746         * tests/test-sprintf-posix.h: New file.
61747
61748         * modules/vsprintf-posix: New file.
61749         * lib/vsprintf.c: New file.
61750         * m4/vsprintf-posix.m4: New file.
61751         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61752         REPLACE_VSPRINTF.
61753         * lib/stdio_.h (vsprintf): New declaration.
61754         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61755         REPLACE_VSPRINTF.
61756
61757 2007-03-06  Bruno Haible  <bruno@clisp.org>
61758
61759         * modules/vsnprintf (Depend-on): Remove minmax.
61760
61761 2007-03-06  Bruno Haible  <bruno@clisp.org>
61762
61763         * modules/snprintf-posix-tests: New file.
61764         * tests/test-snprintf-posix.c: New file.
61765
61766         * modules/snprintf-posix: New file.
61767         * m4/snprintf-posix.m4: New file.
61768         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61769         gl_FUNC_SNPRINTF.
61770         (gl_FUNC_SNPRINTF): Invoke it.
61771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61772         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61773         is set.
61774         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61775
61776 2007-03-06  Bruno Haible  <bruno@clisp.org>
61777
61778         * modules/vsnprintf-posix-tests: New file.
61779         * tests/test-vsnprintf-posix.c: New file.
61780         * tests/test-snprintf-posix.h: New file.
61781
61782         * modules/vsnprintf-posix: New file.
61783         * m4/vsnprintf-posix.m4: New file.
61784         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61785         gl_FUNC_VSNPRINTF.
61786         (gl_FUNC_VSNPRINTF): Invoke it.
61787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61788         * lib/stdio_.h (vsnprintf): Define as a replacement if
61789         REPLACE_VSNPRINTF is set.
61790         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61791
61792 2007-03-06  Bruno Haible  <bruno@clisp.org>
61793
61794         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61795         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61796
61797 2007-03-06  Bruno Haible  <bruno@clisp.org>
61798
61799         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61800         (asinl): Declare also if HAVE_DECL_ASINL is set.
61801         (atanl): Declare also if HAVE_DECL_ATANL is set.
61802         (ceill): Declare also if HAVE_DECL_CEILL is set.
61803         (cosl): Declare also if HAVE_DECL_COSL is set.
61804         (expl): Declare also if HAVE_DECL_EXPL is set.
61805         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61806         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61807         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61808         (logl): Declare also if HAVE_DECL_LOGL is set.
61809         (sinl): Declare also if HAVE_DECL_SINL is set.
61810         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61811         (tanl): Declare also if HAVE_DECL_TANL is set.
61812         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61814         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61815         declaration of frexpl, ldexpl.
61816         * modules/printf-frexpl (Depends-on): Add math.
61817         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61818
61819 2007-03-05  Bruno Haible  <bruno@clisp.org>
61820
61821         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61822         frexpl and ldexpl are declared.
61823         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61824
61825 2007-03-05  Bruno Haible  <bruno@clisp.org>
61826
61827         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61828         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61829
61830 2007-03-05  Bruno Haible  <bruno@clisp.org>
61831
61832         * lib/stdio_.h: Include <stddef.h>.
61833
61834 2007-03-05  Bruno Haible  <bruno@clisp.org>
61835
61836         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61837
61838 2007-03-05  Bruno Haible  <bruno@clisp.org>
61839
61840         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61841         NetBSD 4, from Ralf Wildenhues.
61842
61843 2007-03-04  Bruno Haible  <bruno@clisp.org>
61844
61845         * lib/vasprintf.h: Update #if logic for the case when the functions
61846         exist but are overridden.
61847
61848 2007-03-04  Bruno Haible  <bruno@clisp.org>
61849
61850         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61851         implementations: glibc-2.4 and MacOS X 10.3.
61852         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61853         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61854         * tests/test-vasprintf-posix.c (test_function): Likewise.
61855
61856 2007-03-04  Bruno Haible  <bruno@clisp.org>
61857
61858         * modules/vasprintf-posix-tests: New file.
61859         * tests/test-vasprintf-posix.c: New file.
61860
61861         * modules/vasprintf-posix: New file.
61862         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61863         defined.
61864         * m4/vasprintf-posix.m4: New file.
61865         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61866         gl_FUNC_VASPRINTF.
61867         (gl_FUNC_VASPRINTF): Invoke it.
61868         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61869         here.
61870         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61871
61872 2007-03-04  Bruno Haible  <bruno@clisp.org>
61873
61874         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61875         REPLACE_GETTIMEOFDAY.
61876         * modules/sys_time (Makefile.am): Likewise.
61877         * m4/sys_time_h.m4: Likewise.
61878         * m4/gettimeofday.m4: Likewise.
61879
61880 2007-03-04  Bruno Haible  <bruno@clisp.org>
61881
61882         * modules/vasnprintf-posix-tests: New file.
61883         * tests/test-vasnprintf-posix.c: New file.
61884
61885         * modules/vasnprintf-posix: New file.
61886         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61887         printf-frexpl.h.
61888         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61889         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61890         REPLACE_VASNPRINTF is defined.
61891         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61892         gl_FUNC_VASNPRINTF.
61893         (gl_FUNC_VASNPRINTF): Invoke it.
61894         * m4/vasnprintf-posix.m4: New file.
61895         * m4/printf.m4: New file.
61896
61897 2007-03-04  Bruno Haible  <bruno@clisp.org>
61898
61899         Compile progreloc.c only if --enable-relocatable is specified.
61900         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61901         if --enable-relocatable was specified.
61902         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61903         lib_SOURCES.
61904
61905 2007-03-04  Jim Meyering  <jim@meyering.net>
61906
61907         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61908         Use it consistently, rather than enumerating errno constants.
61909
61910 2007-03-04  Bruno Haible  <bruno@clisp.org>
61911
61912         * modules/xvasprintf-tests: New file.
61913         * tests/test-xvasprintf.c: New file.
61914
61915         * modules/vasprintf-tests: New file.
61916         * tests/test-vasprintf.c: New file.
61917
61918         * modules/vasnprintf-tests: New file.
61919         * tests/test-vasnprintf.c: New file.
61920
61921         * modules/vsnprintf-tests: New file.
61922         * tests/test-vsnprintf.c: New file.
61923
61924         * modules/snprintf-tests: New file.
61925         * tests/test-snprintf.c: New file.
61926
61927 2007-03-04  Bruno Haible  <bruno@clisp.org>
61928
61929         Compile relocatable.c only if --enable-relocatable is specified.
61930         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61931         gl_RELOCATABLE_LIBRARY.
61932         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61933         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61934         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61935         gl_RELOCATABLE_LIBRARY.
61936         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61937         (Makefile.am): Remove lib_SOURCES.
61938         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61939         gl_RELOCATABLE_LIBRARY.
61940         (Makefile.am): Remove lib_SOURCES.
61941         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61942         always.
61943         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61944         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61945
61946 2007-03-04  Bruno Haible  <bruno@clisp.org>
61947
61948         * modules/argmatch-tests: New file.
61949         * tests/test-argmatch.c: New file.
61950
61951         * tests/test-allocsa.c (main): Halve the number of loop runs.
61952
61953         * modules/alloca-opt-tests: New file.
61954         * tests/test-alloca-opt.c: New file.
61955
61956 2007-03-04  Jim Meyering  <jim@meyering.net>
61957
61958         Work around difference between Linux ACLs and Solaris 10 ZFS.
61959         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61960         for EINVAL.
61961
61962 2007-03-03  Bruno Haible  <bruno@clisp.org>
61963
61964         * modules/relocatable-prog (Depends-on): Add back progreloc's
61965         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61966
61967 2007-03-03  Bruno Haible  <bruno@clisp.org>
61968
61969         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61970         * modules/relocatable-lib: New file.
61971
61972 2007-03-03  Bruno Haible  <bruno@clisp.org>
61973
61974         * modules/relocatable-prog: Renamed from modules/relocatable.
61975         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61976
61977 2007-03-03  Bruno Haible  <bruno@clisp.org>
61978
61979         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61980         m4/relocatable-lib.m4.
61981         (Depends-on): Remove 'relocatable'.
61982         (configure.ac): Add gl_RELOCATABLE_NOP.
61983
61984 2007-03-03  Bruno Haible  <bruno@clisp.org>
61985
61986         * modules/relocatable-prog-wrapper: New file.
61987         * modules/relocatable (Depends-on): Add it. Remove all other
61988         dependencies except progname.
61989         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61990
61991         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61992         (gl_FUNC_STRERROR): Nop.
61993         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61994
61995         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61996         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61997
61998         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61999         (gl_FUNC_READLINK): Update.
62000
62001         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
62002
62003 2007-03-03  Bruno Haible  <bruno@clisp.org>
62004
62005         * lib/xreadlink.c: Include <unistd.h> unconditionally.
62006         * modules/xreadlink (Depends-on): Add unistd.
62007         * modules/xreadlink-with-size (Depends-on): Likewise.
62008
62009 2007-03-03  Bruno Haible  <bruno@clisp.org>
62010
62011         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
62012         extracted from gt_FUNC_SETENV.
62013         (gt_FUNC_SETENV): Remove macro.
62014         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
62015         remove gt_FUNC_SETENV.
62016
62017 2007-03-03  Bruno Haible  <bruno@clisp.org>
62018
62019         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
62020         ENABLE_RELOCATABLE here.
62021         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
62022
62023 2007-03-03  Bruno Haible  <bruno@clisp.org>
62024
62025         * modules/rbtreehash-list-tests (Depends-on): Add progname.
62026         * tests/test-rbtreehash_list.c: Include progname.h.
62027         (main): Call set_program_name.
62028
62029         * modules/rbtree-oset-tests (Depends-on): Add progname.
62030         * tests/test-rbtree_oset.c: Include progname.h.
62031         (main): Call set_program_name.
62032
62033         * modules/rbtree-list-tests (Depends-on): Add progname.
62034         * tests/test-rbtree_list.c: Include progname.h.
62035         (main): Call set_program_name.
62036
62037         * modules/linked-list-tests (Depends-on): Add progname.
62038         * tests/test-linked_list.c: Include progname.h.
62039         (main): Call set_program_name.
62040
62041 2007-03-03  Bruno Haible  <bruno@clisp.org>
62042
62043         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
62044         All uses of __restrict changed to _Restrict_.
62045         * lib/glob_.h (__restrict): Remove macro.
62046
62047 2007-03-02  Bruno Haible  <bruno@clisp.org>
62048
62049         * modules/gettext (configure.ac): Require gettext infrastructure
62050         from version 0.16.1.
62051
62052 2007-03-02  Bruno Haible  <bruno@clisp.org>
62053
62054         * modules/linkedhash-list-tests (Depends-on): Add progname.
62055         * tests/test-linkedhash_list.c: Include progname.h.
62056         (main): Call set_program_name.
62057
62058         * modules/carray-list-tests (Depends-on): Add progname.
62059         * tests/test-carray_list.c: Include progname.h.
62060         (main): Call set_program_name.
62061
62062         * modules/avltreehash-list-tests (Depends-on): Add progname.
62063         * tests/test-avltreehash_list.c: Include progname.h.
62064         (main): Call set_program_name.
62065
62066         * modules/avltree-oset-tests (Depends-on): Add progname.
62067         * tests/test-avltree_oset.c: Include progname.h.
62068         (main): Call set_program_name.
62069
62070         * modules/avltree-list-tests (Depends-on): Add progname.
62071         * tests/test-avltree_list.c: Include progname.h.
62072         (main): Call set_program_name.
62073
62074         * modules/array-oset-tests (Depends-on): Add progname.
62075         * tests/test-array_oset.c: Include progname.h.
62076         (main): Call set_program_name.
62077
62078         * modules/array-list-tests (Depends-on): Add progname.
62079         * tests/test-array_list.c: Include progname.h.
62080         (main): Call set_program_name.
62081
62082         * modules/argp-tests (Depends-on): Add progname.
62083         * tests/test-argp.c: Include argp.h first. Include progname.h.
62084         (main): Call set_program_name.
62085
62086 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
62087
62088         * doc/gnulib-tool.texi (Initial import): Reword description of
62089         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
62090         limited effect even if defined after the first system include.
62091
62092 2007-03-01  Bruno Haible  <bruno@clisp.org>
62093
62094         * build-aux/config.libpath: Update to libtool-1.5.22.
62095         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62096
62097 2007-03-01  Bruno Haible  <bruno@clisp.org>
62098
62099         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
62100         foo_CFLAGS.
62101         Reported by Ralf Wildenhues.
62102
62103 2007-03-01  Bruno Haible  <bruno@clisp.org>
62104
62105         * build-aux/install-reloc: Remove object files left over by some
62106         compilers.
62107         Reported by Ralf Wildenhues.
62108
62109 2007-03-01  Bruno Haible  <bruno@clisp.org>
62110
62111         * build-aux/install-reloc: Break long lines.
62112
62113 2007-03-01  Bruno Haible  <bruno@clisp.org>
62114
62115         * doc/relocatable.texi: Document that it may not work on OpenBSD.
62116         Reported by Ralf Wildenhues.
62117
62118 2007-03-01  Bruno Haible  <bruno@clisp.org>
62119
62120         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62121         include ordering constraints.
62122
62123 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62124
62125         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
62126         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
62127         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
62128         as another example.
62129         * lib/time_.h: Fix misspelling.
62130         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62131         Require gl_HEADER_TIME_H_DEFAULTS.
62132         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
62133         * m4/time_r.m4 (gl_TIME_R): Likewise.
62134         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
62135
62136 2007-03-01  Bruno Haible  <bruno@clisp.org>
62137
62138         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
62139         * m4/utimens.m4 (gl_UTIMENS): Likewise.
62140
62141 2007-03-01  Jim Meyering  <jim@meyering.net>
62142
62143         * modules/xreadlink (Maintainer): Add my name.
62144         * modules/xreadlink-with-size (Depends-on): Alphabetize.
62145
62146 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
62147             Bruno Haible  <bruno@clisp.org>
62148
62149         * build-aux/install-reloc: Compile also c-ctype.c.
62150         * build-aux/relocatable.sh.in: New file.
62151         * doc/relocatable.texi: New file.
62152         * doc/relocatable-maint.texi: New file.
62153         * doc/gnulib.texi: Include relocatable-maint.texi.
62154         * lib/progreloc.c: Include unistd.h unconditionally.
62155         * lib/relocwrapper.c: Include unistd.h unconditionally.
62156         Include c-ctype.h.
62157         (add_dotbin): Use c_tolower.
62158         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
62159         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
62160         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
62161         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
62162         to m4/relocatable-lib.m4.
62163         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
62164         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
62165         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
62166         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
62167         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
62168         * modules/relocatable: New file.
62169         * modules/relocatable-lib: New file.
62170         * modules/relocatable-script: New file.
62171
62172 2007-02-28  Bruno Haible  <bruno@clisp.org>
62173
62174         Import --enable-relocatable infrastructure.
62175         * build-aux/config.libpath: New file, from GNU gettext.
62176         * build-aux/install-reloc: New file, from GNU gettext.
62177         * build-aux/reloc-ldflags: New file, from GNU gettext.
62178         * lib/relocatable.h: New file, from GNU gettext.
62179         * lib/relocatable.c: New file, from GNU gettext.
62180         * lib/relocwrapper.c: New file, from GNU gettext.
62181         * m4/relocatable.m4: New file, from GNU gettext.
62182
62183 2007-02-28  Bruno Haible  <bruno@clisp.org>
62184
62185         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62186
62187         * modules/xreadlink: New file, from GNU gettext with modifications.
62188         * lib/xreadlink.c: New file, from GNU gettext.
62189         * lib/xreadlink.h: Add comments.
62190         (xreadlink): New declaration.
62191
62192         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62193         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62194         lib/xreadlink-with-size.c.
62195         (configure.ac): Remove gl_XREADLINK invocation.
62196         (Makefile.am): Augment lib_SOURCES.
62197         * m4/xreadlink.m4: Remove file.
62198         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62199         (xreadlink_with_size): Renamed from xreadink.
62200         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62201         * modules/canonicalize (Depends-on): Replace xreadlink with
62202         xreadlink-with-size.
62203         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62204
62205 2007-02-25  Jim Meyering  <jim@meyering.net>
62206
62207         * build-aux/announce-gen: When complaining about excess arguments,
62208         list them.
62209
62210 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62211
62212         * README: Document signed integer overflow situation more
62213         accurately.
62214
62215 2007-02-25  Bruno Haible  <bruno@clisp.org>
62216
62217         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62218         'a' or 'A' conversion.
62219
62220 2007-02-25  Bruno Haible  <bruno@clisp.org>
62221
62222         * modules/filename: Renamed from modules/pathname.
62223         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62224         lib/concatpath.c with lib/concat-filename.c.
62225         (Makefile.am): Update.
62226         (Include): Replace pathname.h with filename.h.
62227         * lib/filename.h: Renamed from lib/pathname.h.
62228         (concatenated_filename): Renamed from concatenated_pathname.
62229         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62230         (concatenated_filename): Renamed from concatenated_pathname.
62231         * lib/findprog.c: Include filename.h instead of pathname.h.
62232         (find_in_path): Update.
62233         * lib/javacomp.c: Include filename.h instead of pathname.h.
62234         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62235         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62236         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62237         is_oldgcj_14_13_usable, is_javac_usable): Update.
62238         * lib/javaexec.c: Include filename.h instead of pathname.h.
62239         (execute_java_class): Update.
62240         * modules/findprog: Update.
62241         * modules/javacomp: Update.
62242         * modules/javaexec: Update.
62243         * MODULES.html.sh (File system functions): Add 'filename', remove
62244         'pathname'.
62245
62246 2007-02-25  Bruno Haible  <bruno@clisp.org>
62247
62248         * modules/printf-frexpl-tests: New file.
62249         * tests/test-printf-frexpl.c: New file.
62250
62251         * modules/printf-frexpl: New file.
62252         * lib/printf-frexpl.h: New file.
62253         * lib/printf-frexpl.c: New file.
62254         * m4/printf-frexpl.m4: New file.
62255
62256 2007-02-25  Bruno Haible  <bruno@clisp.org>
62257
62258         * modules/printf-frexp-tests: New file.
62259         * tests/test-printf-frexp.c: New file.
62260
62261         * modules/printf-frexp: New file.
62262         * lib/printf-frexp.h: New file.
62263         * lib/printf-frexp.c: New file.
62264         * m4/printf-frexp.m4: New file.
62265
62266 2007-02-25  Bruno Haible  <bruno@clisp.org>
62267
62268         Assume automake >= 1.10 for the tests.
62269         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62270         * modules/arctwo-tests: Likewise.
62271         * modules/argp-tests: Likewise.
62272         * modules/avltree-list-tests: Likewise.
62273         * modules/avltree-oset-tests: Likewise.
62274         * modules/avltreehash-list-tests: Likewise.
62275         * modules/carray-list-tests: Likewise.
62276         * modules/crc-tests: Likewise.
62277         * modules/des-tests: Likewise.
62278         * modules/gc-arcfour-tests: Likewise.
62279         * modules/gc-arctwo-tests: Likewise.
62280         * modules/gc-des-tests: Likewise.
62281         * modules/gc-hmac-md5-tests: Likewise.
62282         * modules/gc-hmac-sha1-tests: Likewise.
62283         * modules/gc-md2-tests: Likewise.
62284         * modules/gc-md4-tests: Likewise.
62285         * modules/gc-md5-tests: Likewise.
62286         * modules/gc-pbkdf2-sha1-tests: Likewise.
62287         * modules/gc-rijndael-tests: Likewise.
62288         * modules/gc-sha1-tests: Likewise.
62289         * modules/gc-tests: Likewise.
62290         * modules/getaddrinfo-tests: Likewise.
62291         * modules/hmac-md5-tests: Likewise.
62292         * modules/hmac-sha1-tests: Likewise.
62293         * modules/linked-list-tests: Likewise.
62294         * modules/linkedhash-list-tests: Likewise.
62295         * modules/lock-tests: Likewise.
62296         * modules/md2-tests: Likewise.
62297         * modules/md4-tests: Likewise.
62298         * modules/md5-tests: Likewise.
62299         * modules/rbtree-list-tests: Likewise.
62300         * modules/rbtree-oset-tests: Likewise.
62301         * modules/rbtreehash-list-tests: Likewise.
62302         * modules/read-file-tests: Likewise.
62303         * modules/rijndael-tests: Likewise.
62304         * modules/stdint-tests: Likewise.
62305         * modules/tls-tests: Likewise.
62306
62307 2007-02-24  Bruno Haible  <bruno@clisp.org>
62308
62309         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62310         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62311         function; instead check whether isnan with a double argument links.
62312         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62313         function; instead check whether isnan with a 'long double' argument
62314         links.
62315         Reported by Eric Blake <ebb9@byu.net>.
62316
62317 2007-02-24  Bruno Haible  <bruno@clisp.org>
62318
62319         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62320         defined.
62321         * lib/isnanl.c: Remove all code. Just include isnan.c.
62322         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62323
62324 2007-02-25  Jim Meyering  <jim@meyering.net>
62325
62326         Avoid conflicting types for 'unsetenv' on FreeBSD.
62327         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62328         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62329         in stdlib.h.
62330
62331 2007-02-24  Bruno Haible  <bruno@clisp.org>
62332
62333         * modules/isnanl-nolibm-tests: New file.
62334         * tests/test-isnanl.c: New file.
62335
62336         * modules/isnanl-nolibm: New file.
62337         * lib/isnanl.h: New file.
62338         * lib/isnanl.c: New file.
62339         * m4/isnanl.m4: New file.
62340
62341 2007-02-24  Bruno Haible  <bruno@clisp.org>
62342
62343         * modules/isnan-nolibm-tests: New file.
62344         * tests/test-isnan.c: New file.
62345
62346         * modules/isnan-nolibm: New file.
62347         * lib/isnan.h: New file.
62348         * lib/isnan.c: New file.
62349         * m4/isnan.m4: New file.
62350
62351 2007-02-24  Bruno Haible  <bruno@clisp.org>
62352
62353         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62354         assume that an exponent fits in 20 bits.
62355
62356 2007-02-24  Jim Meyering  <jim@meyering.net>
62357
62358         * m4/regex.m4: Update the description of the configure-time option,
62359         --without-included-regex, to state accurately what the defaults are,
62360         and perhaps to give people an idea why using this option is risky.
62361
62362 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62363
62364         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62365         loops on small arguments.  This attempts to avoid the problem
62366         Bruno Haible reported for AIX 4.3.2 in
62367         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62368
62369 2007-02-23  Bruno Haible  <bruno@clisp.org>
62370
62371         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62372         Needed for help2man.
62373
62374 2007-02-23  Karl Berry  <karl@gnu.org>
62375
62376         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62377         exists, foo.h should be cvs-ignored, not committed.
62378
62379 2007-02-23  Eric Blake  <ebb9@byu.net>
62380
62381         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62382         * lib/stat-time.h (includes): Likewise.
62383         * lib/utimecmp.c (includes): Likewise.
62384         * lib/utimens.h (includes): Likewise.
62385         * lib/getdate.y (includes): Also include "timespec.h" for use
62386         internal to the module.
62387         * modules/utimens (Depends-on): Revert yesterday's patch.
62388         * modules/nanosleep (Depends-on): Add missing dependency.
62389
62390 2007-02-22  Bruno Haible  <bruno@clisp.org>
62391
62392         * lib/glob.c: Don't include getlogin_r.h.
62393
62394 2007-02-22  Jim Meyering  <jim@meyering.net>
62395
62396         * modules/utimens (Depends-on): Add timespec, required for
62397         utimens.h's inclusion of timespec.h.
62398
62399 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62400
62401         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62402         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62403         Schwab in
62404         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62405         I'll try to think of a better way to fix the Solaris problem.
62406
62407         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62408         like glibc; on Solaris 10, it fails with errno == EINVAL.
62409         POSIX says the behavior is unspecified if the first argument is NULL,
62410         so play it safe and never pass NULL to the system getcwd.
62411
62412 2007-02-21  Jim Meyering  <jim@meyering.net>
62413
62414         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62415         of gettimeofday.  It would conflict with the one now always
62416         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62417         an IRIX 6.5 build failure.
62418
62419 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62420
62421         Minor fixups to port to Solaris 10 with Sun C 5.8.
62422         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62423         * modules/getcwd (Depends-on): Add dirfd.
62424         * lib/putenv.c (putenv): #undef it.
62425         (rpl_putenv): New decl.
62426         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62427
62428 2007-02-20  Bruno Haible  <bruno@clisp.org>
62429
62430         * modules/stdio-tests: New file.
62431         * tests/test-stdio.c: New file.
62432
62433         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62434         (Depends-on): Add stdio.
62435         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62436         (Include): Use <stdio.h> instead of vsnprintf.h.
62437         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62438         HAVE_DECL_VSNPRINTF.
62439         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62440
62441         * modules/snprintf (Files): Remove lib/snprintf.h.
62442         (Depends-on): Add stdio.
62443         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62444         (Include): Use <stdio.h> instead of snprintf.h.
62445         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62446         HAVE_DECL_SNPRINTF.
62447         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62448         * lib/getaddrinfo.c: Likewise.
62449
62450         * modules/stdio: New file.
62451         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62452         * lib/snprintf.h: Remove file.
62453         * lib/vsnprintf.h: Remove file.
62454         * lib/.cppi-disable: Remove snprintf.h.
62455         * m4/stdio_h.m4: New file.
62456         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62457
62458 2007-02-20  Jim Meyering  <jim@meyering.net>
62459
62460         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62461         used by e.g., mingw.  From Bruno Haible.
62462
62463 2007-02-19  Bruno Haible  <bruno@clisp.org>
62464
62465         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62466         warnings.
62467         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62468
62469 2007-02-19  Bruno Haible  <bruno@clisp.org>
62470
62471         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62472         from mingw users.
62473
62474 2007-02-19  Bruno Haible  <bruno@clisp.org>
62475
62476         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62477         warnings.
62478         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62479
62480 2007-02-19  Jim Meyering  <jim@meyering.net>
62481
62482         Don't use FD after a successful "fdopendir (fd)".
62483         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62484         Reset it by calling dirfd on the just-obtained DIR*.
62485
62486         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62487         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62488
62489 2007-02-18  Bruno Haible  <bruno@clisp.org>
62490
62491         * lib/readlink.c: Include <unistd.h>.
62492         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62493         HAVE_READLINK.
62494         * modules/readlink (Depends-on): Add unistd.
62495         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62496         (Include): Add <unistd.h>.
62497
62498         * lib/getlogin_r.h: Remove file.
62499         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62500         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62501         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62502         HAVE_DECL_GETLOGIN_R.
62503         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62504         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62505         (Include): Use <unistd.h> instead of getlogin_r.h.
62506
62507         * lib/getcwd.h: Remove file.
62508         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62509         * lib/xgetcwd.c: Likewise.
62510         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62511         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62512         * modules/getcwd (Files): Remove lib/getcwd.h.
62513         (Depends-on): Add unistd.
62514         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62515         (Include): Use <unistd.h> instad of getcwd.h.
62516
62517         * lib/ftruncate.c: Include <unistd.h> first.
62518         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62519         Set HAVE_FTRUNCATE.
62520         * modules/ftruncate (Depends-on): Add unistd.
62521         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62522
62523         * lib/fchdir.c: Include <unistd.h> first.
62524         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62525         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62526         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62527         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62528         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62529
62530         * lib/dup2.c: Include <unistd.h> first.
62531         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62532         HAVE_DUP2.
62533         * modules/dup2 (Depends-on): Add unistd.
62534         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62535
62536         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62537         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62538         REPLACE_CHOWN. Don't define chown as a macro here.
62539         * modules/chown (Depends-on): Add unistd.
62540         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62541
62542         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62543         Add definition for GL_LINK_WARNING.
62544         (chown, dup2): New declarations.
62545         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62546         link warning.
62547         (ftruncate): New declaration.
62548         (getcwd): New declaration, taken from old getcwd.h.
62549         (getlogin_r): New declaration, taken from old getlogin_r.h.
62550         (readlink): New declaration.
62551         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62552         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62553         (gl_PREREQ_UNISTD): Remove macro.
62554         (gl_UNISTD_MODULE_INDICATOR): New macro.
62555         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62556         many new variables. Don't set UNISTD_H.
62557         * modules/unistd (Description): Change.
62558         (Depends-on): Add link-warning.
62559         (configure.ac): Update.
62560         (Makefile.am): Create unistd.h always. Substitute many new variables
62561         into it.
62562
62563 2007-02-18  Bruno Haible  <bruno@clisp.org>
62564
62565         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62566         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62567         HAVE_GETSUBOPT.
62568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62569         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62570         * lib/getsubopt.h: Remove file.
62571         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62572         (Depends-on): Add stdlib.
62573         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62574         (Includes): Use <stdlib.h> instead of getsubopt.h.
62575         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62576         Set HAVE_GETSUBOPT.
62577         * lib/getsubopt.c: Don't include getsubopt.h.
62578
62579 2007-02-18  Bruno Haible  <bruno@clisp.org>
62580
62581         * modules/fchdir (Depends-on): Add dup2.
62582
62583 2007-02-18  Bruno Haible  <bruno@clisp.org>
62584
62585         * lib/stdlib_.h: Handle glibc's special invocation convention
62586         specially.
62587
62588 2007-02-18  Bruno Haible  <bruno@clisp.org>
62589
62590         * modules/stdlib-tests: New file.
62591         * tests/test-stdlib.c: New file.
62592
62593         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62594         (Depends-on): Add stdlib.
62595         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62596         (Includes): Use <stdlib.h> instead of mkstemp.h.
62597         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62598         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62599         * lib/mkstemp.c: Don't include mkstemp.h.
62600         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62601         * lib/stdlib--.h: Don't include mkstemp.h.
62602
62603         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62604         (Depends-on): Add stdlib.
62605         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62606         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62607         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62608         HAVE_MKDTEMP.
62609         * lib/mkdtemp.c: Don't include mkdtemp.h.
62610         * lib/clean-temp.c: Don't include mkdtemp.h.
62611
62612         * modules/exit (Files): Remove lib/exit.h.
62613         (Depends-on): Add stdlib.
62614         (Makefile.am): Remove lib_SOURCES.
62615         (Include): Use <stdlib.h> instead of exit.h.
62616         * lib/argmatch.c: Don't include exit.h.
62617         * lib/execute.c: Likewise.
62618         * lib/pagealign_alloc.c: Likewise.
62619         * lib/pipe.c: Likewise.
62620         * lib/wait-process.c: Likewise.
62621         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62622         * lib/exitfail.c: Likewise.
62623         * lib/savewd.c: Likewise.
62624         * lib/xsetenv.c: Likewise.
62625
62626         * modules/stdlib: New file.
62627         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62628         and extra comments about mkstemp().
62629         * lib/exit.h: Remove file.
62630         * lib/mkdtemp.h: Remove file.
62631         * lib/mkstemp.h: Remove file.
62632         * m4/stdlib_h.m4: New file.
62633         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62634
62635 2007-02-18  Bruno Haible  <bruno@clisp.org>
62636
62637         * modules/math-tests: New file.
62638         * tests/test-math.c: New file.
62639
62640         * modules/math: New file.
62641         * modules/mathl (Files): Remove lib/mathl.h.
62642         (Depends-on): Add math.
62643         (Makefile.am): Don't mention mathl.h.
62644         (Include): Use <math.h> instead of mathl.h.
62645         * lib/math_.h: New file.
62646         * lib/mathl.h: Remove file.
62647         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62648         mathl.h.
62649         * lib/asinl.c: Likewise.
62650         * lib/atanl.c: Likewise.
62651         * lib/ceill.c: Likewise.
62652         * lib/cosl.c: Likewise.
62653         * lib/expl.c: Likewise.
62654         * lib/floorl.c: Likewise.
62655         * lib/frexpl.c: Likewise.
62656         * lib/ldexpl.c: Likewise.
62657         * lib/logl.c: Likewise.
62658         * lib/sincosl.c: Likewise.
62659         * lib/sinl.c: Likewise.
62660         * lib/sqrtl.c: Likewise.
62661         * lib/tanl.c: Likewise.
62662         * lib/trigl.c: Likewise.
62663         * m4/math_h.m4: New file.
62664         * MODULES.html.sh (Mathematics): Add math.
62665
62666 2007-02-17  Bruno Haible  <bruno@clisp.org>
62667
62668         * modules/wctype-tests: New file.
62669         * tests/test-wctype.c: New file.
62670
62671         * modules/wchar-tests: New file.
62672         * tests/test-wchar.c: New file.
62673
62674         * modules/unistd-tests: New file.
62675         * tests/test-unistd.c: New file.
62676
62677         * modules/time-tests: New file.
62678         * tests/test-time.c: New file.
62679
62680         * modules/sysexits-tests: New file.
62681         * tests/test-sysexits.c: New file.
62682
62683         * modules/sys_time-tests: New file.
62684         * tests/test-sys_time.c: New file.
62685
62686         * modules/sys_stat-tests: New file.
62687         * tests/test-sys_stat.c: New file.
62688
62689         * modules/sys_socket-tests: New file.
62690         * tests/test-sys_socket.c: New file.
62691
62692         * modules/sys_select-tests: New file.
62693         * tests/test-sys_select.c: New file.
62694
62695         * modules/string-tests: New file.
62696         * tests/test-string.c: New file.
62697
62698         * modules/stdbool-tests: New file.
62699         * tests/test-stdbool.c: New file.
62700
62701         * modules/netinet_in-tests: New file.
62702         * tests/test-netinet_in.c: New file.
62703
62704         * modules/inttypes-tests: New file.
62705         * tests/test-inttypes.c: New file.
62706
62707         * modules/fcntl-tests: New file.
62708         * tests/test-fcntl.c: New file.
62709
62710         * modules/byteswap-tests: New file.
62711         * tests/test-byteswap.c: New file.
62712
62713         * modules/arpa_inet-tests: New file.
62714         * tests/test-arpa_inet.c: New file.
62715
62716 2007-02-17  Bruno Haible  <bruno@clisp.org>
62717
62718         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62719         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62720         if the corresponding module is not enabled. Emit link warnings if
62721         the function is used nevertheless.
62722         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62723         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62724         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62725         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62726         * modules/inttypes (Depends-on): Add link-warning.
62727         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62728         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62729         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62730         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62731         * modules/imaxdiv (configure.ac): Likewise.
62732         * modules/strtoimax (configure.ac): Likewise.
62733         * modules/strtoumax (configure.ac): Likewise.
62734
62735 2007-02-17  Bruno Haible  <bruno@clisp.org>
62736
62737         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62738         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62739         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62740         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62741
62742 2007-02-17  Bruno Haible  <bruno@clisp.org>
62743
62744         * modules/link-warning: New file.
62745         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62746         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62747         * modules/string (Depends-on): Add link-warning.
62748         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62749         string.h.
62750         * MODULES.html.sh (Support for building libraries and executables): Add
62751         link-warning.
62752
62753 2007-02-17  Bruno Haible  <bruno@clisp.org>
62754
62755         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62756         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62757         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62758         long lines.
62759
62760 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62761             Bruno Haible  <bruno@clisp.org>
62762
62763         * modules/tmpfile: New file.
62764         * lib/tmpfile.c: New file.
62765         * m4/tmpfile.m4: New file.
62766         * MODULES.html.sh (func_all_modules): New section "Input/output".
62767
62768 2007-02-15  Bruno Haible  <bruno@clisp.org>
62769
62770         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62771         (supports_delete_on_close): New function.
62772         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62773
62774 2007-02-14  Bruno Haible  <bruno@clisp.org>
62775
62776         * modules/mbspcasecmp-tests: New file.
62777         * tests/test-mbspcasecmp.sh: New file.
62778         * tests/test-mbspcasecmp.c: New file.
62779
62780         New module mbspcasecmp.
62781         * modules/mbspcasecmp: New file.
62782         * lib/mbspcasecmp.c: New file.
62783         * lib/string_.h (strncasecmp): Change warning message.
62784         (mbspcasecmp): New declaration.
62785         * m4/mbspcasecmp.m4: New file.
62786         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62787         GNULIB_MBSPCASECMP.
62788         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62789         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62790
62791 2007-02-14  Bruno Haible  <bruno@clisp.org>
62792
62793         * modules/mbsncasecmp-tests: New file.
62794         * tests/test-mbsncasecmp.sh: New file.
62795         * tests/test-mbsncasecmp.c: New file.
62796
62797         New module mbsncasecmp.
62798         * modules/mbsncasecmp: New file.
62799         * lib/mbsncasecmp.c: New file.
62800         * lib/string_.h (mbsncasecmp): New declaration.
62801         * m4/mbsncasecmp.m4: New file.
62802         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62803         GNULIB_MBSNCASECMP.
62804         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62805         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62806
62807 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62808
62809         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62810         Verify that it doesn't overlap with our flags.
62811         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62812         do not have the desired effect in multibyte locales; instead, use
62813         mbscasecmp.
62814         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62815         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62816         we don't require GNU fnmatch ourselves (if our users require it, they
62817         should do so explicitly).
62818
62819         Fix regex code so it doesn't rely on strcasecmp.
62820         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62821         Otherwise, include gnulib's langinfo.h.
62822         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62823         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62824         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62825         * modules/regex (FILES): Remove m4/codeset.m4.
62826         (Depends-on): Add localcharset.  Remove strcase.
62827
62828 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62829
62830         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62831         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62832
62833 2007-02-13  Bruno Haible  <bruno@clisp.org>
62834
62835         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62836         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62837
62838 2007-02-12  Bruno Haible  <bruno@clisp.org>
62839
62840         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62841         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62842         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62843         time warning rather than a link error.
62844
62845 2007-02-12  Bruno Haible  <bruno@clisp.org>
62846
62847         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62848         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62849         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62850
62851 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62852
62853         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62854         args, not 2.
62855
62856 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62857
62858         New module 'time', so that apps can include <time.h> as per
62859         POSIX and GNU instead of separate include files like time_r.h
62860         and timegm.h.  This implementation tries out a simpler approach
62861         for replacing decls in standard include files (as compared to
62862         the string module), somewhat as an experiment.
62863
62864         * config/srclist.txt: Comment out mktime.c for now.
62865         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62866         since it doesn't apply any more.  Use generic wording instead.
62867         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62868         'time'.
62869         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62870         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62871         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62872         Don't include <sys/types.h>; no longer needed since we assume C89.
62873         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62874         * lib/strftime.c: Likewise.
62875         * lib/time_r.c: Likewise.
62876         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62877         * lib/nanosleep.c: Include <time.h> first, to check interface.
62878         * lib/strptime.c: Likewise.
62879         * lib/time_r.c: Likewise.
62880         * lib/timegm.c: Likewise.
62881         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62882         needed.
62883         * lib/timegm.c: Don't include timegm.h; no longer needed.
62884         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62885         time.h now handles any problems in that area.
62886         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62887         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62888         that time.h defines struct timespec.
62889         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62890         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62891         handles that.
62892         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62893         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62894         needed.  Set REPLACE_LOCALTIME.
62895         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62896         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62897         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62898         nanosleep; time_h.m4 now does that.  Don't require
62899         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62900         module handles this now.
62901         * modules/getdate (Depends-on): Remove timespec.  Add time.
62902         * modules/nanosleep (Depends-on): Likewise.
62903         * modules/stat-time (Depends-on): Likewise.
62904         * modules/nanosleep (Include): Include time.h, not timespec.h.
62905         * modules/strptime (Files): Remove lib/strptime.h.
62906         (Depends-on): Add extensions, time.
62907         (Include): Include time.h, not strptime.h.
62908         * modules/time_r (Files): Remove lib/time_r.h.
62909         (Depends-on): Add time.
62910         (Include): Include time.h, not time_r.h.
62911         * modules/timegm: Likewise.
62912         * modules/timespec (Description): Now does timespec-related decls
62913         of our own, instead of struct timespec itself.
62914         (Depends-on): Add time; remove extensions.
62915         (Maintainer): Add self.
62916         * modules/utimecmp (Depends-on): Add time; remove timespec.
62917         * modules/utimens (Depends-on): Likewise.
62918         * modules/xnanosleep (Depends-on): Likewise.
62919
62920 2007-02-11  Bruno Haible  <bruno@clisp.org>
62921
62922         * lib/c-strstr.c: Include allocsa.h.
62923         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62924         * lib/c-strcasestr.c: Include allocsa.h.
62925         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62926         * lib/strcasestr.c: Include allocsa.h.
62927         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62928         * lib/mbsstr.c: Include allocsa.h.
62929         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62930         allocsa/freesa instead of malloc/free.
62931         * lib/mbscasestr.c: Include allocsa.h.
62932         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62933         allocsa/freesa instead of malloc/free.
62934         * modules/c-strstr (Depends-on): Add allocsa.
62935         * modules/c-strcasestr (Depends-on): Likewise.
62936         * modules/strcasestr (Depends-on): Likewise.
62937         * modules/mbsstr (Depends-on): Likewise.
62938         * modules/mbscasestr (Depends-on): Likewise.
62939
62940 2007-02-11  Bruno Haible  <bruno@clisp.org>
62941
62942         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62943
62944         * modules/mbsspn-tests: New file.
62945         * tests/test-mbsspn.sh: New file.
62946         * tests/test-mbsspn.c: New file.
62947
62948 2007-02-11  Bruno Haible  <bruno@clisp.org>
62949
62950         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62951
62952         * modules/mbspbrk-tests: New file.
62953         * tests/test-mbspbrk.sh: New file.
62954         * tests/test-mbspbrk.c: New file.
62955
62956 2007-02-11  Bruno Haible  <bruno@clisp.org>
62957
62958         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62959         unneeded cast.
62960
62961         * modules/mbscspn-tests: New file.
62962         * tests/test-mbscspn.sh: New file.
62963         * tests/test-mbscspn.c: New file.
62964
62965 2007-02-11  Bruno Haible  <bruno@clisp.org>
62966
62967         * modules/mbscasecmp-tests: New file.
62968         * tests/test-mbscasecmp.sh: New file.
62969         * tests/test-mbscasecmp.c: New file.
62970
62971 2007-02-11  Bruno Haible  <bruno@clisp.org>
62972
62973         Ensure O(n) worst-case complexity of mbscasestr.
62974         * lib/mbscasestr.c: Include stdbool.h.
62975         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62976         functions.
62977         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62978         the bookkeeping indicates that it's worth it.
62979         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62980
62981         * modules/mbscasestr-tests: New file.
62982         * tests/test-mbscasestr1.c: New file.
62983         * tests/test-mbscasestr2.sh: New file.
62984         * tests/test-mbscasestr2.c: New file.
62985         * tests/test-mbscasestr3.sh: New file.
62986         * tests/test-mbscasestr3.c: New file.
62987         * tests/test-mbscasestr4.sh: New file.
62988         * tests/test-mbscasestr4.c: New file.
62989         * m4/locale-tr.m4: New file.
62990
62991 2007-02-11  Bruno Haible  <bruno@clisp.org>
62992
62993         Ensure O(n) worst-case complexity of mbsstr.
62994         * lib/mbsstr.c: Include stdbool.h.
62995         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62996         functions.
62997         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62998         bookkeeping indicates that it's worth it.
62999         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
63000
63001         * modules/mbsstr-tests: New file.
63002         * tests/test-mbsstr1.c: New file.
63003         * tests/test-mbsstr2.sh: New file.
63004         * tests/test-mbsstr2.c: New file.
63005         * tests/test-mbsstr3.sh: New file.
63006         * tests/test-mbsstr3.c: New file.
63007         * m4/locale-fr.m4: New file.
63008
63009 2007-02-11  Bruno Haible  <bruno@clisp.org>
63010
63011         * lib/mbsrchr.c (mbsrchr): Fix bug.
63012
63013         * modules/mbsrchr-tests: New file.
63014         * tests/test-mbsrchr.sh: New file.
63015         * tests/test-mbsrchr.c: New file.
63016
63017 2007-02-11  Bruno Haible  <bruno@clisp.org>
63018
63019         * lib/mbschr.c (mbschr): Fix bug.
63020
63021         * modules/mbschr-tests: New file.
63022         * tests/test-mbschr.sh: New file.
63023         * tests/test-mbschr.c: New file.
63024         * m4/locale-zh.m4: New file.
63025
63026 2007-02-11  Bruno Haible  <bruno@clisp.org>
63027
63028         Support for copying multibyte string iterators.
63029         * lib/mbiter.h: Include <string.h>.
63030         (mbiter_multi_copy): New function.
63031         (mbi_copy): New macro.
63032         * lib/mbuiter.h: Include <string.h>.
63033         (mbuiter_multi_copy): New function.
63034         (mbui_copy): New macro.
63035
63036 2007-02-11  Bruno Haible  <bruno@clisp.org>
63037
63038         New module mbslen.
63039         * modules/mbslen: New file.
63040         * lib/mbslen.c: New file.
63041         * lib/string_.h (mbslen): New declaration.
63042         * m4/mbslen.m4: New file.
63043         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63044         GNULIB_MBSLEN.
63045         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
63046         * MODULES.html.sh (Internationalization functions): Add mbslen.
63047
63048 2007-02-11  Bruno Haible  <bruno@clisp.org>
63049
63050         Ensure O(n) worst-case complexity of strcasestr substitute.
63051         * lib/strcasestr.c: Include stdbool.h.
63052         (knuth_morris_pratt): New function.
63053         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63054         bookkeeping indicates that it's worth it.
63055         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
63056
63057         * modules/strcasestr-tests: New file.
63058         * tests/test-strcasestr.c: New file.
63059
63060 2007-02-11  Bruno Haible  <bruno@clisp.org>
63061
63062         Ensure O(n) worst-case complexity of c_strcasestr.
63063         * lib/c-strcasestr.c: Include stdbool.h, string.h.
63064         (knuth_morris_pratt): New function.
63065         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
63066         the bookkeeping indicates that it's worth it.
63067         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
63068
63069         * modules/c-strcasestr-tests: New file.
63070         * tests/test-c-strcasestr.c: New file.
63071
63072 2007-02-11  Bruno Haible  <bruno@clisp.org>
63073
63074         Ensure O(n) worst-case complexity of c_strstr.
63075         * lib/c-strstr.c: Include stdbool.h, string.h.
63076         (knuth_morris_pratt): New function.
63077         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
63078         bookkeeping indicates that it's worth it.
63079         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
63080
63081         * lib/c-strstr.c: Complete rewrite for maintainability.
63082
63083         * modules/c-strstr-tests: New file.
63084         * tests/test-c-strstr.c: New file.
63085
63086 2007-02-11  Bruno Haible  <bruno@clisp.org>
63087
63088         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
63089         5.2.1 and earlier, whereby \055 was treated just like the range
63090         delimiter '-'.
63091         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63092
63093 2007-02-08  Bruno Haible  <bruno@clisp.org>
63094
63095         * modules/regex (Depends-on): Add stdbool.
63096         Reported by Dalibor Topic <robilad@kaffe.org>.
63097
63098 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63099
63100         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
63101         Prefer returning from main to exiting from it.
63102         Remove unnecessary parens after sizeof.
63103
63104 2007-02-05  Bruno Haible  <bruno@clisp.org>
63105
63106         New module mbssep.
63107         * modules/mbssep: New file.
63108         * lib/mbssep.c: New file.
63109         * lib/string_.h (strsep): Add a conditional link warning.
63110         (mbssep): New declaration.
63111         * m4/mbssep.m4: New file.
63112         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63113         GNULIB_MBSSEP.
63114         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
63115         * MODULES.html.sh (Internationalization functions): Add mbssep.
63116
63117 2007-02-05  Bruno Haible  <bruno@clisp.org>
63118
63119         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
63120         Optimize search in case of 1 delimiter.
63121
63122 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63123
63124         * lib/acl.h: Include sys/types.h before sys/acl.h.
63125
63126 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63127
63128         Merge upstream fix for glibc bugzilla #3957:
63129
63130         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
63131
63132         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
63133         bit for RE_HAT_LISTS_NOT_NEWLINE.
63134         (build_charclass_op): Remove bogus comment.
63135
63136 2007-02-05  Simon Josefsson  <simon@josefsson.org>
63137
63138         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
63139
63140 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63141
63142         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
63143         * lib/memmem.c [!defined _LIBC]: Include config.h.
63144
63145 2007-02-04  Bruno Haible  <bruno@clisp.org>
63146
63147         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
63148         warning message.
63149
63150 2007-02-04  Bruno Haible  <bruno@clisp.org>
63151
63152         New module mbstok_r.
63153         * modules/mbstok_r: New file.
63154         * lib/mbstok_r.c: New file.
63155         * lib/string_.h (strtok_r): Change argument names to match the
63156         comments. Add a conditional link warning.
63157         (mbstok_r): New declaration.
63158         * m4/mbstok_r.m4: New file.
63159         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63160         GNULIB_MBSTOK_R.
63161         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
63162         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
63163
63164 2007-02-04  Bruno Haible  <bruno@clisp.org>
63165
63166         New module mbsspn.
63167         * modules/mbsspn: New file.
63168         * lib/mbsspn.c: New file.
63169         * lib/string_.h (strspn): Add a conditional link warning.
63170         (mbsspn): New declaration.
63171         * m4/mbsspn.m4: New file.
63172         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63173         GNULIB_MBSSPN.
63174         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63175         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63176
63177 2007-02-04  Bruno Haible  <bruno@clisp.org>
63178
63179         New module mbspbrk.
63180         * modules/mbspbrk: New file.
63181         * lib/mbspbrk.c: New file.
63182         * lib/string_.h (strpbrk): Add a conditional link warning.
63183         (mbspbrk): New declaration.
63184         * m4/mbspbrk.m4: New file.
63185         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63186         GNULIB_MBSPBRK.
63187         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63188         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63189
63190 2007-02-04  Bruno Haible  <bruno@clisp.org>
63191
63192         New module mbscspn.
63193         * modules/mbscspn: New file.
63194         * lib/mbscspn.c: New file.
63195         * lib/string_.h (strcspn): Add a conditional link warning.
63196         (mbscspn): New declaration.
63197         * m4/mbscspn.m4: New file.
63198         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63199         GNULIB_MBSCSPN.
63200         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63201         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63202
63203 2007-02-04  Bruno Haible  <bruno@clisp.org>
63204
63205         New module mbscasestr, reduced goal of strcasestr.
63206         * modules/mbscasestr: New file.
63207         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63208         (mbscasestr): Renamed from strcasestr.
63209         * lib/strcasestr.c: Don't include mbuiter.h.
63210         (strcasestr): Remove support for multibyte locales.
63211         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63212         Change the conditional link warning.
63213         (mbscasestr): New declaration.
63214         * m4/mbscasestr.m4: New file.
63215         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63216         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63217         REPLACE_STRCASESTR.
63218         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63220         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63221         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63222         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63223         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63224         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63225         (Depends-on): Remove mbuiter.
63226         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63227
63228 2007-02-04  Bruno Haible  <bruno@clisp.org>
63229
63230         Simplify handling of strncasecmp.
63231         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63232         the conditional link warning.
63233         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63234         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63235         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63236         * modules/strcase (configure.ac): Don't invoke
63237         gl_STRING_MODULE_INDICATOR.
63238         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63239
63240 2007-02-04  Bruno Haible  <bruno@clisp.org>
63241
63242         New module mbscasecmp, reduced goal of strcasecmp.
63243         * modules/mbscasecmp: New file.
63244         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63245         (mbscasecmp): Renamed from strcasecmp.
63246         * lib/strcasecmp.c: Don't include mbuiter.h.
63247         (strcasecmp): Remove support for multibyte locales.
63248         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63249         Change the conditional link warning.
63250         (mbscasecmp): New declaration.
63251         * m4/mbscasecmp.m4: New file.
63252         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63253         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63254         REPLACE_STRCASECMP.
63255         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63256         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63257         GNULIB_MBSCASECMP.
63258         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63259         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63260         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63261         (Depends-on): Remove mbuiter.
63262         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63263
63264 2007-02-04  Bruno Haible  <bruno@clisp.org>
63265
63266         New module mbsstr. Remove module strstr.
63267         * modules/mbsstr: New file.
63268         * modules/strstr: Remove file.
63269         * lib/mbsstr.c: Renamed from lib/strstr.c.
63270         (mbsstr): Renamed from strstr.
63271         * lib/string_.h (strstr): Remove declaration. Change the conditional
63272         link warning.
63273         (mbsstr): New declaration.
63274         * m4/mbsstr.m4: New file.
63275         * m4/strstr.m4: Remove file.
63276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63277         REPLACE_STRSTR.
63278         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63279         Don't initialize GNULIB_STRSTR.
63280         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63281         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63282         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63283         (Support for systems lacking ANSI C 89): Remove strstr.
63284
63285 2007-02-04  Bruno Haible  <bruno@clisp.org>
63286
63287         New module mbsrchr.
63288         * modules/mbsrchr: New file.
63289         * lib/mbsrchr.c: New file.
63290         * lib/string_.h (strrchr): Add a conditional link warning.
63291         (mbsrchr): New declaration.
63292         * m4/mbsrchr.m4: New file.
63293         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63294         GNULIB_MBSRCHR.
63295         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63296         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63297
63298 2007-02-04  Bruno Haible  <bruno@clisp.org>
63299
63300         New module mbschr.
63301         * modules/mbschr: New file.
63302         * lib/mbschr.c: New file.
63303         * lib/string_.h (strchr): Add a conditional link warning.
63304         (mbschr): New declaration.
63305         * m4/mbschr.m4: New file.
63306         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63307         GNULIB_MBSCHR.
63308         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63309         * MODULES.html.sh (Internationalization functions): Add mbschr.
63310
63311 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63312
63313         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63314
63315         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63316
63317 2007-02-04  Bruno Haible  <bruno@clisp.org>
63318
63319         New module description section 'configure.ac-early'.
63320         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63321         (func_get_autoconf_early_snippet): New function.
63322         (func_import, func_create_testdir): Use it. Remove special cases for
63323         modules 'extensions' and 'lock'.
63324         * modules/extensions (configure.ac-early): Require
63325         gl_USE_SYSTEM_EXTENSIONS.
63326         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63327
63328 2007-02-04  Bruno Haible  <bruno@clisp.org>
63329
63330         Make use of gcj-4.3's -fsource and -ftarget option.
63331         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63332         and if so try the options -fsource and -ftarget.
63333         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63334         source_version, ftarget_option, target_version arguments.
63335         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63336         (is_envjavac_oldgcj_14_14_usable): Renamed from
63337         is_envjavac_gcj_14_14_usable.
63338         (is_envjavac_oldgcj_14_13_usable): Renamed from
63339         is_envjavac_gcj_14_13_usable.
63340         (is_gcj_present): Update.
63341         (is_gcj_43, is_gcj43_usable): New functions.
63342         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63343         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63344         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63345         try the options -fsource and -ftarget.
63346
63347 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63348
63349         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63350         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63351         larger value.
63352
63353 2007-02-03  Jim Meyering  <jim@meyering.net>
63354
63355         Give tools a better chance to allocate space for very large buffers.
63356         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63357
63358         Make pwd and readlink work also when run with an unreadable parent dir
63359         on systems with openat support.
63360         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63361         provided getcwd function, even when we have openat support.
63362         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63363
63364 2007-02-02  Bruno Haible  <bruno@clisp.org>
63365
63366         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63367         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63368         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63369         portability problems if one of these functions is only used on specific
63370         platforms.
63371         Reported by Paul Eggert.
63372
63373 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63374
63375         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63376         is causing more trouble than it's curing.
63377         * lib/regex_internal.h (__mempcpy): Remove.
63378         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63379         (and make the code a tad smaller to boot).
63380         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63381
63382 2007-02-02  Jim Meyering  <jim@meyering.net>
63383
63384         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63385         section, not in the Makefile.am: one.
63386
63387 2007-02-02  Eric Blake  <ebb9@byu.net>
63388
63389         * lib/strchrnul.c: Always include config.h first.
63390
63391         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63392         gnulib strstr is not necessary here.
63393
63394 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63395
63396         * m4/socklen.m4: Fix typo.
63397
63398 2007-02-02  Eric Blake  <ebb9@byu.net>
63399
63400         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63401         * modules/netinet_in (Makefile.am): Likewise.
63402
63403 2007-02-01  Bruno Haible  <bruno@clisp.org>
63404
63405         * lib/string_.h (GL_LINK_WARNING): New macro.
63406         (strcasecmp, strstr, strcasestr): If provided by the system,
63407         conditionally define as a macro that leads to a warning instead of to
63408         an error.
63409         (strncasecmp): Conditionally define as a macro that leads to a warning.
63410
63411 2007-02-01  Karl Berry  <karl@gnu.org>
63412
63413         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63414
63415 2007-02-01  Bruno Haible  <bruno@clisp.org>
63416
63417         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63418         renamings.
63419
63420 2007-02-01  Eric Blake  <ebb9@byu.net>
63421
63422         * modules/regex (Depends-on): Revert dependence on mempcpy.
63423         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63424         module's definition of mempcpy.
63425         Reported by Paul Eggert.
63426
63427 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63428
63429         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63430         the symbol XYZ before redefining it.  This fixes a problem with
63431         programs that don't use XYZ, when compiled on systems that define
63432         XYZ to something else.
63433
63434 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63435
63436         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63437         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63438         writeable to group or other and (2) is intended to have a special
63439         mode bit that is set or cleared.  In such a case, the directory
63440         should be neither group- nor other-writeable until the special
63441         mode bits are right.
63442
63443 2007-01-31  Eric Blake  <ebb9@byu.net>
63444
63445         * modules/mountlist (Depends-on): Add strstr.
63446
63447         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63448         bug.
63449         * modules/string (Makefile.am): Remove redundant replacement.
63450         * modules/regex (Depends-on): Add mempcpy.
63451
63452 2007-01-31  Bruno Haible  <bruno@clisp.org>
63453
63454         New module description field 'Link'.
63455         * gnulib-tool (func_usage): Document --extract-link-directive.
63456         (sed_extract_prog): Recognize 'Link' directive.
63457         (func_get_link_directive): New function.
63458         (func_import): Show summary of link directives.
63459         Handle --extract-link-directive option.
63460         * modules/acl (Link): New section.
63461         * modules/clock-time (Link): New section.
63462         * modules/euidaccess (Link): New section.
63463         * modules/gettext (Link): New section.
63464         * modules/iconv (Link): New section.
63465         * modules/lock (Link): New section.
63466         * modules/nanosleep (Link): New section.
63467         * modules/readline (Link): New section.
63468
63469 2007-01-27  Bruno Haible  <bruno@clisp.org>
63470
63471         Enforce the use of gnulib modules for unportable <string.h> functions.
63472         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63473         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63474         (gl_HEADER_STRING_H_BODY): Require it.
63475         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63476         the symbol XYZ to one that gives a link error.
63477         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63478         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63479         * modules/mempcpy (configure.ac): Likewise.
63480         * modules/memrchr (configure.ac): Likewise.
63481         * modules/stpcpy (configure.ac): Likewise.
63482         * modules/stpncpy (configure.ac): Likewise.
63483         * modules/strcase (configure.ac): Likewise.
63484         * modules/strcasestr (configure.ac): Likewise.
63485         * modules/strchrnul (configure.ac): Likewise.
63486         * modules/strdup (configure.ac): Likewise.
63487         * modules/strndup (configure.ac): Likewise.
63488         * modules/strnlen (configure.ac): Likewise.
63489         * modules/strpbrk (configure.ac): Likewise.
63490         * modules/strsep (configure.ac): Likewise.
63491         * modules/strstr (configure.ac): Likewise.
63492         * modules/strtok_r (configure.ac): Likewise.
63493
63494 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63495
63496         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63497
63498 2007-01-30  Jim Meyering  <jim@meyering.net>
63499
63500         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63501
63502 2007-01-29  Bruno Haible  <bruno@clisp.org>
63503
63504         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63505         * lib/execute.c: Likewise.
63506         * lib/pipe.c: Likewise.
63507         * lib/printf-args.h: Likewise.
63508         * lib/printf-args.c: Likewise.
63509         * lib/printf-parse.c: Likewise.
63510         * lib/vasnprintf.c: Likewise.
63511
63512 2007-01-29  Eric Blake  <ebb9@byu.net>
63513
63514         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63515         declaration.
63516
63517 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63518
63519         * lib/strptime.h (strptime): Use 'restrict' for args where
63520         POSIX requires this.
63521         * lib/strptime.c (strptime): Likewise.
63522         Change license notice from LGPL to GPL, since gnulib-tool will
63523         change this as needed.
63524         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63525         defined.
63526         Include "strptime.h" first, to check interface.
63527         Do not #undef _LIBC and _NL_CURRENT.
63528         Do not include <stdlib.h>; no longer needed.
63529         Include "time_r.h" and declare ptime_locale_status
63530         only if _LIBC is not defined.
63531         (__P): Remove unused macro.
63532         (match_string): Bring back glibc version, but use it only if _LIBC
63533         is defined.
63534         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63535         Remove unnecessary assertion and abort() call.
63536         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63537         * m4/strptime.m4: Fix serial number comment.
63538         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63539         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63540         (Depends-on): Add time_r.
63541
63542 2007-01-29  Bruno Haible  <bruno@clisp.org>
63543
63544         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63545         strptime.
63546         * modules/strptime (Depends-on): Add stdbool.
63547         * lib/strptime.h: Include <time.h> always. Add comments.
63548
63549 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63550
63551         * modules/strptime: New file.
63552         * lib/strptime.h: New file.
63553         * lib/strptime.c: New file.
63554         * m4/strptime.m4: New file.
63555
63556 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63557
63558         * MODULES.html.sh: New module mpsort.
63559         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63560
63561         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63562         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63563         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63564         All uses changed.
63565         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63566         All uses changed.
63567         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63568         to _Restrict_.
63569         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63570         the parameter matches the prototype.
63571
63572 2007-01-28  Jim Meyering  <jim@meyering.net>
63573
63574         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63575         sys/time.h here, reverting that part of the previous patch:
63576         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63577
63578 2007-01-28  Bruno Haible  <bruno@clisp.org>
63579
63580         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63581         value of $(SYS_TIME_H).
63582         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63583         remove it conditionally, too. [added by Jim Meyering]
63584         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63585         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63586         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63587         GETTIMEOFDAY_REPLACEMENT to 1.
63588
63589 2007-01-28  Bruno Haible  <bruno@clisp.org>
63590
63591         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63592         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63593         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63594         Set UNISTD_H instead of UNISTD_H2.
63595         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63596
63597 2007-01-28  Bruno Haible  <bruno@clisp.org>
63598
63599         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63600         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63601
63602 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63603
63604         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63605         (func_create_testdir): Ensure C locale for `grep' and `tr'
63606         character ranges.
63607         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63608         ACLOCAL_AMFLAGS parsing state machine.
63609
63610 2007-01-27  Bruno Haible  <bruno@clisp.org>
63611
63612         * modules/unistr/base: Update.
63613
63614 2007-01-27  Bruno Haible  <bruno@clisp.org>
63615
63616         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63617         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63618         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63619         modules/unistr/u32-mbtouc.
63620         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63621         * lib/unistr.h: Update.
63622         * lib/linebreak.c: Update.
63623         * modules/unistr/u32-mbtouc: Renamed from
63624         modules/unistr/u32-mbtouc-safe.
63625         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63626         * lib/unistr.h: Update.
63627         * lib/unistr/u32-to-u8.c: Update.
63628         * lib/unistr/u32-to-u16.c: Update.
63629
63630 2007-01-27  Bruno Haible  <bruno@clisp.org>
63631
63632         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63633         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63634         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63635         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63636         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63637         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63638         modules/unistr/u16-mbtouc.
63639         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63640         * lib/unistr.h: Update.
63641         * lib/linebreak.c: Update.
63642         * modules/linebreak: Update.
63643         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63644         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63645         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63646         * modules/unistr/u16-mbtouc: Renamed from
63647         modules/unistr/u16-mbtouc-safe.
63648         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63649         * lib/unistr.h: Update.
63650         * lib/unistr/u16-to-u8.c: Update.
63651         * modules/unistr/u16-to-u8: Update.
63652         * lib/unistr/u16-to-u32.c: Update.
63653         * modules/unistr/u16-to-u32: Update.
63654
63655 2007-01-27  Bruno Haible  <bruno@clisp.org>
63656
63657         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63658         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63659         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63660         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63661         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63662         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63663         modules/unistr/u8-mbtouc.
63664         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63665         * lib/unistr.h: Update.
63666         * lib/striconveh.c: Update.
63667         * modules/striconveh: Update.
63668         * lib/linebreak.c: Update.
63669         * modules/linebreak: Update.
63670         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63671         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63672         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63673         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63674         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63675         * lib/unistr.h: Update.
63676         * lib/striconveh.c: Update.
63677         * modules/striconveh: Update.
63678         * lib/unistr/u8-to-u16.c: Update.
63679         * modules/unistr/u8-to-u16: Update.
63680         * lib/unistr/u8-to-u32.c: Update.
63681         * modules/unistr/u8-to-u32: Update.
63682
63683 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63684
63685         Sync from Libtool.
63686         * lib/argz.c: Do not include strings.h nor memory.h, include
63687         string.h unconditionally.  Patch by Simon Josefsson.
63688
63689 2007-01-27  Bruno Haible  <bruno@clisp.org>
63690
63691         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63692         from gl_HEADER_STRING_H_BODY.
63693         (gl_HEADER_STRING_H_BODY): Require it.
63694         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63695         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63696         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63697         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63698         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63699         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63700         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63701         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63702         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63703         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63704         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63705         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63706         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63707         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63708         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63709
63710 2007-01-27  Bruno Haible  <bruno@clisp.org>
63711
63712         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63713         check_PROGRAMS into noinst_PROGRAMS.
63714         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63715         check_PROGRAMS in this case.
63716         (func_import): Set for_test to false.
63717         (func_create_testdir): Set for_test to true.
63718
63719 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63720             Bruno Haible  <bruno@clisp.org>
63721
63722         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63723         (Depends-on): Add string.
63724         (Includes): Use <string.h> instead of strcasestr.h.
63725         * modules/string (Makefile.am): Also substitute the value of
63726         REPLACE_STRCASESTR.
63727         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63728         assume strcasestr is declared in <string.h> not <strings.h>. Also
63729         set REPLACE_STRCASESTR.
63730         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63731         REPLACE_STRCASESTR.
63732         * lib/strcasestr.h: Remove file.
63733         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63734         * lib/string_.h (strcasestr): New declaration.
63735
63736 2007-01-27  Bruno Haible  <bruno@clisp.org>
63737
63738         * lib/string_.h: Use 'extern'.
63739
63740 2007-01-27  Jim Meyering  <jim@meyering.net>
63741
63742         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63743         of set-but-not-used local, "q".
63744
63745         * lib/mempcpy.c: Include <config.h> before <string.h>.
63746         This fixes a compilation error on HP-UX, due to the system's
63747         "restrict"-using mempcpy prototype.
63748
63749 2007-01-26  Bruno Haible  <bruno@clisp.org>
63750
63751         Small optimization.
63752         * lib/javacomp.c: Include c-strstr.h.
63753          (is_envjavac_gcj): Use c_strstr instead of strstr.
63754         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63755
63756 2007-01-26  Bruno Haible  <bruno@clisp.org>
63757
63758         * MODULES.html.sh (Unicode string functions): Add the new modules.
63759
63760         * modules/uniconv/u32-strconv-to-locale: New file.
63761         * lib/uniconv/u32-strconv-to-locale.c: New file.
63762
63763         * modules/uniconv/u16-strconv-to-locale: New file.
63764         * lib/uniconv/u16-strconv-to-locale.c: New file.
63765
63766         * modules/uniconv/u8-strconv-to-locale: New file.
63767         * lib/uniconv/u8-strconv-to-locale.c: New file.
63768
63769         * modules/uniconv/u32-strconv-from-locale: New file.
63770         * lib/uniconv/u32-strconv-from-locale.c: New file.
63771
63772         * modules/uniconv/u16-strconv-from-locale: New file.
63773         * lib/uniconv/u16-strconv-from-locale.c: New file.
63774
63775         * modules/uniconv/u8-strconv-from-locale: New file.
63776         * lib/uniconv/u8-strconv-from-locale.c: New file.
63777
63778         * modules/uniconv/u32-strconv-to-enc: New file.
63779         * lib/uniconv/u32-strconv-to-enc.c: New file.
63780         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63781         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63782
63783         * modules/uniconv/u16-strconv-to-enc: New file.
63784         * lib/uniconv/u16-strconv-to-enc.c: New file.
63785         * lib/uniconv/u-strconv-to-enc.h: New file.
63786         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63787         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63788
63789         * modules/uniconv/u8-strconv-to-enc: New file.
63790         * lib/uniconv/u8-strconv-to-enc.c: New file.
63791         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63792         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63793
63794         * modules/uniconv/u32-strconv-from-enc: New file.
63795         * lib/uniconv/u32-strconv-from-enc.c: New file.
63796         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63797         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63798
63799         * modules/uniconv/u16-strconv-from-enc: New file.
63800         * lib/uniconv/u16-strconv-from-enc.c: New file.
63801         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63802         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63803
63804         * modules/uniconv/u8-strconv-from-enc: New file.
63805         * lib/uniconv/u8-strconv-from-enc.c: New file.
63806         * lib/uniconv/u-strconv-from-enc.h: New file.
63807         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63808         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63809
63810         * modules/uniconv/u32-conv-from-enc: New file.
63811         * lib/uniconv/u32-conv-from-enc.c: New file.
63812         * modules/uniconv/u32-conv-from-enc-tests: New file.
63813         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63814
63815         * modules/uniconv/u16-conv-from-enc: New file.
63816         * lib/uniconv/u16-conv-from-enc.c: New file.
63817         * lib/uniconv/u-conv-from-enc.h: New file.
63818         * modules/uniconv/u16-conv-from-enc-tests: New file.
63819         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63820
63821         * modules/uniconv/u8-conv-from-enc: New file.
63822         * lib/uniconv/u8-conv-from-enc.c: New file.
63823         * modules/uniconv/u8-conv-from-enc-tests: New file.
63824         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63825
63826         * modules/uniconv/base: New file.
63827         * lib/uniconv.h: New file.
63828
63829 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63830
63831         * doc/gnulib-tool.texi (Initial import): Update to match current
63832         behavior with strdup module.
63833         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63834         * lib/memmem.h: Remove; all uses removed.  This is now done
63835         by <string.h>.
63836         * lib/mempcpy.h: Likewise.
63837         * lib/memrchr.h: Likewise.
63838         * lib/stpcpy.h: Likewise.
63839         * lib/stpncpy.h: Likewise.
63840         * lib/strcase.h: Likewise.
63841         * lib/strchrnul.h: Likewise.
63842         * lib/strdup.h: Likewise.
63843         * lib/strndup.h: Likewise.
63844         * lib/strnlen.h: Likewise.
63845         * lib/strpbrk.h: Likewise.
63846         * lib/strsep.h: Likewise.
63847         * lib/strstr.h: Likewise.
63848         * lib/strtok_r.h: Likewise.
63849         * lib/string_.h: New file.
63850         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63851         Rely on <string.h> instead.
63852         * lib/canon-host.c: Likewise.
63853         * lib/chdir-long.c: Likewise.
63854         * lib/concatpath.c: Likewise.
63855         * lib/exclude.c: Likewise.
63856         * lib/fchdir.c: Likewise.
63857         * lib/getaddrinfo.c: Likewise.
63858         * lib/getcwd.c: Likewise.
63859         * lib/getsubopt.c: Likewise.
63860         * lib/glob.c: Likewise.
63861         * lib/hard-locale.c: Likewise.
63862         * lib/iconvme.c: Likewise.
63863         * lib/javacomp.c: Likewise.
63864         * lib/mempcpy.c: Likewise.
63865         * lib/memrchr.c: Likewise.
63866         * lib/regex_internal.h: Likewise.
63867         * lib/stpncpy.c: Likewise.
63868         * lib/strcasecmp.c: Likewise.
63869         * lib/strchrnul.c: Likewise.
63870         * lib/strdup.c: Likewise.
63871         * lib/striconv.c: Likewise.
63872         * lib/striconveh.c: Likewise.
63873         * lib/striconveha.c: Likewise.
63874         * lib/strncasecmp.c: Likewise.
63875         * lib/strndup.c: Likewise.
63876         * lib/strnlen.c: Likewise.
63877         * lib/strsep.c: Likewise.
63878         * lib/strstr.c: Likewise.
63879         * lib/strtok_r.c: Likewise.
63880         * lib/userspec.c: Likewise.
63881         * lib/w32spawn.h: Likewise.
63882         * lib/xstrndup.c: Likewise.
63883         * lib/mountlist.c (strstr): Remove decl.
63884         * m4/string_h.m4: New file.
63885         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63886         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63887         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63888         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63889         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63890         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63891         Set REPLACE_STRCASECMP if necessary.
63892         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63893         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63894         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63895         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63896         HAVE_DECL_STRDUP if necessary.
63897         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63898         since gl_FUNC_STRNDUP does that now.
63899         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63900         Check for decl here...
63901         (gl_PREREQ_STRNLEN): ... not here.
63902         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63903         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63904         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63905         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63906         necessary.
63907         * modules/string: New file.
63908         * modules/memmem (Files): Remove special-purpose include file.
63909         (Depends-on): Add string.
63910         (Include): Include <string.h>, not the removed file.
63911         * modules/mempcpy: Likewise.
63912         * modules/memrchr: Likewise.
63913         * modules/stpcpy: Likewise.
63914         * modules/stpncpy: Likewise.
63915         * modules/strcase: Likewise.
63916         * modules/strchrnul: Likewise.
63917         * modules/strdup: Likewise.
63918         * modules/strndup: Likewise.
63919         * modules/strnlen: Likewise.
63920         * modules/strpbrk: Likewise.
63921         * modules/strsep: Likewise.
63922         * modules/strstr: Likewise.
63923         * modules/strtok_r: Likewise.
63924         * tests/test-dirname.c: Don't include "strdup.h", since
63925         <string.h> now suffices.
63926         * tests/test-memmem.c: Don't include "memmem.h", since
63927         <string.h> now suffices.
63928
63929 2007-01-25  Bruno Haible  <bruno@clisp.org>
63930
63931         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63932         *resultp is 0.
63933
63934         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63935         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63936         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63937         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63938
63939         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63940         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63941         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63942         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63943         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63944         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63945
63946 2007-01-24  Bruno Haible  <bruno@clisp.org>
63947
63948         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63949         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63950         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63951         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63952         gl_FUNC_FTS_CORE.
63953         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63954         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63955         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63956         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63957         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63958         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63959         gl_FUNC_FCHOWNAT.
63960         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63961         gl_FUNC_STRFTIME.
63962         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63963         Reported by Ralf Wildenhues.
63964
63965 2007-01-24  Bruno Haible  <bruno@clisp.org>
63966
63967         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63968         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63969         gl_GETADDRINFO.
63970         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63971         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63972         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63973
63974 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63975
63976         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63977         Don't use 'exit'; just return from 'main'.
63978         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63979
63980         * lib/fnmatch_.h: Readjust white space and comments to match
63981         glibc, to avoid spurious diffs.
63982
63983 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63984
63985         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63986         2004-12-01 change by Jakub Jelinek, since this code won't compile
63987         if !LIBC.  Problem reported by Bob Proulx.
63988
63989 2007-01-23  Bruno Haible  <bruno@clisp.org>
63990
63991         * lib/striconveh.c: Include c-strcaseeq.h.
63992         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63993         * modules/striconveh (Depends-on): Add c-strcaseeq.
63994
63995 2007-01-23  Bruno Haible  <bruno@clisp.org>
63996
63997         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63998
63999         * modules/c-strcaseeq: New file.
64000         * lib/c-strcaseeq.h: New file.
64001
64002         * modules/streq: New file.
64003         * lib/streq.h: New file.
64004
64005 2007-01-23  Bruno Haible  <bruno@clisp.org>
64006
64007         * modules/striconveha-tests: New file.
64008         * tests/test-striconveha.c: New file.
64009
64010         * lib/striconveha.h: Include <stdbool.h>.
64011         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
64012         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
64013         (mem_iconveha_notranslit): Renamed from mem_iconveha.
64014         (mem_iconveha): New function.
64015         (str_iconveha_notranslit): Renamed from str_iconveha.
64016         (str_iconveha): New function.
64017         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
64018         c-strcase.
64019
64020 2007-01-23  Bruno Haible  <bruno@clisp.org>
64021
64022         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
64023         encodings without forgiving before trying any encoding with handler.
64024         (str_iconveha): Try all encodings without forgiving before trying any
64025         encoding with handler.
64026
64027 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
64028
64029         Import the following changes from libc.
64030
64031         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
64032
64033         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
64034
64035         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64036
64037         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
64038         normal_bracket label.
64039
64040         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
64041
64042         [BZ #361]
64043         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
64044         to normal_bracket after fetching the next character.
64045
64046 2007-01-22  Bruno Haible  <bruno@clisp.org>
64047
64048         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
64049         argument.
64050         * lib/striconveh.c (iconv_carefully_1): New function.
64051         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
64052         argument.
64053         (str_cd_iconveh): Update.
64054         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
64055         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
64056         * tests/test-striconveh.c (MAGIC): New macro.
64057         (new_offsets): New function.
64058         (main): Test call with and without offsets.
64059
64060 2007-01-22  Bruno Haible  <bruno@clisp.org>
64061
64062         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
64063         * modules/sys_select (Makefile.am): Likewise.
64064         * modules/sys_socket (Makefile.am): Likewise.
64065         * modules/sys_time (Makefile.am): Likewise.
64066
64067 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64068
64069         * modules/gettimeofday (License): Change from GPL to LGPL, since
64070         gettimeofday is a library function.
64071
64072 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64073
64074         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
64075
64076 2007-01-21  Bruno Haible  <bruno@clisp.org>
64077
64078         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
64079
64080 2007-01-21  Bruno Haible  <bruno@clisp.org>
64081
64082         * modules/striconveha: New file.
64083         * lib/striconveha.h: New file.
64084         * lib/striconveha.c: New file.
64085         * MODULES.html.sh (Internationalization functions): Add striconveha.
64086         * lib/striconv.c (str_iconv): Optimize the case of an empty input
64087         string.
64088         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
64089
64090 2007-01-21  Bruno Haible  <bruno@clisp.org>
64091
64092         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
64093         * lib/striconveh.c (str_iconveh): Likewise.
64094
64095 2007-01-21  Bruno Haible  <bruno@clisp.org>
64096
64097         * lib/striconveh.h (mem_iconveh): New declaration.
64098         * lib/striconveh.c (mem_iconveh): New function.
64099         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
64100
64101 2007-01-21  Bruno Haible  <bruno@clisp.org>
64102
64103         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
64104
64105         * lib/striconveh.h (mem_cd_iconveh): Change specification.
64106         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
64107         original result buffer.
64108         (str_cd_iconveh): Update.
64109         * tests/test-striconveh.c (main): Update.
64110
64111         * lib/striconv.h (mem_cd_iconv): Change specification.
64112         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
64113         result buffer.
64114         (str_cd_iconv): Update.
64115         * tests/test-striconv.c (main): Update.
64116
64117 2007-01-21  Bruno Haible  <bruno@clisp.org>
64118
64119         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
64120
64121 2007-01-20  Jim Meyering  <jim@meyering.net>
64122
64123         * lib/userspec.c (parse_with_separator): If a user or group string
64124         starts with "+", skip the corresponding name-to-ID look-up, since
64125         such a look-up must fail: user and group names may not include "+".
64126
64127 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64128
64129         * lib/poll.c: Include sys/time.h and time.h unconditionally,
64130         since we now assume the sys_time module.
64131         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
64132         check for sys/time.h; no longer needed.
64133         * modules/poll (Depends-on): Depend on sys_time.
64134
64135 2007-01-18  Bruno Haible  <bruno@clisp.org>
64136
64137         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
64138         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64139
64140         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
64141         gettimeofday.
64142
64143         * tests/test-gettimeofday.c: Include <time.h>.
64144         (dummy): Remove variable.
64145
64146         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
64147         gl_HEADER_SYS_TIME_H.
64148         (gl_HEADER_SYS_TIME_H): New macro.
64149
64150         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
64151         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64152         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
64153         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
64154         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64155         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
64156         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
64157         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64158         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
64159         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
64160         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64161
64162         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
64163         last change; it caused a compilation error when cross-compiling to
64164         Cygwin.
64165
64166 2007-01-18  Jim Meyering  <jim@meyering.net>
64167
64168         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64169         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64170         than the race-prone "test -d sys || mkdir sys".
64171         (configure.ac): Use AC_PROG_MKDIR_P.
64172         * modules/sys_select: Likewise.
64173         * modules/sys_socket: Likewise.
64174         * modules/sys_time: Likewise.
64175
64176 2007-01-18  Eric Blake  <ebb9@byu.net>
64177
64178         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64179         replace gettimeofday.
64180         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64181         name, to avoid infinite recursion.
64182
64183 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64184
64185         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64186         module sys_time.
64187         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64188         assume timespec.h defines struct timeval.
64189         * lib/settime.c: Likewise.
64190         * lib/utimens.c: Likewise.
64191         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64192         since we now assume the gettimeofday module.
64193         * lib/tempname.c (__gen_tempname): Likewise.
64194         * lib/gettimeofday.h: Remove.
64195         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64196         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64197         Include <time.h>, for 'time()'.
64198         (localtime_buffer_addr): Also use this workaround if
64199         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64200         to simplify the uses.  All uses changed.
64201         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64202         that #undef is inside {}, and 'const' follows type name consistently.
64203         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64204         (gettimeofday): Do not use the maximum possible value for
64205         tv->tv_usec, since that might break usages other than ls.c.
64206         Instead, we'll leave ls.c alone.  This undoes today's patch
64207         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64208         we've never observed the problem but might as well keep the
64209         canary.
64210         * lib/nanosleep.c: Include timespec.h first, for interface check.
64211         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64212         now assume the sys_time module.
64213         * lib/tempname.c: Likewise.
64214         * lib/timespec.h: Likewise.
64215         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64216         needed.
64217         * lib/strftime.c: Likewise.
64218         * lib/timespec.h: Likewise.
64219         * lib/posixtm.c: Include posixtm.h first, for interface check.
64220         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64221         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64222         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64223         * lib/sys_time_.h: New file.
64224         * lib/timespec.h (struct timespec): Use long int, not long.
64225         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64226         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64227         Remove obsolescent call to AC_HEADER_TIME.
64228         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64229         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64230         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64231         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64232         Likewise.
64233         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64234         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64235         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64236         into the sys_time module.  Check for gettimeofday just once.
64237         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64238         for gettimeofday signature to just check the signature.  Merely
64239         compile it, since linking doesn't test signature.  Improve test for
64240         whether gettimeofday.o is actually needed.
64241         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64242         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64243         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64244         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64245         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64246         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64247         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64248         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64249         than worrying about sys/time.h.
64250         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64251         Don't bother worrying about TIME_WITH_SYS_TIME.
64252         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64253         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64254         * m4/sys_time_h.m4: New file.
64255         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64256         Don't include sys/time.h.  Return from main rather than exiting.
64257         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64258         all uses changed.
64259         * modules/gethrxtime (Depends-on): Add sys_time.
64260         * modules/gettime (Depends-on): Likewise.
64261         * modules/gettimeofday (Depends-on): Likewise.
64262         * modules/nanosleep (Depends-on): Likewise.
64263         * modules/settime (Depends-on): Likewise.
64264         * modules/tempname (Depends-on): Likewise.
64265         * modules/utimens (Depends-on): Likewise.
64266         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64267         (Include): Change back to <sys/time.h>.
64268         (Maintainer): Add self.
64269         * modules/sys_time: New file.
64270         * modules/tempname (Depends-on): Add gettimeofday.
64271         * tests/test-gettimeofday.c: Include <sys/time.h>
64272         rather than gettimeofday.h.
64273
64274 2007-01-17  Bruno Haible  <bruno@clisp.org>
64275
64276         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64277         the license default to GPL.
64278         (func_create_testdir): Don't complain if a module is LGPL and its
64279         tests module depends on GPLed modules.
64280
64281 2007-01-17  Bruno Haible  <bruno@clisp.org>
64282
64283         * lib/gettimeofday.c (gettimeofday): Add code for the case
64284         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64285         maximum possible value for tv->tv_usec, rather than the minimum one.
64286
64287 2005-10-08  Martin Lambers  <marlam@marlam.de>
64288 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64289 2007-01-16  Bruno Haible  <bruno@clisp.org>
64290
64291         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64292         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64293         gl_FUNC_GETTIMEOFDAY.
64294         (Include): Add gettimeofday.h.
64295         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64296         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64297         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64298         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64299         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64300         * lib/gettimeofday.h: New file.
64301         * lib/gettimeofday.c: Include <sys/timeb.h>.
64302         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64303         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64304         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64305         fall back on time().
64306
64307         * tests/test-gettimeofday.c: New file.
64308         * modules/gettimeofday-tests: New file.
64309
64310 2007-01-16  Eric Blake  <ebb9@byu.net>
64311
64312         * modules/fnmatch (Depends-on): Depend on wchar.
64313         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64314         * m4/fnmatch.m4: Likewise.
64315         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64316         * m4/mbchar.m4: Likewise.
64317         * modules/mbswidth (Depends-on): Depend on wchar.
64318         * lib/mbswidth.c: Assume <wchar.h>.
64319         * m4/mbswidth.m4: Likewise.
64320         * modules/quotearg (Depends-on): Depend on wchar.
64321         * lib/quotearg.c: Assume <wchar.h>.
64322         * m4/quotearg.m4: Likewise.
64323         * modules/regex (Depends-on): Depend on wchar.
64324         * lib/regex_internal.h: Assume <wchar.h>.
64325         * m4/regex.m4: Likewise.
64326         * modules/stdint (Depends-on): Depend on wchar.
64327         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64328         * m4/stdint.m4: Likewise.
64329         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64330         * modules/strftime (Depends-on): Depend on wchar.
64331         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64332         * modules/strtol (Depends-on): Depend on wchar.
64333         * lib/strtol.c: Assume <wchar.h>.
64334         * modules/wcwidth (Depends-on): Depend on wchar.
64335         * lib/wcwidth.h: Assume <wchar.h>.
64336         * m4/wcwidth.m4: Likewise.
64337
64338 2007-01-16  Bruno Haible  <bruno@clisp.org>
64339
64340         * modules/csharpexec-script: New, created from...
64341         * modules/csharpexec: ... this.
64342
64343 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64344
64345         * modules/javaexec-script: New, created from...
64346         * modules/javaexec: ... this.
64347
64348 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64349
64350         * modules/poll (Dependencies): Add sys_select.
64351
64352 2007-01-15  Jim Meyering  <jim@meyering.net>
64353
64354         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64355         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64356         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64357         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64358
64359 2007-01-15  Bruno Haible  <bruno@clisp.org>
64360
64361         * modules/striconveh: New file.
64362         * lib/striconveh.h: New file.
64363         * lib/striconveh.c: New file.
64364         * MODULES.html.sh (Internationalization functions): Add striconveh.
64365
64366         * modules/striconveh-tests: New file.
64367         * tests/test-striconveh.c: New file.
64368
64369 2007-01-15  Bruno Haible  <bruno@clisp.org>
64370
64371         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64372         not from GNU libiconv or GNU libc.
64373
64374 2007-01-15  Bruno Haible  <bruno@clisp.org>
64375
64376         * doc/gnulib-intro.texi (Copyright): Explain the different license
64377         terms for module descriptions, autoconf macros, tests, documentation.
64378
64379 2007-01-14  Bruno Haible  <bruno@clisp.org>
64380
64381         * modules/striconv-tests: New file.
64382         * tests/test-striconv.c: New file.
64383
64384 2007-01-14  Bruno Haible  <bruno@clisp.org>
64385
64386         * modules/iconv-tests: New file.
64387         * tests/test-iconv.c: New file.
64388
64389 2007-01-14  Bruno Haible  <bruno@clisp.org>
64390
64391         * gnulib-tool (func_get_license): For test modules, use the license of
64392         the main module.
64393
64394 2007-01-14  Bruno Haible  <bruno@clisp.org>
64395
64396         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64397         if iconv is found to exist.
64398
64399 2007-01-14  Bruno Haible  <bruno@clisp.org>
64400
64401         * modules/c-ctype-tests: New file.
64402         * tests/test-c-ctype.c: New file.
64403
64404 2007-01-14  Bruno Haible  <bruno@clisp.org>
64405
64406         * modules/binary-io-tests: New file.
64407         * tests/test-binary-io.sh: New file.
64408         * tests/test-binary-io.c: New file.
64409
64410 2007-01-14  Bruno Haible  <bruno@clisp.org>
64411
64412         * modules/array-oset-tests: New file.
64413         * tests/test-array_oset.c: New file.
64414
64415 2007-01-14  Bruno Haible  <bruno@clisp.org>
64416
64417         * modules/array-list-tests: New file.
64418         * tests/test-array_list.c: New file.
64419
64420 2007-01-14  Bruno Haible  <bruno@clisp.org>
64421
64422         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64423         and make.
64424         Reported by Simon Josefsson in
64425         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64426
64427 2007-01-14  Bruno Haible  <bruno@clisp.org>
64428
64429         * modules/allocsa-tests: New file.
64430         * tests/test-allocsa.c: New file.
64431
64432 2007-01-14  Bruno Haible  <bruno@clisp.org>
64433
64434         * modules/fchdir (Depends-on): Add absolute-header.
64435         * modules/unistd (Depends-on): Likewise.
64436
64437 2006-12-30  Bruno Haible  <bruno@clisp.org>
64438
64439         * modules/fchdir: New file.
64440         * modules/unistd (Files): Add lib/unistd_.h.
64441         (Makefile.am): Generate unistd.h from unistd_.h.
64442         * lib/fchdir.c: New file.
64443         * lib/dirent_.h: New file.
64444         * lib/unistd_.h: New file.
64445         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64446         * m4/fchdir.m4: New file.
64447         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64448         (gl_HEADER_UNISTD): Invoke it.
64449         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64450         function.
64451         * lib/backupfile.c (opendir, closedir): Undefine.
64452         * lib/chown.c (open, close): Undefine.
64453         * lib/clean-temp.c (open, close): Undefine.
64454         * lib/copy-file.c (open, close): Undefine.
64455         * lib/execute.c (open, close): Undefine.
64456         * lib/fsusage.c (open, close): Undefine.
64457         * lib/gc-gnulib.c (open, close): Undefine.
64458         * lib/getcwd.c (opendir, closedir): Undefine.
64459         * lib/glob.c (opendir, closedir): Undefine.
64460         * lib/javacomp.c (open, close): Undefine.
64461         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64462         * lib/openat-proc.c (open, close): Undefine.
64463         * lib/pagealign_alloc.c (open, close): Undefine.
64464         * lib/pipe.c (open, close): Undefine.
64465         * lib/progreloc.c (open, close): Undefine.
64466         * lib/savedir.c (opendir, closedir): Undefine.
64467         * lib/utime.c (open, close): Undefine.
64468         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64469
64470 2007-01-10  Bruno Haible  <bruno@clisp.org>
64471
64472         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64473
64474 2007-01-12  Eric Blake  <ebb9@byu.net>
64475
64476         Provide a robust <wchar.h>.  Further simplifications are now
64477         possible in other modules, but not included here.
64478         * modules/wchar: New module.
64479         * m4/wchar.m4: New file.
64480         * lib/wchar_.h: Likewise.
64481         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64482         of the new module.
64483         * MODULES.html.sh (Extended multibyte and wide character utilities):
64484         New section.
64485
64486 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64487
64488         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64489         to a reasonable default for memory allocation.
64490         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64491         file system that reports garbage st_size values for symlinks.
64492         Problem reported by Liyang Hu.
64493
64494 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64495
64496         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64497         Emacs .#* auto-save files).
64498
64499 2007-01-11  Bruno Haible  <bruno@clisp.org>
64500
64501         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64502         directory.
64503
64504 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64505
64506         Use @...@ consistently in lib/wctype_.h.
64507         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64508         on it being set to 1 or 0.
64509         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64510         go back to AC_SUBSTing it.
64511         * modules/wctype (Makefile.am): Undo previous change.
64512
64513 2007-01-10  Eric Blake  <ebb9@byu.net>
64514
64515         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64516         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64517         * modules/wctype (Makefile.am): Likewise.
64518         Reported by Chris McGuire.
64519
64520 2007-01-10  Jim Meyering  <jim@meyering.net>
64521
64522         fts.c: a small readability/maintainability improvement
64523         * lib/fts.c (fts_read): Make this code slightly more readable and
64524         maintainable by hoisting the "sp->fts_cur = p" assignments to
64525         immediately follow the statements that set P.  Derived from
64526         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64527
64528 2007-01-10  Eric Blake  <ebb9@byu.net>
64529
64530         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64531         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64532         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64533         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64534         Reported by Chris McGuire.
64535
64536 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64537
64538         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64539         in sed script.
64540
64541 2007-01-09  Bruno Haible  <bruno@clisp.org>
64542
64543         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64544         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64545         variables.
64546         (func_module): Use them.
64547
64548 2007-01-09  Bruno Haible  <bruno@clisp.org>
64549
64550         * modules/unistr/base: New file.
64551         * lib/unistr.h: New file.
64552
64553         * modules/unistr/u8-to-u16: New file.
64554         * lib/unistr/u8-to-u16.c: New file.
64555
64556         * modules/unistr/u8-to-u32: New file.
64557         * lib/unistr/u8-to-u32.c: New file.
64558
64559         * modules/unistr/u16-to-u8: New file.
64560         * lib/unistr/u16-to-u8.c: New file.
64561
64562         * modules/unistr/u16-to-u32: New file.
64563         * lib/unistr/u16-to-u32.c: New file.
64564
64565         * modules/unistr/u32-to-u8: New file.
64566         * lib/unistr/u32-to-u8.c: New file.
64567
64568         * modules/unistr/u32-to-u16: New file.
64569         * lib/unistr/u32-to-u16.c: New file.
64570
64571         * modules/unistr/u8-check: New file.
64572         * modules/unistr/u16-check: New file.
64573         * modules/unistr/u32-check: New file.
64574         * lib/unistr/u8-check.c: New file.
64575         * lib/unistr/u16-check.c: New file.
64576         * lib/unistr/u32-check.c: New file.
64577
64578         * modules/unistr/u8-chr: New file.
64579         * modules/unistr/u16-chr: New file.
64580         * modules/unistr/u32-chr: New file.
64581         * lib/unistr/u8-chr.c: New file.
64582         * lib/unistr/u16-chr.c: New file.
64583         * lib/unistr/u32-chr.c: New file.
64584
64585         * modules/unistr/u8-cmp: New file.
64586         * modules/unistr/u16-cmp: New file.
64587         * modules/unistr/u32-cmp: New file.
64588         * lib/unistr/u8-cmp.c: New file.
64589         * lib/unistr/u16-cmp.c: New file.
64590         * lib/unistr/u32-cmp.c: New file.
64591
64592         * modules/unistr/u8-cpy: New file.
64593         * modules/unistr/u16-cpy: New file.
64594         * modules/unistr/u32-cpy: New file.
64595         * lib/unistr/u8-cpy.c: New file.
64596         * lib/unistr/u16-cpy.c: New file.
64597         * lib/unistr/u32-cpy.c: New file.
64598         * lib/unistr/u-cpy.h: New file.
64599
64600         * modules/unistr/u8-cpy-alloc: New file.
64601         * modules/unistr/u16-cpy-alloc: New file.
64602         * modules/unistr/u32-cpy-alloc: New file.
64603         * lib/unistr/u8-cpy-alloc.c: New file.
64604         * lib/unistr/u16-cpy-alloc.c: New file.
64605         * lib/unistr/u32-cpy-alloc.c: New file.
64606         * lib/unistr/u-cpy-alloc.h: New file.
64607
64608         * modules/unistr/u8-endswith: New file.
64609         * modules/unistr/u16-endswith: New file.
64610         * modules/unistr/u32-endswith: New file.
64611         * lib/unistr/u8-endswith.c: New file.
64612         * lib/unistr/u16-endswith.c: New file.
64613         * lib/unistr/u32-endswith.c: New file.
64614         * lib/unistr/u-endswith.h: New file.
64615
64616         * modules/unistr/u8-mblen: New file.
64617         * modules/unistr/u16-mblen: New file.
64618         * modules/unistr/u32-mblen: New file.
64619         * lib/unistr/u8-mblen.c: New file.
64620         * lib/unistr/u16-mblen.c: New file.
64621         * lib/unistr/u32-mblen.c: New file.
64622
64623         * modules/unistr/u8-mbtouc: New file.
64624         * modules/unistr/u16-mbtouc: New file.
64625         * modules/unistr/u32-mbtouc: New file.
64626         * lib/unistr/u8-mbtouc.c: New file.
64627         * lib/unistr/u16-mbtouc.c: New file.
64628         * lib/unistr/u32-mbtouc.c: New file.
64629
64630         * modules/unistr/u8-mbtouc-safe: New file.
64631         * modules/unistr/u16-mbtouc-safe: New file.
64632         * modules/unistr/u32-mbtouc-safe: New file.
64633         * lib/unistr/u8-mbtouc-safe.c: New file.
64634         * lib/unistr/u16-mbtouc-safe.c: New file.
64635         * lib/unistr/u32-mbtouc-safe.c: New file.
64636
64637         * modules/unistr/u8-move: New file.
64638         * modules/unistr/u16-move: New file.
64639         * modules/unistr/u32-move: New file.
64640         * lib/unistr/u8-move.c: New file.
64641         * lib/unistr/u16-move.c: New file.
64642         * lib/unistr/u32-move.c: New file.
64643         * lib/unistr/u-move.h: New file.
64644
64645         * modules/unistr/u8-next: New file.
64646         * modules/unistr/u16-next: New file.
64647         * modules/unistr/u32-next: New file.
64648         * lib/unistr/u8-next.c: New file.
64649         * lib/unistr/u16-next.c: New file.
64650         * lib/unistr/u32-next.c: New file.
64651
64652         * modules/unistr/u8-prev: New file.
64653         * modules/unistr/u16-prev: New file.
64654         * modules/unistr/u32-prev: New file.
64655         * lib/unistr/u8-prev.c: New file.
64656         * lib/unistr/u16-prev.c: New file.
64657         * lib/unistr/u32-prev.c: New file.
64658
64659         * modules/unistr/u8-set: New file.
64660         * modules/unistr/u16-set: New file.
64661         * modules/unistr/u32-set: New file.
64662         * lib/unistr/u8-set.c: New file.
64663         * lib/unistr/u16-set.c: New file.
64664         * lib/unistr/u32-set.c: New file.
64665         * lib/unistr/u-set.h: New file.
64666
64667         * modules/unistr/u8-startswith: New file.
64668         * modules/unistr/u16-startswith: New file.
64669         * modules/unistr/u32-startswith: New file.
64670         * lib/unistr/u8-startswith.c: New file.
64671         * lib/unistr/u16-startswith.c: New file.
64672         * lib/unistr/u32-startswith.c: New file.
64673         * lib/unistr/u-startswith.h: New file.
64674
64675         * modules/unistr/u8-stpcpy: New file.
64676         * modules/unistr/u16-stpcpy: New file.
64677         * modules/unistr/u32-stpcpy: New file.
64678         * lib/unistr/u8-stpcpy.c: New file.
64679         * lib/unistr/u16-stpcpy.c: New file.
64680         * lib/unistr/u32-stpcpy.c: New file.
64681         * lib/unistr/u-stpcpy.h: New file.
64682
64683         * modules/unistr/u8-stpncpy: New file.
64684         * modules/unistr/u16-stpncpy: New file.
64685         * modules/unistr/u32-stpncpy: New file.
64686         * lib/unistr/u8-stpncpy.c: New file.
64687         * lib/unistr/u16-stpncpy.c: New file.
64688         * lib/unistr/u32-stpncpy.c: New file.
64689         * lib/unistr/u-stpncpy.h: New file.
64690
64691         * modules/unistr/u8-strcat: New file.
64692         * modules/unistr/u16-strcat: New file.
64693         * modules/unistr/u32-strcat: New file.
64694         * lib/unistr/u8-strcat.c: New file.
64695         * lib/unistr/u16-strcat.c: New file.
64696         * lib/unistr/u32-strcat.c: New file.
64697         * lib/unistr/u-strcat.h: New file.
64698
64699         * modules/unistr/u8-strchr: New file.
64700         * modules/unistr/u16-strchr: New file.
64701         * modules/unistr/u32-strchr: New file.
64702         * lib/unistr/u8-strchr.c: New file.
64703         * lib/unistr/u16-strchr.c: New file.
64704         * lib/unistr/u32-strchr.c: New file.
64705
64706         * modules/unistr/u8-strcmp: New file.
64707         * modules/unistr/u16-strcmp: New file.
64708         * modules/unistr/u32-strcmp: New file.
64709         * lib/unistr/u8-strcmp.c: New file.
64710         * lib/unistr/u16-strcmp.c: New file.
64711         * lib/unistr/u32-strcmp.c: New file.
64712
64713         * modules/unistr/u8-strcpy: New file.
64714         * modules/unistr/u16-strcpy: New file.
64715         * modules/unistr/u32-strcpy: New file.
64716         * lib/unistr/u8-strcpy.c: New file.
64717         * lib/unistr/u16-strcpy.c: New file.
64718         * lib/unistr/u32-strcpy.c: New file.
64719         * lib/unistr/u-strcpy.h: New file.
64720
64721         * modules/unistr/u8-strcspn: New file.
64722         * modules/unistr/u16-strcspn: New file.
64723         * modules/unistr/u32-strcspn: New file.
64724         * lib/unistr/u8-strcspn.c: New file.
64725         * lib/unistr/u16-strcspn.c: New file.
64726         * lib/unistr/u32-strcspn.c: New file.
64727         * lib/unistr/u-strcspn.h: New file.
64728
64729         * modules/unistr/u8-strdup: New file.
64730         * modules/unistr/u16-strdup: New file.
64731         * modules/unistr/u32-strdup: New file.
64732         * lib/unistr/u8-strdup.c: New file.
64733         * lib/unistr/u16-strdup.c: New file.
64734         * lib/unistr/u32-strdup.c: New file.
64735         * lib/unistr/u-strdup.h: New file.
64736
64737         * modules/unistr/u8-strlen: New file.
64738         * modules/unistr/u16-strlen: New file.
64739         * modules/unistr/u32-strlen: New file.
64740         * lib/unistr/u8-strlen.c: New file.
64741         * lib/unistr/u16-strlen.c: New file.
64742         * lib/unistr/u32-strlen.c: New file.
64743         * lib/unistr/u-strlen.h: New file.
64744
64745         * modules/unistr/u8-strmblen: New file.
64746         * modules/unistr/u16-strmblen: New file.
64747         * modules/unistr/u32-strmblen: New file.
64748         * lib/unistr/u8-strmblen.c: New file.
64749         * lib/unistr/u16-strmblen.c: New file.
64750         * lib/unistr/u32-strmblen.c: New file.
64751
64752         * modules/unistr/u8-strmbtouc: New file.
64753         * modules/unistr/u16-strmbtouc: New file.
64754         * modules/unistr/u32-strmbtouc: New file.
64755         * lib/unistr/u8-strmbtouc.c: New file.
64756         * lib/unistr/u16-strmbtouc.c: New file.
64757         * lib/unistr/u32-strmbtouc.c: New file.
64758
64759         * modules/unistr/u8-strncat: New file.
64760         * modules/unistr/u16-strncat: New file.
64761         * modules/unistr/u32-strncat: New file.
64762         * lib/unistr/u8-strncat.c: New file.
64763         * lib/unistr/u16-strncat.c: New file.
64764         * lib/unistr/u32-strncat.c: New file.
64765         * lib/unistr/u-strncat.h: New file.
64766
64767         * modules/unistr/u8-strncmp: New file.
64768         * modules/unistr/u16-strncmp: New file.
64769         * modules/unistr/u32-strncmp: New file.
64770         * lib/unistr/u8-strncmp.c: New file.
64771         * lib/unistr/u16-strncmp.c: New file.
64772         * lib/unistr/u32-strncmp.c: New file.
64773
64774         * modules/unistr/u8-strncpy: New file.
64775         * modules/unistr/u16-strncpy: New file.
64776         * modules/unistr/u32-strncpy: New file.
64777         * lib/unistr/u8-strncpy.c: New file.
64778         * lib/unistr/u16-strncpy.c: New file.
64779         * lib/unistr/u32-strncpy.c: New file.
64780         * lib/unistr/u-strncpy.h: New file.
64781
64782         * modules/unistr/u8-strnlen: New file.
64783         * modules/unistr/u16-strnlen: New file.
64784         * modules/unistr/u32-strnlen: New file.
64785         * lib/unistr/u8-strnlen.c: New file.
64786         * lib/unistr/u16-strnlen.c: New file.
64787         * lib/unistr/u32-strnlen.c: New file.
64788         * lib/unistr/u-strnlen.h: New file.
64789
64790         * modules/unistr/u8-strpbrk: New file.
64791         * modules/unistr/u16-strpbrk: New file.
64792         * modules/unistr/u32-strpbrk: New file.
64793         * lib/unistr/u8-strpbrk.c: New file.
64794         * lib/unistr/u16-strpbrk.c: New file.
64795         * lib/unistr/u32-strpbrk.c: New file.
64796         * lib/unistr/u-strpbrk.h: New file.
64797
64798         * modules/unistr/u8-strrchr: New file.
64799         * modules/unistr/u16-strrchr: New file.
64800         * modules/unistr/u32-strrchr: New file.
64801         * lib/unistr/u8-strrchr.c: New file.
64802         * lib/unistr/u16-strrchr.c: New file.
64803         * lib/unistr/u32-strrchr.c: New file.
64804
64805         * modules/unistr/u8-strspn: New file.
64806         * modules/unistr/u16-strspn: New file.
64807         * modules/unistr/u32-strspn: New file.
64808         * lib/unistr/u8-strspn.c: New file.
64809         * lib/unistr/u16-strspn.c: New file.
64810         * lib/unistr/u32-strspn.c: New file.
64811         * lib/unistr/u-strspn.h: New file.
64812
64813         * modules/unistr/u8-strstr: New file.
64814         * modules/unistr/u16-strstr: New file.
64815         * modules/unistr/u32-strstr: New file.
64816         * lib/unistr/u8-strstr.c: New file.
64817         * lib/unistr/u16-strstr.c: New file.
64818         * lib/unistr/u32-strstr.c: New file.
64819         * lib/unistr/u-strstr.h: New file.
64820
64821         * modules/unistr/u8-strtok: New file.
64822         * modules/unistr/u16-strtok: New file.
64823         * modules/unistr/u32-strtok: New file.
64824         * lib/unistr/u8-strtok.c: New file.
64825         * lib/unistr/u16-strtok.c: New file.
64826         * lib/unistr/u32-strtok.c: New file.
64827         * lib/unistr/u-strtok.h: New file.
64828
64829         * modules/unistr/u8-uctomb: New file.
64830         * modules/unistr/u16-uctomb: New file.
64831         * modules/unistr/u32-uctomb: New file.
64832         * lib/unistr/u8-uctomb.c: New file.
64833         * lib/unistr/u16-uctomb.c: New file.
64834         * lib/unistr/u32-uctomb.c: New file.
64835
64836         * MODULES.html.sh (Unicode string functions): Add the new modules.
64837
64838 2007-01-08  Bruno Haible  <bruno@clisp.org>
64839
64840         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64841         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64842         subdirectories.
64843
64844 2007-01-08  Karl Berry  <karl@gnu.org>
64845
64846         * doc/error.texi: mention that main() fns must set program_name
64847         when progname is used.
64848
64849 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64850
64851         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64852         WCTYPE_H is empty, for the benefit of builds from non-distclean
64853         directories.  Problem reported by Eric Blake in
64854         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64855
64856 2007-01-08  Bruno Haible  <bruno@clisp.org>
64857
64858         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64859         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64860         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64861         PROVIDE_CANONICALIZE_FILENAME_MODE.
64862         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64863
64864 2007-01-08  Bruno Haible  <bruno@clisp.org>
64865
64866         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64867         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64868         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64869         * lib/fts.c: Likewise.
64870         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64871
64872 2006-12-25  Bruno Haible  <bruno@clisp.org>
64873
64874         * modules/utf8-ucs4-safe: New file.
64875         * lib/utf8-ucs4-safe.h: New file.
64876         * lib/unistr/utf8-ucs4-safe.c: New file.
64877
64878         * modules/utf16-ucs4-safe: New file.
64879         * lib/utf16-ucs4-safe.h: New file.
64880         * lib/unistr/utf16-ucs4-safe.c: New file.
64881
64882         * MODULES.html.sh (Unicode string functions): Add the new modules.
64883
64884 2007-01-08  Bruno Haible  <bruno@clisp.org>
64885
64886         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64887         (Depends-on): Add unitypes.
64888         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64889         (u8_mbtouc_aux): Move out to separate file.
64890         (u8_mbtouc): Use ucs4_t, uint8_t types.
64891         * lib/unistr/utf8-ucs4.c: New file.
64892
64893         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64894         (Depends-on): Add unitypes.
64895         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64896         (u16_mbtouc_aux): Move out to separate file.
64897         (u16_mbtouc): Use ucs4_t, uint16_t types.
64898         * lib/unistr/utf16-ucs4.c: New file.
64899
64900         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64901         (Depends-on): Add unitypes.
64902         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64903         (u8_uctomb_aux): Move out to separate file.
64904         (u8_uctomb): Use ucs4_t, uint8_t types.
64905         * lib/unistr/ucs4-utf8.c: New file.
64906
64907         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64908         (Depends-on): Add unitypes.
64909         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64910         (u16_uctomb_aux): Move out to separate file.
64911         (u16_uctomb): Use ucs4_t, uint16_t types.
64912         * lib/unistr/ucs4-utf16.c: New file.
64913
64914 2006-12-25  Bruno Haible  <bruno@clisp.org>
64915
64916         * modules/unitypes: New file.
64917         * lib/unitypes.h: New file.
64918         * MODULES.html.sh (func_all_modules): New section "Unicode string
64919         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64920         this section. Add unitypes.
64921
64922 2007-01-08  Bruno Haible  <bruno@clisp.org>
64923
64924         Avoid variable names that conflict with those from libtool.
64925         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64926         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64927         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64928         library_names_spec to acl_library_names_spec, hardcode_* to
64929         acl_hardcode_*.
64930         Reported by Ralf Wildenhues.
64931
64932 2007-01-08  Bruno Haible  <bruno@clisp.org>
64933
64934         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64935         definition.
64936         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64937         definition.
64938         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64939         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64940         definition.
64941         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64942         definition.
64943         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64944         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64945         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64946         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64947         definition.
64948         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64949         definition.
64950         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64951         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64952         GC_USE_<algorithm>.
64953         * lib/gc-libgcrypt.c: Likewise.
64954         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64955         * modules/gc-arctwo (configure.ac): Likewise.
64956         * modules/gc-des (configure.ac): Likewise.
64957         * modules/gc-hmac-md5 (configure.ac): Likewise.
64958         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64959         * modules/gc-md2 (configure.ac): Likewise.
64960         * modules/gc-md4 (configure.ac): Likewise.
64961         * modules/gc-md5 (configure.ac): Likewise.
64962         * modules/gc-random (configure.ac): Likewise.
64963         * modules/gc-rijndael (configure.ac): Likewise.
64964         * modules/gc-sha1 (configure.ac): Likewise.
64965
64966 2007-01-08  Bruno Haible  <bruno@clisp.org>
64967
64968         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64969         macro definition.
64970         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64971         definition.
64972         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64973         definition.
64974         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64975         * modules/fcntl-safer (configure.ac): Likewise.
64976         * modules/fopen-safer (configure.ac): Likewise.
64977         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64978         GNULIB_FWRITEERROR macro definition.
64979
64980 2007-01-08  Bruno Haible  <bruno@clisp.org>
64981
64982         * m4/gnulib-common.m4: New file.
64983         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64984         (func_get_filelist): Add m4/gnulib-common.m4.
64985
64986 2007-01-08  Bruno Haible  <bruno@clisp.org>
64987
64988         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64989         command.
64990
64991 2007-01-08  Jim Meyering  <jim@meyering.net>
64992
64993         Use a more robust test for a "can't happen" condition.
64994         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64995         narrowed the st_size value.  Presuming the "can't happen" condition
64996         is true, that narrowing could conceivably convert an invalid st_size
64997         value into a valid one.  Instead, use a change based on Matthew
64998         Woehlke's original patch.
64999
65000         Slight readability improvement: use an assert-like macro
65001         in place of literal "abort ()" uses.
65002         * lib/fts.c (fts_assert): Define.
65003         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
65004         Use this macro instead of a bare 'abort'.
65005
65006 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
65007
65008         Don't worry about using IRIX 5.3's wctype.h broken definitions;
65009         simply work around them.
65010         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
65011         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
65012         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
65013         declaring.
65014         Don't bother to define as macros, since the standard doesn't require it.
65015         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
65016         longer worry about IRIX 5.3.
65017         (HAVE_WCTYPE_CTMP_BUG): Remove.
65018
65019 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
65020
65021         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
65022         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
65023         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65024         Problems reported by Georg Schwarz for IRIX 5.3.
65025
65026         * gnulib-tool (autoconf_minversion): Take the maximum version number
65027         found, not the minimum.  Problem reported by James Youngman.
65028
65029 2007-01-03  Karl Berry  <karl@gnu.org>
65030
65031         * doc/error.texi: new file, explaining interaction with progname.
65032         * doc/gnulib.texi: include it.  Update copyright.
65033
65034 2007-01-03  Simon Josefsson  <simon@josefsson.org>
65035
65036         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
65037         AC_CANONICAL_HOST, to improve autobuild outputs.
65038
65039 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
65040             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65041
65042         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
65043         sockets, server sockets, and other file descriptors.  Count errors
65044         to compute the return value.  Reorder the code a bit to be easier
65045         to follow.  Don't set event bits that were not requested (except
65046         POLLERR and POLLHUP).
65047
65048 2007-01-01  Bruno Haible  <bruno@clisp.org>
65049
65050         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
65051
65052 2007-01-03  Jim Meyering  <jim@meyering.net>
65053
65054         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
65055
65056 2007-01-02  Bruno Haible  <bruno@clisp.org>
65057
65058         * modules/settime (Include): Require timespec.h.
65059         * modules/nanosleep (Include): Likewise.
65060
65061 2007-01-01  Bruno Haible  <bruno@clisp.org>
65062
65063         * gnulib-tool (func_emit_copyright_notice): Bump year.
65064         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
65065
65066 2007-01-01  Bruno Haible  <bruno@clisp.org>
65067
65068         Improve support for OpenBSD.
65069         * build-aux/config.rpath (libname_spec): Export.
65070         (library_names_spec): New variable. Export.
65071         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
65072         library_names_spec from the config.rpath output. Locate shared library
65073         through the name pattern in library_names_spec.
65074
65075 2007-01-01  Eric Blake  <ebb9@byu.net>
65076
65077         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
65078
65079 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
65080
65081         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
65082         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
65083         assume the C locale, and avoid an "eval" that could cause trouble.
65084         Problem with SORT reported by Bob Proulx.
65085
65086         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
65087         Define.  Trivial patch from Henning Nielsen Lund, originally
65088         sent to bug-grep@gnu.org today.
65089
65090 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
65091
65092         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
65093         struct stat.  Problem reported by Henning Nielsen Lund.
65094         * lib/acl.c: Include acl.h first, to check interface.  Don't
65095         bother to include sys/types.h and sys/stat.h again.
65096
65097 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
65098
65099         Import the following change from libc; problem reported by
65100         Sven Verdoolaege.
65101
65102         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
65103
65104         [BZ #1373]
65105         * lib/argp.h: Remove __NTH for __argp_usage inline function.
65106
65107 2006-12-28  Jim Meyering  <jim@meyering.net>
65108
65109         * build-aux/announce-gen: Do not assume that the package
65110         builds any of tar.gz, tar.bz2, and .xdelta files.
65111         Suggestion from Simon Josefsson.
65112
65113 2006-12-28  Simon Josefsson  <simon@josefsson.org>
65114
65115         * modules/announce-gen: New file.
65116
65117 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
65118
65119         * lib/mbchar.h: Just include <wctype.h>; the wctype module
65120         handles its gotchas now.
65121         * lib/mbswidth.c: Likewise.
65122         * lib/wcwidth.h: Likewise.
65123         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
65124         and iswcntrl; the wctype module does this stuff now.
65125         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65126         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65127         * modules/mbchar (Depends-on): Add wctype.
65128         * modules/mbswidth (Depends-on): Likewise.
65129         * modules/wcwidth (Depends-on): Likewise.
65130
65131 2006-12-27  Eric Blake  <ebb9@byu.net>
65132
65133         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
65134         module uses more than what <wctype.h> is required to provide.
65135
65136 2006-12-26  Eric Blake  <ebb9@byu.net>
65137
65138         * gnulib-tool (sed_extract_prog): Avoid space-tab.
65139
65140 2006-12-26  Eric Blake  <ebb9@byu.net>
65141
65142         * modules/absolute-header: New module.
65143         * modules/fcntl (Depends-on): Depend on it.
65144         * modules/inttypes (Depends-on): Likewise.
65145         * modules/stdint (Depends-on): Likewise.
65146         * modules/sys_stat (Depends-on): Likewise.
65147         * modules/wctype (Depends-on): Likewise.
65148         * MODULES.html.sh (Support for building libraries and
65149         executables): Document it.
65150
65151 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
65152
65153         * gnulib-tool (SED): Remove, undoing previous change.
65154         The problem was that it broke coreutils on Solaris, because
65155         "sed --posix" leaked into a makefile.
65156         (sed): New alias, if 'alias' and GNU sed.
65157
65158 2006-12-24  Jim Meyering  <jim@meyering.net>
65159
65160         Work around an fchownat bug in glibc-2.4:
65161         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
65162         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
65163         in spite of the -P option.
65164         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
65165         New macros.
65166         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
65167         * modules/openat (Files): Add lib/fchownat.c.
65168         * lib/openat.c (fchownat): Don't define here.  Move to...
65169         * lib/fchownat.c: ...this new file.
65170
65171 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65172
65173         Fix bug reported by Bruno Haible in
65174         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65175         where quotearg.c didn't compile on Mac OS X 10.2 because it
65176         lacks <wchar.h> and wint_t.
65177         * lib/wctype_.h (__wctype_wint_t): New type.
65178         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65179         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65180         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65181         Arg is now of type __wctype_wint_t, not wint_t.
65182         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65183         substitute HAVE_WINT_T.
65184         * modules/wctype (Files): Add m4/wint_t.m4.
65185         (wctype.h): Substitute HAVE_WINT_T.
65186
65187 2006-12-23  Bruno Haible  <bruno@clisp.org>
65188
65189         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65190
65191 2006-12-23  Bruno Haible  <bruno@clisp.org>
65192
65193         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65194         S_ISLNK.
65195         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65196         mingw.
65197
65198 2006-12-22  Bruno Haible  <bruno@clisp.org>
65199
65200         * lib/copy-file.c: Include acl.h.
65201         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65202         Close the file descriptors only after being done with copy_acl.
65203         * modules/copy-file (Depends-on): Add acl.
65204
65205 2006-12-22  Bruno Haible  <bruno@clisp.org>
65206
65207         * gnulib-tool (SED): New variable.
65208         Use $SED instead of sed everywhere.
65209
65210 2006-12-22  Bruno Haible  <bruno@clisp.org>
65211
65212         * modules/no-c++: New file.
65213         * m4/no-c++.m4: New file.
65214         * MODULES.html.sh (Support for building libraries and executables):
65215         Add no-c++.
65216
65217 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65218
65219         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65220         Include <limits.h>, and use its INT_MAX to rewrite the
65221         j loop so that it does not overflow 'int'.  Problem reported by
65222         Ralf Wildenhues in
65223         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65224         Play it safe by shifting left by 1 rather than multiplying by 2,
65225         as GCC is less likely to optimize this away when the value
65226         is signed (when it assumes overflow leads to undefined behavior).
65227         Also, don't assume time_t uses two's complement.
65228
65229 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65230
65231         * MODULES.html.sh: New module wctype.
65232         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65233         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65234         <wctype.h>, since the new wctype module should fix this.
65235         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65236         the wctype module should arrange for it.
65237         * lib/regex_internal.h: Likewise.
65238         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65239         since the wctype module should handle this now.
65240         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65241         * modules/fnmatch (Depends-on): Add wctype.
65242         * modules/quotearg (Depends-on): Likewise.
65243         * modules/regex (Depends-on): Likewise.
65244
65245 2006-12-19  Bruno Haible  <bruno@clisp.org>
65246
65247         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65248         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65249
65250 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65251
65252         * modules/savewd (Depends-on): Fix dependency on fcntl.
65253
65254 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65255
65256         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65257         conforms to C99, rather than relying on the user's environment
65258         setting of STDINT_H.
65259
65260 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65261         and Eric Blake  <ebb9@byu.net>
65262
65263         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65264         This is more consistent with the other defines here.
65265         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65266         Port to z/OS.  Problem reported by Paul Gilmartin.
65267         Change local vars to use gl_ prefix rather than ac_.
65268         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65269         with other defines.
65270         * modules/double-slash-root: New module.
65271         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65272         (Depends-on): Add double-slash-root.
65273         * MODULES.html.sh (File system functions): Mention new module.
65274
65275 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65276
65277         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65278         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65279         This is for the benefit of gzip, which doesn't do i18n.
65280
65281 2006-12-12  Jim Meyering  <jim@meyering.net>
65282
65283         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65284         Reported by Andreas Schwab <schwab@suse.de>.
65285
65286 2006-12-12  Bruno Haible  <bruno@clisp.org>
65287
65288         Merge these changes.
65289         2006-09-05  Bruno Haible  <bruno@clisp.org>
65290         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65291         iconv_alloc succeeded.
65292         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65293         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65294         test for " && dest " at the end - dest is always != NULL there. Call
65295         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65296         with 2xNULL arguments, also to flush the state storage. Handle the
65297         IRIX iconv behaviour. Realloc the final result, to throw away unused
65298         memory.
65299
65300 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65301
65302         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65303         and fchmodat unconditionally, since glibc 2.4 has them.
65304         Problem reported by Arkadiusz Miskiewicz.
65305
65306 2006-12-10  Bruno Haible  <bruno@clisp.org>
65307
65308         * gnulib-tool (func_import): Show the include files only for those
65309         modules that are copied and specified.
65310         Reported by Karl Berry.
65311
65312 2006-12-08  Jim Meyering  <jim@meyering.net>
65313
65314         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65315         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65316
65317         * build-aux/announce-gen: Add two new options, both optional:
65318         --bootstrap-tools=TOOL_LIST
65319               a comma-separated list of tools, e.g.,
65320               autoconf,automake,bison,gnulib
65321         --gnulib-snapshot-date=DATE
65322               if gnulib is in the bootstrap tool list,
65323               then report this as the snapshot date.
65324               If not specified, use the current date/time.
65325               If you specify a date here, be sure it's UTC.
65326
65327 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65328
65329         * tests/test-argp-2.sh: Fix test to match actual output.
65330         (func_compare): Fix sed script to be portable.
65331
65332 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65333
65334         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65335         workaround for this case.  It is not autoconfigured now; offhand
65336         it's hard to see how to autoconfigure it.
65337
65338 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65339
65340         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65341         a directory that is about to be chowned.  Such a directory's
65342         initial file permissions should permit the owner only and this
65343         should not be changed until after the chown, since the group and
65344         other bits would be incorrect if they granted permission before
65345         the chown.
65346
65347         Fix porting problem for iswctype reported by Georg Schwarz in:
65348         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65349         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65350         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65351         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65352         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65353
65354 2006-12-03  Jim Meyering  <jim@meyering.net>
65355
65356         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65357         p->fts_statp may not yet be defined.
65358         (fts_read): Instead, set it in the caller, once p->fts_statp is
65359         sure to be defined, and corresponds to a top-level directory.
65360         This bug made du -x fail.  Here's the coreutils test case:
65361         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65362         Reported by Mike Frysinger.
65363
65364 2006-12-01  Jim Meyering  <jim@meyering.net>
65365
65366         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65367         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65368         Reported by Simon Josefsson.
65369
65370 2006-11-30  Jim Meyering  <jim@meyering.net>
65371
65372         * m4/warning.m4: Use the all-permissive copyright notice
65373         recommended by RMS (rather than LGPL).
65374         * m4/vararrays.m4: Likewise.
65375         * m4/flexmember.m4: Likewise.
65376
65377 2006-11-29  Bruno Haible  <bruno@clisp.org>
65378
65379         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65380         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65381         using +=.
65382         Reported by Simon Josefsson <simon@josefsson.org>.
65383
65384 2006-11-28  James Youngman <jay@gnu.org>
65385
65386         * README: Advise users that they might find the bug-gnulib@gnu.org
65387         and autotools-announce@gnu.org mailing lists useful.
65388
65389 2006-11-28  Bruno Haible  <bruno@clisp.org>
65390
65391         * m4/ptrdiff_max.m4: Remove file.
65392
65393 2006-11-21  Bruno Haible  <bruno@clisp.org>
65394
65395         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65396         _AC_COMPUTE_INT.
65397         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65398         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65399         _AC_COMPUTE_INT.
65400         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65401         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65402         _AC_COMPUTE_INT.
65403         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65404
65405 2006-11-28  Jim Meyering  <jim@meyering.net>
65406
65407         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65408         warning from "gcc -Wshadow" about shadowing the builtin.
65409
65410 2006-11-27  Bruno Haible  <bruno@clisp.org>
65411
65412         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65413         _AC_COMPUTE_INT.
65414         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65415
65416 2006-11-27  Bruno Haible  <bruno@clisp.org>
65417             Paul Eggert  <eggert@cs.ucla.edu>
65418
65419         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65420
65421 2006-11-26  Bruno Haible  <bruno@clisp.org>
65422
65423         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65424         noinst_LTLIBRARIES.
65425
65426 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65427             Bruno Haible  <bruno@clisp.org>
65428
65429         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65430         if compiling with "gcc -ansi".
65431
65432 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65433
65434         Fix some incompatibilities with gcc -ansi -pedantic.
65435         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65436         if compiling pedantically with GCC, unless it's C99 or later.
65437         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65438         it mishandles gcc -ansi -pedantic as well.
65439         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65440         if gcc -pedantic.
65441         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65442         initializers for struct if -pedantic, unless it's C99 or later.
65443
65444 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65445
65446         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65447         Don't close an fd more than once. Identical atimes indicate
65448         success, not failure.
65449
65450 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65451
65452         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65453
65454 2006-11-23  Jim Meyering  <jim@meyering.net>
65455
65456         * build-aux/announce-gen: New file.  From coreutils.
65457
65458 2006-11-22  Jim Meyering  <jim@meyering.net>
65459
65460         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65461         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65462         (fts_read): Use a temporary to narrow the overused st_size member
65463         before using it in a switch statement.  Reported by Matthew Woehlke.
65464
65465         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65466         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65467
65468 2006-11-20  Bruno Haible  <bruno@clisp.org>
65469
65470         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65471         changequote instead of pairs of brackets.
65472         Reported by Andreas Schwab <schwab@suse.de>.
65473
65474 2006-11-21  Jim Meyering  <jim@meyering.net>
65475
65476         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65477         so as to remain compatible with older compilers.
65478         Patch from Michael Deutschmann.
65479
65480 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65481
65482         * MODULES.html.sh (File system functions): Add openat.
65483
65484         * lib/openat.h (rpl_fstatat): New macro, if
65485         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65486         (fstatat): Define to rpl_fstatat under the same conditions,
65487         unless COMPILING_FSTATAT.
65488         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65489         seems to have the bug.
65490         * lib/fstatat.c: New file.
65491         * modules/openat (Files): Add it.
65492
65493 2006-11-20  Bruno Haible  <bruno@clisp.org>
65494
65495         * Makefile: New file.
65496
65497 2006-11-20  Jim Meyering  <jim@meyering.net>
65498
65499         The beginnings of syntax-related checks for gnulib.
65500         * lib/Makefile: New file.
65501         * lib/t-idcache: New script.  Ensure that the two halves of
65502         idcache.c stay in sync.
65503
65504         * lib/idcache.c: Adjust comments in user- and group- portions to
65505         be more accurate, and to be consistent with one another.
65506
65507 2006-11-20  Jim Meyering  <jim@meyering.net>
65508
65509         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65510         continue using the flexible array member (thus, this module performs
65511         half as many malloc calls), with the addition that...
65512         (getgroup, getuser): Consistently record a non-match via an empty
65513         "name" string, and map an empty string match to a NULL return value.
65514         * modules/idcache (Depends-on): Re-add flexmember.
65515
65516         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65517         (getuidbyname, getgroup, getgidbyname): Likewise.
65518
65519         Use cleaner syntax: NULL rather than 0.
65520         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65521
65522 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65523
65524         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65525         It mishandled the case where the group was missing.
65526         Problem reported by Greg Schafer.
65527         * modules/idcache: Likewise.
65528
65529 2006-11-18  Jim Meyering  <jim@meyering.net>
65530
65531         * check-module (%exempt_header): Add exception for some
65532         conditionally-included headers.
65533
65534         * modules/i-ring (Depends-on): Add verify.
65535         (License): Change to LGPL.
65536
65537 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65538
65539         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65540         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65541         and inttostr.h.  Use snprintf rather than uinttostr, so that
65542         LGPLed code doesn't depend on GPLed.
65543
65544 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65545
65546         * modules/inline (License): Change from GPL to LGPL.
65547
65548 2006-11-17  Jim Meyering  <jim@meyering.net>
65549
65550         * modules/d-type (License): Switch to LGPL.
65551
65552 2006-11-15  Bruno Haible  <bruno@clisp.org>
65553
65554         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65555
65556 2006-11-15  Eric Blake  <ebb9@byu.net>
65557
65558         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65559         the module dependency.
65560
65561 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65562             Bruno Haible  <bruno@clisp.org>
65563
65564         * gnulib-tool (func_create_testdir): Add license consistency check.
65565
65566 2006-11-15  Eric Blake  <ebb9@byu.net>
65567
65568         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65569         random "(cached)" in configure output.
65570
65571 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65572
65573         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65574         test for conforming inttypes.h is both announced and cached.
65575
65576         * MODULES.html.sh (seen_modules, seen_files): New variables.
65577         (func_module): Rewrite to use a few less gnulib-tool and sed
65578         invocations.  Avoid a couple of quadratic algorithms for ...
65579         (missed_modules, missed_files): ... these, with ...
65580         (func_append, func_tmpdir): ... these new functions, from
65581         gnulib-tool.  Analogously, install traps for cleanup.
65582
65583         * tests/test-gc.c (main): Remove unused variables.
65584         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65585
65586 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65587
65588         * modules/inttostr (License): Change to LGPL.
65589
65590 2006-11-14  Eric Blake  <ebb9@byu.net>
65591
65592         * modules/tempname (License): Change to LGPL.
65593
65594 2006-11-14  Eric Blake  <ebb9@byu.net>
65595
65596         * doc/functions.texi (Function Portability): *printf functions on
65597         Cygwin now understand all POSIX size specifiers.
65598
65599 2006-11-14  Bruno Haible  <bruno@clisp.org>
65600
65601         * modules/c-ctype (License): Change to LGPL.
65602
65603 2006-11-12  Bruno Haible  <bruno@clisp.org>
65604
65605         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65606         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65607         for GNOME libraries, for which the include files are installed in
65608         subdirectories of $prefix/include.
65609
65610 2006-11-12  Bruno Haible  <bruno@clisp.org>
65611
65612         * m4/lib-link.m4: Require at least autoconf-2.54.
65613         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65614         name to underscores for the --with option.
65615
65616 2006-11-13  Bruno Haible  <bruno@clisp.org>
65617
65618         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65619         the tests directory.
65620         Reported by Ralf Wildenhues.
65621
65622 2006-11-13  Bruno Haible  <bruno@clisp.org>
65623
65624         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65625         (func_emit_initmacro_end): Undo the override here.
65626         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65627         Works around the famous automake error in coreutils.
65628
65629 2006-11-13  Eric Blake  <ebb9@byu.net>
65630
65631         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65632         element, not its node.
65633
65634 2006-11-12  Bruno Haible  <bruno@clisp.org>
65635
65636         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65637         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65638
65639 2006-11-12  Bruno Haible  <bruno@clisp.org>
65640
65641         * gnulib-tool: New option --local-symlink.
65642         (func_usage): Document it.
65643         (lsymbolic): New variable.
65644         (func_import, func_create_testdir): If --symlink was not specified,
65645         test whether --local-symlink was specified and the file comes from
65646         the local_gnulib_dir.
65647
65648 2006-11-12  Bruno Haible  <bruno@clisp.org>
65649
65650         * gnulib-tool (func_ln): New function.
65651         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65652
65653 2006-11-12  Bruno Haible  <bruno@clisp.org>
65654
65655         Finish support for source files in subdirectories.
65656         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65657         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65658         AUTOMAKE_OPTIONS.
65659         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65660
65661 2006-11-12  Bruno Haible  <bruno@clisp.org>
65662
65663         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65664         EXTRA_lib_SOURCES augmentation.
65665         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65666
65667 2006-11-12  Jim Meyering  <jim@meyering.net>
65668
65669         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65670         file descriptors.  This also averts a failure on systems with
65671         native openat support when a traversed directory lacks "x" access.
65672         * lib/fts_.h: Include "i-ring.h"
65673         (struct FTS) [fts_fd_ring]: New member.
65674         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65675         (FCHDIR): Add parentheses.
65676         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65677         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65678         When descending, rather than simply closing the previous
65679         fts_cwd_fd value, push that file descriptor onto the ring.
65680         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65681         (fts_open): Initialize the new fd_ring member.
65682         (fts_close): Clear the ring.
65683         (fts_safe_changedir): When possible, use our new fd_ring to skip
65684         the diropen and fstat and dev/ino comparison that would normally
65685         accompany a virtual `chdir ("..")'.
65686
65687         * modules/fts (Depends-on): Add i-ring.
65688         * modules/i-ring: New module.
65689         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65690         * m4/i-ring.m4: New file.
65691
65692 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65693
65694         * gnulib-tool (func_create_testdir): Fix replacement of
65695         `build-aux' in configure.ac.  Run autotools in gltests
65696         subdirectory.
65697         (func_create_testdir, func_create_megatestdir, test): There is
65698         no need for '--force' in most autotool invocations in a new
65699         tree.  Actually fail the whole test if any of the tools, or the
65700         configure or make stages fail.
65701
65702         Sync from Automake.
65703         * build-aux/gnupload: Revert last change.  Add pointer to upload
65704         instructions of the GNU Maintenance Instructions.
65705         Suggestion by Karl Berry.
65706
65707 2006-11-10  Jim Meyering  <jim@meyering.net>
65708
65709         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65710
65711 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65712
65713         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65714         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65715         (bind_textdomain_codeset) [! ENABLE_NLS]:
65716         Evaluate all the arguments.  That way, callers get compatible behavior
65717         if the arguments have side effects.  Also, it avoids some GCC
65718         diagnostics in some cases; Joel E. Denny reported problems when Bison
65719         was configured with --enable-gcc-warnigs.
65720
65721 2006-11-10  Jim Meyering  <jim@meyering.net>
65722
65723         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65724         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65725         account.
65726
65727 2006-11-10  Jim Meyering  <jim@meyering.net>
65728
65729         * modules/inline: New file/module.
65730         * modules/xalloc (Files): Remove m4/inline.m4.
65731         (Depends-on): Add inline, instead.
65732         * modules/oset: Likewise.
65733         * modules/list: Likewise.
65734
65735 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65736
65737         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65738         Problem reported by Matthew Woehlke.
65739
65740 2006-11-09  Bruno Haible  <bruno@clisp.org>
65741
65742         * lib/tempname.c (gen_tempname): Remove variant that invokes
65743         __gen_tempname.
65744         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65745         __gen_tempname.
65746
65747 2006-11-08  Bruno Haible  <bruno@clisp.org>
65748
65749         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65750         to 'yes' instead of 'cross-compiling'.
65751
65752 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65753
65754         * lib/quotearg.h (quotearg_free): New decl.
65755         * lib/quotearg.c (quotearg_free): New function.
65756         (slot0, nslots, slotvec0, slotvec):
65757         Now file-scope so that quotearg_free can get at them.
65758
65759 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65760
65761         Sync from Automake.
65762         * build-aux/gnupload: Add missing 'gnu' to example URL.
65763         Report by Karl Berry.
65764
65765 2006-11-08  Bruno Haible  <bruno@clisp.org>
65766
65767         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65768         Suggested by Paul Eggert.
65769
65770 2006-11-08  Jim Meyering  <jim@meyering.net>
65771
65772         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65773         It's already included if !_LIBC.
65774         (fts_safe_changedir): Add a comment.
65775
65776 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65777
65778         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65779         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65780         Matthew Woehlke.
65781
65782         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65783         definitions up, to avoid colliding with change below.
65784         (static_inline) [HAVE_INLINE]: New macro.
65785         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65786         Provide extern decls when !HAVE_INLINE.  Do not define unless
65787         static_inline is defined, either by us or by xmalloc.c.  Use
65788         static_inline rather than static inline.
65789         (XCALLOC): Optimize sizeof(T) = 1 case.
65790         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65791
65792 2006-11-07  Bruno Haible  <bruno@clisp.org>
65793
65794         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65795         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65796         AC_C_INLINE.
65797         * modules/xalloc (Files): Add m4/inline.m4.
65798
65799 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65800
65801         * README: Fix typo.
65802         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65803         (Miscellanous Notes): ...from this.
65804
65805 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65808         Mention that offsetof should be used instead of sizeof.
65809         From Bruno Haible.
65810
65811 2006-11-07  Bruno Haible  <bruno@clisp.org>
65812
65813         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65814
65815 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65816
65817         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65818         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65819         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65820         (gl_tree_add_before, gl_tree_add_after):
65821         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65822         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65823         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65824         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65825         (gl_linked_add_after, gl_linked_add_at): Likewise.
65826         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65827         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65828         (gl_tree_add_before, gl_tree_add_after): Likewise.
65829         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65830         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65831         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65832
65833 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65834
65835         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65836
65837 2006-11-06  Bruno Haible  <bruno@clisp.org>
65838
65839         * m4/inline.m4: New file.
65840         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65841         * modules/list (Files): Add m4/inline.m4.
65842         * modules/oset (Files): Likewise.
65843
65844 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65845
65846         * lib/idcache.c: Include <stddef.h>, for offsetof.
65847         (struct userid.name): Change from char * to a flexible array member.
65848         All uses changed.
65849         * modules/idcache (Depends-on): Add flexmember.
65850
65851         * MODULES.html.sh (Core language properties): New module flexmember.
65852         * modules/flexmember, m4/flexmember.m4: New files.
65853
65854         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65855         inline functions that are identical with the old xnmalloc_inline,
65856         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65857         that we can avoid some unnecessary integer multiplications and
65858         divisions in the common case where the element size is known at
65859         compile time.
65860         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65861         needed.
65862         (xnboundedmalloc): Remove.
65863         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65864         arguments, for consistency with rest of this header.
65865         (xcharalloc): Rewrite using XNMALLOC.
65866         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65867         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65868         versions have been moved to lib/xalloc.h and renamed to be the
65869         non-*_inline versions.
65870         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65871         and xnrealloc functions, since those functions are now inline and
65872         now call us.
65873         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65874         renaming described above.
65875         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65876         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65877         captures the dependency in AC_C_INLINE.
65878
65879         New module canonicalize-lgpl, proposed by Charles Wilson in
65880         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65881         with a few small changes afterwards.
65882         * MODULES.html.sh (File system functions): New module
65883         canonicalize-lgpl.
65884         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65885         and canonicalize_file_name.
65886         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65887         * modules/canonicalize-lgpl: New files.
65888
65889 2006-11-05  Bruno Haible  <bruno@clisp.org>
65890
65891         * gnulib-tool (func_import, func_create_testdir): Create directories
65892         also for files in subdirectories of lib/.
65893
65894 2006-11-05  Bruno Haible  <bruno@clisp.org>
65895
65896         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65897         ANSI C compliant.
65898
65899 2006-11-03  Bruno Haible  <bruno@clisp.org>
65900
65901         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65902         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65903         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65904         (xnboundedmalloc): New inline function.
65905         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65906         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65907         xmalloc.
65908         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65909         xmalloc.
65910         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65911         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65912         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65913         xmalloc.
65914         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65915         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65916         xmalloc.
65917         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65918         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65919         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65920         xmalloc.
65921         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65922         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65923         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65924         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65925         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65926         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65927         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65928
65929 2006-11-03  Bruno Haible  <bruno@clisp.org>
65930
65931         * lib/c-ctype.h [C++]: Define functions without name mangling.
65932         * lib/fwriteerror.h [C++]: Likewise.
65933         * lib/gcd.h [C++]: Likewise.
65934         * lib/linebreak.h [C++]: Likewise.
65935
65936 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65937
65938         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65939         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65940         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65941         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65942         Check for functions and headers just once.
65943         Check for declaration of canonicalize_file_name.
65944         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65945
65946 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65947
65948         * gnulib-tool (func_import): Fix typo in actioncmd.
65949
65950 2006-11-02  Bruno Haible  <bruno@clisp.org>
65951
65952         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65953         newline sequence in the Makefile.am snippet as a space, like "make"
65954         does.
65955         Reported by Roger Persson <perrog@gmail.com>.
65956
65957 2006-11-01  Bruno Haible  <bruno@clisp.org>
65958
65959         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65960         already declared in <string.h>.
65961         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65962
65963 2006-11-01  Bruno Haible  <bruno@clisp.org>
65964
65965         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65966         * lib/strcase.h: Include <string.h>.
65967         (strcasecmp): Define to rpl_strcasecmp here.
65968
65969 2006-11-01  Bruno Haible  <bruno@clisp.org>
65970
65971         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65972
65973 2006-11-01  Eric Blake  <ebb9@byu.net>
65974
65975         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65976
65977         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65978
65979 2006-10-29  Bruno Haible  <bruno@clisp.org>
65980
65981         Make it compile in C++ mode.
65982         * lib/full-write.c (full_rw): Add a cast.
65983
65984 2006-11-01  Bruno Haible  <bruno@clisp.org>
65985
65986         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65987         be POSIX compliant.
65988         Reported by Roger Persson <perrog@gmail.com>.
65989
65990 2006-11-01  Eric Blake  <ebb9@byu.net>
65991
65992         * lib/getopt_.h: Fix comments.
65993
65994 2006-10-31  Eric Blake  <ebb9@byu.net>
65995
65996         * modules/tmpdir (Depends-on): Add sys_stat.
65997         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65998         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65999         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
66000         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
66001         tempname.
66002
66003 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
66004
66005         Avoid some C++ diagnostics reported by Bruno Haible.
66006         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
66007         xmalloc.
66008         (quotearg_alloc): Use xcharalloc rather than xmalloc.
66009         (struct slotvec): Move to top level.
66010         (quotearg_n_options): Rewrite to avoid xmalloc.
66011         * lib/xalloc.h (xcharalloc): New function.
66012         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
66013         [defined __cplusplus]: Add function template that provides result
66014         type propagation.  This part of the change is from Bruno Haible.
66015
66016 2006-10-29  Bruno Haible  <bruno@clisp.org>
66017
66018         Make it compile in C++ mode.
66019         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
66020         * lib/strnlen1.c (strnlen1): Cast memchr result.
66021         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
66022         * lib/clean-temp.c (string_equals, string_hash): Add casts.
66023         (create_temp_dir): Rename local variable 'template'.
66024         (compile_csharp_using_sscli): Add cast.
66025         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
66026         * lib/findprog.c (find_in_path): Likewise.
66027         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
66028         * lib/wait-process.c (register_slave_subprocess): Likewise.
66029
66030 2006-10-22  Bruno Haible  <bruno@clisp.org>
66031
66032         * modules/tsearch: New file.
66033         * lib/tsearch.h: New file.
66034         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
66035         * m4/tsearch.m4: New file.
66036         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
66037
66038 2006-10-29  Eric Blake  <ebb9@byu.net>
66039
66040         * lib/arcfour.c: Assume config.h.
66041         * lib/arctwo.c: Likewise.
66042         * lib/base64.c: Likewise.
66043         * lib/check-version.c: Likewise.
66044         * lib/crc.c: Likewise.
66045         * lib/des.c: Likewise.
66046         * lib/gc-gnulib.c: Likewise.
66047         * lib/gc-libgcrypt.c: Likewise.
66048         * lib/gc-pbkdf2-sha1.c: Likewise.
66049         * lib/getaddrinfo.c: Likewise.
66050         * lib/getdelim.c: Likewise.
66051         * lib/getline.c: Likewise.
66052         * lib/hmac-md5.c: Likewise.
66053         * lib/hmac-sha1.c: Likewise.
66054         * lib/iconvme.c: Likewise.
66055         * lib/md2.c: Likewise.
66056         * lib/md4.c: Likewise.
66057         * lib/memxor.c: Likewise.
66058         * lib/read-file.c: Likewise.
66059         * lib/readline.c: Likewise.
66060         * lib/rijndael-alg-fst.c: Likewise.
66061         * lib/rijndael-api-fst.c: Likewise.
66062         * lib/xgetdomainname.c: Likewise.
66063
66064 2006-10-28  Eric Blake  <ebb9@byu.net>
66065
66066         * lib/xstrndup.c: Assume config.h.
66067
66068 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
66069
66070         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
66071         stat-macros.h is now for our own macros, whereas stat_h is for
66072         macros in the <sys/stat.h> name space.
66073         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
66074         (STAT_MACROS_H): Remove.
66075         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
66076         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
66077         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
66078         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
66079         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
66080         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
66081         Move these macros to ...
66082         * lib/stat_.h: here.  Don't include stat-macros.h.
66083         * lib/canonicalize.c: Don't include stat-macros.h.
66084         * lib/chown.c: Likewise.
66085         * lib/euidaccess.c: Likewise.
66086         * lib/file-type.c: Likewise.
66087         * lib/filemode.c: Likewise.
66088         * lib/glob.c: Likewise.
66089         * lib/isapipe.c: Likewise.
66090         * lib/lchown.c: Likewise.
66091         * lib/lstat.c: Likewise.
66092         * lib/mkdir-p.c: Likewise.
66093         * lib/rmdir.c: Likewise.
66094         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
66095         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
66096         unless mkdir isn't declared, to speed up 'configure'.
66097         Always create sys/stat.h, since it's unlikely any real sys/stat.h
66098         would define all the S_* symbols.
66099         * modules/canonicalize (Depends-on):
66100         Depend on sys_stat, not stat-macros.
66101         * modules/chown: Likewise.
66102         * modules/euidaccess: Likewise.
66103         * modules/filemode: Likewise.
66104         * modules/file-type: Likewise.
66105         * modules/glob: Likewise.
66106         * modules/isapipe: Likewise.
66107         * modules/lchown: Likewise.
66108         * modules/lstat: Likewise.
66109         * modules/mkancesdirs: Likewise.
66110         * modules/rmdir: Likewise.
66111         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
66112         * modules/modechange: Likewise.
66113         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
66114         (configure.ac): Remove gl_STAT_MACROS.
66115         * modules/sys_stat (Depends-on): Remove stat-macros.
66116
66117 2006-10-27  Bruno Haible  <bruno@clisp.org>
66118
66119         * m4/signed.m4: Remove file.
66120         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
66121         invocation.
66122         * modules/vasnprintf (Files): Remove m4/signed.m4.
66123
66124 2006-10-27  Bruno Haible  <bruno@clisp.org>
66125
66126         Update to GNU gettext 0.16.
66127         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
66128         m4/inttypes-h.m4, m4/signed.m4.
66129         * m4/gettext.m4: Update to GNU gettext 0.16.
66130         * m4/intl.m4: New file, from GNU gettext.
66131         * m4/intldir.m4: New file, from GNU gettext.
66132         * config/srclist.txt: Update
66133
66134 2006-10-27  Eric Blake  <ebb9@byu.net>
66135
66136         * MODULES.html.sh: Document tempname.
66137         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
66138         dependencies.
66139         (Files): Move lib/tempname.c...
66140         * modules/tempname: ...to this new module.
66141         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
66142         (gl_PREREQ_TEMPNAME): Move...
66143         * m4/tempname.m4: ...to this new file.
66144         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
66145         * modules/sys_stat (Depends-on): Add stat-macros.
66146         * lib/stat_.h (includes): Pick up stat macros.
66147         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
66148         if stat macros are broken.
66149         * lib/tempname.c (includes): No need to include "stat-macros.h".
66150         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
66151         (direxists, __path_search) [!_LIBC]: Don't compile these in
66152         gnulib; the tmpdir module covers that.
66153         * lib/tempname.h: New file.
66154
66155 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
66156
66157         * COPYING: Explain how gnulib-tool converts licence headers.
66158         Almost all wording by Eric Blake.
66159
66160 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
66161
66162         * lib/mbchar.h (is_basic_table): Make read-only.
66163         * lib/mbchar.c (is_basic_table): Likewise.
66164         Reported by John Darrington.
66165
66166 2006-10-25  Bruno Haible  <bruno@clisp.org>
66167
66168         * lib/progname.h (set_program_name): Undefine before defining.
66169
66170 2006-10-25  Bruno Haible  <bruno@clisp.org>
66171
66172         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66173         false for non-gcc C++ compilers.
66174         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66175
66176 2006-10-24  Bruno Haible  <bruno@clisp.org>
66177
66178         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66179         iconv implementations like Irix iconv.
66180
66181 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66182
66183         * modules/vararrays: New file.
66184         * m4/vararrays.m4: New file, taken from diffutils.
66185         * MODULES.html.sh: New module vararrays.
66186
66187 2006-10-24  Karl Berry  <karl@gnu.org>
66188
66189         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66190         Don't call GNU Unix.
66191
66192 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66193
66194         * users.txt: Add Libtool.
66195
66196         Sync from Libtool:
66197
66198         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66199
66200         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66201         to gnulib's policy of including config.h unconditionally.
66202
66203 2006-10-24  Bruno Haible  <bruno@clisp.org>
66204
66205         * modules/wcwidth (Files): Add m4/wint_t.m4.
66206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66207         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66208
66209 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66210
66211         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66212         to pacify GCC with some -W flags enabled.  Problem reported by
66213         Bruno Haible.
66214
66215 2006-10-24  Jim Meyering  <jim@meyering.net>
66216
66217         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66218         Reported by Karl Berry.
66219
66220 2006-10-23  Bruno Haible  <bruno@clisp.org>
66221
66222         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66223
66224 2006-10-24  Bruno Haible  <bruno@clisp.org>
66225
66226         * lib/gl_list.h: Use C comment style, not C++ comment style.
66227
66228 2006-10-23  Eric Blake  <ebb9@byu.net>
66229
66230         * lib/getaddrinfo.c (includes): Add missing include.
66231
66232 2006-10-23  Bruno Haible  <bruno@clisp.org>
66233             Paul Eggert  <eggert@cs.ucla.edu>
66234
66235         Ability to rename obstack_free.
66236         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66237         obstack_free.
66238         (obstack_free): Invoke the __obstack_free macro.
66239         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66240
66241 2006-10-23  Bruno Haible  <bruno@clisp.org>
66242             Paul Eggert  <eggert@cs.ucla.edu>
66243
66244         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66245         __argc, __argv from the declaration. (They are defined as macros on
66246         mingw.)
66247
66248 2006-10-22  Bruno Haible  <bruno@clisp.org>
66249
66250         * doc/gnulib-intro.texi: New file.
66251         * doc/gnulib.texi: Include it.
66252
66253 2006-10-21  Bruno Haible  <bruno@clisp.org>
66254
66255         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66256         "Introduction", "Miscellanous Notes", "Particular Modules".
66257
66258 2006-10-21  Bruno Haible  <bruno@clisp.org>
66259
66260         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66261         Change mostlyclean-local rule to avoid sh syntax error from bash
66262         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66263
66264 2006-10-23  Jim Meyering  <jim@meyering.net>
66265
66266         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66267         in place of snprintf.
66268
66269         * modules/inttostr (Files): Add lib/uinttostr.c.
66270         * lib/uinttostr.c (inttostr): New file/function.
66271         * lib/inttostr.h (uinttostr): Declare.
66272         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66273         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66274         Add uinttostr.
66275         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66276
66277 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66278
66279         * lib/canonicalize.c (ELOOP): Define if not already defined.
66280         Problem reported by Bruno Haible in
66281         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66282
66283 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66284
66285         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66286         Problem reported by Perry Smith and Ville Laurikari.
66287
66288         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66289         uses.
66290
66291 2006-10-19  Bruno Haible  <bruno@clisp.org>
66292
66293         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66294         for mingw.
66295
66296 2006-10-19  Bruno Haible  <bruno@clisp.org>
66297
66298         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66299         Needed for mingw.
66300
66301 2006-10-19  Bruno Haible  <bruno@clisp.org>
66302
66303         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66304
66305 2006-10-19  Bruno Haible  <bruno@clisp.org>
66306
66307         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66308         it.
66309
66310 2006-10-19  Bruno Haible  <bruno@clisp.org>
66311
66312         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66313         invocation.
66314
66315 2006-10-19  Bruno Haible  <bruno@clisp.org>
66316
66317         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66318         mountlist by default.
66319
66320 2006-10-16  Bruno Haible  <bruno@clisp.org>
66321
66322         * lib/c-strstr.c: Include c-strstr.h.
66323
66324 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66325
66326         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66327         in a slash.
66328
66329 2006-10-18  Bruno Haible  <bruno@clisp.org>
66330
66331         * lib/lock.h [C++]: Wrap definitions in extern "C".
66332
66333 2006-10-18  Bruno Haible  <bruno@clisp.org>
66334
66335         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66336         gl_LIBOBJS list.
66337
66338 2006-10-18  Bruno Haible  <bruno@clisp.org>
66339
66340         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66341
66342 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66343
66344         * lib/xstrtol.h: Include gettext.h.
66345         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66346         Problem reported by Eric Blake.
66347         * modules/xstrtol (Depends-on): Add gettext-h.
66348
66349 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66350
66351         * lib/strftime.c (advance): New macro.
66352         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66353         incomplete type, so you can't add 0 to it.  Problem and patch
66354         reported by Eelco Dolstra for dietlibc.
66355
66356 2006-10-18  Jim Meyering  <jim@meyering.net>
66357
66358         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66359         type for a local, and rename it: s/up/user_proc/.
66360
66361 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66362
66363         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66364         READ_UTMP_USER_PROCESS.
66365         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66366
66367 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66368
66369         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66370         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66371
66372 2006-10-17  Eric Blake  <ebb9@byu.net>
66373
66374         * lib/sigprocmask.c (sigprocmask): Fix typo.
66375
66376         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66377
66378         * modules/clean-temp (Makefile.am): Don't add to make output...
66379         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66380         config.h.
66381
66382 2006-10-17  Bruno Haible  <bruno@clisp.org>
66383
66384         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66385         differently if DEFAULT_TEXT_DOMAIN is set.
66386
66387 2006-10-16  Bruno Haible  <bruno@clisp.org>
66388
66389         * lib/clean-temp.c: Include fwriteerror.h.
66390
66391 2006-10-16  Bruno Haible  <bruno@clisp.org>
66392
66393         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66394
66395 2006-10-16  Bruno Haible  <bruno@clisp.org>
66396
66397         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66398         * lib/sigprocmask.h: Include <sys/types.h>.
66399         (sigset_t): Use the system's definition if present.
66400
66401 2006-10-17  Eric Blake  <ebb9@byu.net>
66402
66403         * lib/xvasprintf.c (includes): Assume config.h.
66404         * lib/xasprintf.c (includes): Likewise.
66405
66406 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66407
66408         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66409         at least as wide as intmax_t.
66410
66411 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66412
66413         (Imported from Automake.)
66414         * build-aux/gnupload: Update to version 1.1 of directive file.
66415
66416 2006-10-16  Eric Blake  <ebb9@byu.net>
66417
66418         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66419         match Automake 1.10a.
66420
66421 2006-10-14  Bruno Haible  <bruno@clisp.org>
66422
66423         * modules/sigprocmask: New file.
66424         * lib/sigprocmask.h: New file.
66425         * lib/sigprocmask.c: New file.
66426         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66427         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66428         request sigprocmask.o.
66429         (gl_PREREQ_SIGPROCMASK): New macro.
66430         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66431         (Depends-on): Add sigprocmask.
66432         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66433         gt_SIGNALBLOCKING. Test for 'raise' only once.
66434         * lib/fatal-signal.c: Include sigprocmask.h.
66435         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66436         unblock_fatal_signals): Define always.
66437         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66438         sigprocmask.
66439
66440 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66441
66442         Sync from Automake.
66443         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66444         which incorrectly sets the mode of an existing destination
66445         directory.  In some cases the unpatched install-sh could do the
66446         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66447         system.  We hope this is rare in practice, but it's clearly worth
66448         fixing.  Problem reported by Alex Unleashed in
66449         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66450         Also, don't bother to check for -m bugs unless we're using -m;
66451         suggested by Stepan Kasal.
66452
66453 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66454
66455         Sync from Automake.
66456         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66457         `-c' flag, so they appear at the same position as in %FASTDEP%
66458         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66459         which ignores unknown options only after the first non-option.
66460         Bug report against M4 by Nelson H. F. Beebe.
66461
66462 2006-10-13  Jim Meyering  <jim@meyering.net>
66463
66464         Fix a bug in yesterday's change.
66465         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66466         p->fts_statp->st_dev would be used uninitialized.
66467         Ensures that we always call fts_stat on the very first entry.
66468         Miklos Szeredi reported that find -xdev stopped working.
66469
66470 2006-10-12  Bruno Haible  <bruno@clisp.org>
66471
66472         * gnulib-tool (func_get_automake_snippet): Append an automatically
66473         computed EXTRA_DIST augmentation.
66474         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66475         * modules/alloca-opt (Makefile.am): Likewise.
66476         * modules/allocsa (Makefile.am): Likewise.
66477         * modules/arcfour (Makefile.am): Likewise.
66478         * modules/arctwo (Makefile.am): Likewise.
66479         * modules/argmatch (Makefile.am): Likewise.
66480         * modules/argz (Makefile.am): Likewise.
66481         * modules/atexit (Makefile.am): Likewise.
66482         * modules/backupfile (Makefile.am): Likewise.
66483         * modules/byteswap (Makefile.am): Likewise.
66484         * modules/c-strtod (Makefile.am): Likewise.
66485         * modules/c-strtold (Makefile.am): Likewise.
66486         * modules/calloc (Makefile.am): Likewise.
66487         * modules/canon-host (Makefile.am): Likewise.
66488         * modules/canonicalize (Makefile.am): Likewise.
66489         * modules/chdir-long (Makefile.am): Likewise.
66490         * modules/chdir-safer (Makefile.am): Likewise.
66491         * modules/check-version (Makefile.am): Likewise.
66492         * modules/chown (Makefile.am): Likewise.
66493         * modules/cloexec (Makefile.am): Likewise.
66494         * modules/close-stream (Makefile.am): Likewise.
66495         * modules/closeout (Makefile.am): Likewise.
66496         * modules/crc (Makefile.am): Likewise.
66497         * modules/csharpexec (Makefile.am): Likewise.
66498         * modules/cycle-check (Makefile.am): Likewise.
66499         * modules/des (Makefile.am): Likewise.
66500         * modules/dev-ino (Makefile.am): Likewise.
66501         * modules/dirfd (Makefile.am): Likewise.
66502         * modules/dirname (Makefile.am): Likewise.
66503         * modules/dup2 (Makefile.am): Likewise.
66504         * modules/eealloc (Makefile.am): Likewise.
66505         * modules/error (Makefile.am): Likewise.
66506         * modules/euidaccess (Makefile.am): Likewise.
66507         * modules/exclude (Makefile.am): Likewise.
66508         * modules/exitfail (Makefile.am): Likewise.
66509         * modules/fcntl-safer (Makefile.am): Likewise.
66510         * modules/fcntl (Makefile.am): Likewise.
66511         * modules/file-type (Makefile.am): Likewise.
66512         * modules/fileblocks (Makefile.am): Likewise.
66513         * modules/filemode (Makefile.am): Likewise.
66514         * modules/filenamecat (Makefile.am): Likewise.
66515         * modules/fnmatch (Makefile.am): Likewise.
66516         * modules/fopen-safer (Makefile.am): Likewise.
66517         * modules/fpending (Makefile.am): Likewise.
66518         * modules/fprintftime (Makefile.am): Likewise.
66519         * modules/free (Makefile.am): Likewise.
66520         * modules/fsusage (Makefile.am): Likewise.
66521         * modules/ftruncate (Makefile.am): Likewise.
66522         * modules/fts (Makefile.am): Likewise.
66523         * modules/gc-arcfour (Makefile.am): Likewise.
66524         * modules/gc-des (Makefile.am): Likewise.
66525         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66526         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66527         * modules/gc-md4 (Makefile.am): Likewise.
66528         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66529         * modules/gc-sha1 (Makefile.am): Likewise.
66530         * modules/gc (Makefile.am): Likewise.
66531         * modules/getaddrinfo (Makefile.am): Likewise.
66532         * modules/getcwd (Makefile.am): Likewise.
66533         * modules/getdelim (Makefile.am): Likewise.
66534         * modules/getdomainname (Makefile.am): Likewise.
66535         * modules/getgroups (Makefile.am): Likewise.
66536         * modules/gethostname (Makefile.am): Likewise.
66537         * modules/gethrxtime (Makefile.am): Likewise.
66538         * modules/getline (Makefile.am): Likewise.
66539         * modules/getloadavg (Makefile.am): Likewise.
66540         * modules/getlogin_r (Makefile.am): Likewise.
66541         * modules/getndelim2 (Makefile.am): Likewise.
66542         * modules/getopt (Makefile.am): Likewise.
66543         * modules/getpagesize (Makefile.am): Likewise.
66544         * modules/getpass-gnu (Makefile.am): Likewise.
66545         * modules/getpass (Makefile.am): Likewise.
66546         * modules/getsubopt (Makefile.am): Likewise.
66547         * modules/gettime (Makefile.am): Likewise.
66548         * modules/gettimeofday (Makefile.am): Likewise.
66549         * modules/getugroups (Makefile.am): Likewise.
66550         * modules/getusershell (Makefile.am): Likewise.
66551         * modules/glob (Makefile.am): Likewise.
66552         * modules/group-member (Makefile.am): Likewise.
66553         * modules/hard-locale (Makefile.am): Likewise.
66554         * modules/hash (Makefile.am): Likewise.
66555         * modules/hmac-md5 (Makefile.am): Likewise.
66556         * modules/hmac-sha1 (Makefile.am): Likewise.
66557         * modules/human (Makefile.am): Likewise.
66558         * modules/idcache (Makefile.am): Likewise.
66559         * modules/imaxabs (Makefile.am): Likewise.
66560         * modules/imaxdiv (Makefile.am): Likewise.
66561         * modules/inet_ntop (Makefile.am): Likewise.
66562         * modules/inet_pton (Makefile.am): Likewise.
66563         * modules/intprops (Makefile.am): Likewise.
66564         * modules/inttostr (Makefile.am): Likewise.
66565         * modules/inttypes (Makefile.am): Likewise.
66566         * modules/isapipe (Makefile.am): Likewise.
66567         * modules/javaversion (Makefile.am): Likewise.
66568         * modules/lchmod (Makefile.am): Likewise.
66569         * modules/lchown (Makefile.am): Likewise.
66570         * modules/localcharset (Makefile.am): Likewise.
66571         * modules/long-options (Makefile.am): Likewise.
66572         * modules/lstat (Makefile.am): Likewise.
66573         * modules/malloc (Makefile.am): Likewise.
66574         * modules/mathl (Makefile.am): Likewise.
66575         * modules/mbchar (Makefile.am): Likewise.
66576         * modules/md2 (Makefile.am): Likewise.
66577         * modules/md4 (Makefile.am): Likewise.
66578         * modules/md5 (Makefile.am): Likewise.
66579         * modules/memcasecmp (Makefile.am): Likewise.
66580         * modules/memchr (Makefile.am): Likewise.
66581         * modules/memcmp (Makefile.am): Likewise.
66582         * modules/memcoll (Makefile.am): Likewise.
66583         * modules/memcpy (Makefile.am): Likewise.
66584         * modules/memmem (Makefile.am): Likewise.
66585         * modules/memmove (Makefile.am): Likewise.
66586         * modules/mempcpy (Makefile.am): Likewise.
66587         * modules/memrchr (Makefile.am): Likewise.
66588         * modules/memset (Makefile.am): Likewise.
66589         * modules/memxor (Makefile.am): Likewise.
66590         * modules/mkancesdirs (Makefile.am): Likewise.
66591         * modules/mkdir-p (Makefile.am): Likewise.
66592         * modules/mkdir (Makefile.am): Likewise.
66593         * modules/mkdtemp (Makefile.am): Likewise.
66594         * modules/mkstemp (Makefile.am): Likewise.
66595         * modules/mktime (Makefile.am): Likewise.
66596         * modules/modechange (Makefile.am): Likewise.
66597         * modules/mountlist (Makefile.am): Likewise.
66598         * modules/nanosleep (Makefile.am): Likewise.
66599         * modules/obstack (Makefile.am): Likewise.
66600         * modules/openat (Makefile.am): Likewise.
66601         * modules/pagealign_alloc (Makefile.am): Likewise.
66602         * modules/pathmax (Makefile.am): Likewise.
66603         * modules/physmem (Makefile.am): Likewise.
66604         * modules/poll (Makefile.am): Likewise.
66605         * modules/posixtm (Makefile.am): Likewise.
66606         * modules/posixver (Makefile.am): Likewise.
66607         * modules/putenv (Makefile.am): Likewise.
66608         * modules/quote (Makefile.am): Likewise.
66609         * modules/quotearg (Makefile.am): Likewise.
66610         * modules/raise (Makefile.am): Likewise.
66611         * modules/read-file (Makefile.am): Likewise.
66612         * modules/readline (Makefile.am): Likewise.
66613         * modules/readlink (Makefile.am): Likewise.
66614         * modules/readtokens (Makefile.am): Likewise.
66615         * modules/readutmp (Makefile.am): Likewise.
66616         * modules/realloc (Makefile.am): Likewise.
66617         * modules/regex (Makefile.am): Likewise.
66618         * modules/rename-dest-slash (Makefile.am): Likewise.
66619         * modules/rename (Makefile.am): Likewise.
66620         * modules/rijndael (Makefile.am): Likewise.
66621         * modules/rmdir (Makefile.am): Likewise.
66622         * modules/rpmatch (Makefile.am): Likewise.
66623         * modules/safe-read (Makefile.am): Likewise.
66624         * modules/safe-write (Makefile.am): Likewise.
66625         * modules/same-inode (Makefile.am): Likewise.
66626         * modules/same (Makefile.am): Likewise.
66627         * modules/save-cwd (Makefile.am): Likewise.
66628         * modules/savedir (Makefile.am): Likewise.
66629         * modules/setenv (Makefile.am): Likewise.
66630         * modules/settime (Makefile.am): Likewise.
66631         * modules/sha1 (Makefile.am): Likewise.
66632         * modules/sig2str (Makefile.am): Likewise.
66633         * modules/snprintf (Makefile.am): Likewise.
66634         * modules/stat-macros (Makefile.am): Likewise.
66635         * modules/stat-time (Makefile.am): Likewise.
66636         * modules/stdbool (Makefile.am): Likewise.
66637         * modules/stdint (Makefile.am): Likewise.
66638         * modules/stdlib-safer (Makefile.am): Likewise.
66639         * modules/stpcpy (Makefile.am): Likewise.
66640         * modules/stpncpy (Makefile.am): Likewise.
66641         * modules/strcase (Makefile.am): Likewise.
66642         * modules/strcasestr (Makefile.am): Likewise.
66643         * modules/strchrnul (Makefile.am): Likewise.
66644         * modules/strcspn (Makefile.am): Likewise.
66645         * modules/strdup (Makefile.am): Likewise.
66646         * modules/strerror (Makefile.am): Likewise.
66647         * modules/strftime (Makefile.am): Likewise.
66648         * modules/strndup (Makefile.am): Likewise.
66649         * modules/strnlen (Makefile.am): Likewise.
66650         * modules/strpbrk (Makefile.am): Likewise.
66651         * modules/strsep (Makefile.am): Likewise.
66652         * modules/strstr (Makefile.am): Likewise.
66653         * modules/strtod (Makefile.am): Likewise.
66654         * modules/strtoimax (Makefile.am): Likewise.
66655         * modules/strtok_r (Makefile.am): Likewise.
66656         * modules/strtol (Makefile.am): Likewise.
66657         * modules/strtoll (Makefile.am): Likewise.
66658         * modules/strtoul (Makefile.am): Likewise.
66659         * modules/strtoull (Makefile.am): Likewise.
66660         * modules/strtoumax (Makefile.am): Likewise.
66661         * modules/strverscmp (Makefile.am): Likewise.
66662         * modules/sys_socket (Makefile.am): Likewise.
66663         * modules/sys_stat (Makefile.am): Likewise.
66664         * modules/sysexits (Makefile.am): Likewise.
66665         * modules/time_r (Makefile.am): Likewise.
66666         * modules/timegm (Makefile.am): Likewise.
66667         * modules/timespec (Makefile.am): Likewise.
66668         * modules/tmpfile-safer (Makefile.am): Likewise.
66669         * modules/trim (Makefile.am): Likewise.
66670         * modules/unistd-safer (Makefile.am): Likewise.
66671         * modules/unlinkdir (Makefile.am): Likewise.
66672         * modules/unlocked-io (Makefile.am): Likewise.
66673         * modules/userspec (Makefile.am): Likewise.
66674         * modules/utime (Makefile.am): Likewise.
66675         * modules/utimecmp (Makefile.am): Likewise.
66676         * modules/utimens (Makefile.am): Likewise.
66677         * modules/vasnprintf (Makefile.am): Likewise.
66678         * modules/vasprintf (Makefile.am): Likewise.
66679         * modules/vsnprintf (Makefile.am): Likewise.
66680         * modules/xalloc (Makefile.am): Likewise.
66681         * modules/xgetcwd (Makefile.am): Likewise.
66682         * modules/xnanosleep (Makefile.am): Likewise.
66683         * modules/xreadlink (Makefile.am): Likewise.
66684         * modules/xstrtod (Makefile.am): Likewise.
66685         * modules/xstrtol (Makefile.am): Likewise.
66686         * modules/xstrtold (Makefile.am): Likewise.
66687         * modules/yesno (Makefile.am): Likewise.
66688         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66689
66690 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66691
66692         * modules/error (Makefile.am): Distribute files through
66693         EXTRA_DIST, not lib_SOURCES.
66694
66695 2006-10-12  Eric Blake  <ebb9@byu.net>
66696
66697         * modules/error (Makefile.am): Distribute files in /lib.
66698         * modules/obstack (Makefile.am): Likewise.
66699
66700 2006-10-12  Bruno Haible  <bruno@clisp.org>
66701
66702         * modules/acl (Makefile.am): Distribute all files in lib/ through
66703         EXTRA_DIST.
66704         * modules/arcfour (Makefile.am): Likewise.
66705         * modules/arctwo (Makefile.am): Likewise.
66706         * modules/argmatch (Makefile.am): Likewise.
66707         * modules/argz (Makefile.am): Likewise.
66708         * modules/atexit (Makefile.am): Likewise.
66709         * modules/backupfile (Makefile.am): Likewise.
66710         * modules/c-strtod (Makefile.am): Likewise.
66711         * modules/c-strtold (Makefile.am): Likewise.
66712         * modules/calloc (Makefile.am): Likewise.
66713         * modules/canon-host (Makefile.am): Likewise.
66714         * modules/canonicalize (Makefile.am): Likewise.
66715         * modules/chdir-long (Makefile.am): Likewise.
66716         * modules/chdir-safer (Makefile.am): Likewise.
66717         * modules/check-version (Makefile.am): Likewise.
66718         * modules/chown (Makefile.am): Likewise.
66719         * modules/cloexec (Makefile.am): Likewise.
66720         * modules/close-stream (Makefile.am): Likewise.
66721         * modules/closeout (Makefile.am): Likewise.
66722         * modules/crc (Makefile.am): Likewise.
66723         * modules/cycle-check (Makefile.am): Likewise.
66724         * modules/des (Makefile.am): Likewise.
66725         * modules/dirfd (Makefile.am): Likewise.
66726         * modules/dirname (Makefile.am): Likewise.
66727         * modules/dup2 (Makefile.am): Likewise.
66728         * modules/euidaccess (Makefile.am): Likewise.
66729         * modules/exclude (Makefile.am): Likewise.
66730         * modules/exitfail (Makefile.am): Likewise.
66731         * modules/fcntl-safer (Makefile.am): Likewise.
66732         * modules/file-type (Makefile.am): Likewise.
66733         * modules/fileblocks (Makefile.am): Likewise.
66734         * modules/filemode (Makefile.am): Likewise.
66735         * modules/filenamecat (Makefile.am): Likewise.
66736         * modules/fnmatch (Makefile.am): Likewise.
66737         * modules/fopen-safer (Makefile.am): Likewise.
66738         * modules/fpending (Makefile.am): Likewise.
66739         * modules/fprintftime (Makefile.am): Likewise.
66740         * modules/free (Makefile.am): Likewise.
66741         * modules/fsusage (Makefile.am): Likewise.
66742         * modules/ftruncate (Makefile.am): Likewise.
66743         * modules/fts (Makefile.am): Likewise.
66744         * modules/gc (Makefile.am): Likewise.
66745         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66746         * modules/getaddrinfo (Makefile.am): Likewise.
66747         * modules/getcwd (Makefile.am): Likewise.
66748         * modules/getdelim (Makefile.am): Likewise.
66749         * modules/getdomainname (Makefile.am): Likewise.
66750         * modules/getgroups (Makefile.am): Likewise.
66751         * modules/gethostname (Makefile.am): Likewise.
66752         * modules/gethrxtime (Makefile.am): Likewise.
66753         * modules/getline (Makefile.am): Likewise.
66754         * modules/getloadavg (Makefile.am): Likewise.
66755         * modules/getlogin_r (Makefile.am): Likewise.
66756         * modules/getopt (Makefile.am): Likewise.
66757         * modules/getpass (Makefile.am): Likewise.
66758         * modules/getpass-gnu (Makefile.am): Likewise.
66759         * modules/getsubopt (Makefile.am): Likewise.
66760         * modules/gettime (Makefile.am): Likewise.
66761         * modules/gettimeofday (Makefile.am): Likewise.
66762         * modules/getugroups (Makefile.am): Likewise.
66763         * modules/getusershell (Makefile.am): Likewise.
66764         * modules/glob (Makefile.am): Likewise.
66765         * modules/group-member (Makefile.am): Likewise.
66766         * modules/hard-locale (Makefile.am): Likewise.
66767         * modules/hash (Makefile.am): Likewise.
66768         * modules/hmac-md5 (Makefile.am): Likewise.
66769         * modules/hmac-sha1 (Makefile.am): Likewise.
66770         * modules/human (Makefile.am): Likewise.
66771         * modules/idcache (Makefile.am): Likewise.
66772         * modules/imaxabs (Makefile.am): Likewise.
66773         * modules/imaxdiv (Makefile.am): Likewise.
66774         * modules/inet_ntop (Makefile.am): Likewise.
66775         * modules/inet_pton (Makefile.am): Likewise.
66776         * modules/inttostr (Makefile.am): Likewise.
66777         * modules/isapipe (Makefile.am): Likewise.
66778         * modules/lchown (Makefile.am): Likewise.
66779         * modules/long-options (Makefile.am): Likewise.
66780         * modules/lstat (Makefile.am): Likewise.
66781         * modules/malloc (Makefile.am): Likewise.
66782         * modules/mathl (Makefile.am): Likewise.
66783         * modules/mbchar (Makefile.am): Likewise.
66784         * modules/md2 (Makefile.am): Likewise.
66785         * modules/md4 (Makefile.am): Likewise.
66786         * modules/md5 (Makefile.am): Likewise.
66787         * modules/memcasecmp (Makefile.am): Likewise.
66788         * modules/memchr (Makefile.am): Likewise.
66789         * modules/memcmp (Makefile.am): Likewise.
66790         * modules/memcoll (Makefile.am): Likewise.
66791         * modules/memcpy (Makefile.am): Likewise.
66792         * modules/memmem (Makefile.am): Likewise.
66793         * modules/memmove (Makefile.am): Likewise.
66794         * modules/mempcpy (Makefile.am): Likewise.
66795         * modules/memrchr (Makefile.am): Likewise.
66796         * modules/memset (Makefile.am): Likewise.
66797         * modules/memxor (Makefile.am): Likewise.
66798         * modules/mkancesdirs (Makefile.am): Likewise.
66799         * modules/mkdir (Makefile.am): Likewise.
66800         * modules/mkdir-p (Makefile.am): Likewise.
66801         * modules/mkdtemp (Makefile.am): Likewise.
66802         * modules/mkstemp (Makefile.am): Likewise.
66803         * modules/mktime (Makefile.am): Likewise.
66804         * modules/modechange (Makefile.am): Likewise.
66805         * modules/mountlist (Makefile.am): Likewise.
66806         * modules/nanosleep (Makefile.am): Likewise.
66807         * modules/openat (Makefile.am): Likewise.
66808         * modules/pagealign_alloc (Makefile.am): Likewise.
66809         * modules/physmem (Makefile.am): Likewise.
66810         * modules/poll (Makefile.am): Likewise.
66811         * modules/posixtm (Makefile.am): Likewise.
66812         * modules/posixver (Makefile.am): Likewise.
66813         * modules/putenv (Makefile.am): Likewise.
66814         * modules/quote (Makefile.am): Likewise.
66815         * modules/quotearg (Makefile.am): Likewise.
66816         * modules/raise (Makefile.am): Likewise.
66817         * modules/read-file (Makefile.am): Likewise.
66818         * modules/readline (Makefile.am): Likewise.
66819         * modules/readlink (Makefile.am): Likewise.
66820         * modules/readtokens (Makefile.am): Likewise.
66821         * modules/readutmp (Makefile.am): Likewise.
66822         * modules/realloc (Makefile.am): Likewise.
66823         * modules/regex (Makefile.am): Likewise.
66824         * modules/rename (Makefile.am): Likewise.
66825         * modules/rename-dest-slash (Makefile.am): Likewise.
66826         * modules/rijndael (Makefile.am): Likewise.
66827         * modules/rmdir (Makefile.am): Likewise.
66828         * modules/rpmatch (Makefile.am): Likewise.
66829         * modules/safe-read (Makefile.am): Likewise.
66830         * modules/safe-write (Makefile.am): Likewise.
66831         * modules/same (Makefile.am): Likewise.
66832         * modules/save-cwd (Makefile.am): Likewise.
66833         * modules/savedir (Makefile.am): Likewise.
66834         * modules/setenv (Makefile.am): Likewise.
66835         * modules/settime (Makefile.am): Likewise.
66836         * modules/sha1 (Makefile.am): Likewise.
66837         * modules/sig2str (Makefile.am): Likewise.
66838         * modules/snprintf (Makefile.am): Likewise.
66839         * modules/stdlib-safer (Makefile.am): Likewise.
66840         * modules/stpcpy (Makefile.am): Likewise.
66841         * modules/stpncpy (Makefile.am): Likewise.
66842         * modules/strcase (Makefile.am): Likewise.
66843         * modules/strcasestr (Makefile.am): Likewise.
66844         * modules/strchrnul (Makefile.am): Likewise.
66845         * modules/strcspn (Makefile.am): Likewise.
66846         * modules/strdup (Makefile.am): Likewise.
66847         * modules/strerror (Makefile.am): Likewise.
66848         * modules/strftime (Makefile.am): Likewise.
66849         * modules/strndup (Makefile.am): Likewise.
66850         * modules/strnlen (Makefile.am): Likewise.
66851         * modules/strpbrk (Makefile.am): Likewise.
66852         * modules/strsep (Makefile.am): Likewise.
66853         * modules/strstr (Makefile.am): Likewise.
66854         * modules/strtod (Makefile.am): Likewise.
66855         * modules/strtoimax (Makefile.am): Likewise.
66856         * modules/strtok_r (Makefile.am): Likewise.
66857         * modules/strtol (Makefile.am): Likewise.
66858         * modules/strtoll (Makefile.am): Likewise.
66859         * modules/strtoul (Makefile.am): Likewise.
66860         * modules/strtoull (Makefile.am): Likewise.
66861         * modules/strtoumax (Makefile.am): Likewise.
66862         * modules/strverscmp (Makefile.am): Likewise.
66863         * modules/time_r (Makefile.am): Likewise.
66864         * modules/timegm (Makefile.am): Likewise.
66865         * modules/tmpfile-safer (Makefile.am): Likewise.
66866         * modules/unistd-safer (Makefile.am): Likewise.
66867         * modules/unlinkdir (Makefile.am): Likewise.
66868         * modules/userspec (Makefile.am): Likewise.
66869         * modules/utime (Makefile.am): Likewise.
66870         * modules/utimecmp (Makefile.am): Likewise.
66871         * modules/utimens (Makefile.am): Likewise.
66872         * modules/vasnprintf (Makefile.am): Likewise.
66873         * modules/vasprintf (Makefile.am): Likewise.
66874         * modules/vsnprintf (Makefile.am): Likewise.
66875         * modules/xalloc (Makefile.am): Likewise.
66876         * modules/xgetcwd (Makefile.am): Likewise.
66877         * modules/xnanosleep (Makefile.am): Likewise.
66878         * modules/xreadlink (Makefile.am): Likewise.
66879         * modules/xstrtod (Makefile.am): Likewise.
66880         * modules/xstrtol (Makefile.am): Likewise.
66881         * modules/xstrtold (Makefile.am): Likewise.
66882         * modules/yesno (Makefile.am): Likewise.
66883
66884 2006-10-12  Jim Meyering  <jim@meyering.net>
66885
66886         * m4/getloadavg.m4: Revert the change below.
66887
66888         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66889         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66890         fail with a symlink, which is what coreutils' ./bootstrap now
66891         creates by default.
66892
66893 2006-10-12  Bruno Haible  <bruno@clisp.org>
66894
66895         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66896         mingw.
66897         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66898         MSVC and mingw explicitly.
66899
66900 2006-10-11  Simon Josefsson  <jas@extundo.com>
66901             Bruno Haible  <bruno@clisp.org>
66902
66903         Add support for multiple gnulib-tool invocations in the scope of a
66904         single configure.ac file.
66905         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66906         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66907         with the same contents as the _LIBADD variable.
66908         (func_emit_initmacro_start, func_emit_initmacro_end,
66909         func_emit_initmacro_done): New functions.
66910         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66911         gl_LIBOBJS and gl_LTLIBOBJS.
66912
66913 2006-10-11  Bruno Haible  <bruno@clisp.org>
66914
66915         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66916         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66917         autoreconf. Instead, invoke autopoint explicitly but move back the
66918         *.m4 files from gnulib.
66919
66920 2006-10-11  Bruno Haible  <bruno@clisp.org>
66921
66922         * gnulib-tool (func_usage): Make module names after --create-testdir
66923         optional.
66924         (func_create_testdir): If no module was specified, use nearly all
66925         modules.
66926
66927 2006-10-12  Jim Meyering  <jim@meyering.net>
66928
66929         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66930         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66931         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66932         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66933         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66934         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66935         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66936         (fts_set_stat_required): New function.
66937         (fts_open): Defer the calls to fts_stat, if possible or requested.
66938         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66939         into fts_stat itself.
66940         (fts_read): Perform any required (deferred) fts_stat call.
66941         (fts_build): Likewise, for the directory we're about to open and read.
66942         In the readdir loop, carefully decide whether each entry will require
66943         an eventual call to fts_stat, using dirent.d_type info if available.
66944         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66945         a command line argument into this function.  Update all callers.
66946         Map a return value of FTS_DOT to FTS_D for a command line argument.
66947         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66948         Thanks to Miklos Szeredi for his tenacity and for the initial
66949         bug report about "find" failing on a FUSE-based file system.
66950
66951         * lib/fts.c (fts_open): Use consistent indentation.
66952
66953 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66954
66955         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66956         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66957         reported by Jim Meyering.  All uses of cache variables renamed
66958         to match Autoconf's.
66959         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66960         the other one.
66961
66962         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66963         Fix misspelling in diagnostic.
66964
66965 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66966
66967         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66968         defined.  Problem reported by Matthew Woehlke.
66969
66970         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66971         Add support for Tandem NonStop R series.
66972         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66973         Use new macro.
66974
66975         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66976         (has_trailing_slash): Omit size arg; all callers changed.
66977         Omit 'inline', since it doesn't help performance and we'd
66978         need to configure it.
66979         Don't count //, ///, etc. as having a trailing slash.
66980         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66981         (rpl_rename_dest_slash): On failure, use rename's errno rather
66982         than (in some cases) an incorrect or junk errno.
66983         Simplify code by removing need to compute length; this does
66984         cause it to make two passes instead of one over the file name,
66985         but it's worth it.
66986
66987         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66988         change, since Autoconf's version may no longer be appropriate now
66989         that we are using CVS Autoconf's version.  Add support for Tandem.
66990
66991 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66992             Bruno Haible  <bruno@clisp.org>
66993
66994         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66995         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66996         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66997         gl_AC_TYPE_LONG_LONG.
66998
66999         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
67000         instead of HAVE_LONG_LONG.
67001         * lib/printf-args.c (printf_fetchargs): Likewise.
67002         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
67003         * lib/vasnprintf.c (VASNPRINTF): Likewise.
67004         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
67005         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
67006         gl_AC_TYPE_LONG_LONG.
67007
67008 2006-10-11  Bruno Haible  <bruno@clisp.org>
67009
67010         * m4/longlong.m4: Add comments.
67011         * m4/ulonglong.m4: Likewise.
67012
67013 2006-10-10  Bruno Haible  <bruno@clisp.org>
67014
67015         Make it possible to #define stpcpy, strdup to aliases.
67016         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
67017         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
67018
67019 2006-10-10  Bruno Haible  <bruno@clisp.org>
67020
67021         Make it possible to #define gcd to an alias.
67022         * lib/gcd.c: Include config.h.
67023
67024 2006-10-10  Bruno Haible  <bruno@clisp.org>
67025
67026         Make it possible to #define c_isascii to an alias.
67027         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
67028         defined. Undefine the macros before defining them, to avoid gcc
67029         warnings.
67030         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
67031         define NO_C_CTYPE_MACROS early.
67032
67033 2006-10-10  Bruno Haible  <bruno@clisp.org>
67034
67035         Make it possible to #define set_program_name to an alias.
67036         * lib/progname.c: Don't undefine set_program_name; instead, undefine
67037         ENABLE_RELOCATABLE early.
67038
67039 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67040
67041         Port to Tandem NSK OSS, which has 64-bit signed int but at most
67042         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
67043         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
67044         More generally, don't assume that 64-bit signed int is available
67045         if unsigned int is, and vice versa.
67046         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
67047         unsigned symbols, not on their signed counterparts.
67048         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
67049         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
67050         (UINT64_C, UINTMAX_C):
67051         Likewise.
67052         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
67053         unsigned counterparts.
67054         (Have_long_long, Unsigned): New macros.
67055         (Int): Renamed from INT.
67056         (strtoimax): Use the new macros.
67057         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
67058         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
67059         * modules/inttypes (inttypes.h): Substitute
67060         HAVE_UNSIGNED_LONG_LONG_INT.
67061         * modules/stdint (stdint.h): Likewise.
67062         (Files): Add m4/ulonglong.m4.
67063
67064 2006-10-10  Bruno Haible  <bruno@clisp.org>
67065
67066         Fix a gcc -Wshadow warning.
67067         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
67068         to 'bucket'.
67069         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
67070         gl_linked_indexof_from_to): Likewise.
67071         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
67072         Likewise.
67073         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
67074         Likewise.
67075         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
67076         Reported by Eric Blake.
67077
67078 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
67079
67080         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
67081         for NetBSD.  Problem reported by Bruno Haible.
67082
67083 2006-10-09  Jim Meyering  <jim@meyering.net>
67084
67085         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
67086         Patch from Bruno Haible.
67087
67088 2006-10-09  Jim Meyering  <jim@meyering.net>
67089
67090         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
67091         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
67092         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
67093
67094 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67095
67096         Don't include <config.h> twice; this doesn't work in some cases,
67097         e.g., when config.h has "#define intmax_t long long int" and
67098         we include <config.h>, <inttypes.h>, <config.h> in that order.
67099         Problem reported by Matthew Woehlke in:
67100         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
67101         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
67102         * lib/fts-cycle.c: Don't include config.h.
67103         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
67104         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
67105         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
67106         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
67107         inttypes.h.
67108         * lib/xstrtoumax.c: Likewise.
67109         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
67110         __strtol and the like, so that this module is more like its siblings.
67111         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
67112         Remove; no longer needed now that we assume gnulib inttypes.h.
67113
67114 2006-10-08  Bruno Haible  <bruno@clisp.org>
67115
67116         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
67117         option.
67118
67119 2006-10-07  Jim Meyering  <jim@meyering.net>
67120
67121         * modules/inttypes (inttypes.h): Revert what seems to have been
67122         an inadvertent part of today's change: use "|", not "/" in the
67123         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
67124
67125 2006-10-07  Bruno Haible  <bruno@clisp.org>
67126
67127         * modules/sublist: New file.
67128
67129 2006-10-07  Bruno Haible  <bruno@clisp.org>
67130
67131         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
67132         * modules/argz (argz.h): Likewise.
67133         * modules/arpa_inet (arpa/inet.h): Likewise.
67134         * modules/byteswap (byteswap.h): Likewise.
67135         * modules/configmake (configmake.h): Likewise.
67136         * modules/fcntl (fcntl.h): Likewise.
67137         * modules/fnmatch (fnmatch.h): Likewise.
67138         * modules/getopt (getopt.h): Likewise.
67139         * modules/glob (glob.h): Likewise.
67140         * modules/inttypes (inttypes.h): Likewise.
67141         * modules/netinet_in (netinet/in.h): Likewise.
67142         * modules/poll (poll.h): Likewise.
67143         * modules/stdbool (stdbool.h): Likewise.
67144         * modules/stdint (stdint.h): Likewise.
67145         * modules/sys_select (sys/select.h): Likewise.
67146         * modules/sys_socket (sys/socket.h): Likewise.
67147         * modules/sys_stat (sys/stat.h): Likewise.
67148         * modules/sysexits (sysexits.h): Likewise.
67149         * modules/unistd (unistd.h): Likewise.
67150         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67151         Add a "DO NOT EDIT" comment to the generated file.
67152         (func_import): Likewise for gnulib-comp.m4.
67153
67154 2006-10-07  Bruno Haible  <bruno@clisp.org>
67155
67156         * lib/gl_sublist.h: New file.
67157         * lib/gl_sublist.c: New file.
67158
67159 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67160
67161         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
67162         name (relative to the original working directory) and the file
67163         name component (relative to the temporary working directory).  All
67164         callers changed.
67165         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
67166         * lib/mkdir-p.c (make_dir_parents): Likewise.
67167         * lib/mkdir-p.h (make_dir_parents): Likewise.
67168
67169 2006-10-06  Eric Blake  <ebb9@byu.net>
67170
67171         Define several macros for use by the clean-temp module.
67172         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67173         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67174         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67175
67176         * lib/clean-temp.h (close_stream_temp): New declaration.
67177         * lib/clean-temp.c (includes): Pull in headers according to what
67178         other modules are in use.
67179         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67180
67181 2006-10-06  Bruno Haible  <bruno@clisp.org>
67182
67183         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67184         instead of fopen, fwriteerror.
67185
67186 2006-10-06  Bruno Haible  <bruno@clisp.org>
67187
67188         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67189         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67190         int.
67191         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67192         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67193         Return an error indicator.
67194         Suggested by Eric Blake.
67195
67196 2006-10-06  Bruno Haible  <bruno@clisp.org>
67197
67198         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67199         Reported by Eric Blake.
67200
67201 2006-10-06  Bruno Haible  <bruno@clisp.org>
67202
67203         * modules/closeout (Description): Mention stderr too.
67204
67205 2006-10-06  Bruno Haible  <bruno@clisp.org>
67206         and Paul Eggert  <eggert@cs.ucla.edu>
67207
67208         * lib/closeout.c (close_stdout): Also close stderr.
67209         * lib/closeout.h: Update comment.
67210
67211 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67212
67213         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67214         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67215         * lib/dirchownmod.c: Include lchown.h.
67216         * lib/lchown.c: Don't include files that lchown.h now includes.
67217         Don't declare chown, since lchown.h now does that.
67218         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67219         (lchown): Define to rpl_chown if lchown is declared but
67220         does not exist.  Declare using a prototype if lchown is not
67221         declared.  Add a copyright notice.
67222         * lib/mkstemp.h: Include <unistd.h>.
67223         * lib/openat.c: Include lchown.h.
67224
67225         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67226         we now test for that separately.
67227         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67228         rather than O_NOFOLLOW, when testing whether it's possible to
67229         avoid a race condition reliably.
67230         * lib/savewd.c (savewd_chdir): Likewise.
67231
67232         Remove macros that are no longer needed now that stdint.h is
67233         reliable.
67234         * lib/fsusage.c (UINTMAX_MAX): Remove.
67235         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67236         * lib/utimecmp.c (SIZE_MAX): Remove.
67237
67238         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67239
67240         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67241         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67242         O_NOATIME works.
67243
67244 2006-10-05  Bruno Haible  <bruno@clisp.org>
67245
67246         * lib/gl_list.h (gl_sortedlist_search_from_to,
67247         gl_sortedlist_indexof_from_to): New declarations.
67248         (gl_list_implementation): New fields sortedlist_search_from_to,
67249         sortedlist_indexof_from_to.
67250         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67251         inline functions.
67252         * lib/gl_list.c (gl_sortedlist_search_from_to,
67253         gl_sortedlist_indexof_from_to): New functions.
67254         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67255         function.
67256         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67257         (gl_array_sortedlist_search_from_to): New function.
67258         (gl_array_list_implementation): Update.
67259         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67260         function.
67261         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67262         (gl_carray_sortedlist_search_from_to): New function.
67263         (gl_carray_list_implementation): Update.
67264         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67265         gl_linked_sortedlist_indexof_from_to): New functions.
67266         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67267         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67268         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67269         gl_tree_sortedlist_indexof_from_to): New functions.
67270         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67271         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67272         Update.
67273         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67274         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67275         Update.
67276
67277 2006-10-05  Bruno Haible  <bruno@clisp.org>
67278
67279         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67280         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67281         (struct gl_list_implementation): Add fields search_from_to,
67282         indexof_from_to. Remove fields search, indexof.
67283         (gl_list_search): Use the search_from_to method.
67284         (gl_list_search_from, gl_list_search_from_to): New functions.
67285         (gl_list_indexof): Use the indexof_from_to method.
67286         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67287         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67288         (gl_list_search_from, gl_list_search_from_to): New functions.
67289         (gl_list_indexof): Use the indexof_from_to method.
67290         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67291         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67292         gl_array_indexof. Add start_index, end_index arguments.
67293         (gl_array_search_from_to): Renamed from gl_array_search. Add
67294         start_index, end_index arguments.
67295         (gl_array_remove, gl_array_list_implementation): Update.
67296         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67297         gl_carray_indexof. Add start_index, end_index arguments.
67298         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67299         start_index, end_index arguments.
67300         (gl_carray_remove, gl_carray_list_implementation): Update.
67301         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67302         gl_linked_search. Add start_index, end_index arguments.
67303         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67304         start_index, end_index arguments.
67305         (gl_linked_remove): Update.
67306         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67307         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67308         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67309         field to 'size_t'.
67310         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67311         gl_tree_search. Add start_index, end_index arguments.
67312         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67313         start_index, end_index arguments.
67314         (gl_tree_remove): Update.
67315         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67316         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67317         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67318         function.
67319         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67320         gl_tree_search. Add start_index, end_index arguments.
67321         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67322         start_index, end_index arguments.
67323         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67324         Update.
67325         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67326
67327 2006-10-05  Bruno Haible  <bruno@clisp.org>
67328
67329         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67330
67331         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67332         fwriteerror_temp): New declarations.
67333         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67334         (descriptors): New variable.
67335         (cleanup): First, close the descriptors.
67336         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67337         fclose_temp, fwriteerror_temp): New functions.
67338
67339 2006-10-04  Jim Meyering  <jim@meyering.net>
67340
67341         * lib/fts.c (fts_open): Tiny comment change.
67342
67343 2006-10-04  Bruno Haible  <bruno@clisp.org>
67344
67345         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67346         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67347         gl_LOCK_BODY.
67348         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67349         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67350         gl_LOCK_EARLY_BODY.
67351         (gl_LOCK): Require gl_LOCK_BODY.
67352
67353 2006-10-04  Bruno Haible  <bruno@clisp.org>
67354
67355         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67356         (gl_oset_search_atleast): New declaration.
67357         (struct gl_oset_implementation): Add field 'search_atleast'.
67358         (gl_oset_search_atleast): New inline function.
67359         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67360         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67361         (gl_array_oset_implementation): Update.
67362         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67363         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67364         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67365
67366 2006-10-04  Bruno Haible  <bruno@clisp.org>
67367
67368         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67369
67370 2006-10-03  Bruno Haible  <bruno@clisp.org>
67371
67372         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67373         from gl_avltreehash_list_implementation.
67374
67375 2006-10-03  Bruno Haible  <bruno@clisp.org>
67376
67377         * lib/gl_oset.c (gl_oset_add): Fix return type.
67378
67379 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67380
67381         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67382
67383 2006-10-02  Eric Blake  <ebb9@byu.net>
67384
67385         * modules/strnlen (Depends-on): Add extensions.
67386
67387 2006-10-02  Eric Blake  <ebb9@byu.net>
67388
67389         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67390         definition in 2.60+.
67391
67392 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67393
67394         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67395         checks.
67396
67397 2006-10-02  Bruno Haible  <bruno@clisp.org>
67398
67399         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67400         to the AUTOMAKE_OPTIONS.
67401         Reported by Jim Meyering.
67402
67403 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67404
67405         Work around bug in Solaris 10 /proc file system:
67406         /proc/self/fd/NNN/.. isn't the parent directory of
67407         the directory whose file descriptor is NNN.  This needs to
67408         be worked around at run time, not compile time, since a
67409         program might be built on Solaris 8, where things work, and
67410         run on Solaris 10.
67411         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67412         to use the following interface instead:
67413         (OPENAT_BUFFER_SIZE): New macro.
67414         (openat_proc_name): New function.
67415         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67416         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67417         Likewise.
67418         * lib/openat-proc.c: New file.
67419         * modules/openat (Files): Add lib/openat-proc.c.
67420         (Depends-on): Add same-inode, stdbool.
67421         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67422
67423 2006-09-29  Bruno Haible  <bruno@clisp.org>
67424
67425         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67426         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67427         argument. Set stdout_closed before testing for ferror, not after.
67428         (fwriteerror, fwriteerror_no_ebadf): New functions.
67429
67430 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67431
67432         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67433
67434 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67435
67436         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67437         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67438
67439 2006-09-28  Jim Meyering  <jim@meyering.net>
67440
67441         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67442         Include <unistd.h>.
67443
67444 2006-09-28  Bruno Haible  <bruno@clisp.org>
67445
67446         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67447         * modules/linkedhash-list (Depends-on): Likewise.
67448         * modules/rbtreehash-list (Depends-on): Likewise.
67449
67450 2006-09-28  Bruno Haible  <bruno@clisp.org>
67451
67452         * lib/strndup.h: Simplify the redefinition of strndup.
67453         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67454         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67455
67456 2006-09-28  Bruno Haible  <bruno@clisp.org>
67457
67458         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67459         * lib/gl_linkedhash_list.c: Likewise.
67460         * lib/gl_rbtreehash_list.c: Likewise.
67461
67462 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67463
67464         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67465         getaddrinfo.
67466
67467         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67468         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67469         it causes <stdio_ext.h> to cause a compile-time error.
67470         Problem reported by Nelson H. F. Beebe.
67471         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67472         of HAVE_DECL___PENDING.
67473
67474         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67475         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67476         declaration.
67477
67478 2006-09-27  Jim Meyering  <jim@meyering.net>
67479
67480         This file could end up with a definition for a function
67481         named __strndup, rather than rpl_strndup on a system with
67482         incomplete weak_alias support.
67483         * lib/strndup.c (strndup): Rename from __strndup.
67484         Remove #defines that used to map __strndup to strndup.
67485         Don't use K&R prototypes.
67486         Remove LIBC-related code, since this file is not sync'd with glibc.
67487         * lib/strndup.h: Revamp, accordingly.
67488         * m4/strndup.m4: Modernize.
67489
67490 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67491
67492         * modules/savewd (Depends-on): Add 'raise'.
67493         * lib/savewd.c: Include <signal.h>, for 'raise'.
67494
67495 2006-09-26  Jim Meyering  <jim@meyering.net>
67496
67497         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67498         when we detect Darwin 8.7.0's acl_get_file bug.
67499         Rearrange to perform the new (below) run-test while $LIBS
67500         contains any acl-related library.  Set USE_ACL at the end.
67501         (gl_ACL_GET_FILE): New function.
67502
67503 2006-09-26  Eric Blake  <ebb9@byu.net>
67504
67505         * lib/verror.c: Include <config.h> unconditionally.
67506
67507 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67508
67509         * modules/clock-time (Maintainer): Add self.
67510         * modules/getlogin_r (Depends-on): Add extensions.
67511
67512 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67513
67514         * modules/clock-time: New module.
67515         * modules/nanosleep (Depends-on): Add clock-time.
67516         * modules/gethrxtime (Depends-on): Likewise.
67517         * modules/gettime (Depends-on): Likewise.
67518         * modules/settime (Depends-on): Likewise.
67519
67520         * modules/fts-lgpl: Depend on openat.
67521         * modules/mkancesdirs: Depend on savewd.
67522         * modules/mkdir-p: Likewise.
67523
67524 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67525
67526         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67527
67528         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67529         `gl_have_arbitrary_file_name_length_limit' to
67530         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67531         actually works between configure runs.
67532
67533 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67534             Bruno Haible  <bruno@clisp.org>
67535
67536         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67537
67538 2006-09-25  Jim Meyering  <jim@meyering.net>
67539
67540         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67541         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67542
67543 2006-09-25  Eric Blake  <ebb9@byu.net>
67544
67545         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67546         exec's in 2006-09-18 patch when shuffling fds.
67547
67548 2006-09-25  Bruno Haible  <bruno@clisp.org>
67549
67550         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67551         Reported by Jim Meyering.
67552
67553 2006-09-24  Jim Meyering  <jim@meyering.net>
67554
67555         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67556         compare a pointer against a literal "0".  That caused failures with
67557         at least HP-UX's hpcc.
67558
67559 2006-09-22  Simon Josefsson  <jas@extundo.com>
67560
67561         * modules/gc-sha1:
67562         * modules/gc-md4:
67563         * modules/gc-hmac-sha1:
67564         * modules/gc-hmac-md5:
67565         * modules/gc-des:
67566         * modules/gc-arcfour: Distribute more files.
67567
67568 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67569
67570         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67571         (gl_linked_iterator_from_to): Initialize struct completely.
67572         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67573         (gl_tree_iterator_from_to): Likewise
67574         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67575         * lib/gl_array_list.c [lint] (gl_array_iterator)
67576         (gl_array_iterator_from_to): Likewise.
67577         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67578         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67579         (gl_carray_iterator_from_to): Likewise.
67580
67581         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67582         * lib/md4.c (md4_process_block): Remove unused variable.
67583         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67584         parentheses for clarity.
67585
67586 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67587
67588         * modules/bison-i18n (Depends-on): Add gettext.
67589
67590 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67591
67592         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67593         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67594         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67595         also add missing comma that caused broken test.
67596         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67597         stdlib.h, for `abort'.
67598         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67599         variables.
67600         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67601         include unistd.h if present, for `rmdir'.
67602         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67603         variables.
67604         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67605         in the process include standard headers for prototypes.
67606         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67607         gets declared on GNU/Linux.
67608         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67609         unistd.h, for `rmdir'.
67610         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67611
67612         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67613         always true.
67614         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67615
67616         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67617
67618 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67619
67620         * gnulib-tool (func_version): Create output all at once.  This
67621         may help avoid triggering unnecessary SIGPIPEs, and at any
67622         rate it doesn't hurt.
67623
67624 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67625             Bruno Haible  <bruno@clisp.org>
67626
67627         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67628         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67629         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67630
67631         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67632         (gl_FUNC_VASPRINTF): Invoke it.
67633
67634 2006-09-22  Bruno Haible  <bruno@clisp.org>
67635
67636         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67637         getloadavg.c as first argument.
67638
67639 2006-09-22  Bruno Haible  <bruno@clisp.org>
67640
67641         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67642         at the beginning of the gl_INIT macro.
67643         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67644         gl_GETLOADAVG.
67645
67646 2006-09-22  Bruno Haible  <bruno@clisp.org>
67647
67648         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67649         module.
67650         Suggested by Ralf Wildenhues.
67651
67652 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67653
67654         Import this patch from libc:
67655
67656         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67657
67658         * lib/regex_internal.c (re_string_reconstruct): Handle
67659         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67660         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67661         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67662         re_string_context_at.
67663
67664         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67665         now requires it.
67666         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67667         gl_REGEX now does it for us.
67668         (gl_REGEX): Add test taken from
67669         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67670
67671         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67672         Check that large offsets work.  Modernize Autoconf usages.
67673         Prefer "yes" to mean a good thing rather than a bad.
67674         Don't put "#define mkstemp" in config.h, as this might interfere
67675         with standard system headers that "#define mkstemp mkstemp64".
67676
67677         * modules/mkstemp (Depends-on): Add extensions, so that
67678         mkstemp is visible on some platforms.
67679         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67680         (Include): Change to "mkstemp.h" from <stdlib.h>.
67681         (Files): Add mkstemp.h.
67682
67683         * lib/mkstemp.h: New file, since some standard headers
67684         #define mkstemp.
67685         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67686         Include "mkstemp.h".
67687         Make the _LIBC code resemble glibc original more,
67688         e.g., use K&R style.
67689         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67690         (mkstemp): Remove, since mkstemp.h does this for us.
67691         * lib/stdlib--.h: Include mkstemp.h.
67692
67693         Import this patch from libc:
67694
67695         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67696
67697         * lib/tempname.c (__gen_tempname): Change attempts_min
67698         into a macro.  Use preprocessor to decide how to initialize
67699         attempts [Coverity CID 67].
67700
67701 2006-09-20  Bruno Haible  <bruno@clisp.org>
67702
67703         * lib/mkdtemp.c: Import from libc.
67704         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67705                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67706                 attempts_min into a macro.  Use preprocessor to decide how to
67707                 initialize attempts [Coverity CID 67].
67708         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67709                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67710                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67711
67712 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67713
67714         * gnulib-tool (func_exit): New function, to allow to pass the
67715         exit status portably through the trap.  Use everywhere.
67716         (--help, --version): Signal a write error.
67717         (trap): catch SIGPIPE, for write errors.
67718         Exit at the end of the trap, with the correct exit status.
67719
67720 2006-09-19  Karl Berry  <karl@gnu.org>
67721
67722         * doc/gnulib.texi: note about the license texinfo files.
67723
67724 2006-09-19  Eric Blake  <ebb9@byu.net>
67725
67726         * gnulib-tool: Avoid space-tab.
67727
67728 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67729
67730         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67731         that prevented coreutils 6.1 from building.  Problem reported
67732         by Petter Reinholdtsen.
67733
67734 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67735
67736         * gnulib-tool (avoidlist): Fix typo that broke options like
67737         --avoid=lock that are used by coreutils bootstrap.
67738
67739 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67740
67741         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67742         more systematically.
67743
67744 2006-09-18  Jim Meyering  <jim@meyering.net>
67745
67746         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67747
67748 2006-09-18  Bruno Haible  <bruno@clisp.org>
67749
67750         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67751
67752 2006-09-18  Bruno Haible  <bruno@clisp.org>
67753
67754         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67755         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67756         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67757         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67758         * m4/gettext.m4: Require autoconf >= 2.52.
67759         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67760         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67761         of gl_cv_header_inttypes_h.
67762
67763 2006-09-18  Bruno Haible  <bruno@clisp.org>
67764
67765         * lib/javaversion.c: Include configmake.h.
67766
67767 2006-09-18  Bruno Haible  <bruno@clisp.org>
67768
67769         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67770         avoid that the while loops be executed in a subshell.
67771
67772 2006-09-18  Bruno Haible  <bruno@clisp.org>
67773
67774         * MODULES.html.sh (func_module): Break long lines.
67775         Suggested by Bruce Korb <bkorb@gnu.org>.
67776
67777 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67778
67779         Speed up by a factor of 1.12.
67780         * gnulib-tool (nl): New variable.
67781         (func_import): Rewrite include directive extraction to only read each
67782         directive once.
67783
67784 2006-09-17  Bruno Haible  <bruno@clisp.org>
67785
67786         * modules/javaversion (Makefile.am): Remove DEFS setting.
67787         (Depends-on): Add configmake, for PKGDATADIR definition.
67788
67789 2006-09-17  Bruno Haible  <bruno@clisp.org>
67790
67791         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67792
67793 2006-09-17  Bruno Haible  <bruno@clisp.org>
67794
67795         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67796         (func_modules_transitive_closure, func_modules_add_dummy,
67797         func_modules_to_filelist, func_import, func_create_testdir,
67798         func_create_megatestdir, ...): Use it wherever possible.
67799         Suggested by Ralf Wildenhues.
67800
67801 2006-09-16  Karl Berry  <karl@gnu.org>
67802
67803         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67804         to avoid sectioning errors.
67805         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67806         [ifinfo]: blank line after @center-ed titles.
67807         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67808         Spell FSF address consistently with others.
67809         (These changes approved by rms.)
67810
67811 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67812
67813         Speed up by a factor of 1.61.
67814         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67815         already checked module names again.
67816
67817 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67818
67819         Speed up by a factor of 1.13.
67820         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67821         for new_files, and the input to func_add_or_update.
67822
67823 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67824
67825         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67826         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67827
67828 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67829
67830         * modules/mkancesdirs (Depends-on): Add fcntl.
67831         * modules/savewd: New file.
67832         * MODULES.html.sh (File system functions): Add savewd.
67833
67834         * modules/configmake (Makefile.am): Add support for the
67835         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67836
67837 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67838
67839         * m4/savewd.m4: New file.
67840
67841 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67842
67843         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67844         (dirchownmod): New arg FD.  All callers changed.
67845         Use FD rather than opening the directory ourself, as opening is
67846         now the caller's responsibility.
67847         * lib/dirchownmod.h: Likewise.
67848         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67849         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67850         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67851         (test_dir): Remove.
67852         (mkancesdirs): Return length of prefix of FILE that has already
67853         been made, or -2 if there is a child doing the work.  Redo
67854         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67855         ".", and treat ".." specially since it might stray back into
67856         already-created areas.  Use a subprocess if necessary.  New arg
67857         WD; all users changed.  MAKE_DIR function should now return 1
67858         if it creates a directory that is not readable.  Return -2 if
67859         a child process is spun off.
67860         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67861         Adjust signature to match code.
67862         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67863         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67864         all users changed.
67865         * lib/savewd.c, lib/savewd.h: New files.
67866
67867 2006-09-15  Jim Meyering  <jim@meyering.net>
67868
67869         * modules/rename-dest-slash: New module.
67870         * MODULES.html.sh (posix_compat): Add it here.
67871
67872         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67873
67874 2006-09-15  Jim Meyering  <jim@meyering.net>
67875
67876         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67877         file.
67878
67879         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67880
67881 2006-09-15  Jim Meyering  <jim@meyering.net>
67882
67883         * lib/rename-dest-slash.c (has_trailing_slash): Use
67884         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67885         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67886         test before testing whether SRC is a directory.
67887         Suggestions from Bruno Haible.
67888
67889         Avoid a warning about an unused variable.
67890         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67891         into the #ifdef block where it's used.
67892
67893         * lib/rename-dest-slash.c: New file.
67894
67895 2006-09-14  Bruno Haible  <bruno@clisp.org>
67896
67897         * lib/allocsa.c: Include <config.h> unconditionally.
67898         * lib/asnprintf.c: Likewise.
67899         * lib/asprintf.c: Likewise.
67900         * lib/c-strcasecmp.c: Likewise.
67901         * lib/c-strcasestr.c: Likewise.
67902         * lib/c-strncasecmp.c: Likewise.
67903         * lib/c-strstr.c: Likewise.
67904         * lib/classpath.c: Likewise.
67905         * lib/clean-temp.c: Likewise.
67906         * lib/concatpath.c: Likewise.
67907         * lib/copy-file.c: Likewise.
67908         * lib/csharpcomp.c: Likewise.
67909         * lib/csharpexec.c: Likewise.
67910         * lib/execute.c: Likewise.
67911         * lib/fatal-signal.c: Likewise.
67912         * lib/findprog.c: Likewise.
67913         * lib/fwriteerror.c: Likewise.
67914         * lib/gl_array_list.c: Likewise.
67915         * lib/gl_array_oset.c: Likewise.
67916         * lib/gl_avltree_list.c: Likewise.
67917         * lib/gl_avltree_oset.c: Likewise.
67918         * lib/gl_avltreehash_list.c: Likewise.
67919         * lib/gl_carray_list.c: Likewise.
67920         * lib/gl_linked_list.c: Likewise.
67921         * lib/gl_linkedhash_list.c: Likewise.
67922         * lib/gl_list.c: Likewise.
67923         * lib/gl_oset.c: Likewise.
67924         * lib/gl_rbtree_list.c: Likewise.
67925         * lib/gl_rbtree_oset.c: Likewise.
67926         * lib/gl_rbtreehash_list.c: Likewise.
67927         * lib/imaxabs.c: Likewise.
67928         * lib/imaxdiv.c: Likewise.
67929         * lib/javacomp.c: Likewise.
67930         * lib/javaexec.c: Likewise.
67931         * lib/javaversion.c: Likewise.
67932         * lib/linebreak.c: Likewise.
67933         * lib/localcharset.c: Likewise.
67934         * lib/lock.c: Likewise.
67935         * lib/mbchar.c: Likewise.
67936         * lib/mbswidth.c: Likewise.
67937         * lib/mkdtemp.c: Likewise.
67938         * lib/pipe.c: Likewise.
67939         * lib/printf-args.c: Likewise.
67940         * lib/printf-parse.c: Likewise.
67941         * lib/progname.c: Likewise.
67942         * lib/progreloc.c: Likewise.
67943         * lib/readlink.c: Likewise.
67944         * lib/sh-quote.c: Likewise.
67945         * lib/stpcpy.c: Likewise.
67946         * lib/stpncpy.c: Likewise.
67947         * lib/strcasecmp.c: Likewise.
67948         * lib/strcasestr.c: Likewise.
67949         * lib/strcspn.c: Likewise.
67950         * lib/striconv.c: Likewise.
67951         * lib/strncasecmp.c: Likewise.
67952         * lib/strnlen1.c: Likewise.
67953         * lib/strstr.c: Likewise.
67954         * lib/strtok_r.c: Likewise.
67955         * lib/tls.c: Likewise.
67956         * lib/tmpdir.c: Likewise.
67957         * lib/unicodeio.c: Likewise.
67958         * lib/unsetenv.c: Likewise.
67959         * lib/vasnprintf.c: Likewise.
67960         * lib/vasprintf.c: Likewise.
67961         * lib/wait-process.c: Likewise.
67962         * lib/xallocsa.c: Likewise.
67963         * lib/xsetenv.c: Likewise.
67964         * lib/xstriconv.c: Likewise.
67965
67966 2006-09-13  Simon Josefsson  <jas@extundo.com>
67967
67968         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67969         that internally, suggested by Ralf Wildenhues
67970         <Ralf.Wildenhues@gmx.de>.
67971
67972 2006-09-13  Simon Josefsson  <jas@extundo.com>
67973
67974         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67975         @LIBOBJS@.
67976         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67977
67978 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67979
67980         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67981         longer worry about uses that don't define HAVE_CONFIG_H.
67982         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67983         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67984         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67985         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67986         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67987         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67988         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67989         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67990         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67991         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67992         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67993         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67994         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67995         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67996         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67997         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67998         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67999         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
68000         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
68001         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
68002         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
68003         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
68004         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
68005         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
68006         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
68007         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
68008         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
68009         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
68010         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
68011         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
68012         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
68013         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
68014         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
68015         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
68016         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
68017         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
68018         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
68019         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
68020         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
68021         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
68022         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
68023         Likewise.
68024
68025 2006-09-13  Eric Blake  <ebb9@byu.net>
68026
68027         * lib/getopt.c: Fix typo in last commit.
68028
68029 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68030
68031         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
68032         dgettext.
68033
68034 2006-09-12  Jim Meyering  <jim@meyering.net>
68035
68036         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
68037         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
68038         Reported by Nelson H. F. Beebe.
68039
68040 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68041
68042         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
68043         program_invocation_name and program_invocation_short_name are
68044         initialized.
68045         * lib/argp-namefrob.h: Move declarations of program_invocation_name
68046         and program_invocation_short_name to argp.h, so they are visible
68047         to user programs.
68048         * lib/argp.h: Likewise
68049
68050 2006-09-10  Bruno Haible  <bruno@clisp.org>
68051
68052         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68053         m4/inttypes_h.m4, m4/uintmax_t.m4.
68054
68055 2006-09-10  Bruno Haible  <bruno@clisp.org>
68056
68057         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
68058         gl_AC_TYPE_UINTMAX_T.
68059
68060 2006-09-10  Bruno Haible  <bruno@clisp.org>
68061
68062         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
68063
68064 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68065
68066         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
68067         convention.  Text proposed by Bruno Haible.
68068         (struct argp_option): Document the use of N_() wrappers.
68069
68070         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
68071         '\v', and translate the two parts separately, instead of feeding
68072         the whole string to gettext.  This allows to exclude
68073         '\v' from the strings visible to the translator by writing doc
68074         strings as N_("..") "\v" N_("..").
68075
68076 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
68077
68078         * config/srclist.txt: Undo latest change; the bug was fixed.
68079
68080 2006-09-09  Bruno Haible  <bruno@clisp.org>
68081
68082         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
68083         assignments if building a library without libtool.
68084         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
68085         in func_emit_lib_Makefile_am.
68086         (func_import): When building a static library libfoo.a, arrange to
68087         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
68088         (func_create_testdir): Likewise.
68089         * modules/gc (configure.ac, Makefile.am): If building statically,
68090         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
68091         * modules/iconvme (configure.ac, Makefile.am): Likewise.
68092         * modules/striconv (configure.ac, Makefile.am): Likewise.
68093         Based on a suggestion by Ralf Wildenhues.
68094
68095 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68096
68097         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68098         Check for unistd.h too, since Autoconf doesn't assume POSIX.
68099         Also:
68100
68101         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68102         Add year_2050_test to catch glibc bug 2821
68103         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68104
68105         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68106         Prefer #ifdef to #if.
68107
68108         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68109         Return from 'main' instead of calling 'exit'.
68110
68111 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68112
68113         * lib/mktime.c (guess_time_tm): Fix bug where mktime
68114         returned the maximum time_t value rather than (time_t) -1.
68115         Problem originally reported by William Bardwell
68116         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
68117
68118         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68119         Moved to here ...
68120         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
68121         ... from here.
68122
68123 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68124
68125         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
68126         2821 is fixed.
68127
68128 2006-09-08  Jim Meyering  <jim@meyering.net>
68129
68130         Don't make generated files read-only.  That would bother too many
68131         people.  However, do retain the ability to work when targets are
68132         read-only: remove the destination and temporary files before writing
68133         them (when generated via sed or echo), or by using the -f option for
68134         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
68135         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68136         * modules/byteswap, modules/configmake, modules/fcntl:
68137         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68138         * modules/localcharset, modules/netinet_in, modules/poll:
68139         * modules/stdbool, modules/stdint, modules/sys_select:
68140         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68141
68142 2006-09-08  Jim Meyering  <jim@meyering.net>
68143
68144         Avoid new build failure on FreeBSD 6.0.
68145         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
68146         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
68147         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
68148
68149 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68150
68151         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
68152
68153 2006-09-07  Jim Meyering  <jim@meyering.net>
68154
68155         Fix global typo in last change: use chmod u-w, not chmod u-x.
68156         Spotted by Paul Eggert and Bruce Korb.
68157         * modules/alloca-opt, modules/argz, modules/arpa_inet:
68158         * modules/byteswap, modules/configmake, modules/fcntl:
68159         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
68160         * modules/localcharset, modules/netinet_in, modules/poll:
68161         * modules/stdbool, modules/stdint, modules/sys_select:
68162         * modules/sys_socket, modules/sys_stat, modules/sysexits:
68163
68164 2006-09-06  Jim Meyering  <jim@meyering.net>
68165
68166         Make generated files be read-only.
68167         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
68168         Ensure that each generated file is now read-only.
68169         * modules/argz: Likewise.
68170         * modules/arpa_inet: Likewise.
68171         * modules/byteswap: Likewise.
68172         * modules/configmake: Likewise.
68173         * modules/fcntl: Likewise.
68174         * modules/fnmatch: Likewise.
68175         * modules/getopt: Likewise.
68176         * modules/glob: Likewise.
68177         * modules/inttypes: Likewise.
68178         * modules/netinet_in: Likewise.
68179         * modules/poll: Likewise.
68180         * modules/stdbool: Likewise.
68181         * modules/stdint: Likewise.
68182         * modules/sys_select: Likewise.
68183         * modules/sys_socket: Likewise.
68184         * modules/sys_stat: Likewise.
68185         * modules/sysexits: Likewise.
68186         * modules/localcharset: Same as above, but continue using temporary
68187         file named "t-$@" (why different?) rather than the "$@-t" used
68188         everywhere else.
68189
68190         * modules/sysexits (Makefile.am): Replace literal occurrences
68191         of "sysexit.h" more readable, and more consistent, "$@".
68192
68193 2006-09-06  Bruno Haible  <bruno@clisp.org>
68194
68195         * modules/striconv: New file.
68196         * modules/xstriconv: New file.
68197         * MODULES.html.sh (Internationalization functions): Add striconv,
68198         xstriconv.
68199
68200 2006-09-06  Bruno Haible  <bruno@clisp.org>
68201
68202         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68203         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68204         not using libtool correctly.
68205
68206 2006-09-06  Bruno Haible  <bruno@clisp.org>
68207
68208         * lib/striconv.h: New file.
68209         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68210         iconvstring.c.
68211         * lib/xstriconv.h: New file.
68212         * lib/xstriconv.c: New file.
68213
68214 2006-09-06  Bruno Haible  <bruno@clisp.org>
68215
68216         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68217         lib_..._LDFLAGS.
68218
68219 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68220
68221         * lib/argz_.h: Sync from Libtool.
68222
68223         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68224                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68225
68226         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68227
68228 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68229
68230         * modules/trim: New file.
68231
68232 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68233
68234         * lib/trim.h: New file.
68235         * lib/trim.c: New file.
68236
68237 2006-09-05  Bruno Haible  <bruno@clisp.org>
68238
68239         * MODULES.html.sh (String handling): Add trim.
68240
68241 2006-09-04  Karl Berry  <karl@gnu.org>
68242
68243         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68244         until next release.
68245
68246 2006-09-03  Bruno Haible  <bruno@clisp.org>
68247
68248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68249         correctly.
68250
68251 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68252
68253         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68254         not gl_GETLOADAVG.  Omit unneeded semicolons.
68255         Problems reported by Ralf Wildenhues in
68256         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68257         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68258         at the end, which is the usual gnulib style.
68259
68260         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68261         of doing all the work ourselves.
68262         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68263         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68264
68265 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68266
68267         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68268         Problem reported by Ralf Wildenhues in
68269         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68270
68271         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68272         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68273
68274 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68275
68276         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68277         yesterday's patch by changing test -n to test -z.
68278
68279 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68280
68281         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68282         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68283         the former is now obsolescent.
68284
68285         * modules/chdir-long (Depends-on): Add fcntl.
68286
68287 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68288
68289         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68290         obsolescent, and programs should use gnulib instead.
68291         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68292         but with prefixes changed.
68293
68294 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68295
68296         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68297         or stdbool.h, because they might not exist while configuring.
68298
68299         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68300         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68301         does that for us.
68302         (O_DIRECTORY): Remove.
68303
68304 2006-08-31  Eric Blake  <ebb9@byu.net>
68305
68306         * gnulib-tool: Don't let emacs change spaces to TAB.
68307
68308 2006-08-31  Bruno Haible  <bruno@clisp.org>
68309
68310         * gnulib-tool: When calling func_import more than once, do it in a
68311         subshell.
68312         Reported by Eric Blake <ebb9@byu.net>.
68313
68314 2006-08-31  Bruno Haible  <bruno@clisp.org>
68315
68316         * gnulib-tool (nl): Remove variable.
68317         (sed_transform_lib_file): Use more robust test for config-h module.
68318         (func_import): Fix typo in 2006-08-25 patch.
68319
68320 2006-08-31  Bruno Haible  <bruno@clisp.org>
68321
68322         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68323         specified, augment Makefile.am variables instead of assigning them.
68324
68325 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68326
68327         Work around a bug in both the Linux and SunOS 64-bit kernels:
68328         nanosleep mishandles sleeps for longer than 2**31 seconds.
68329         Problem reported by Frank v Waveren in
68330         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68331         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68332         Check for nanosleep bug.
68333         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68334
68335 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68336
68337         Work around a bug in both the Linux and SunOS 64-bit kernels:
68338         nanosleep mishandles sleeps for longer than 2**31 seconds.
68339         Problem reported by Frank v Waveren in
68340         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68341         * lib/nanosleep.c (BILLION): New constant.
68342         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68343         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68344         implementation.
68345
68346 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68347
68348         * modules/nanosleep (Depends-on): Add gettime.
68349
68350 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68351         and Simon Josefsson  <jas@extundo.com>
68352         and Oskar Liljeblad  <oskar@osk.mine.nu>
68353
68354         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68355         * gnulib-tool (func_import): New license type 'unmodifiable license
68356         text'.
68357         * modules/fdl: Use it.  Longer description.
68358         * module/gpl, module/lgpl: New files.
68359
68360 2006-08-30  Jim Meyering  <jim@meyering.net>
68361
68362         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68363         shadowing the parameter.
68364
68365 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68366
68367         Sync from Libtool:
68368
68369         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68370
68371         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68372         sharing with gnulib.  Report by Eric Blake.
68373
68374 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         * modules/isapipe: New file.
68377         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68378
68379 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68380
68381         * modules/configmake (Makefile.am): Add a comment, and omit
68382         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68383         by Bruno Haible.
68384
68385 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68386
68387         * m4/isapipe.m4: New file.
68388
68389 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68390
68391         * lib/isapipe.c, lib/isapipe.h: New files.
68392
68393 2006-08-29  Jim Meyering  <jim@meyering.net>
68394
68395         * modules/configmake (Makefile.am): Make configmake.h depend on
68396         Makefile.  Otherwise, a stale configmake.h could hang around.
68397
68398 2006-08-29  Eric Blake  <ebb9@byu.net>
68399
68400         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68401         resolution of upstream bug 3044.
68402
68403 2006-08-29  Bruno Haible  <bruno@clisp.org>
68404
68405         * modules/localcharset (Depends-on): Add configmake.
68406         (Makefile.am): Remove setting of LIBDIR through DEFS.
68407
68408 2006-08-29  Bruno Haible  <bruno@clisp.org>
68409
68410         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68411         defined.
68412
68413 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68414
68415         * modules/fcntl: New file.
68416         * modules/chdir-safer (Depends-on): Add fcntl.
68417         * modules/fts: Likewise.
68418         * modules/mkdir-p: Likewise.
68419
68420         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68421         This undoes the most recent change, since we're now addressing the
68422         problem in a different way.
68423
68424         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68425         into output, since the output might be called Makefile.am even
68426         if $makefile_name is something different.
68427         (func_import): Use $makefile_am rather than
68428         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68429         empty.
68430
68431         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68432
68433 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68434
68435         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68436         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68437         recent change to stdint.m4, since we're now addressing the problem in a
68438         different way.
68439
68440 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68441
68442         * m4/fcntl_h.m4: New file.
68443
68444 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68445
68446         * lib/fcntl_.h: New file.
68447         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68448         the fcntl module.
68449         * lib/dirchownmod.c: Likewise.
68450         * lib/fts.c: Likewise.
68451
68452         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68453         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68454         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68455         just before including <inttypes.h>, to avoid circular inclusion.
68456
68457 2006-08-28  Jim Meyering  <jim@meyering.net>
68458
68459         * doc/visibility.texi: Actually read and correct the grammar of the
68460         sentence affected by yesterday's change.
68461
68462 2006-08-28  Eric Blake  <ebb9@byu.net>
68463
68464         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68465         needs wrapper.
68466
68467 2006-08-28  Eric Blake  <ebb9@byu.net>
68468
68469         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68470
68471 2006-08-28  Eric Blake  <ebb9@byu.net>
68472
68473         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68474
68475 2006-08-28  Bruno Haible  <bruno@clisp.org>
68476
68477         * modules/c-strstr: New file, from GNU gettext.
68478         * MODULES.html.sh (String handling): Add c-strstr.
68479
68480 2006-08-28  Bruno Haible  <bruno@clisp.org>
68481
68482         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68483         macros.
68484         Reported by Eric Blake.
68485
68486 2006-08-28  Bruno Haible  <bruno@clisp.org>
68487
68488         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68489         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68490         * lib/vasprintf.c: Include errno.h, limits.h.
68491         (EOVERFLOW): New fallback definition.
68492         (vasprintf): Test here whether the string length is > INT_MAX.
68493         * lib/vsnprintf.c: Include errno.h, limits.h.
68494         (EOVERFLOW): New fallback definition.
68495         (vsnprintf): Fix bug when generated string was too long for the buffer.
68496         Test here whether the string length is > INT_MAX.
68497
68498 2006-08-28  Bruno Haible  <bruno@clisp.org>
68499
68500         * lib/inttypes_.h (SCNX*): Remove definitions.
68501         Reported by Eric Blake.
68502
68503 2006-08-28  Bruno Haible  <bruno@clisp.org>
68504
68505         * lib/c-strstr.h: New file, from GNU gettext.
68506         * lib/c-strstr.c: New file, from GNU gettext.
68507
68508 2006-08-28  Bruno Haible  <bruno@clisp.org>
68509
68510         * gnulib-tool: Reorder some statements.
68511
68512 2006-08-28  Bruno Haible  <bruno@clisp.org>
68513
68514         * gnulib-tool: New option --makefile-name.
68515         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68516         $makefile_name.
68517         (func_import): Write $makefile_name to the cache file, and read it from
68518         there unless explicitly specified. Use $makefile_name as file name
68519         instead of Makefile.am. Adjust the recommendations accordingly.
68520
68521 2006-08-28  Bruno Haible  <bruno@clisp.org>
68522
68523         * gnulib-tool (func_verify_module): Check against misapplying patch.
68524
68525 2006-08-28  Bruno Haible  <bruno@clisp.org>
68526
68527         * gnulib-tool (func_relativize, func_relconcat): New functions.
68528         Give an error if --local-dir is given with --update.
68529         Remove trailing slashes from $local_gnulib_dir.
68530         (func_import): Store the relativized $local_gnulib_dir in
68531         gnulib-cache.m4, and read it from there if not specified explicitly.
68532
68533 2006-08-28  Bruno Haible  <bruno@clisp.org>
68534
68535         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68536         is the current directory. Respect also $local_gnulib_dir.
68537
68538 2006-08-28  Bruno Haible  <bruno@clisp.org>
68539             Simon Josefsson  <jas@extundo.com>
68540
68541         BeOS portability.
68542         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68543
68544 2006-08-27  Jim Meyering  <jim@meyering.net>
68545
68546         * doc/visibility.texi: Remove duplicate word: "pointer".
68547
68548 2006-08-26  Bruno Haible  <bruno@clisp.org>
68549
68550         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68551         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68552         (Makefile.am): Create inttypes.h from inttypes_.h.
68553         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68554
68555         * modules/imaxabs: New file.
68556
68557         * modules/imaxdiv: New file.
68558
68559 2006-08-26  Bruno Haible  <bruno@clisp.org>
68560
68561         * m4/inttypes.m4: New file.
68562         * m4/_inttypes_h.m4: Remove file.
68563         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68564         PRI_MACROS_BROKEN.
68565         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68566
68567         * m4/imaxabs.m4: New file.
68568
68569         * m4/imaxdiv.m4: New file.
68570
68571 2006-08-26  Bruno Haible  <bruno@clisp.org>
68572
68573         * lib/inttypes_.h: New file.
68574         * lib/inttypes.h: Remove file.
68575         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68576
68577         * lib/imaxabs.c: New file.
68578
68579         * lib/imaxdiv.c: New file.
68580
68581 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68582
68583         New config-h module, so that "make" output needn't be cluttered
68584         by -DHAVE_CONFIG_H.
68585         * MODULES.html.sh (Support for building libraries and executables):
68586         Add config-h.
68587         * modules/config-h: New file.
68588         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68589         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68590         the config-h module is used.
68591
68592         New configmake module, so that "make" output needn't be cluttered
68593         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68594         * MODULES.html.sh (Support for building libraries and executables):
68595         Add configmake.
68596         * modules/configmake: New file.
68597
68598 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68599
68600         * m4/config-h.m4: New file.
68601
68602 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68603
68604         * config/srclist.txt: Add elisp-comp.
68605
68606 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68607
68608         * MODULES.html.sh (Support for building libraries and executables):
68609         Add elisp-comp.
68610         * build-aux/elisp-comp: New file.
68611         * modules/elisp-comp: New file.
68612
68613 2006-08-24  Bruno Haible  <bruno@clisp.org>
68614
68615         * gnulib-tool (func_create_testdir): Use non-default values of
68616         sourcebase and m4base.
68617
68618 2006-08-24  Bruno Haible  <bruno@clisp.org>
68619
68620         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68621         HTML structure.
68622
68623 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68624
68625         * modules/openat (Depends-on): Add lchown.
68626
68627 2006-08-23  Bruno Haible  <bruno@clisp.org>
68628
68629         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68630         of gl_LOCK_EARLY instead of gl_LOCK.
68631
68632 2006-08-23  Bruno Haible  <bruno@clisp.org>
68633
68634         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68635         on OSF/1 to no.
68636         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68637
68638 2006-08-23  Bruno Haible  <bruno@clisp.org>
68639
68640         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68641         as unusable.
68642
68643         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68644         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68645         (gl_LOCK): New macro.
68646
68647 2006-08-22  Simon Josefsson  <jas@extundo.com>
68648
68649         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68650         to md5 module.
68651
68652 2006-08-22  Simon Josefsson  <jas@extundo.com>
68653
68654         * MODULES.html.sh: Add "Support for maintaining and release
68655         projects".
68656
68657         * build-aux/gnupload: New file, from coreutils.
68658
68659 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         Avoid the need for AC_LIBSOURCES in m4 macros.
68662         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68663         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68664         * modules/check-version (EXTRA_DIST): Add check-version.h.
68665         * modules/crc (EXTRA_DIST): Add crc.h.
68666         * modules/des (EXTRA_DIST): Add des.h.
68667         * modules/gc (EXTRA_DIST): Add gc.h.
68668         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68669         * modules/getline (EXTRA_DIST): Add getline.h.
68670         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68671         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68672         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68673         * modules/md2 (EXTRA_DIST): Add md2.h.
68674         * modules/md4 (EXTRA_DIST): Add md4.h.
68675         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68676         * modules/read-file (EXTRA_DIST): Add read-file.h.
68677         * modules/readline (EXTRA_DIST): Add readline.h.
68678         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68679         rijndael-api-fst.h.
68680
68681 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68682
68683         * m4/rijndael.m4 (gl_ARCFOUR):
68684         * m4/arctwo.m4 (gl_ARCTWO):
68685         * m4/check-version.m4 (gl_CHECK_VERSION):
68686         * m4/crc.m4 (gl_CRC):
68687         * m4/des.m4 (gl_DES):
68688         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68689         * m4/gc.m4 (gl_GC):
68690         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68691         * m4/getline.m4 (gl_FUNC_GETLINE):
68692         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68693         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68694         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68695         * m4/md2.m4 (gl_MD2):
68696         * m4/md4.m4 (gl_MD4):
68697         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68698         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68699         * m4/readline.m4 (gl_FUNC_READLINE):
68700         * m4/rijndael.m4 (gl_RIJNDAEL):
68701         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68702         to get the necessary .h files and whatnot.
68703
68704 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68705
68706         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68707         gnulib rather than the other way around.
68708         * config/srclistvars.sh (COREUTILS): Remove.
68709
68710 2006-08-22  Jim Meyering  <jim@meyering.net>
68711
68712         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68713
68714         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68715
68716 2006-08-22  Eric Blake  <ebb9@byu.net>
68717
68718         * modules/regexprops-generic: New file.
68719         * MODULES.html.sh (Support for building documentation): List it.
68720
68721 2006-08-22  Eric Blake  <ebb9@byu.net>
68722
68723         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68724         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68725         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68726         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68727
68728 2006-08-22  Bruno Haible  <bruno@clisp.org>
68729
68730         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68731         and lib_LTLIBRARIES like the other lib_* variables.
68732
68733 2006-08-22  Bruno Haible  <bruno@clisp.org>
68734
68735         * build-aux/x-to-1.in: New file, from GNU gettext.
68736
68737 2006-08-22  Bruno Haible  <bruno@clisp.org>
68738
68739         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68740         <utmpx.h> exists.
68741
68742 2006-08-22  Bruno Haible  <bruno@clisp.org>
68743
68744         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68745         <utmpx.h> exists.
68746
68747 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68748
68749         BeOS portability.
68750         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68751         exist.
68752         Problem reported by Bruno Haible.
68753
68754 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68755
68756         Avoid the need for AC_LIBSOURCES in m4 macros.
68757         * modules/acl (EXTRA_DIST): Add acl.h.
68758         * modules/argmatch (Files): Add m4/argmatch.m4.
68759         (configure.ac): Add gl_ARGMATCH.
68760         (EXTRA_DIST): Renamed from lib_SOURCES, for
68761         consistency with the other modules.  Remove argmatch.c.
68762         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68763         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68764         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68765         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68766         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68767         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68768         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68769         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68770         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68771         * modules/closeout (EXTRA_DIST): Add closeout.h.
68772         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68773         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68774         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68775         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68776         dirname.h; remove basename.c and stripslash.c.
68777         * modules/exclude (EXTRA_DIST): Add exclude.h.
68778         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68779         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68780         * modules/file-type (EXTRA_DIST): Add file-type.h.
68781         * modules/filemode (EXTRA_DIST): Add filemode.h.
68782         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68783         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68784         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68785         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68786         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68787         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68788         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68789         * modules/getdate (EXTRA_DIST): Add getdate.c.
68790         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68791         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68792         * modules/getpass (EXTRA_DIST): Add getpass.h.
68793         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68794         * modules/group-member (EXTRA_DIST): Add group-member.h.
68795         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68796         * modules/hash (EXTRA_DIST): Add hash.h.
68797         * modules/human (EXTRA_DIST): Add human.h.
68798         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68799         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68800         * modules/lchown (EXTRA_DIST): Add lchown.h.
68801         * modules/long-options (EXTRA_DIST): Add long-options.h.
68802         * modules/lstat (EXTRA_DIST): Add lstat.h.
68803         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68804         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68805         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68806         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68807         * modules/memxor (EXTRA_DIST): Add memxor.h.
68808         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68809         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68810         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68811         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68812         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68813         * modules/physmem (EXTRA_DIST): Add physmem.h.
68814         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68815         * modules/posixver (EXTRA_DIST): Add posixver.h.
68816         * modules/quote (EXTRA_DIST): Add quote.h.
68817         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68818         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68819         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68820         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68821         regex_internal.h regexec.c.
68822         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68823         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68824         * modules/same (EXTRA_DIST): Add same.h.
68825         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68826         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68827         * modules/savedir (EXTRA_DIST): Add savedir.h.
68828         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68829         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68830         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68831         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68832         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68833         * modules/strdup (EXTRA_DIST): Add strdup.h.
68834         * modules/strftime (EXTRA_DIST): Add strftime.h.
68835         * modules/strndup (EXTRA_DIST): Add strndup.h.
68836         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68837         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68838         * modules/time_r (EXTRA_DIST): Add time_r.h.
68839         * modules/timespec (EXTRA_DIST): Add timespec.h.
68840         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68841         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68842         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68843         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68844         * modules/userspec (EXTRA_DIST): Add userspec.h.
68845         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68846         * modules/utimens (EXTRA_DIST): Add utimens.h.
68847         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68848         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68849         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68850         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68851         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68852         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68853         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68854         * modules/yesno (EXTRA_DIST): Add yesno.h.
68855
68856 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68857
68858         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68859
68860         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68861         * m4/dev-ino.m4, same-inode.m4: Remove.
68862
68863         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68864         * m4/acl.m4 (AC_FUNC_ACL):
68865         * m4/backupfile.m4 (gl_BACKUPFILE):
68866         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68867         * m4/canon-host.m4 (gl_CANON_HOST):
68868         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68869         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68870         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68871         * m4/cloexec.m4 (gl_CLOEXEC):
68872         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68873         * m4/closeout.m4 (gl_CLOSEOUT):
68874         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68875         * m4/dirname.m4 (gl_DIRNAME):
68876         * m4/exclude.m4 (gl_EXCLUDE):
68877         * m4/exitfail.m4 (gl_EXITFAIL):
68878         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68879         * m4/file-type.m4 (gl_FILE_TYPE):
68880         * m4/filemode.m4 (gl_FILEMODE):
68881         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68882         * m4/fpending.m4 (gl_FUNC_FPENDING):
68883         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68884         * m4/fts.m4 (gl_FUNC_FTS):
68885         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68886         * m4/getdate.m4 (gl_GETDATE):
68887         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68888         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68889         * m4/getpass.m4 (gl_FUNC_GETPASS):
68890         * m4/gettime.m4 (gl_GETTIME):
68891         * m4/getugroups.m4 (gl_GETUGROUPS):
68892         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68893         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68894         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68895         * m4/hash.m4 (gl_HASH):
68896         * m4/idcache.m4 (gl_IDCACHE):
68897         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68898         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68899         * m4/long-options.m4 (gl_LONG_OPTIONS):
68900         * m4/lstat.m4 (gl_FUNC_LSTAT):
68901         * m4/md5.m4 (gl_MD5):
68902         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68903         * m4/memcoll.m4 (gl_MEMCOLL):
68904         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68905         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68906         * m4/memxor.m4 (gl_MEMXOR):
68907         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68908         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68909         * m4/modechange.m4 (gl_MODECHANGE):
68910         * m4/mountlist.m4 (gl_MOUNTLIST):
68911         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68912         * m4/openat.m4 (gl_FUNC_OPENAT):
68913         * m4/pathmax.m4 (gl_PATHMAX):
68914         * m4/physmem.m4 (gl_PHYSMEM):
68915         * m4/posixtm.m4 (gl_POSIXTM):
68916         * m4/posixver.m4 (gl_POSIXVER):
68917         * m4/quote.m4 (gl_QUOTE):
68918         * m4/quotearg.m4 (gl_QUOTEARG):
68919         * m4/readtokens.m4 (gl_READTOKENS):
68920         * m4/readutmp.m4 (gl_READUTMP):
68921         * m4/regex.m4 (gl_REGEX):
68922         * m4/safe-read.m4 (gl_SAFE_READ):
68923         * m4/safe-write.m4 (gl_SAFE_WRITE):
68924         * m4/same.m4 (gl_SAME):
68925         * m4/save-cwd.m4 (gl_SAVE_CWD):
68926         * m4/savedir.m4 (gl_SAVEDIR):
68927         * m4/settime.m4 (gl_SETTIME):
68928         * m4/sha1.m4 (gl_SHA1):
68929         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68930         * m4/stat-macros.m4 (gl_STAT_MACROS):
68931         * m4/stat-time.m4 (gl_STAT_TIME):
68932         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68933         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68934         * m4/strdup.m4 (gl_FUNC_STRDUP):
68935         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68936         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68937         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68938         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68939         * m4/time_r.m4 (gl_TIME_R):
68940         * m4/timespec.m4 (gl_TIMESPEC):
68941         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68942         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68943         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68944         * m4/userspec.m4 (gl_USERSPEC):
68945         * m4/utimecmp.m4 (gl_UTIMECMP):
68946         * m4/utimens.m4 (gl_UTIMENS):
68947         * m4/xalloc.m4 (gl_XALLOC):
68948         * m4/xgetcwd.m4 (gl_XGETCWD):
68949         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68950         * m4/xreadlink.m4 (gl_XREADLINK):
68951         * m4/xstrtod.m4 (gl_XSTRTOD):
68952         * m4/yesno.m4 (gl_YESNO):
68953         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68954         to get the necessary .h files and whatnot.
68955
68956 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68957             Bruno Haible  <bruno@clisp.org>
68958
68959         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68960         /bin/sh understanding of '!' conditional negation.
68961
68962 2006-08-21  Jim Meyering  <jim@meyering.net>
68963
68964         * modules/openat (Depends-on): Really alphabetize.
68965
68966         * modules/acl (Depends-on): Add error and quote.
68967
68968         * check-module (find_included_lib_files): Add at-func.c to the
68969         ok-to-include-more-than-once white list.
68970
68971         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68972
68973 2006-08-21  Bruno Haible  <bruno@clisp.org>
68974
68975         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68976         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68977         Reported by Martin Lambers <marlam@marlam.de>.
68978
68979 2006-08-21  Bruno Haible  <bruno@clisp.org>
68980
68981         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68982         specify an installation location, don't emit a noinst_LIBRARIES or
68983         noinst_LTLIBRARIES assignment.
68984
68985 2006-08-21  Bruno Haible  <bruno@clisp.org>
68986
68987         BeOS portability.
68988         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68989         BeOS has mbrtowc() but no <wctype.h>.
68990
68991 2006-08-21  Bruno Haible  <bruno@clisp.org>
68992
68993         BeOS portability.
68994         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68995         exist.
68996
68997 2006-08-21  Bruno Haible  <bruno@clisp.org>
68998
68999         BeOS portability.
69000         * lib/mbchar.h: Include <wctype.h> only if it exists.
69001
69002 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69003
69004         Remove files that are no longer needed by their respective modules.
69005         * m4/obstack.m4: Remove.
69006         * m4/strerror_r.m4: Remove.
69007         * m4/uint32_t.m4: Remove.
69008         * m4/uintptr_t.m4: Remove.
69009         * m4/ullong_max.m4: Remove.
69010         * m4/xstrtoimax.m4: Remove.
69011         * m4/xstrtoumax.m4: Remove.
69012
69013         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
69014         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
69015         dependencies now capture this.
69016
69017         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
69018         Do not use AC_LIBSOURCES, since gnulib modules now do this.
69019         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
69020         * m4/human.m4 (gl_HUMAN): Likewise.
69021         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
69022         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
69023
69024         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
69025
69026         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
69027         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
69028         stdint.
69029         * m4/human.m4 (gl_HUMAN): Likewise.
69030         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
69031         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
69032         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69033         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69034         * m4/xstrtol (gl_XSTRTOL): Likewise.
69035
69036         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
69037         AC_TYPE_LONG_LONG_INT.
69038         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
69039         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
69040         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
69041         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
69042
69043         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
69044         on stdbool.
69045
69046         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
69047         (gl_PREREQ_XSTRTOUL): Remove.
69048
69049         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
69050
69051         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
69052         mode.
69053
69054 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69055
69056         Add and change modules to make it easier for coreutils to use
69057         gnulib-tool.
69058         * modules/backupfile (Files): Remove m4/d-ino.m4.
69059         (Depends-on): Add d-ino.
69060         * modules/cycle-check (Depends-on): Add stdint.
69061         (lib_SOURCES): Add cycle-check.h.
69062         * modules/d-ino: New module.
69063         * modules/d-type: New module.
69064         * modules/error (Files): Remove m4/strerror_r.m4.
69065         * modules/filemode (Files): Add m4/st_dm_mode.m4.
69066         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
69067         m4/inttypes_h.m4, m4/uintmax_t.m4.
69068         (Depends-on): Add stdint.
69069         (lib_SOURCES): Add fsusage.h.
69070         * modules/getcwd (Files): Remove d-ino.m4.
69071         (Depends-on): Add d-ino.
69072         * modules/getndelim2 (Depends-on): Add stdint.
69073         * modules/glob (Files): Remove m4/d-type.m4.
69074         (Depends-on): Add d-type.
69075         * modules/host-os: New module.
69076         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
69077         m4/inttypes_h.m4, m4/uintmax_t.m4.
69078         * Depends-on: Add stdint.
69079         (lib_SOURCES): Add human.h.
69080         * modules/inttostr (Files): Remove m4/intmax_t.m4,
69081         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
69082         m4/uintmax_t.m4, m4/ulonglong.m4.
69083         (Depends-on): Add stdint.
69084         (EXTRA_DIST): Add inttostr.h.
69085         * modules/lchmod: New module.
69086         * modules/link-follow: New module.
69087         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
69088         (Depends-on): Add lchmod.
69089         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
69090         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
69091         (Depends-on): Add stdint.
69092         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
69093         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
69094         (Depends-on): Add stdint.
69095         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
69096         * modules/perl: New module.
69097         * modules/regex (Depends-on): Add stdint.
69098         * modules/rmdir-errno: New module.
69099         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69100         m4/intmax_t.m4.
69101         (Depends-on): Add stdint.
69102         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
69103         m4/uintmax_t.m4.
69104         (Depends-on): Add stdint.
69105         * modules/unlink-busy: New module.
69106         * modules/utimecmp (Depends-on): Add stdint.
69107         * modules/uptime: New module.
69108         * modules/winsz-ioctl: New module.
69109         * modules/winsz-termios: New module.
69110         * modules/xnanosleep (Depends-on): Add nanosleep.
69111         * modules/ullong_max: Remove.
69112         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
69113         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
69114         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
69115         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
69116         (Depends-on): Add inttypes.
69117         (lib_SOURCES): Add xstrtol.h.
69118         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
69119         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
69120         * MODULES.html.sh: Move 'assert' into the assert section.
69121         Move 'dummy' into the linking section.
69122         Remove ullong_max.
69123         Add section for compatibility checks for POSIX:2001 functions,
69124         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
69125         winsz-ioctl, and winsz-termios into it.
69126         Add lchmod.
69127         Add top-level Misc section and put host-os, perl, and uptime
69128         into it.
69129
69130 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69131
69132         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
69133         now assume the stdint module.  Do not include inttypes.h.
69134         * lib/fsusage.h: Likewise.
69135         * lib/getndelim2.c: Likewise.
69136         * lib/human.h: Likewise.
69137         * lib/inttostr.h: Likewise.
69138         * lib/obstack.c: Likewise.
69139         * lib/regex_internal.h: Likewise.
69140         * lib/tempname.c: Likewise.
69141         * lib/utimecmp.c: Likewise.
69142         * lib/xstrtol.h: Likewise.
69143
69144         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
69145
69146         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
69147         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
69148         * lib/xtime.h: Likewise.
69149
69150 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69151
69152         * modules/openat (Files): Add lib/fchmodat.c.
69153         Fixes problem reported by Jay Youngman.
69154
69155 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69156
69157         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
69158         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
69159
69160 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
69161             Bruno Haible  <bruno@clisp.org>
69162
69163         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
69164         and is a script that invokes bison. Tighten the code. Add comments.
69165
69166 2006-08-18  Jim Meyering  <jim@meyering.net>
69167
69168         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69169         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69170         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69171         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69172
69173 2006-08-18  Bruno Haible  <bruno@clisp.org>
69174
69175         * modules/bison-i18n: New file.
69176         * MODULES.html.sh (Internationalization functions): Add it.
69177
69178 2006-08-18  Bruno Haible  <bruno@clisp.org>
69179
69180         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69181         sys/statvfs.h. When getmntinfo was found, check its declaration and
69182         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69183
69184 2006-08-18  Bruno Haible  <bruno@clisp.org>
69185
69186         * m4/bison-i18n.m4: New file, from bison.
69187
69188 2006-08-18  Bruno Haible  <bruno@clisp.org>
69189
69190         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69191         (ME_DUMMY): Treat "kernfs" as a dummy.
69192         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69193
69194 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69195
69196         Update from coreutils.
69197
69198         2006-08-15  Jim Meyering  <jim@meyering.net>
69199
69200         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69201
69202         2006-01-17  Jim Meyering  <jim@meyering.net>
69203
69204         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69205
69206         2006-01-11  Jim Meyering  <jim@meyering.net>
69207
69208         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69209         Check for the lchmod function.
69210
69211 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69212
69213         Update from coreutils.
69214
69215         * lib/__fpending.h: Add copyright notice.
69216         * lib/fprintftime.h: Likewise.
69217         * lib/savedir.c: Use (C) in copyright notice.
69218         * lib/savedir.h: Likewise.
69219
69220         2006-08-15  Jim Meyering  <jim@meyering.net>
69221
69222         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69223         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69224         in support of the EXPECTED_ERRNO macro.
69225         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69226         definitions.  Instead, define the appropriate symbols and include
69227         "at-func.c".
69228         * lib/mkdirat.c (mkdirat): Likewise.
69229         * lib/fchmodat.c (fchmodat): Likewise.
69230         (ENOSYS): Remove definition.
69231         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69232         it.  Don't include "unistd--.h" -- it wasn't ever used.
69233
69234         2006-01-17  Jim Meyering  <jim@meyering.net>
69235
69236         Rewrite fts.c not to change the current working directory,
69237         by using openat, fstatat, fdopendir, etc..
69238
69239         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69240         (HAVE_OPENAT_SUPPORT): Define.
69241         [_LIBC] (fchdir): Don't undef or define; no longer used.
69242         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69243         Now, this `function' always succeeds, and consumes its file descriptor
69244         parameter -- so callers must not close such FDs.  Update callers.
69245         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69246         (diropen): Add parameter, SP.  Adjust all callers.
69247         Implement using diropen_fd, rather than open.
69248         (fts_open): Initialize new member, fts_cwd_fd.
69249         Remove fts_rft-setting code.
69250         (fts_close): Close fts_cwd_fd, if necessary.
69251         (__opendir2): Define in terms of opendir or opendirat,
69252         depending on whether the FST_NOCHDIR flag is set.
69253         (fts_build): Since fts_safe_changedir consumes its FD, and since
69254         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69255         and close the dup'd file descriptor upon failure.
69256         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69257         (fts_safe_changedir): Tweak semantics to reflect that this function
69258         now calls cwd_advance_fd and hence consumes its FD argument.
69259         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69260         [struct FTS] (fts_rft): Remove now-unused member.
69261         [struct FTS] (fts_cycle.state): Improve comment.
69262
69263         * lib/openat.c (openat_needs_fchdir): New function.
69264         * lib/openat.h (openat_needs_fchdir): Declare it.
69265
69266 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69267
69268         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69269         Problem and fix reported by Pádraig Brady in
69270         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69271
69272 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69273
69274         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69275
69276 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69277
69278         * lib/memcoll.c (memcoll): Optimize for the common case where the
69279         arguments are bytewise equal.
69280
69281 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69282
69283         * doc/regexprops-generic.texi: Add a copyright notice.
69284
69285 2006-08-15  Bruno Haible  <bruno@clisp.org>
69286
69287         * modules/tmpdir (License): Change to LGPL.
69288
69289 2006-08-15  Bruno Haible  <bruno@clisp.org>
69290
69291         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69292         module.
69293
69294 2006-08-14  Simon Josefsson  <jas@extundo.com>
69295
69296         * config/srclist.txt: Add gnupload.
69297
69298 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69299
69300         Change copyright notice from LGPL 2 to GPL 2, since that's the
69301         standard form used in the gnulib repository.
69302         * tests/test-lock.c: Likewise.
69303         * tests/test-stdint.c: Likewise.
69304         * tests/test-tls.c: Likewise.
69305
69306         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69307         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69308         Add copyright notice.
69309
69310         * check-module: Add copyright notice.  Output a copyright
69311         notice if "--version" is specified.
69312         * modules/COPYING: New file.
69313         * tests/test-getaddrinfo.c: Add copyright notice.
69314         * tests/test-verify.c: Likewise.
69315
69316 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69317
69318         Change copyright notice from LGPL 2 to GPL 2, since that's the
69319         standard form used in the gnulib repository.
69320         * lib/lock.c: LGPL -> GPL.
69321         * lib/lock.h: Likewise.
69322         * lib/strnlen1.c: Likewise.
69323         * lib/strnlen1.h: Likewise.
69324         * lib/tls.c: Likewise.
69325         * lib/tls.h: Likewise.
69326         * lib/tmpdir.c: Likewise.
69327
69328         * lib/TODO: Remove; this belongs only in coreutils.
69329
69330 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69331
69332         Add copyright notices to long-enough files that lack them, since
69333         otherwise the files aren't clearly free.  Use the same notice that
69334         getdate.texi already uses.
69335         * doc/alloca-opt.texi: Add copyright notice.
69336         * doc/alloca.texi: Likewise.
69337         * doc/ctime.texi: Likewise.
69338         * doc/functions.texi: Likewise.
69339         * doc/gcd.texi: Likewise.
69340         * doc/gnulib-tool.texi: Likewise.
69341         * doc/inet_ntoa.texi: Likewise.
69342         * doc/visibility.texi: Likewise.
69343
69344         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69345         * doc/quote.texi: Add copyright notice.
69346
69347         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69348         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69349         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69350         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69351         is now obsolete, and give a pointer to the Sun list.
69352         Add copyright notice.
69353
69354 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69355
69356         * config/srclistvars.sh: Add copyright notice.
69357
69358 2006-08-14  Eric Blake  <ebb9@byu.net>
69359
69360         Import the following change from libc:
69361
69362         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69363
69364         Upstream bug 2997.
69365         * lib/misc/error.c: Add space between program name and message if file
69366         name is missing.
69367
69368 2006-08-12  Karl Berry  <karl@gnu.org>
69369
69370         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69371         remove, these originate in gnulib now.
69372
69373 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69374
69375         * doc/Makefile (standards.info standards.html standards.dvi):
69376         Also depend on make-stds.texi.
69377
69378 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69379
69380         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69381         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69382
69383         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69384         in wchar_t.  Problem reported by Eric Blake.
69385
69386         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69387         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69388         Also, help the compiler to keep LEN in a register.
69389
69390 2006-08-11  Eric Blake  <ebb9@byu.net>
69391
69392         * users.txt: Sort.  Add tar.
69393
69394 2006-08-11  Bruno Haible  <bruno@clisp.org>
69395
69396         * users.txt: New file.
69397
69398 2006-08-11  Bruno Haible  <bruno@clisp.org>
69399
69400         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69401         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69402
69403 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69404
69405         * modules/snprintf (Depends-on): Remove minmax.
69406         (Maintainer): Add self and Bruno.
69407
69408 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69409
69410         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69411         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69412         (EOVERFLOW): Define if the system does not.
69413         Do not include "minmax.h"; it wasn't used.
69414         (snprintf): Don't assume size_t promotes to an unsigned type.
69415         Fix bug when generated string was too long for the buffer: the
69416         buffer's contents are supposed to be the initial prefix of the
69417         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69418         exceeds INT_MAX; do the check ourselves.
69419
69420         Import the following changes from libc:
69421
69422         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69423
69424         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69425         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69426         set wc to the byte which couldn't be converted.
69427         (re_string_reconstruct): Don't clear valid_raw_len before calling
69428         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69429         tip_context using re_string_context_at.
69430
69431         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69432
69433         * lib/posix/regex.h: g++ still cannot handled [restrict].
69434
69435         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69436
69437         * lib/posix/regex.h: Remove special handling for VMS.
69438
69439 2006-08-10  Jim Meyering  <jim@meyering.net>
69440
69441         * modules/same-inode: New module.
69442         * modules/dev-ino: New module.
69443         * modules/cycle-check: Depend on these modules, rather than simply
69444         including their .h files.
69445         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69446         required via m4/cycle-check.m4.
69447         * modules/same: Depend on new same-inode module, rather than
69448         including same-inode.h.
69449         * modules/chdir-safer: New file.
69450
69451         * modules/chown (Depends-on): Add stat-macros.
69452
69453 2006-08-10  Jim Meyering  <jim@meyering.net>
69454
69455         * m4/cycle-check.m4: New file.
69456         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69457         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69458
69459 2006-08-10  Eric Blake  <ebb9@byu.net>
69460
69461         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69462         in from original proposal.
69463
69464 2006-08-10  Eric Blake  <ebb9@byu.net>
69465         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69466
69467         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69468         namespace.
69469
69470 2006-08-10  Bruno Haible  <bruno@clisp.org>
69471
69472         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69473         as well.
69474
69475 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69476
69477         Sync from coreutils.
69478
69479         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69480
69481         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69482         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69483
69484 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69485
69486         * modules/restrict: Remove; no longer needed now that we assume
69487         Autoconf 2.59 or later.
69488         * MODULES.html.sh: Remove 'restrict'.
69489         * modules/argp (Depends-on): Remove 'restrict'.
69490         * modules/base64 (Depends-on): Likewise.
69491         * modules/gc (Depends-on): Likewise.
69492         * modules/getaddrinfo (Depends-on): Likewise.
69493         * modules/glob (Depends-on): Likewise.
69494         * modules/inet_ntop (Depends-on): Likewise.
69495         * modules/inet_pton (Depends-on): Likewise.
69496         * modules/memxor (Depends-on): Likewise.
69497         * modules/regex (Depends-on): Likewise.
69498         * modules/strtok_r (Depends-on): Likewise.
69499         * modules/time_r (Depends-on): Likewise.
69500
69501 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69502
69503         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69504         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69505         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69506         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69507         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69508         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69509         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69510         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69511
69512         Merge from coreutils.
69513         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69514         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69515         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69516         * m4/time_r.m4 (gl_TIME_R): Likewise.
69517
69518 2006-08-09  Karl Berry  <karl@gnu.org>
69519
69520         * config/srclist.txt: no more gettext-tools, per Bruno.
69521
69522 2006-08-08  Eric Blake  <ebb9@byu.net>
69523
69524         * modules/verror: New module.
69525         * MODULES.html.sh: Document it.
69526
69527 2006-08-08  Eric Blake  <ebb9@byu.net>
69528
69529         * lib/verror.h, lib/verror.c: New files.
69530
69531 2006-08-08  Eric Blake  <ebb9@byu.net>
69532
69533         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69534         verror_at_line output complies with GNU Coding Standards even when
69535         file is NULL.
69536
69537 2006-08-07  Bruno Haible  <bruno@clisp.org>
69538
69539         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69540         versions of AIX.
69541         Reported by Ralf Wildenhues.
69542
69543 2006-08-07  Bruno Haible  <bruno@clisp.org>
69544
69545         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69546         in an AC_DEFUN. Needed so that the autoconf snippets can use
69547         AC_REQUIRE.
69548
69549 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69550
69551         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69552         Initialize pkgdata_DATA.
69553         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69554         overriding it.
69555
69556 2006-08-06  Eric Blake  <ebb9@byu.net>
69557
69558         * lib/error.h: Fold in some upstream changes from glibc.
69559         * lib/error.c: Likewise.
69560
69561 2006-08-04  Bruno Haible  <bruno@clisp.org>
69562
69563         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69564         Make the mostlyclean-local rule depend on mostlyclean-generic.
69565         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69566
69567 2006-07-31  Bruno Haible  <bruno@clisp.org>
69568
69569         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69570         <stdlib.h>, <string.h>.
69571
69572 2006-07-30  Bruno Haible  <bruno@clisp.org>
69573
69574         * modules/readlink (License): Change to LGPL.
69575
69576 2006-07-30  Bruno Haible  <bruno@clisp.org>
69577
69578         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69579         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69580         set PKGDATADIR to point to it.
69581
69582 2006-07-30  Bruno Haible  <bruno@clisp.org>
69583
69584         * modules/csharpexec (configure.ac): Comment out macro invocation.
69585         * modules/javaexec (configure.ac): Likewise.
69586         * modules/javacomp-script (configure.ac): Likewise.
69587
69588         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69589
69590 2006-07-30  Bruno Haible  <bruno@clisp.org>
69591
69592         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69593         linked-list.
69594
69595 2006-07-30  Bruno Haible  <bruno@clisp.org>
69596
69597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69598
69599 2006-07-30  Bruno Haible  <bruno@clisp.org>
69600
69601         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69602         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69603         get removed.
69604
69605 2006-07-29  Bruno Haible  <bruno@clisp.org>
69606
69607         Make it possible for gnulib-tool to work with locally modified or
69608         augmented gnulib repositories.
69609         * gnulib-tool (func_usage): Document --local-dir option.
69610         (local_gnulib_dir): New variable.
69611         Handle --local-dir option.
69612         (func_lookup_file): New function.
69613         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69614         (func_get_description, func_get_filelist, func_get_description,
69615         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69616         func_get_automake_snippet, func_get_include_directive,
69617         func_get_license, func_get_maintainer): Use func_lookup_file.
69618         (func_import, func_create_testdir): Use func_lookup_file.
69619
69620 2006-07-29  Bruno Haible  <bruno@clisp.org>
69621
69622         * modules/setenv (Depends-on): Add unistd.
69623
69624 2006-07-29  Bruno Haible  <bruno@clisp.org>
69625
69626         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69627
69628 2006-07-29  Bruno Haible  <bruno@clisp.org>
69629
69630         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69631
69632 2006-07-29  Bruno Haible  <bruno@clisp.org>
69633
69634         * gnulib-tool (import, update): If there is no Makefile.am, look at
69635         aclocal.m4, instead of bailing out.
69636
69637 2006-07-29  Bruno Haible  <bruno@clisp.org>
69638
69639         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69640         Categorize the options by when they are useful.
69641
69642 2006-07-29  Bruno Haible  <bruno@clisp.org>
69643
69644         * gnulib-tool (func_usage): Document option --no-libtool.
69645         Handle option --no-libtool.
69646         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69647         for changed semantics of $libtool variable.
69648         (func_import): Likewise. If libtool is not used, show this through
69649         an option --no-libtool.
69650         (func_create_testdir): Update.
69651
69652 2006-07-29  Bruno Haible  <bruno@clisp.org>
69653
69654         * gnulib-tool (func_import): Extend error message about missing
69655         --doc-base.
69656
69657 2006-07-29  Bruno Haible  <bruno@clisp.org>
69658
69659         * gnulib-tool (func_import): Don't create the $docbase directory if
69660         there is no file to store there.
69661
69662 2006-07-29  Bruno Haible  <bruno@clisp.org>
69663
69664         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69665         relevant, look for configure.ac there, not in the current directory.
69666         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69667
69668 2006-07-29  Bruno Haible  <bruno@clisp.org>
69669
69670         * gnulib-tool (SORT): New variable.
69671         (func_usage): Undocument --assume-autoconf option.
69672         Remove --assume-autoconf option handling.
69673         (autoconf_minversion): Determine from the contents of configure.ac.
69674         (func_import): Remove autoconf_minversion handling.
69675         Suggested by Eric Blake.
69676
69677 2006-07-29  Bruno Haible  <bruno@clisp.org>
69678
69679         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69680
69681 2006-07-29  Bruno Haible  <bruno@clisp.org>
69682
69683         * config/srclist.txt (*setenv.[ch]): Remove rules.
69684
69685 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69686
69687         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69688
69689 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69690
69691         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69692         arpa/inet.h.
69693
69694 2006-07-28  Simon Josefsson  <jas@extundo.com>
69695
69696         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69697         * modules/inet_pton (Depends-on): Likewise.
69698
69699 2006-07-28  Simon Josefsson  <jas@extundo.com>
69700
69701         * m4/netinet_in_h.m4: New file.
69702
69703 2006-07-28  Simon Josefsson  <jas@extundo.com>
69704
69705         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69706         #include's.
69707
69708 2006-07-28  Simon Josefsson  <jas@extundo.com>
69709
69710         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69711         #include's.
69712
69713 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69716         setgid on directories only if they set these bits.
69717         * lib/modechange.h: Remove obsolete comment about masks.
69718
69719 2006-07-28  Eric Blake  <ebb9@byu.net>
69720
69721         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69722         macro expansion.
69723
69724 2006-07-28  Bruno Haible  <bruno@clisp.org>
69725
69726         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69727
69728 2006-07-28  Bruno Haible  <bruno@clisp.org>
69729
69730         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69731
69732 2006-07-28  Bruno Haible  <bruno@clisp.org>
69733
69734         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69735         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69736         Define fallbacks.
69737         Avoids link error on FreeBSD 4.x.
69738         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69739
69740         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69741         encoding.
69742         * lib/mbswidth.c (iswcntrl): Likewise.
69743
69744 2006-07-27  Bruno Haible  <bruno@clisp.org>
69745
69746         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69747         test.
69748
69749 2006-07-27  Bruno Haible  <bruno@clisp.org>
69750
69751         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69752         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69753         defined.
69754
69755 2006-07-26  Eric Blake  <ebb9@byu.net>
69756
69757         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69758
69759 2006-07-26  Eric Blake  <ebb9@byu.net>
69760
69761         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69762         like mingw that lack mkstemp.
69763         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69764         avoid compilation warning on mingw.
69765
69766 2006-07-26  Bruno Haible  <bruno@clisp.org>
69767
69768         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69769         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69770         INT_FAST*_MIN, INTPTR_MIN.
69771
69772 2006-07-25  Bruno Haible  <bruno@clisp.org>
69773
69774         * modules/version-etc (Depends-on): Add stdarg.
69775
69776 2006-07-25  Bruno Haible  <bruno@clisp.org>
69777
69778         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69779         complex commands.
69780
69781 2006-07-25  Bruno Haible  <bruno@clisp.org>
69782
69783         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69784         defined in <stdarg.h> or config.h.
69785
69786 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69787
69788         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69789         (gl_STDIO_SAFER): Remove.
69790
69791 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69792
69793         * MODULES.html.sh (File stream based Input/Output):
69794         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69795         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69796         * modules/fopen-safer, modules/tmpfile-safer: New files.
69797         * modules/stdio-safer: Remove.
69798
69799 2006-07-24  Bruno Haible  <bruno@clisp.org>
69800
69801         * modules/tmpdir: New file.
69802         * MODULES.html.sh (File system functions): Add it.
69803
69804 2006-07-24  Bruno Haible  <bruno@clisp.org>
69805
69806         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69807         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69808
69809 2006-07-24  Bruno Haible  <bruno@clisp.org>
69810
69811         * modules/clean-temp: New file.
69812
69813 2006-07-24  Bruno Haible  <bruno@clisp.org>
69814
69815         * m4/tmpdir.m4: New file, from GNU gettext.
69816
69817 2006-07-24  Bruno Haible  <bruno@clisp.org>
69818
69819         * lib/tmpdir.h: New file, from GNU gettext.
69820         * lib/tmpdir.c: New file, from GNU gettext.
69821
69822 2006-07-24  Bruno Haible  <bruno@clisp.org>
69823
69824         * lib/clean-temp.h: New file, from GNU gettext.
69825         * lib/clean-temp.c: New file, from GNU gettext.
69826
69827 2006-07-23  Eric Blake  <ebb9@byu.net>
69828
69829         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69830         (Depends-on): Add binary-io.
69831
69832 2006-07-23  Eric Blake  <ebb9@byu.net>
69833
69834         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69835
69836 2006-07-23  Eric Blake  <ebb9@byu.net>
69837
69838         * lib/tmpfile-safer.c: New file.
69839         * lib/stdio-safer.h (fopen_safer): Add prototype.
69840         * lib/stdio--.h (tmpfile): Make safer.
69841
69842 2006-07-23  Bruno Haible  <bruno@clisp.org>
69843
69844         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69845         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69846         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69847         gl_linked_remove_at): Use it.
69848
69849 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69850         and Simon Josefsson <jas@extundo.com>
69851
69852         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69853
69854         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69855
69856 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69857
69858         * modules/close-stream: New file.
69859         * modules/closeout (Description): Make it clear that it exits
69860         with a diagnostic on error.
69861         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69862         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69863
69864 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69865
69866         * m4/close-stream.m4: New file.
69867
69868 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69869
69870         * lib/close-stream.c, lib/close-stream.h: New files.
69871
69872 2006-07-22  Bruno Haible  <bruno@clisp.org>
69873
69874         Merge from GNU gettext 0.15.
69875
69876         2006-05-01  Bruno Haible  <bruno@clisp.org>
69877
69878                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69879
69880         2006-07-22  Bruno Haible  <bruno@clisp.org>
69881
69882                 * modules/javaversion: New file.
69883                 * MODULES.html.sh (Java): Add javaversion.
69884
69885         2006-03-12  Bruno Haible  <bruno@clisp.org>
69886
69887                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69888
69889         2005-12-04  Bruno Haible  <bruno@clisp.org>
69890
69891                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69892                 (untested).
69893
69894         2006-06-21  Bruno Haible  <bruno@clisp.org>
69895
69896                 Avoid warnings from recent versions of mcs.
69897                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69898                 -o, -L, -r any more. Use options documented since mcs-1.0
69899                 instead. Similarly for -g.
69900
69901         2005-12-04  Bruno Haible  <bruno@clisp.org>
69902
69903                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69904                 .resources, not .resource.
69905
69906         2005-07-09  Bruno Haible  <bruno@clisp.org>
69907
69908                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69909                 add a .dll suffix.
69910                 Reported by Mark Junker <mjscod@gmx.de>.
69911
69912         2006-07-22  Bruno Haible  <bruno@clisp.org>
69913
69914                 * modules/gettext: Upgrade to gettext-0.15.
69915                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69916                 m4/visibility.m4.
69917                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69918
69919 2006-07-22  Bruno Haible  <bruno@clisp.org>
69920
69921         Merge from GNU gettext 0.15.
69922
69923         2006-03-25  Bruno Haible  <bruno@clisp.org>
69924
69925                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69926
69927         2006-07-21  Bruno Haible  <bruno@clisp.org>
69928
69929                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69930                 "1.1".
69931
69932         2006-05-09  Bruno Haible  <bruno@clisp.org>
69933
69934                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69935                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69936                 for the conftestver execution.
69937
69938         2006-05-01  Bruno Haible  <bruno@clisp.org>
69939
69940                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69941                 optional target-version argument. Verify that the compiler
69942                 groks source of the specified source-version, or add -source
69943                 option as necessary. Verify that the compiler produces
69944                 bytecode in the specified target-version, or add -target and
69945                 -source options as necessary. Make the result of the test
69946                 available as variable CONF_JAVAC. Also log error output in
69947                 config.log.
69948
69949         2006-03-11  Bruno Haible  <bruno@clisp.org>
69950
69951                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69952
69953         2006-05-09  Bruno Haible  <bruno@clisp.org>
69954
69955                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69956                 CLASSPATH_SEPARATOR to a semicolon.
69957
69958         2006-03-12  Bruno Haible  <bruno@clisp.org>
69959
69960                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69961                 available as variable CONF_JAVA, for subsequent autoconf
69962                 tests. Also log error output in config.log.
69963
69964         2006-07-19  Bruno Haible  <bruno@clisp.org>
69965
69966                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69967                 that getline works on glibc2 systems. Needed to avoid trouble
69968                 in relocatable.c.
69969                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69970
69971         2005-12-04  Bruno Haible  <bruno@clisp.org>
69972
69973                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69974                 launcher (untested).
69975
69976         2005-12-04  Bruno Haible  <bruno@clisp.org>
69977
69978                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69979
69980         2006-07-22  Bruno Haible  <bruno@clisp.org>
69981
69982                 * gettext.m4: Update from GNU gettext-0.15.
69983                 * nls.m4: Likewise.
69984                 * po.m4: Likewise.
69985                 * inttypes-pri.m4: Likewise.
69986                 * inttypes-h.m4: Renamed from inttypes.m4.
69987                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69988
69989 2006-07-22  Bruno Haible  <bruno@clisp.org>
69990
69991         Merge from GNU gettext 0.15.
69992
69993         2005-07-05  Bruno Haible  <bruno@clisp.org>
69994
69995                 * printf-args.c (printf_fetchargs): Work around broken
69996                 definition of wint_t on mingw.
69997
69998         2005-02-12  Bruno Haible  <bruno@clisp.org>
69999
70000                 * xallocsa.h: Add extern "C" for C++.
70001
70002         2006-05-17  Bruno Haible  <bruno@clisp.org>
70003
70004                 Cygwin portability.
70005                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
70006
70007         2006-04-30  Bruno Haible  <bruno@clisp.org>
70008
70009                 * progreloc.c: Include <mach-o/dyld.h> if available.
70010                 (find_executable): Use _NSGetExecutablePath when possible.
70011
70012         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70013
70014                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
70015                 function.
70016
70017         2005-12-29  Bruno Haible  <bruno@clisp.org>
70018
70019                 * progreloc.c (set_program_name_and_installdir): Fix
70020                 compilation error.
70021
70022         2005-12-04  Bruno Haible  <bruno@clisp.org>
70023
70024                 Cygwin portability.
70025                 * progreloc.c: Include <windows.h> also on Cygwin.
70026                 (find_executable): Add support for Cygwin.
70027                 (set_program_name_and_installdir): Handle also platforms with
70028                 nonempty EXEEXT.
70029
70030         2006-07-11  Bruno Haible  <bruno@clisp.org>
70031
70032                 * javacomp.c: Fix a comment.
70033                 Reported by Jim Meyering.
70034
70035         2006-04-30  Bruno Haible  <bruno@clisp.org>
70036
70037                 * javacomp.h (compile_java_class): Add source_version,
70038                 target_version arguments.
70039                 * javacomp.c: Rewritten to choose only a compiler that
70040                 respects the specified source_version and target_version.
70041
70042         2006-06-27  Bruno Haible  <bruno@clisp.org>
70043
70044                 Assume correct S_ISDIR macro.
70045                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
70046
70047         2006-07-22  Bruno Haible  <bruno@clisp.org>
70048
70049                 * javaversion.h: New file, from GNU gettext.
70050                 * javaversion.c: New file, from GNU gettext.
70051                 * javaversion.java: New file, from GNU gettext.
70052                 * javaversion.class: New file, from GNU gettext.
70053
70054         2006-05-17  Bruno Haible  <bruno@clisp.org>
70055
70056                 Cygwin portability.
70057                 * javaexec.c (execute_java_class): Test for jview program
70058                 also on Cygwin.
70059
70060         2006-04-09  Bruno Haible  <bruno@clisp.org>
70061
70062                 * fatal-signal.c: Don't include string.h.
70063                 (at_fatal_signal): Use a copying loop instead of memcpy.
70064
70065         2005-12-04  Bruno Haible  <bruno@clisp.org>
70066
70067                 * csharpexec.c: Add support for 'clix' launcher (untested).
70068                 (execute_csharp_using_sscli): New function.
70069                 (execute_csharp_program): Call it.
70070
70071         2006-06-21  Bruno Haible  <bruno@clisp.org>
70072
70073                 Avoid warnings from recent versions of mcs.
70074                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
70075                 -o, -L, -r any more. Use options documented since mcs-1.0
70076                 instead. Similarly for -g.
70077
70078         2005-07-09  Bruno Haible  <bruno@clisp.org>
70079
70080                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
70081                 add a .dll suffix.
70082                 Reported by Mark Junker <mjscod@gmx.de>.
70083
70084         2006-06-17  Bruno Haible  <bruno@clisp.org>
70085
70086                 * config.charset: Update for NetBSD 3.0.
70087
70088         2006-05-17  Bruno Haible  <bruno@clisp.org>
70089
70090                 Cygwin portability.
70091                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
70092
70093         2006-05-16  Bruno Haible  <bruno@clisp.org>
70094
70095                 * localcharset.c [CYGWIN]: Include <windows.h>.
70096                 (get_charset_aliases): For Cygwin, return the same CPxxx
70097                 aliases list as under WIN32.
70098                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
70099                 the environment variables. Fall back to GetACP().
70100
70101         2006-04-05  Bruno Haible  <bruno@clisp.org>
70102
70103                 * config.charset: Update Juan Manuel Guerrero's address.
70104
70105         2005-02-12  Bruno Haible  <bruno@clisp.org>
70106
70107                 * allocsa.h: Add extern "C" for C++.
70108
70109         2005-02-10  Bruno Haible  <bruno@clisp.org>
70110
70111                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
70112                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
70113
70114         2006-07-22  Bruno Haible  <bruno@clisp.org>
70115
70116                 * gettext.h: Update to GNU gettext-0.15.
70117
70118 2006-07-22  Bruno Haible  <bruno@clisp.org>
70119
70120         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
70121         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
70122         lib-prefix.m4, longdouble.m4, ssize_t.m4.
70123
70124 2006-07-21  Eric Blake  <ebb9@byu.net>
70125
70126         * modules/stdlib-safer: New file.
70127         * MODULES.html.sh (File stream based Input/Output): Add
70128         stdlib-safer.
70129
70130 2006-07-21  Eric Blake  <ebb9@byu.net>
70131
70132         * lib/stdlib-safer.h: New file from coreutils, required by
70133         stdlib--.h.
70134
70135 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
70136
70137         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
70138
70139 2006-07-20  Bruno Haible  <bruno@clisp.org>
70140
70141         * gnulib-tool: Recognize new option --assume-autoconf.
70142         (autoconf_minversion): New variable.
70143         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
70144
70145 2006-07-20  Bruno Haible  <bruno@clisp.org>
70146
70147         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
70148
70149 2006-07-19  Derek R. Price  <derek@ximbiot.com>
70150
70151         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
70152         Reindent and repaginate.
70153
70154 2006-07-19  Derek Price  <derek@ximbiot.com>
70155
70156         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
70157         Correct grammar.
70158
70159 2006-07-17  Bruno Haible  <bruno@clisp.org>
70160
70161         * modules/list: New file.
70162         * modules/array-list: New file.
70163         * modules/carray-list, modules/carray-list-tests: New files.
70164         * modules/linked-list, modules/linked-list-tests: New files.
70165         * modules/avltree-list, modules/avltree-list-tests: New files.
70166         * modules/rbtree-list, modules/rbtree-list-tests: New files.
70167         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
70168         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70169         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70170         * modules/oset: New file.
70171         * modules/array-oset: New file.
70172         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70173         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70174         * tests/test-carray_list.c: New file.
70175         * tests/test-linked_list.c: New file.
70176         * tests/test-avltree_list.c: New file.
70177         * tests/test-rbtree_list.c: New file.
70178         * tests/test-linkedhash_list.c: New file.
70179         * tests/test-avltreehash_list.c: New file.
70180         * tests/test-rbtreehash_list.c: New file.
70181         * tests/test-avltree_oset.c: New file.
70182         * tests/test-rbtree_oset.c: New file.
70183         * MODULES.html.sh (Container data structures): New section.
70184
70185 2006-07-17  Bruno Haible  <bruno@clisp.org>
70186
70187         * m4/gl_list.m4: New file.
70188
70189 2006-07-17  Bruno Haible  <bruno@clisp.org>
70190
70191         * lib/gl_list.h: New file.
70192         * lib/gl_list.c: New file.
70193         * lib/gl_array_list.h: New file.
70194         * lib/gl_array_list.c: New file.
70195         * lib/gl_carray_list.h: New file.
70196         * lib/gl_carray_list.c: New file.
70197         * lib/gl_linked_list.h: New file.
70198         * lib/gl_linked_list.c: New file.
70199         * lib/gl_anylinked_list1.h: New file.
70200         * lib/gl_anylinked_list2.h: New file.
70201         * lib/gl_avltree_list.h: New file.
70202         * lib/gl_avltree_list.c: New file.
70203         * lib/gl_anyavltree_list1.h: New file.
70204         * lib/gl_anyavltree_list2.h: New file.
70205         * lib/gl_rbtree_list.h: New file.
70206         * lib/gl_rbtree_list.c: New file.
70207         * lib/gl_anyrbtree_list1.h: New file.
70208         * lib/gl_anyrbtree_list2.h: New file.
70209         * lib/gl_anytree_list1.h: New file.
70210         * lib/gl_anytree_list2.h: New file.
70211         * lib/gl_linkedhash_list.h: New file.
70212         * lib/gl_linkedhash_list.c: New file.
70213         * lib/gl_anyhash_list1.h: New file.
70214         * lib/gl_anyhash_list2.h: New file.
70215         * lib/gl_avltreehash_list.h: New file.
70216         * lib/gl_avltreehash_list.c: New file.
70217         * lib/gl_rbtreehash_list.h: New file.
70218         * lib/gl_rbtreehash_list.c: New file.
70219         * lib/gl_anytreehash_list1.h: New file.
70220         * lib/gl_anytreehash_list2.h: New file.
70221
70222         * lib/gl_oset.h: New file.
70223         * lib/gl_oset.c: New file.
70224         * lib/gl_array_oset.h: New file.
70225         * lib/gl_array_oset.c: New file.
70226         * lib/gl_avltree_oset.h: New file.
70227         * lib/gl_avltree_oset.c: New file.
70228         * lib/gl_rbtree_oset.h: New file.
70229         * lib/gl_rbtree_oset.c: New file.
70230         * lib/gl_anytree_oset.h: New file.
70231
70232 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70233
70234         * m4/mkancesdirs.m4: New file.
70235         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70236         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70237         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70238         it.
70239
70240 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70241
70242         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70243         * lib/mkancesdirs.h: New files.
70244         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70245         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70246         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70247         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70248         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70249         callers changed.  Revamp internals significantly, by not
70250         attempting to create directories that are temporarily more
70251         permissive than the final results.  Do not attempt to use
70252         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70253         This removes some race conditions, fixes some bugs, and simplifies
70254         things.  Use new dirchownmod function to do owner and mode changes.
70255         * lib/mkdir-p.h: Likewise.
70256         * lib/modechange.c (octal_to_mode): New function.
70257         (struct mode_change): New member mentioned.
70258         (make_node_op_equals): New arg mentioned.  All callers changed.
70259         (mode_compile): Keep track of which mode bits the user has explicitly
70260         mentioned.
70261         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70262         New arg PMODE_BITS, to keep track of which mode bits the user
70263         mentioned; it treats S_ISUID and S_ISGID speciall.
70264         All callers changed.
70265         * lib/modechange.h: Likewise.
70266
70267 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70268
70269         * MODULES.html.sh: Add mkancestors.
70270         * modules/mkancesdirs: New module.
70271         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70272         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70273         The chdir-safer and afs files are now orphans; I'll remove them
70274         unless someone speaks up.
70275         Add lib/dirchownmod.c, lib/dirchownmod.h.
70276         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70277         Add lchown, mkancesdirs.
70278         (Maintainer): Add self.
70279
70280 2006-07-15  Karl Berry  <karl@gnu.org>
70281
70282         * gnulib-tool: help message wording/arrangement.
70283
70284 2006-07-14  Simon Josefsson  <jas@extundo.com>
70285
70286         * doc/gnulib.texi (Libtool and Windows): New section.
70287
70288 2006-07-12  Simon Josefsson  <jas@extundo.com>
70289
70290         * modules/gendocs (License): Fix license, approved by Karl.
70291
70292 2006-07-12  Eric Blake  <ebb9@byu.net>
70293
70294         * MODULES.html.sh: Add gendocs.
70295
70296 2006-07-11  Eric Blake  <ebb9@byu.net>
70297
70298         * modules/fdl: New module, to install doc/fdl.texi.
70299         * MODULES.html.sh: Add new section for documentation modules.
70300         * gnulib-tool: Avoid space-tab.
70301         (--doc-base): New option, to manage files from doc.
70302
70303 2006-07-11  Eric Blake  <ebb9@byu.net>
70304
70305         * m4/absolute-header.m4: Fix comments to match recent change.
70306
70307 2006-07-11  Eric Blake  <ebb9@byu.net>
70308
70309         * gnulib-tool: List --doc-base before --tests-base.
70310
70311 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70312
70313         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70314
70315 2006-07-11  Bruno Haible  <bruno@clisp.org>
70316
70317         * README: Mention where to put documentation.
70318
70319 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70320
70321         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70322
70323 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70324
70325         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70326         to stdint.m4.
70327
70328 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70329
70330         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70331         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70332         "no/such/file/stdint.h" when there is no such file, so that
70333         the resulting C code can be parsed by dodgy compilers.
70334         Problems reported by Bob Proulx.
70335
70336 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70337
70338         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70339         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70340         macros into the GNU _D_EXACT_NAMLEN.
70341         * lib/savedir.c:  Likewise.
70342         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70343
70344 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70345         and Paul Eggert  <eggert@cs.ucla.edu>
70346
70347         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70348         * m4/savedir.m4:
70349         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70350         macros into the GNU _D_EXACT_NAMLEN.
70351
70352 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70353
70354         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70355         around the absolute name, to work around a problem with the HP-UX
70356         11.23 native C compiler, reported by Bob Proulx.
70357
70358 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70359
70360         * doc/maintain.texi, make-stds.texi: Sync from
70361         <http://savannah.gnu.org/projects/gnustandards>.
70362
70363 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70364
70365         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70366
70367 2006-07-09  Jim Meyering  <jim@meyering.net>
70368
70369         * m4/glob.m4: Remove a doubled word in a comment.
70370
70371 2006-07-09  Jim Meyering  <jim@meyering.net>
70372
70373         * lib/argp-pv.c: Remove a doubled word in a comment.
70374         * lib/check-version.c (check_version): Likewise.
70375         * lib/javacomp.c (compile_java_class): Likewise.
70376
70377 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70378
70379         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70380         for the benefit of people using Autoconf 2.60.  If you want to
70381         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70382         (or m4/onceonly.m4, if pre-2.57) manually.
70383
70384 2006-07-08  Jim Meyering  <jim@meyering.net>
70385
70386         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70387         comment.
70388         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70389         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70390         comment.
70391
70392 2006-07-08  Jim Meyering  <jim@meyering.net>
70393
70394         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70395
70396 2006-07-07  Simon Josefsson  <jas@extundo.com>
70397
70398         * tests/test-crc.c: Change expected crc value, the test vector
70399         were probably computed using the old broken crc.c?
70400
70401 2006-07-06  Simon Josefsson  <jas@extundo.com>
70402
70403         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70404         now the canonical place for the M4 file).
70405
70406         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70407         from the sys_socket dependency now.
70408
70409         * modules/inet_pton (Files): Ditto.
70410
70411         * modules/inet_ntop (Files): Ditto.
70412
70413 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70414
70415         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70416         not gl_PREREQ_GETUSERSHELL.
70417
70418 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70419
70420         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70421         with only one argument, for Autoconf 2.60.
70422         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70423         expand to nothing, so add a shell command to avoid syntax error.
70424         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70425
70426 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70427
70428         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70429
70430 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70431
70432         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70433         no longer needed.  Check for isblank decl.
70434         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70435         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70436         of existence.
70437
70438 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70439
70440         * lib/getloadavg.c: Use __VMS, not VMS.
70441         * lib/getopt.c: Likewise.
70442         * lib/getpagesize.h: Likewise.
70443         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70444         and probably does not work.
70445
70446 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70447
70448         * lib/.cppi-disable: Add wcwidth.
70449         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70450         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70451         (ISGRAPH): Remove.  All uses changed to isgraph.
70452         (FOLD) [!defined _LIBC]: Remove special case.
70453         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70454         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70455         HAVE_ISBLANK.
70456         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70457         case.
70458
70459 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70460
70461         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70462         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70463         brackets.  Other minor changes to suppress some compiler
70464         warnings.
70465
70466 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70467         and Paul Eggert  <eggert@cs.ucla.edu>
70468
70469         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70470         of invoking obsolescent AC_HEADER_DIRENT macro.
70471         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70472         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70473         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70474         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70475         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70476         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70477         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70478         * m4/readdir.m4: Remove; no longer needed.
70479
70480 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70481         and Paul Eggert  <eggert@cs.ucla.edu>
70482
70483         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70484         Don't worry about this obsolete case any more.
70485         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70486         directories.
70487         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70488         worry about this obsolete case any more.
70489         * lib/fts.c: Likewise.
70490         * lib/getcwd.c: Likewise.
70491         * lib/glob.h: Likewise.
70492         * lib/savedir.c: Likewise.
70493
70494 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70495
70496         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70497         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70498         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70499         needed.
70500         All uses removed.
70501         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70502         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70503         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70504         needed.
70505         * m4/getdate.m4 (gl_GETDATE): Likewise.
70506         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70507         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70508         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70509         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70510         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70511         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70512         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70513         needed.
70514
70515 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70516
70517         * lib/memcasecmp.c: Include <limits.h>.
70518         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70519         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70520         Don't assume isdigit succeeds only on '0' through '9'.
70521
70522 2006-07-05  Eric Blake  <ebb9@byu.net>
70523
70524         * modules/getaddrinfo (Depends-on): Add snprintf.
70525
70526 2006-07-05  Eric Blake  <ebb9@byu.net>
70527
70528         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70529         to avoid 'header present but could not be compiled' on cygwin.
70530
70531 2006-07-05  Eric Blake  <ebb9@byu.net>
70532
70533         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70534         missing from netdb.h.
70535         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70536
70537 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70538
70539         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70540         no longer needed.
70541         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70542         * m4/getdate.m4 (gl_GETDATE): Likewise.
70543         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70544         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70545         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70546         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70547         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70548
70549 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70550
70551         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70552         All uses of is_space replaced by isspace.
70553         * lib/exit.h: Don't talk about STDC_HEADERS.
70554         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70555         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70556         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70557         replaced by isprint etc.
70558         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70559         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70560         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70561         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70562         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70563         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70564
70565 2006-07-05  Bruno Haible  <bruno@clisp.org>
70566
70567         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70568         the function exists, before testing against AIX.
70569         Reported by Martin Lambers <marlam@marlam.de>.
70570
70571 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70572
70573         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70574         From Mark D. Baushke.
70575
70576 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70577
70578         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70579         to the absolute name, not just one, to bypass Sun C 5.8's
70580         "warning: #include of /usr/include/... may be non-portable".
70581
70582 2006-07-04  Eric Blake  <ebb9@byu.net>
70583
70584         * modules/dirname-tests: New test module.
70585         * tests/test-dirname.c: New file, replacing dirname.c
70586         TEST_DIRNAME section that was recently deleted.
70587
70588 2006-07-04  Bruno Haible  <bruno@clisp.org>
70589
70590         Assume ANSI C header files and <ctype.h> functions.
70591         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70592         (mbsnwidth): Use isprint, iscntrl instead.
70593
70594 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70595
70596         Merge from coreutils.
70597         * MODULES.html.sh: Add xstrtold.
70598         * modules/xstrtold: New file.
70599         * modules/cycle-check (Files): Add lib/same-inode.h.
70600         * modules/dirname (Files): Add m4/double-slash-root.m4.
70601         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70602         * modules/mkdir-p (Files): Add lib/same-inode.h.
70603         * modules/same (Files): Add lib/same-inode.h.
70604
70605 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70606
70607         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70608         This is to keep the terminology clean; POSIX talks about
70609         "absolute pathnames", not "full pathnames", but the GNU
70610         Coding Standards say to use "path" for something else;
70611         so use "absolute" to keep both sides happy.
70612         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70613         Set gl_absolute_header, not gl_full_header_path.
70614         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70615         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70616         All uses changed.
70617
70618         Merge from coreutils.
70619
70620         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70621
70622         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70623         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70624         want to require the building of c-strtod.o.
70625         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70626         needs -lm directly.
70627         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70628
70629         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70630
70631         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70632         --as-needed option if available.  Problem reported by Albert Chin in
70633         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70634         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70635         cc merely issues a bunch of annoying warnings for --as-needed
70636         (this problem was reported by Bob Proulx).  Also, try linking with
70637         -lm to detect a bug in binutils 2.16 (this problem was reported
70638         by Ralf Wildenhues).
70639
70640         2006-06-18  Jim Meyering  <jim@meyering.net>
70641
70642         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70643         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70644         macro.
70645         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70646         also check for glibc-2.4's abort-inducing bug.
70647
70648         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70649         Low-probability clean-up should be to use rmdir to get rid of
70650         the just-created directory, not unlink.
70651
70652         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70653         configure fail, and request a bug report to inform us about it.
70654         Add a comment that, barring reports to the contrary, in 2007 we'll
70655         assume ftruncate is universally available.
70656
70657         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70658
70659         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70660
70661         2006-03-12  Jim Meyering  <jim@meyering.net>
70662
70663         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70664         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70665         * m4/same.m4 (gl_SAME): Likewise.
70666         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70667
70668         2006-03-11  Eric Blake  <ebb9@byu.net>
70669
70670         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70671         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70672         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70673         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70674
70675 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70676
70677         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70678         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70679         reported by Mark D. Baushke, one in
70680         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70681
70682         Merge from coreutils.
70683
70684         * lib/.cppi-disable: Add stdint_.h.
70685         * lib/.cvsignore: Add stdint.h.
70686
70687         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70688
70689         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70690         both double and long double versions.
70691         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70692         * lib/xstrtold.c: New file.
70693         * lib/xstrtod.h (xstrtold): New decl.
70694
70695         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70696
70697         * lib/filemode.c (setst): Remove.
70698         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70699         (arguably) clearer, and the generated code is a bit smaller on my
70700         Debian GNU/Linux stable x86 host.
70701
70702         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70703
70704         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70705         Assume that filemode.h includes sys/types.h and sys/stat.h.
70706         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70707         (ftypelet): Reorder to put common cases first, for efficiency.
70708         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70709         to do 'M'.
70710         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70711         of 10, for compatibility with FreeBSD.  All callers changed.
70712         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70713         types that can't be deduced solely from st_mode.  First arg is now a
70714         const pointer.
70715         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70716         (strmode): Renamed from mode_string.
70717         (filemodestring): New decl.
70718         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70719         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70720         needed.
70721         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70722
70723         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70724
70725         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70726         fsusage.h now does that.  Include fsusage.h first, to test interface.
70727         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70728         at most one method (the old code could have generated decls that
70729         didn't conform to C89, not that this was ever exercised).
70730         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70731
70732         2006-03-19  Jim Meyering  <jim@meyering.net>
70733
70734         Work even in a chroot where d_ino values for entries in "/"
70735         don't match the stat.st_ino values for the same names.
70736         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70737         number, iterate through all entries again, using lstat instead.
70738         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70739         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70740
70741         * lib/getcwd.c (__getcwd): Clarify a comment.
70742         Use memcpy in place of a call to strcpy.
70743
70744         2006-03-12  Jim Meyering  <jim@meyering.net>
70745
70746         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70747         matches that of the current directory (which we're about to chdir ".."
70748         out of), then save the dev-ino of the parent, instead.
70749
70750         * lib/same-inode.h (SAME_INODE): New file/macro.
70751         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70752         Include "same-inode.h", instead.
70753         * lib/same.c: Likewise.
70754         * lib/cycle-check.h: Include "same-inode.h".
70755         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70756         * lib/cycle-check.c (SAME_INODE): Remove definition.
70757         * lib/root-dev-ino.h: Include "same-inode.h".
70758
70759         2006-03-11  Eric Blake  <ebb9@byu.net>
70760
70761         * lib/same.c (same_name): s/base_name/last_component/
70762         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70763         * lib/filenamecat.c (file_name_concat): Likewise.
70764
70765         2006-03-11  Eric Blake  <ebb9@byu.net>,
70766                     Paul Eggert  <eggert@cs.ucla.edu>
70767
70768         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70769         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70770         drive prefix.
70771         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70772         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70773         (last_component): New method.
70774         * lib/dirname.c (dir_len): Determine when drive letters need a
70775         subsequent slash.  Preserve // when it is special.
70776         (dir_name): Don't append dot when drive letter is absolute.
70777         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70778         * lib/basename.c (base_name): New semantics - malloc the result.
70779         Preserve // when it is special.  Preserve relative files that look
70780         like drive letters.
70781         (base_len): Preserve // when it is special.
70782         (last_component): New method, similar to old base_name semantics.
70783         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70784         base_name.  Strip redundant slashes from ///.
70785
70786 2006-07-03  Jim Meyering  <jim@meyering.net>
70787
70788         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70789         macro is used before the first cycle_check call.
70790
70791 2006-07-03  Eric Blake  <ebb9@byu.net>
70792
70793         * modules/dirname (Depends-on): Add xstrndup.
70794
70795 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70796
70797         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70798         test cases, so that config.log is a bit easier to follow.
70799
70800 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70801
70802         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70803         both are 64 bits, since this seems to be the tradition, and this
70804         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70805         we ever run into a host that prefers long long to long in this
70806         case, we'll need another configure-time test.  Problem reported by
70807         Jim Meyering.
70808
70809 2006-07-02  Eric Blake  <ebb9@byu.net>
70810
70811         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70812
70813 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70814
70815         * modules/inttypes (Depends-on): No longer depends on stdint.
70816         * modules/stdint (Description): Say more about assumptions.
70817         Say that the fast types might differ.  Say macros are used.
70818         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70819         (Makefile.am): Revise list of substituted symbols to match
70820         new stdint.m4.
70821         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70822         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70823         * tests/test-stdint.c (verify_same_types)
70824         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70825         the code conforms to C99/C89.
70826         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70827         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70828
70829 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70830
70831         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70832         but fix a bug, by requiring at least 64 bits.
70833         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70834         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70835         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70836         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70837
70838         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70839         changes.  Make 2.59 a prerequisite.  Check and substitute for
70840         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70841         inttypes.h.  Do not use special include files; just use the
70842         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70843         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70844         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70845         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70846         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70847         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70848         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70849         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70850         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70851         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70852         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70853         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70854         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70855         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70856         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70857         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70858         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70859         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70860         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70861         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70862         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70863         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70864         not check for things that C99 does not require, e.g., int8_t.  If
70865         a test isn't needed unless <stdint.h> isn't working, and is
70866         unlikely to be needed for any other reason, then don't do it
70867         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70868         size_t, since we assume C89 freestanding at least.  Do not check
70869         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70870         the right thing even if the types are not defined.  Instead use:
70871         (gl_STDINT_TYPE_PROPERTIES): New macro.
70872         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70873         testing whether <sys/types.h> clashes, as Autoconf does this for
70874         us now.  All uses removed.
70875         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70876         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70877         (gl_CHECK_TYPE_SAME):
70878         Remove; no longer needed.
70879         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70880         exists, since we'll return 0 anyway in that case.
70881         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70882
70883 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70884
70885         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70886         possible collision with system files.
70887         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70888         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70889         WCHAR_MIN and WCHAR_MAX in this case.
70890         (<stddef.h>): Do not include; no longer needed.
70891         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70892         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70893         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70894         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70895         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70896         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70897         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70898         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70899         !defined(__c99))]: Include in this case too, since it's harmless
70900         now.
70901         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70902         dangerous to do so.
70903         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70904         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70905         (_STDINT_MIN, _STDINT_MAX): New macros.
70906         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70907         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70908         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70909         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70910         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70911         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70912         macros, not typedefs; this simplifies things quite a bit.
70913         Use long int for all types narrower than int64_t.
70914         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70915         Define in terms of long long int or int64_t or long int,
70916         not int64_t or int32_t.  This saves some compile-time testing.
70917         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70918         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70919         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70920         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70921         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70922         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70923         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70924         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70925         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70926         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70927         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70928         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70929         undef any previous version and define our own version, for
70930         simplicity and consistency with the new macros for types.
70931         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70932         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70933         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70934         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70935         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70936         @WINT_T_SUFFIX@ to keep things simple here.
70937         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70938         Simplify by assuming typical 8/16/32/64 host, since we're
70939         already doing that elsewhere anyway.
70940         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70941         and assume long long int is 64 bits if available.  This
70942         speeds up 'configure'.
70943
70944 2006-07-01  Eric Blake  <ebb9@byu.net>
70945
70946         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70947         Reported by Andreas Buening.
70948
70949 2006-07-01  Eric Blake  <ebb9@byu.net>
70950
70951         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70952
70953 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70954
70955         * lib/getaddrinfo.c: fixed typo
70956
70957 2006-06-29  Jim Meyering  <jim@meyering.net>
70958
70959         * modules/strftime (Maintainer): Add my name, since with the
70960         FPRINTFTIME changes strftime.c has forked from glibc.
70961
70962 2006-06-29  Eric Blake  <ebb9@byu.net>
70963
70964         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70965
70966 2006-06-29  Eric Blake  <ebb9@byu.net>
70967
70968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70969
70970 2006-06-29  Eric Blake  <ebb9@byu.net>
70971
70972         * lib/stat_.h: New file.
70973
70974 2006-06-29  Eric Blake  <ebb9@byu.net>
70975
70976         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70977         unused static function.
70978
70979 2006-06-29  Eric Blake  <ebb9@byu.net>
70980
70981         * doc/functions.texi (Function Portability): Document missing lstat
70982         on mingw.
70983
70984 2006-06-29  Eric Blake  <ebb9@byu.net>
70985
70986         * MODULES.html.sh: Add sys_stat.
70987         * modules/sys_stat: New module.
70988         * modules/mkstemp (Depends-on): Add sys_stat.
70989
70990 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70991
70992         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70993
70994 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70995
70996         * m4/c-bs-a.m4: Removed.
70997
70998 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70999
71000         * lib/strftime.c: Assume strftime() exists.
71001
71002 2006-06-29  Derek Price  <derek@ximbiot.com>
71003
71004         * modules/c-bs-a: Removed - \a is C89.
71005         * MODULES.html.sh: Remove c-bs-a.
71006
71007 2006-06-29  Bruno Haible  <bruno@clisp.org>
71008
71009         * modules/wcwidth (License): Change to LGPL.
71010
71011 2006-06-28  Simon Josefsson  <jas@extundo.com>
71012
71013         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
71014         on _WIN32.
71015
71016         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
71017         getnameinfo.
71018
71019 2006-06-28  Simon Josefsson  <jas@extundo.com>
71020
71021         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
71022
71023 2006-06-28  Simon Josefsson  <jas@extundo.com>
71024
71025         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
71026         functions there.  It will succeed on Windows XP, but on Windows
71027         2000 and (presumably) earlier, it will fail, and use the internal
71028         re-implementation.
71029         (use_win32_p): New function.
71030         (getaddrinfo): Use strtoul on servname, to support numeric ports.
71031         Support AI_NUMERICSERV to disable getservbyname.
71032         (getnameinfo): New function, only supports
71033         NI_NUMERICHOST|NI_NUMERICSERV for now.
71034
71035         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
71036         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
71037         getnameinfo.
71038
71039 2006-06-28  Eric Blake  <ebb9@byu.net>
71040
71041         * modules/wcwidth: New file.
71042         * modules/mbchar (Depends-on): Add wcwidth.
71043         * modules/mbswidth (Depends-on): Add wcwidth.
71044         * MODULES.html.sh: Add wcwidth.
71045
71046 2006-06-28  Eric Blake  <ebb9@byu.net>
71047
71048         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
71049         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
71050
71051 2006-06-28  Eric Blake  <ebb9@byu.net>
71052
71053         * lib/xvasprintf.h: Fix comments.
71054
71055 2006-06-28  Eric Blake  <ebb9@byu.net>
71056
71057         * lib/mbchar.h (wcwidth): Include wcwidth.h.
71058         * lib/mbswidth.c (wcwidth): Move from here...
71059         * lib/wcwidth.h: ...to this new file.
71060
71061 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71062
71063         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
71064
71065         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
71066         it's obsolete.
71067         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
71068
71069 2006-06-28  Derek R. Price  <derek@ximbiot.com>
71070
71071         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
71072         Autoconf 2.60 says this stuff was obsolete.
71073
71074 2006-06-28  Bruno Haible  <bruno@clisp.org>
71075
71076         * modules/wcwidth (Files): Add m4/wchar_t.m4.
71077
71078 2006-06-28  Bruno Haible  <bruno@clisp.org>
71079
71080         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
71081         gt_TYPE_WCHAR_T.
71082
71083 2006-06-28  Bruno Haible  <bruno@clisp.org>
71084
71085         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
71086         declaration for wcwidth.
71087         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
71088
71089 2006-06-28  Bruno Haible  <bruno@clisp.org>
71090
71091         * lib/mkdtemp.c [MINGW]: Include <io.h>.
71092         (mkdir): Define using _mkdir.
71093
71094 2006-06-28  Bruno Haible  <bruno@clisp.org>
71095
71096         * lib/getaddrinfo.h: Fix POSIX URL.
71097         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
71098         _WIN32.
71099         (use_win32_p): Make static.
71100         (getaddrinfo): Reject service name if it is empty or does not consist
71101         solely of decimal digits, or if its value is > 65535.
71102         (getnameinfo): Remove useless casts.
71103
71104 2006-06-27  Simon Josefsson  <jas@extundo.com>
71105
71106         * modules/sys_select: New file, suggested by Bruno Haible, Paul
71107         Eggert and Martin Lambers.
71108
71109 2006-06-27  Simon Josefsson  <jas@extundo.com>
71110
71111         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
71112         Eggert and Martin Lambers.
71113
71114 2006-06-27  Bruno Haible  <bruno@clisp.org>
71115
71116         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
71117         result to 0, not to empty.
71118         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
71119
71120 2006-06-27  Bruno Haible  <bruno@clisp.org>
71121
71122         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
71123
71124 2006-06-26  Simon Josefsson  <jas@extundo.com>
71125
71126         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
71127         present.
71128
71129 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
71130
71131         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
71132         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
71133         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
71134
71135 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
71136
71137         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
71138
71139 2006-06-26  Bruno Haible  <bruno@clisp.org>
71140
71141         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
71142
71143 2006-06-26  Bruno Haible  <bruno@clisp.org>
71144
71145         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
71146
71147 2006-06-26  Bruno Haible  <bruno@clisp.org>
71148
71149         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
71150         SGI C compiler in pre-C99 mode.
71151         Suggested by Mark D. Baushke and Larry Jones.
71152
71153 2006-06-26  Bruno Haible  <bruno@clisp.org>
71154
71155         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
71156         WCHAR_MAX.
71157         Reported by Mark D. Baushke and Larry Jones.
71158
71159 2006-06-26  Bruno Haible  <bruno@clisp.org>
71160
71161         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
71162         in pre-C99 mode.
71163         Suggested by Mark D. Baushke and Larry Jones.
71164
71165 2006-06-23  Simon Josefsson  <jas@extundo.com>
71166             Bruno Haible  <bruno@clisp.org>
71167
71168         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71169         Emit mostlyclean-local rule.
71170         (func_emit_tests_Makefile_am): Likewise.
71171         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71172
71173 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71174
71175         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71176
71177 2006-06-23  Bruno Haible  <bruno@clisp.org>
71178
71179         * tests/test-stdint.c: Update to match ISO C 99 Technical
71180         Corrigendum 1.
71181
71182 2006-06-23  Bruno Haible  <bruno@clisp.org>
71183
71184         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71185
71186 2006-06-23  Bruno Haible  <bruno@clisp.org>
71187
71188         * lib/stdint_.h: Treat IRIX like OpenBSD.
71189
71190 2006-06-23  Bruno Haible  <bruno@clisp.org>
71191
71192         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71193         ISO C 99 Technical Corrigendum 1.
71194
71195 2006-06-22  Simon Josefsson  <jas@extundo.com>
71196
71197         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71198         MinGW.
71199
71200 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71201
71202         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71203         needed.  Some compiler complained about some of them.  Problem reported
71204         by Larry Jones in
71205         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71206
71207 2006-06-21  Simon Josefsson  <jas@extundo.com>
71208
71209         * tests/test-getaddrinfo.c: New file.
71210
71211         * modules/getaddrinfo-tests: New file.
71212
71213         * MODULES.html.sh: Add inet_pton.
71214
71215         * modules/inet_pton: New file.
71216
71217 2006-06-21  Simon Josefsson  <jas@extundo.com>
71218
71219         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71220         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71221         of using the (limited) gnulib implementation on Windows XP.
71222
71223         * m4/inet_pton.m4: New file.
71224
71225 2006-06-21  Simon Josefsson  <jas@extundo.com>
71226
71227         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71228         variable.
71229
71230         * lib/socket_.h: Don't define WINVER.
71231
71232         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71233         slightly modified to work in gnulib.
71234
71235 2006-06-21  Simon Josefsson  <jas@extundo.com>
71236
71237         * doc/gnulib.texi (Windows sockets): Add.
71238
71239 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71240
71241         * lib/read-file.c (fread_file): Start with buffer allocation of
71242         0 bytes rather than 1 byte; this simplifies the code.
71243         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71244         code to free buffer and save/restore errno.
71245         (internal_read_file): Remove unused local.
71246
71247 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71248
71249         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71250         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71251         Problem reported by Denis Excoffier in
71252         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71253
71254 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71255
71256         * modules/sys_socket, modules/socklen: Include sys/types since
71257         FreeBSD 4.x's sys/socket.h needs it.
71258
71259 2006-06-19  Simon Josefsson  <jas@extundo.com>
71260
71261         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71262
71263 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71264
71265         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71266
71267 2006-06-19  Bruno Haible  <bruno@clisp.org>
71268
71269         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71270         and FULL_PATH_INTTYPES_H in angle brackets.
71271         Reported by Mark D. Baushke <mdb@gnu.org>.
71272
71273 2006-06-17  Eric Blake  <ebb9@byu.net>
71274
71275         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71276         errno.
71277
71278 2006-06-17  Bruno Haible  <bruno@clisp.org>
71279
71280         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71281         <sys/inttypes.h>.
71282
71283 2006-06-17  Bruno Haible  <bruno@clisp.org>
71284
71285         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71286         whether errno is declared. Assume <errno.h> declares errno.
71287
71288 2006-06-17  Bruno Haible  <bruno@clisp.org>
71289
71290         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71291
71292 2006-06-17  Bruno Haible  <bruno@clisp.org>
71293
71294         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71295         problem on Solaris 2.5.1.
71296
71297 2006-06-16  Eric Blake  <ebb9@byu.net>
71298
71299         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71300         * lib/unicodeio.c [!defined errno]: Likewise.
71301         * lib/strtol.c [!defined errno]: Likewise.
71302         * lib/strtod.c [!defined errno]: Likewise.
71303
71304 2006-06-15  Eric Blake  <ebb9@byu.net>
71305
71306         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71307
71308 2006-06-15  Eric Blake  <ebb9@byu.net>
71309
71310         * config/srclist.txt (ssize_t.m4): Lose sync.
71311
71312 2006-06-15  Bruno Haible  <bruno@clisp.org>
71313
71314         * modules/stdint (Files): Include m4/full-header-path.m4,
71315         m4/size_max.m4, m4/wchar_t.m4.
71316         (Makefile.am): Many more substitutions.
71317         * modules/stdint-tests: New file.
71318         * tests/test-stdint.c: New file.
71319
71320 2006-06-15  Bruno Haible  <bruno@clisp.org>
71321
71322         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71323         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71324         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71325         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71326         gl_CHECK_TYPE_SAME): New macros.
71327
71328 2006-06-15  Bruno Haible  <bruno@clisp.org>
71329
71330         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71331
71332 2006-06-15  Bruno Haible  <bruno@clisp.org>
71333
71334         * lib/stdint_.h: Rewritten to be fully auto-configured.
71335         Fixes bug on HP-UX/IA64.
71336
71337 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71338
71339         * lib/getdate.y (__attribute__): Don't define if already defined.
71340         Problem reported by Larry Jones.
71341         * lib/utimens.c (__attribute__): Likewise.
71342
71343 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71344
71345         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71346         reported by Andreas Schwab.
71347
71348 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71349             Bruno Haible  <bruno@clisp.org>
71350
71351         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71352         check for the declaration of strnlen and a run test that exposes the
71353         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71354         rpl_strndup.
71355
71356 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71357             Bruno Haible  <bruno@clisp.org>
71358
71359         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71360
71361 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71362
71363         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71364         compile test, for Tru64 4.0D.
71365
71366 2006-05-28  Karl Berry  <karl@gnu.org>
71367
71368         * config/srclist.txt (printf-args.c): lose sync.
71369
71370 2006-05-26  Martin Lambers  <marlam@marlam.de>
71371
71372         * lib/getpass.c: Updates the test for the native W32 API, and adds
71373         missing includes, thus fixing compilation warnings.
71374
71375 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71376
71377         * lib/exclude.c (exclude_fnmatch): New function.
71378         (excluded_file_name): Call exclude_fnmatch.
71379         * lib/exclude.h (excluded_file_name): New prototype
71380
71381 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71382
71383         * lib/tempname.c (small_open, large_open): New macros.
71384         (__open, __open64) [!_LIBC]: Remove.
71385         (__gen_tempname): Use small_open and large_open instead of __open
71386         and __open64.  This fixes a portability bug on HP-UX 11.11i
71387         reported by Simon Wing-Tang in
71388         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71389
71390 2006-05-24  Bruno Haible  <bruno@clisp.org>
71391
71392         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71393         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71394         Reported by Thorsten Maerz <torte@netztorte.de> via
71395         Aaron Stone <aaron@serendipity.cx>.
71396
71397 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71398
71399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71400         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71401         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71402         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71403         not really conditional on the cache.
71404         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71405
71406 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71407
71408         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71409         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71410         (my_usleep): Don't mishandle maximum value.
71411
71412 2006-05-19  Jim Meyering  <jim@meyering.net>
71413
71414         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71415
71416 2006-05-17  Bruno Haible  <bruno@clisp.org>
71417
71418         Cygwin portability.
71419         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71420
71421 2006-05-17  Bruno Haible  <bruno@clisp.org>
71422
71423         * lib/stdint_.h: Fix recognition of Cygwin.
71424
71425 2006-05-15  Bruno Haible  <bruno@clisp.org>
71426
71427         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71428         on libtool patch by Ralf Wildenhues.
71429
71430 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71431
71432         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71433         test for C99 conformance; (bool) 0.5 is an integer constant
71434         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71435         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71436
71437 2006-05-11  Simon Josefsson  <jas@extundo.com>
71438
71439         * m4/xvasprintf.m4: Fix obvious typo.
71440
71441 2006-05-11  Jim Meyering  <jim@meyering.net>
71442
71443         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71444         James Lemley.
71445
71446 2006-05-10  Simon Josefsson  <jas@extundo.com>
71447
71448         * lib/md4.c: Typo fix, update copyright years.
71449         (K1, K2): Don't use L because it turn computations into 64-bit on
71450         64-bit platforms.
71451
71452 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71453
71454         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71455         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71456         unwanted sign propagation, e.g., on hosts with 64-bit int.
71457         There still are some problems with reeelly weird theoretical hosts
71458         (e.g., 33-bit int) but it's not worth worrying about now.
71459         * lib/sha1.c (rol): Likewise.
71460         (K1, K2, K3, K4): Remove unnecessary L suffix.
71461
71462 2006-05-10  Bruno Haible  <bruno@clisp.org>
71463
71464         * lib/des.c: Cast to avoid warnings.
71465
71466 2006-05-09  Bruno Haible  <bruno@clisp.org>
71467
71468         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71469         (Depends-on): Depend also on xsize, stdarg.
71470         (configure.ac): Add gl_XVASPRINTF.
71471
71472 2006-05-09  Bruno Haible  <bruno@clisp.org>
71473
71474         * m4/xvasprintf.m4: New file.
71475
71476 2006-05-09  Bruno Haible  <bruno@clisp.org>
71477
71478         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71479         (EOVERFLOW): Define fallback value.
71480         (xstrcat): New function.
71481         (xvasprintf): Recognize the special case of a string concatenation.
71482
71483 2006-05-08  Eric Blake  <ebb9@byu.net>
71484
71485         * gnulib-tool (func_version): Base copyright year on CVS date.
71486         (func_emit_copyright_notice): New function.
71487         (func_emit_lib_Makefile_am): Use it.
71488         (func_emit_tests_Makefile_am): Likewise.
71489         (func_import): Likewise.
71490
71491 2006-05-08  Bruno Haible  <bruno@clisp.org>
71492
71493         * modules/stdarg: New file.
71494         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71495
71496 2006-05-08  Bruno Haible  <bruno@clisp.org>
71497
71498         * m4/stdarg.m4: New file, from GNU gettext.
71499
71500 2006-05-08  Bruno Haible  <bruno@clisp.org>
71501
71502         * config/srclist.txt (build-aux/config.rpath): different from latest
71503         release.
71504
71505 2006-05-08  Bruno Haible  <bruno@clisp.org>
71506
71507         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71508
71509 2006-05-05  Jim Meyering  <jim@meyering.net>
71510
71511         * m4/warning.m4: New file, derived from bison's file by the same name.
71512
71513 2006-05-03  Bruno Haible  <bruno@clisp.org>
71514
71515         * lib/stdint_.h: Shorter URL.
71516         * lib/inttypes.h: Likewise.
71517
71518 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71519
71520         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71521
71522 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71523
71524         * lib/verify.h: Document the internals better.  Most of this change
71525         was written by Bruno Haible.
71526
71527 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71528
71529         * doc/verify.texi: New file, partly based on a proposal by
71530         Bruno Haible.
71531
71532 2006-05-02  Bruno Haible  <bruno@clisp.org>
71533
71534         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71535         test from here...
71536         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71537
71538 2006-04-29  Bruno Haible  <bruno@clisp.org>
71539
71540         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71541         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71542
71543 2006-04-29  Bruno Haible  <bruno@clisp.org>
71544
71545         * gnulib-tool: Make --update option actually work.
71546
71547 2006-04-29  Bruno Haible  <bruno@clisp.org>
71548
71549         * doc/gcd.texi: New file.
71550         * doc/gnulib.texi: Include it.
71551
71552 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71553
71554         * lib/getdate.y (get_date): When adding relative date, start with the
71555         initial time, not with the result of the first mktime call.
71556
71557 2006-04-25  Bruno Haible  <bruno@clisp.org>
71558
71559         * gnulib-tool (func_import): Output the include directives in three
71560         blocks, sorted separately.
71561         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71562
71563 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71564
71565         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71566         to define main with arguments, for C++.  Reported by Eric Blake.
71567         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71568         Prefer 'int main ()' to 'int main (void)', for C++.
71569         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71570         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71571         for 'main', for C99 and C++.
71572
71573 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71574
71575         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71576         Don't assume that exit status -1 is valid.
71577         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71578         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71579         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71580         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71581         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71582         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71583         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71584         functions can be used without declaring them, or that you can
71585         exit with status -1.
71586         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71587
71588 2006-04-24  Karl Berry  <karl@gnu.org>
71589
71590         * config/srclist.txt (longdouble.m4): sync lost.
71591
71592 2006-04-24  Eric Blake  <ebb9@byu.net>
71593
71594         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71595
71596 2006-04-24  Bruno Haible  <bruno@clisp.org>
71597
71598         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71599         poll() implementation in AIX.
71600         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71601
71602 2006-04-24  Bruno Haible  <bruno@clisp.org>
71603
71604         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71605         assigned exactly once.
71606
71607 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71608             Bruno Haible  <bruno@clisp.org>
71609
71610         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71611         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71612         for AM_CPPFLAGS.
71613
71614 2006-04-23  Bruno Haible  <bruno@clisp.org>
71615
71616         * modules/copy-file: Depend on unistd.
71617         * modules/execute: Likewise.
71618         * modules/fatal-signal: Likewise.
71619         * modules/findprog: Likewise.
71620         * modules/mkdtemp : Likewise.
71621         * modules/pipe: Likewise.
71622         * modules/wait-process: Likewise.
71623
71624 2006-04-23  Bruno Haible  <bruno@clisp.org>
71625
71626         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71627         condition was already detected.
71628         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71629
71630 2006-04-23  Bruno Haible  <bruno@clisp.org>
71631
71632         * lib/copy-file.c: Include <unistd.h> unconditionally.
71633         * lib/execute.c: Likewise.
71634         * lib/fatal-signal.c: Likewise.
71635         * lib/findprog.c: Likewise.
71636         * lib/mkdtemp.c: Likewise.
71637         * lib/pipe.h: Likewise.
71638         * lib/pipe.c: Likewise.
71639         * lib/wait-process.h: Likewise.
71640
71641 2006-04-23  Bruno Haible  <bruno@clisp.org>
71642
71643         * gnulib-tool (func_usage): Fix --import description. Document
71644         --update.
71645         (func_import): Create temporary file in a temporary directory, if
71646         --dry-run is specified. Silence errors from 'grep' when there are no
71647         m4 files in $m4dir.
71648         (func_create_testdir): Silence errors from 'grep' when there are no
71649         m4 files in $m4dir.
71650         Reported by Karl Berry <karl@freefriends.org>.
71651
71652 2006-04-20  Bruno Haible  <bruno@clisp.org>
71653
71654         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71655         one argument, so that the code will be portable to Autoconf 2.60.
71656         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71657         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71658         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71659
71660 2006-04-19  Derek Price  <derek@ximbiot.com>
71661             Eric Blake  <ebb9@byu.net>
71662
71663         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71664         rather than "/full/path.h".  Update comment to match.  Shorten &
71665         generalize m4_translit call via AS_TR_CPP.
71666
71667 2006-04-19  Derek Price  <derek@ximbiot.com>
71668             Eric Blake  <ebb9@byu.net>
71669
71670         * lib/inttypes.h: Correct grammar in comment.
71671
71672 2006-04-18  Derek Price  <derek@ximbiot.com>
71673             Paul Eggert  <eggert@cs.ucla.edu>
71674
71675         * modules/inttypes: New file.
71676         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71677
71678 2006-04-18  Derek Price  <derek@ximbiot.com>
71679             Paul Eggert  <eggert@cs.ucla.edu>
71680
71681         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71682         New files.
71683
71684 2006-04-18  Derek Price  <derek@ximbiot.com>
71685             Paul Eggert  <eggert@cs.ucla.edu>
71686
71687         * lib/inttypes.h: New file.
71688         * lib/strtoimax.c: Assume <inttypes.h>.
71689
71690 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71691
71692         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71693         isn't mounted.  Problem reported by Kir Kolyshkin.
71694
71695 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71696
71697         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71698         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71699         Derek R. Price.
71700         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71701         implementation.
71702
71703 2006-04-12  Eric Blake  <ebb9@byu.net>
71704
71705         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71706         is now done automatically by the corresponding Autoconf macro.
71707
71708 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71709
71710         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71711         time_r.h.
71712
71713 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71714
71715         Merge regex changes from libc, removing some of our
71716         POSIX-conformance changes that were rejected and redoing them in a
71717         less-intrusive way.
71718
71719         * lib/regcomp.c (re_compile_internal, init_dfa):
71720         Length arg is now size_t, not Idx.  All uses changed.
71721         (peek_token): Forward decl now says internal_function.
71722         (__re_error_msgid, __re_error_msgid_idx):
71723         Now static rather than extern with attribute_hidden.
71724         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71725         For some reason libc prefers K&R style defns for external functions.
71726         (regerror) [!defined _LIBC]: Likewise.
71727         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71728         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71729         (build_range_exp, build_collating_symbol):
71730         Use K&R-style defn.
71731         (re_compile_fastmap): Use '\0' to memset, not 0.
71732         (utf8_sb_map): Make the calculations more obvious.
71733         (init_dfa, parse_bracket_exp, build_charclass_op):
71734         Call calloc and cast result, as glibc does.
71735         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71736         (build_range_exp, build_collating_symbol):
71737         Now internal functions.
71738
71739         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71740
71741         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71742         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71743         Don't depend on VMS; depend on __VMS instead, for POSIX
71744         namespace cleanness.
71745         (regoff_t): Define to ssize_t, not long int.
71746
71747         Remove the REG_ macros named below.  Instead, make the old names
71748         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71749         __USE_GNU_REGEX.
71750         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71751         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71752         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71753         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71754         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71755         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71756         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71757         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71758         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71759         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71760         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71761         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71762         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71763         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71764         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71765         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71766         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71767         (REG_NREGS):
71768         Remove.  All uses replaced by the old RE_* names.
71769         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71770         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71771         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71772         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71773         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71774         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71775         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71776         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71777         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71778         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71779         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71780         Don't bother having these macros be independent of each others'
71781         values, since they no longer exist in the POSIX name space.
71782
71783         Rename the following member names back to their old names,
71784         unless !__USE_GNU_REGEX.  All uses changed back.
71785         (buffer): Renamed from re_buffer.
71786         (allocated): Renamed from re_allocated.
71787         (used): Renamed from re_used.
71788         (syntax): Renamed from re_syntax.
71789         (fastmap): Renamed from re_fastmap.
71790         (translate): Renamed from re_translate.
71791         (can_be_null): Renamed from re_can_be_null.
71792         (regs_allocated): Renamed from re_regs_allocated.
71793         (fastmap_accurate): Renamed from re_fastmap_accurate.
71794         (no_sub): Renamed from re_no_sub.
71795         (not_bol): Renamed from re_not_bol.
71796         (not_eol): Renamed from re_not_eol.
71797         (newline_anchor): Renamed from re_newline_anchor.
71798         (num_regs): Renamed from rm_num_regs.
71799         (start): Renamed from rm_start.
71800         (end): Renamed from rm_end.
71801
71802         (free_state): Move up a bit.
71803
71804         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71805         #define to be empty.
71806         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71807         when that is what is intended.
71808         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71809         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71810         (MAX): New macro.
71811         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71812         All uses changed back to re_malloc, etc.  It's now the caller's
71813         responsibility to check for overflow; all callers changed.
71814         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71815         (re_x2nrealloc): Remove.
71816         (free_state): Remove decl.
71817
71818         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71819         (re_set_registers, re_exec):
71820         Use K&R-style defn.
71821
71822         2006-01-31  Roland McGrath  <roland@redhat.com>
71823
71824         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71825         Reported by Mike Frysinger <vapier@gentoo.org>.
71826
71827         2006-01-15  Andreas Jaeger  <aj@suse.de>
71828
71829         [BZ #1950]
71830         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71831         build_wcs_upper_buffer change.
71832         (build_wcs_upper_buffer): Change return type.
71833
71834         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71835
71836         * lib/regex_internal.h: Include <stdint.h> if available.
71837
71838         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71839
71840         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71841
71842         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71843
71844         * lib/regcomp.c: Adjust for changed secondary hash function.
71845
71846         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71847
71848         * lib/regex.h: Pretty printing.
71849         Clean up namespace a bit.
71850
71851         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71852
71853         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71854         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71855
71856         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71857                     Ulrich Drepper  <drepper@redhat.com>
71858
71859         [BZ #1302]
71860         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71861         changed.
71862         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71863
71864         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71865
71866         [BZ #281]
71867         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71868         * lib/regcomp.c: Remove unnecessary uses of
71869         unsigned RE_TRANSLATE_TYPE.
71870         * lib/regex_internal.h: Likewise.
71871         * lib/regex_internal.c: Likewise.
71872         * lib/regexec.c: Likewise.
71873         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71874
71875         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71876
71877         * lib/regexec.c (find_recover_state): Remove unnecessary
71878         initialization.
71879         (transit_state_bkref): Make DFA a const pointer.
71880         (get_subexp): Likewise.
71881         (check_arrival): Likewise.
71882         (update_cur_sifted_state): Likewise.
71883         (re_search_internal): Likewise.
71884         (prune_impossible_nodes): Likewise.
71885         (acquire_init_state_context): Likewise.
71886         (proceed_next_node): Likewise.
71887         (set_regs): Likewise.
71888         (free_fail_stack_return): Likewise.
71889         (check_arrival_expand_ecl): Mark DFA parameter as const.
71890         (check_arrival_expand_ecl_sub): Likewise.
71891         (check_subexp_limits): Likewise.
71892         (sub_epsilon_src_nodes):  Likewise.
71893         (add_epsilon_src_nodes):  Likewise.
71894         (merge_state_array): Likewise.
71895         (update_regs): Likewise.
71896         (build_trtable): Likewise.
71897         (sift_states_backward): Mark MCTX parameter as const.
71898         (build_sifted_states): Likewise.
71899         (update_cur_sifted_state): Likewise.
71900         (sift_states_mkref): Likewise.
71901         (check_arrival_expand_ecl): Mark eclosure as const.
71902         (check_dst_limits_calc_pos_1): Likewise.
71903         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71904         pointer.
71905
71906         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71907
71908         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71909         (transit_state_sb): Likewise.
71910         (transit_state_mb): Likewise.
71911         (sift_states_iter_mb): Likewise.
71912         (check_arrival_add_next_nodes): Likewise.
71913         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71914         [_LIBC] (re_search_2_stub): Use mempcpy.
71915
71916         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71917         mbrtowc for very simple UTF-8 case.
71918
71919         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71920         a pointer-to-const.
71921         (re_acquire_state_context): Likewise.
71922         * lib/regex_internal.h: Adjust prototypes.
71923
71924         * lib/regex.c: Prevent using C++ compilers.
71925
71926         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71927         (re_acquire_state_context): Likewise.
71928
71929 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71930
71931         * modules/regex (Depends-on): Add ssize_t.
71932
71933 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71934
71935         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71936         translation table.
71937
71938 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71939
71940         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71941
71942 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71943             Bruno Haible  <bruno@clisp.org>
71944
71945         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71946         <sys/types.h> and <inttypes.h>.
71947
71948 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71949
71950         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71951         `__error_t_defined', so argp.h will not typedef the former.
71952
71953 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71954
71955         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71956         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71957         glibc names.  Even if glibc is changed to conform to POSIX, the
71958         traditional names will be available anyway, since regex depends on
71959         the extensions module.  Also, fix a longstanding typo in the
71960         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71961         reported by Emanuele Giaquinta.  Also, change sense of cached
71962         variable, so that the message makes sense.
71963
71964 2006-03-24  Simon Josefsson  <jas@extundo.com>
71965
71966         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71967         including some doc fixes.
71968         (base64_encode_alloc): Fix +1 bug on allocation failures.
71969
71970 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71971
71972         * lib/base64.c (base64_encode): Do not read past end of array with
71973         unsanitized input on systems with CHAR_BIT > 8.
71974
71975 2006-03-24  Eric Blake  <ebb9@byu.net>
71976
71977         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71978
71979 2006-03-22  Karl Berry  <karl@gnu.org>
71980
71981         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71982         * config/srclistvars.sh (COREUTILS): new var.
71983
71984 2006-03-17  Jim Meyering  <jim@meyering.net>
71985
71986         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71987         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71988
71989 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71990
71991         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71992         no longer needs it.  Instead, check that regoff_t is as least
71993         as wide as ptrdiff_t.
71994
71995         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71996         so that our regex.h stays compatible with the installed regex.
71997         This is helpful for installers who configure --without-included-regex.
71998         Problem reported by Emanuele Giaquinta.
71999
72000 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
72001
72002         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
72003         Typedef to long int, not to off_, as POSIX will likely change
72004         in that direction.
72005
72006 2006-03-15  Eric Blake  <ebb9@byu.net>
72007
72008         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
72009
72010 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72011
72012         * lib/argp-help.c (validate_uparams): Fix typo
72013         * lib/argp-parse.c (argp_default_options): Consistently begin help
72014         messages with a lowercase letter.
72015
72016 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
72017
72018         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
72019         overrun buffers and shouldn't be used (much as gets shouldn't be
72020         used).
72021         * lib/time_r.c (asctime_r, ctime_r): Likewise.
72022
72023 2006-03-08  Simon Josefsson  <jas@extundo.com>
72024
72025         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
72026         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72027
72028 2006-03-08  Simon Josefsson  <jas@extundo.com>
72029
72030         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
72031         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72032
72033 2006-03-08  Simon Josefsson  <jas@extundo.com>
72034
72035         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
72036         signal that configure disabled the device.
72037
72038 2006-03-08  Simon Josefsson  <jas@extundo.com>
72039
72040         * build-aux/maint.mk: Fix refresh-po, to handle no translated
72041         languages.
72042
72043 2006-03-07  Simon Josefsson  <jas@extundo.com>
72044
72045         * modules/getopt (Depends-on): Add unistd.
72046
72047         * modules/unistd: New file.
72048
72049 2006-03-07  Simon Josefsson  <jas@extundo.com>
72050
72051         * modules/gc-random: New file.
72052
72053 2006-03-07  Simon Josefsson  <jas@extundo.com>
72054
72055         * m4/unistd_h.m4: New file.
72056
72057 2006-03-07  Simon Josefsson  <jas@extundo.com>
72058
72059         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
72060         test to be side-effect free by storing the result in the cache
72061         variable gl_cv_lib_readline, and moving the assignment of
72062         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
72063         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72064
72065 2006-03-07  Simon Josefsson  <jas@extundo.com>
72066
72067         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
72068         error on missing devices (the functions will return an error).
72069
72070         * m4/gc.m4: Move random stuff to gc-random.m4
72071
72072 2006-03-07  Simon Josefsson  <jas@extundo.com>
72073
72074         * lib/unistd_.h: New file.
72075
72076 2006-03-07  Simon Josefsson  <jas@extundo.com>
72077
72078         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
72079
72080 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72081
72082         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
72083         Problem reported by Juan Manuel Guerrero.
72084
72085 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72086
72087         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
72088         the unistd module.
72089         * lib/getlogin_r.c: Likewise.
72090         * lib/getlogin_r.h: Likewise.
72091         * lib/glob.c: Likewise.
72092         * lib/pagealign_alloc.c: Likewise.
72093         * lib/unistd_.h: Remove; no longer needed.
72094
72095 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
72096
72097         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72098         Add unistd.
72099         * modules/c-stack (Depends-on): Add unistd.
72100         * modules/getlogin_r: Likewise.
72101         * modules/glob: Likewise.
72102         * modules/pagealign_alloc: Likewise.
72103         * modules/unistd (Files): Remove lib/unistd_.h.
72104         (EXTRA_DIST): Remove.
72105         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
72106         need unistd_.h.
72107         (MOSTLYCLEANFILES): Remove unistd.h-t.
72108
72109 2006-03-03  Simon Josefsson  <jas@extundo.com>
72110
72111         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
72112
72113 2006-03-03  Simon Josefsson  <jas@extundo.com>
72114
72115         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
72116         libidn and bison.
72117
72118 2006-03-03  Simon Josefsson  <jas@extundo.com>
72119
72120         * build-aux/maint.mk: Add indent target.
72121
72122 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
72123
72124         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
72125         our replacement poll.h in any case, to avoid a differing
72126         declaration from a system header.  Seen on AIX.
72127
72128 2006-03-01  Simon Josefsson  <jas@extundo.com>
72129
72130         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
72131         <kasal@ucw.cz>.
72132
72133 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72134
72135         * modules/gettime (Depends-on): Add extensions module.
72136         * modules/nanosleep (Depends-on): Likewise.
72137         * modules/settime (Depends-on): Likewise.
72138
72139 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72140
72141         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
72142         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
72143         pedantically.
72144         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72145         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
72146
72147         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
72148         not "==".  Reported by Ralf Wildenhues.
72149
72150 2006-03-01  Karl Berry  <karl@gnu.org>
72151
72152         * doc/Copyright/request-*: new files, synced from gnuorg.
72153
72154 2006-03-01  Karl Berry  <karl@gnu.org>
72155
72156         * config/srclist.txt (Copyright/*): new entries.
72157
72158 2006-02-28  Simon Josefsson  <jas@extundo.com>
72159
72160         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
72161
72162 2006-02-27  Simon Josefsson  <jas@extundo.com>
72163
72164         * lib/base64.h: Indent #define's.  From Jim Meyering
72165         <jim@meyering.net>.
72166
72167 2006-02-27  Jim Meyering  <jim@meyering.net>
72168
72169         Revert the change of 2006-02-24, so these files can continue
72170         to be sync'd from gettext.
72171         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72172         of `config.h'.
72173
72174 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72175
72176         * modules/intprops: New file.
72177         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72178         Add intprops.
72179         * modules/getloadavg (Files): Remove lib/intprops.h.
72180         (Depends-on): Add intprops.
72181         * modules/human: Likewise.
72182         * modules/inttostr: Likewise.
72183         * modules/openat: Likewise.
72184         * modules/sig2str: Likewise.
72185         * modules/userspec: Likewise.
72186         * modules/utimecmp: Likewise.
72187         * modules/xnanosleep: Likewise.
72188         * modules/xstrtol: Likewise.
72189
72190 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72191
72192         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72193         * modules/lock-tests (TESTS): Use $(EXEEXT).
72194         * modules/tls-tests: Likewise.
72195         * modules/argp-tests: Likewise.
72196         (check_PROGRAMS): New var, replacing...
72197         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72198
72199 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72200
72201         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72202         `config.h'.
72203
72204 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72205
72206         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72207
72208 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72209
72210         Sync from coreutils.
72211         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72212         gl_CHDIR_SAFER.
72213
72214 2006-02-22  Jim Meyering  <jim@meyering.net>
72215
72216         Sync from coreutils.
72217         * m4/chdir-safer.m4: New file.
72218
72219 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72220
72221         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72222         AT_FDCWD exceeds INT_MAX.
72223         * lib/openat.h (AT_FDCWD): Likewise.
72224
72225 2006-02-17  Eric Blake  <address@hidden>
72226
72227         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72228
72229 2006-02-16  Simon Josefsson  <jas@extundo.com>
72230
72231         * modules/getaddrinfo (Depends-on): Add sys_socket.
72232
72233 2006-02-15  Simon Josefsson  <jas@extundo.com>
72234
72235         * build-aux/maint.mk: Add dsyntax-check rule.
72236
72237 2006-02-15  Eric Blake  <ebb9@byu.net>
72238
72239         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72240         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72241         'present but cannot compile' warnings on cygwin.
72242         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72243         use ws2tcpip.h if sys/socket.h works.
72244         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72245         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72246
72247 2006-02-14  Simon Josefsson  <jas@extundo.com>
72248
72249         * modules/maintainer-makefile (Files): Rename.
72250
72251         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72252         and (the local) Makefile.cfg to maint-cfg.mk.
72253
72254         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72255         to the latter.
72256
72257         * modules/maintainer-makefile: New module.
72258
72259         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72260         severaly stripped to make it possible to build it up from scratch
72261         with reliable tests.
72262
72263         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72264         fixes to permit overriding the default actions when configure and
72265         makefile are not available.
72266
72267 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72268
72269         Sync from coreutils.
72270         * modules/lstat (Depends-on): Don't depend on xalloc.
72271         (License): Change from GPL to LGPL, since this is now simply a
72272         replacement for a libc function.
72273
72274 2006-02-14  Jim Meyering  <jim@meyering.net>
72275
72276         Sync from coreutils.
72277
72278         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72279         failure on deficient systems, and simplify gnulib lgpl dependencies.
72280         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72281         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72282
72283         * lib/xalloc-die.c: Remove unused definition of N_.
72284
72285 2006-02-14  Jim Meyering  <jim@meyering.net>
72286
72287         Sync from coreutils.
72288         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72289         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72290         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72291         double-quote uses of that variable, to accommodate the rare case in
72292         which getmntent is available in none of the libraries checked.  This
72293         happens at least on FreeBSD 5.0.
72294
72295 2006-02-13  Simon Josefsson  <jas@extundo.com>
72296
72297         * gnulib-tool (Usage): Fix --import, from
72298         karl@freefriends.org (Karl Berry).
72299
72300 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72301
72302         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72303
72304 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72305
72306         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72307         "autoupdate" on 2005-12-12.
72308
72309 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72310
72311         * modules/closeout (Depends-on): Remove atexit.
72312
72313 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72314
72315         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72316         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72317
72318 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72319
72320         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72321         __EXTENSIONS__ if this causes compilation to fail.  Problem
72322         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72323         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72324
72325 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72326
72327         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72328         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72329         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72330         All uses changed.
72331
72332 2006-01-26  Simon Josefsson  <jas@extundo.com>
72333
72334         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72335         prototype is visible on mingw32.
72336
72337         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72338         for mingw32.
72339
72340         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72341         mingw32).
72342
72343 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72344
72345         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72346         attempt to open for write; this always fails, at least on POSIX
72347         hosts.  This reinstates the 2006-01-09 change, which was
72348         inadvertently removed.
72349
72350 2006-01-26  Bruno Haible  <bruno@clisp.org>
72351
72352         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72353         Reported by Paul Eggert.
72354
72355 2006-01-26  Bruno Haible  <bruno@clisp.org>
72356             Paul Eggert  <eggert@cs.ucla.edu>
72357
72358         * lib/stdbool_.h (_Bool)
72359         [(! (defined __cplusplus || defined __BEOS__)
72360           && !defined __GNUC__
72361           && !(defined __HP_cc || defined __xlc__
72362                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72363                || defined __sgi))]:
72364         #define to signed char in these cases too; this simplifies
72365         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72366         etc., separately) and makes it more conservative.
72367
72368 2006-01-25  Simon Josefsson  <jas@extundo.com>
72369
72370         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72371         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72372         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72373
72374 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72375
72376         * lib/argp-namefrob.h: Bugfix. Remove stray #
72377
72378 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72379
72380         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72381         so that we test the test.
72382         Check for yet another HP-UX cc bug involving *bool |= bool.
72383
72384 2006-01-25  Karl Berry  <karl@gnu.org>
72385
72386         * config/srclist.txt (vasnprintf.c): sync lost.
72387
72388 2006-01-25  Jim Meyering  <jim@meyering.net>
72389
72390         Sync from the stable (b5) branch of coreutils:
72391
72392         * lib/fts.c (fts_children): Don't let close() clobber errno from
72393         failed fchdir().
72394
72395         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72396         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72397         a dangling symlink.  That can also happen at least for ELOOP.
72398         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72399         FYI, this bug predates the inclusion of fts.c in coreutils.
72400
72401         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72402         in their own block, so pre-c99 compilers don't object.
72403
72404         Avoid the double-free (first in fts_read, second in fts_close) that
72405         would occur when an `active' directory is made inaccessible (e.g.,
72406         via chmod a-x) during a traversal.
72407         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72408         before returning.  Reproduce this failure by
72409         mkdir -p a/b; cd a; chmod a-x . b
72410         Reported by Stavros Passas.
72411
72412 2006-01-25  Jim Meyering  <jim@meyering.net>
72413
72414         * lib/fileblocks.c: Remove more useless parentheses.
72415         * lib/readutmp.h: Likewise.
72416
72417 2006-01-25  Bruno Haible  <bruno@clisp.org>
72418
72419         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72420         warnings.
72421         Reported by Paul Eggert.
72422
72423 2006-01-25  Bruno Haible  <bruno@clisp.org>
72424
72425         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72426         rid of a trap command. For Solaris sh.
72427         Reported by Mark D. Baushke <mdb@gnu.org>.
72428
72429 2006-01-24  Simon Josefsson  <jas@extundo.com>
72430
72431         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72432         Bruno.
72433
72434 2006-01-24  Karl Berry  <karl@gnu.org>
72435
72436         * config/srclist.txt (argp-namefrob.h): sync lost.
72437
72438 2006-01-24  Jim Meyering  <jim@meyering.net>
72439
72440         * modules/openat (Files): Add lib/intprops.h.
72441         From Mark D. Baushke.
72442
72443 2006-01-24  Jim Meyering  <jim@meyering.net>
72444
72445         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72446         Reported by Mark D. Baushke.
72447
72448 2006-01-24  Jim Meyering  <jim@meyering.net>
72449
72450         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72451
72452 2006-01-24  Bruno Haible  <bruno@clisp.org>
72453
72454         * modules/strnlen (Maintainer): Change from glibc to all.
72455
72456 2006-01-24  Bruno Haible  <bruno@clisp.org>
72457
72458         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72459         Patch by Paul Eggert.
72460
72461 2006-01-24  Bruno Haible  <bruno@clisp.org>
72462
72463         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72464         already has it.
72465         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72466         2005-11-26.
72467
72468         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72469         'signed char' to avoid problems with the built-in _Bool type.
72470         Reported by Paul Eggert on 2005-11-26.
72471
72472 2006-01-24  Bruno Haible  <bruno@clisp.org>
72473
72474         * gnulib-tool (func_import): Avoid constructing complicated sed
72475         expressions inside backquote.
72476         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72477
72478 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72479
72480         These changes imported from libc.
72481         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72482         test and two separate function calls.
72483         * lib/strndup.c (__strndup): Add libc_hidden_def.
72484
72485 2006-01-23  Simon Josefsson  <jas@extundo.com>
72486
72487         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72488         Remove the test_*_SOURCES variable: automake infers it by default.
72489         * modules/tls-tests: Likewise.
72490
72491 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72492
72493         Work around porting bugs reported by Dieter in
72494         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72495         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72496         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72497         Include "getopt.h" first, to check interface.
72498         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72499         !HAVE_DECL_GETENV.
72500         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72501         (__strndup): Revert to K&R-style function dfns, the glibc style.
72502         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72503         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72504         Include strnlen.h first, to get prototype properly.
72505         (strnlen): Renamed from __strnlen.
72506         Remove weak alias.
72507
72508 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72509
72510         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72511
72512 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72513
72514         * config/srclist.txt: Adjust to reflect glibc reorganization.
72515         This affects only comments.
72516
72517 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72518
72519          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72520          Reported by Bruce Korb <bkorb@gnu.org>.
72521
72522 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72523
72524         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72525         to pacify gcc -Wswitch-default.
72526
72527 2006-01-22  Bruno Haible  <bruno@clisp.org>
72528
72529         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72530         temporary buffer for sprintf, take into account the precision also
72531         for 'd', 'i', 'u', 'o', 'x', 'X'.
72532
72533 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72534
72535         * modules/argp-tests: New module
72536         * tests/test-argp.c: New file
72537         * tests/test-argp-2.sh: New file
72538
72539 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72540
72541         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72542         (__argp_base_name): Removed
72543         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72544         typo.
72545         (__argp_base_name): Provide macro definition or extern declaration
72546         depending on the configuration
72547
72548 2006-01-20  Simon Josefsson  <jas@extundo.com>
72549
72550         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72551
72552 2006-01-20  Simon Josefsson  <jas@extundo.com>
72553
72554         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72555
72556 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72557
72558         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72559         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72560         Suggested by Bruno Haible.
72561
72562 2006-01-20  Karl Berry  <karl@gnu.org>
72563
72564         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72565         until changes propagate, I guess.
72566
72567 2006-01-19  Simon Josefsson  <jas@extundo.com>
72568
72569         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72570
72571 2006-01-19  Simon Josefsson  <jas@extundo.com>
72572
72573         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72574
72575 2006-01-19  Simon Josefsson  <jas@extundo.com>
72576
72577         * gnulib-tool: Set check_PROGRAMS.
72578
72579         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72580         modules/des-tests, modules/gc-arcfour-tests,
72581         modules/gc-arctwo-tests, modules/gc-des-tests,
72582         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72583         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72584         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72585         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72586         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72587         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72588         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72589         test_*_SOURCES.
72590
72591 2006-01-18  Simon Josefsson  <jas@extundo.com>
72592
72593         * modules/socklen (Depends-on): Depend on sys_socket.
72594
72595 2006-01-18  Simon Josefsson  <jas@extundo.com>
72596
72597         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72598         modules/des-tests, modules/gc-arcfour-tests,
72599         modules/gc-arctwo-tests, modules/gc-des-tests,
72600         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72601         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72602         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72603         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72604         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72605         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72606         $(EXEEXT) to automake TESTS variable, for mingw32.
72607
72608 2006-01-17  Simon Josefsson  <jas@extundo.com>
72609
72610         * modules/socklen (Include): Need sys/socket.h.
72611
72612 2006-01-17  Bruno Haible  <bruno@clisp.org>
72613
72614         * modules/ssize_t (Include): Add <sys/types.h>.
72615
72616 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72617
72618         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72619         it's not portable and it doesn't work with cross-compiles.
72620         Problem reported by Bruno Haible.  Fix missing-$ typo in
72621         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72622         -zignore from being used with Sun's C compiler.
72623
72624 2006-01-12  Simon Josefsson  <jas@extundo.com>
72625
72626         * lib/base64.c: Fix warning, reported by Bruno Haible
72627         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72628
72629 2006-01-12  Bruno Haible  <bruno@clisp.org>
72630
72631         * modules/ldd: New file.
72632         * build-aux/ldd.sh.in: New file.
72633         * MODULES.html.sh (Support for building libraries and executables): Add
72634         ldd.
72635
72636 2006-01-12  Bruno Haible  <bruno@clisp.org>
72637
72638         * m4/ldd.m4: New file.
72639
72640 2006-01-12  Bruno Haible  <bruno@clisp.org>
72641
72642         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72643         endless loop while replacing $auxdir with build-aux.
72644
72645 2006-01-11  Simon Josefsson  <jas@extundo.com>
72646
72647         * lib/stdint_.h (SIZE_MAX): Add missing (.
72648
72649 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72650
72651         Sync from coreutils.
72652         * lib/md5.c: Fix commentary typos.
72653         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72654         * lib/md5.h (__attribute__): Remove; unused.
72655         * lib/sha1.c: Fix commentary to match md5 better.
72656         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72657         so that we don't need to worry about alignment.  All uses changed.
72658         This merges the 2005-10-28 md5 change into sha1.
72659
72660 2006-01-11  Jim Meyering  <jim@meyering.net>
72661
72662         Sync from coreutils.
72663         * lib/md5.c (OP): Fix spacing.
72664
72665 2006-01-11  Bruno Haible  <bruno@clisp.org>
72666
72667         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72668         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72669         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72670
72671 2006-01-11  Bruno Haible  <bruno@clisp.org>
72672
72673         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72674         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72675         the "early" section as well.
72676
72677 2006-01-11  Bruno Haible  <bruno@clisp.org>
72678
72679         Avoid "ar: no archive members specified" error on MacOS X.
72680         * gnulib-tool (func_modules_add_dummy): New function.
72681         (func_import, func_create_testdir): Invoke it.
72682
72683 2006-01-11  Bruno Haible  <bruno@clisp.org>
72684
72685         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72686         with $auxdir in AC_CONFIG_FILES statements.
72687
72688 2006-01-11  Bruno Haible  <bruno@clisp.org>
72689
72690         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72691         Initialize also noinst_HEADERS to empty.
72692
72693 2006-01-11  Bruno Haible  <bruno@clisp.org>
72694
72695         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72696         variables.
72697         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72698         autoreconf.
72699
72700 2006-01-11  Bruno Haible  <bruno@clisp.org>
72701
72702         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72703         overridable by the user.
72704         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72705
72706 2006-01-10  Simon Josefsson  <jas@extundo.com>
72707
72708         * modules/sys_socket: New file.
72709
72710 2006-01-10  Simon Josefsson  <jas@extundo.com>
72711
72712         * m4/sys_socket_h.m4: New file.
72713
72714 2006-01-10  Simon Josefsson  <jas@extundo.com>
72715
72716         * lib/socket_.h: New file.
72717
72718 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72719
72720         * modules/readutmp (Maintainer): Add myself.
72721
72722 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72723
72724         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72725         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72726         People who are still concerned with buggy memcmp implementations
72727         can invoke gl_FUNC_MEMCMP themselves.
72728
72729 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         * lib/regex_internal.h (BITSET_WORD_BITS):
72732         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72733         preprocessor mishandles large unsigned values as if they were signed.
72734         Problem reported by Claudio Fontana in
72735         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72736
72737 2006-01-10  Jim Meyering  <jim@meyering.net>
72738
72739         Avoid the double-free (first in fts_read, second in fts_close) that
72740         would occur when an `active' directory is made inaccessible (e.g.,
72741         via chmod a-x) during a traversal.
72742         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72743         before returning.  Reproduce this failure by
72744         mkdir -p a/b; cd a; chmod a-x . b
72745         Reported by Stavros Passas.
72746
72747         Sync from coreutils.
72748         * lib/sha1.c: Tweak grammar in a comment.
72749
72750 2006-01-10  Jim Meyering  <jim@meyering.net>
72751
72752         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72753         Patch by Joerg Sonnenberger.
72754
72755 2006-01-10  Bruno Haible  <bruno@clisp.org>
72756
72757         * modules/readutmp: Depend on module free.
72758         * modules/strtok_r: Depend on module restrict.
72759
72760 2006-01-10  Bruno Haible  <bruno@clisp.org>
72761
72762         * modules/gettext (configure.ac): Add an invocation of
72763         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72764
72765 2006-01-10  Bruno Haible  <bruno@clisp.org>
72766
72767         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72768         Reported by Werner Lemberg <wl@gnu.org>.
72769
72770 2006-01-10  Bruno Haible  <bruno@clisp.org>
72771
72772         * lib/localcharset.c: Update from GNU gettext.
72773
72774 2006-01-10  Bruno Haible  <bruno@clisp.org>
72775
72776         * lib/argp.h (__const): Remove macro. Use const instead.
72777         * lib/argp-fmtstream.h (__const): Likewise.
72778         * lib/glob_.h (__const): Remove macro.
72779         * lib/glob-libc.h: Use const instead of __const.
72780
72781 2006-01-10  Bruno Haible  <bruno@clisp.org>
72782
72783         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72784         variable.
72785         Needed to avoid an automake error regarding the 'gettext' module.
72786
72787 2006-01-09  Simon Josefsson  <jas@extundo.com>
72788
72789         * modules/inet_ntop (Depends-on): Add restrict.
72790
72791 2006-01-09  Simon Josefsson  <jas@extundo.com>
72792
72793         * modules/gc-rijndael-tests (License): Put under LGPL.
72794
72795         * modules/gc-des-tests (License): Likewise.
72796
72797         * modules/gc-arcfour-tests (License): Likewise.
72798
72799         * modules/gc-arctwo-tests (License): Likewise.
72800
72801         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72802
72803         * modules/gc-hmac-sha1-tests (Files): Likewise.
72804
72805         * modules/gc-hmac-md5-tests (License): Likewise.
72806
72807         * modules/gc-sha1-tests (License): Likewise.
72808
72809         * modules/gc-md5-tests (License): Likewise.
72810
72811         * modules/gc-md4-tests (License): Likewise.
72812
72813         * modules/gc-md2-tests (License): Likewise.
72814
72815         * modules/gc-tests (License): Likewise.
72816
72817         * modules/des-tests (License): Likewise.
72818
72819         * modules/md4-tests (License): Likewise.
72820
72821         * modules/md2-tests (License): Likewise.
72822
72823 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72824
72825         Sync from coreutils:
72826
72827         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72828         * modules/lib-ignore: New file.
72829         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72830         chdir-safer.m4, lchmod.m4.
72831         * modules/openat: Add mkdirat.c, openat-priv.h.
72832
72833 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72834
72835         Sync from coreutils.
72836         * m4/lib-ignore.m4: New file.
72837         * m4/lchmod.m4: New file.
72838
72839 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72840
72841         Sync from coreutils.
72842         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72843         for write access: POSIX says that must fail.
72844         * lib/fts.c (diropen): Likewise.
72845         * lib/save-cwd.c (save_cwd): Likewise.
72846         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72847         well, for minor improvements on hosts that lack O_DIRECTORY.
72848         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72849         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72850         Fall back on chown if open failed with EACCES.
72851
72852         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72853         Report an error at compile-time if only a 1-second nominal clock
72854         resolution is found.
72855
72856         * lib/lchmod.h: New file.
72857         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72858         (make_dir_parents): Use lchown rather than chown, and
72859         lchmod rather than chmod.
72860
72861         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72862         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72863         "proc" reported by n0dalus.
72864
72865         * lib/mountlist.c: Include <limits.h>.
72866         (dev_from_mount_options)
72867         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72868         New function.  It no longer assumes "dev=" has the System V meaning
72869         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72870         (read_file_system_list)
72871         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72872         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72873         dev= in that case.
72874
72875         * lib/posixtm.h (PDS_PRE_2000): New macro.
72876         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72877         allow_century.  All usages changed.  Reject dates outside the range
72878         1969-1999 if PDS_PRE_2000 is used.
72879
72880 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72881
72882         Sync from coreutils.
72883         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72884         (Time of day items): Mention the possibility of leap seconds.
72885         Problem reported by Dr. David Alan Gilbert.
72886
72887 2006-01-09  Jim Meyering  <jim@meyering.net>
72888
72889         Sync from coreutils.
72890
72891         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72892
72893         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72894
72895         * lib/modechange.c (mode_compile): Reject an invalid mode string
72896         that starts with an octal digit.  From Andreas Gruenbacher.
72897
72898         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72899         and dup to open_safer and dup_safer, respectively.
72900         (openat_permissive): Fix typo in comment.
72901
72902         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72903         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72904         (_): Remove; no longer needed.
72905         (openat): Renamed from rpl_openat; no need for rpl_openat
72906         since openat.h renames openat for us.
72907         Replace most of the body with a call to openat_permissive,
72908         to avoid duplicate code.
72909         Port to (probably hypothetical) environments were mode_t is
72910         wider than int.
72911         (openat_permissive): Require mode arg, so that we can check
72912         types better.  Put it just after flags.  Change cwd failure
72913         indicator from pointer-to-bool to pointer-to-errno-value.
72914         All callers changed.
72915         Invoke openat_save_fail and/or openat_restore_fail if
72916         cwd_errno is null, so that openat can call us.
72917         (openat_permissive, fdopendir, fstatat, unlinkat):
72918         Simplify errno handling to avoid some duplicate code,
72919         as it's OK to set errno on success.
72920         * lib/openat.h: Revamp code so that function macros depend on
72921         __OPENAT_PREFIX only, not also on AT_FDCWD.
72922         (openat_ro): Remove.  Caller changed to use openat_permissive.
72923         (openat_permissive): Now a macro, if not a function.
72924         (openat_restore_fail, openat_save_fail): Now always functions,
72925         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72926
72927         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72928         and openat.c.
72929         * lib/mkdirat.c: Include openat-priv.h.
72930         Remove definitions of macros defined therein.
72931         * lib/openat.c: Likewise.
72932
72933         * lib/mkdirat.c (mkdirat): New file and function.
72934         * lib/openat.h (mkdirat): Declare.
72935
72936         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72937
72938         * lib/openat.h (openat_permissive): Declare.
72939         (openat_ro): Define.
72940
72941         * lib/openat.c (EXPECTED_ERRNO): New macro.
72942         (openat_permissive): New function -- used in remove.c rewrite.
72943         (all functions): Set errno just before returning, only if there
72944         was an actual failure.
72945         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72946
72947         Emulate openat-family functions using Linux's procfs, if possible.
72948         Idea and some code based on Ulrich Drepper's glibc changes.
72949
72950         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72951         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72952         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72953         before falling back on save_cwd and restore_cwd.
72954         (fdopendir, fstatat, unlinkat): Likewise.
72955
72956         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72957         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72958
72959         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72960         as second argument to va_arg.  Otherwise, some versions of gcc
72961         warn that `if this code is reached, the program will abort'.
72962
72963 2006-01-09  Jim Meyering  <jim@meyering.net>
72964
72965         Sync from coreutils.
72966         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72967         Require openat-priv.h.
72968
72969 2006-01-09  Bruno Haible  <bruno@clisp.org>
72970
72971         * modules/strnlen (Include): Use strnlen.h.
72972
72973 2006-01-09  Bruno Haible  <bruno@clisp.org>
72974
72975         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72976
72977 2006-01-09  Bruno Haible  <bruno@clisp.org>
72978
72979         * lib/sysexit_.h (EX_OK): New macro.
72980         Suggested by Martin Lambers <marlam@marlam.de>.
72981
72982 2006-01-09  Bruno Haible  <bruno@clisp.org>
72983
72984         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72985         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72986
72987 2006-01-09  Bruno Haible  <bruno@clisp.org>
72988
72989         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72990         numbers.
72991
72992 2006-01-09  Bruno Haible  <bruno@clisp.org>
72993
72994         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72995         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72996         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72997         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72998
72999 2006-01-09  Bruno Haible  <bruno@clisp.org>
73000
73001         * build-aux/javacomp.sh.in: New file, moved from lib/.
73002         * modules/javacomp-script (Files): Update.
73003         (configure.ac): Add AC_CONFIG_FILES invocation.
73004         (EXTRA_DIST): Remove variable.
73005
73006         * build-aux/javaexec.sh.in: New file, moved from lib/.
73007         * modules/javaexec (Files): Update.
73008         (configure.ac): Add AC_CONFIG_FILES invocation.
73009         (EXTRA_DIST): Remove javaexec.sh.in.
73010
73011         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
73012         * modules/csharpcomp-script (Files): Update.
73013         (configure.ac): Add AC_CONFIG_FILES invocation.
73014         (EXTRA_DIST): Remove variable.
73015
73016         * build-aux/csharpexec.sh.in: New file, moved from lib/.
73017         * modules/csharpexec (Files): Update.
73018         (configure.ac): Add AC_CONFIG_FILES invocation.
73019         (EXTRA_DIST): Remove csharpexec.sh.in.
73020
73021 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73022
73023         Sync from coreutils.
73024
73025         Add POSIX ACL support
73026         * lib/acl.h (copy_acl, set_acl): Add declarations.
73027         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
73028         systems other than Linux.
73029         (chmod_or_fchmod): New function: use fchmod when possible,
73030         and chmod otherwise.
73031         (file_has_acl): Add a POSIX ACL implementation, with a
73032         Linux-specific subcase.
73033         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
73034         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
73035         acls are unsupported.
73036         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
73037         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
73038         are unsupported.
73039
73040 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
73041
73042         Sync from coreutils.
73043         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
73044
73045 2006-01-07  Bruno Haible  <bruno@clisp.org>
73046
73047         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
73048         gl_EARLY.
73049
73050 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73051
73052         * lib/strftime.c (tzname): Don't declare if it is already #defined.
73053         Problem reported for Mingw by Mark Junker.
73054
73055 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73056
73057         * README: Gnulib normally doesn't generate a tarball.
73058
73059 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
73060
73061         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
73062         long int, not int, for nanosecond counts, so that people who are
73063         used to POSIX struct timespec won't be surprised.  Reported by Jim
73064         Meyering.
73065
73066 2005-12-28  Bruno Haible  <bruno@clisp.org>
73067
73068         * build-aux/config.rpath: Update from GNU gettext.
73069
73070 2005-12-16  Jim Meyering  <jim@meyering.net>
73071
73072         * modules/fprintftime: New module.
73073         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
73074
73075 2005-12-16  Jim Meyering  <jim@meyering.net>
73076
73077         * m4/fprintftime.m4: New file.
73078
73079 2005-12-16  Jim Meyering  <jim@meyering.net>
73080
73081         * lib/fprintftime.c, lib/fprintftime.h: New files.
73082
73083 2005-12-15  Simon Josefsson  <jas@extundo.com>
73084
73085         * modules/socklen (configure.ac): Fix M4 macro name, to align with
73086         new m4/socklen.m4.
73087
73088 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73089
73090         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
73091         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
73092
73093 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73094
73095         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
73096         * lib/argp-help.c (fill_in_uparams): Check if the constructed
73097         struct uparams is valid. Fall back to the default values if it is
73098         not.
73099
73100 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73101
73102         * modules/argp (Files): Add argp-pin.c
73103         (Depends-on): dirname
73104         (lib_SOURCES): Add argp-pin.c
73105
73106 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73107
73108         * m4/argp.m4:  Check if program_invocation_name and
73109         program_invocation_short_name are declared and define appropriate
73110         macros if they are not.
73111
73112 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73113
73114         * lib/argp-help.c (__argp_base_name): New function
73115         (__argp_short_program_name): Rewrite using __argp_base_name
73116         * lib/argp-namefrob.h: Define program_invocation_name and
73117         program_invocation_short_name if requested
73118         (__argp_base_name): Add prototype
73119         * lib/argp-parse.c (argp_def): Use gettext wrappers
73120         (argp_default_parser): Use __argp_base_name
73121         * lib/argp-pin.c: New file. Defines program_invocation_name and
73122         program_invocation_short_name on systems that lack them.
73123
73124 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73125
73126         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
73127         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73128         porting problem reported by Georg Schwarz in
73129         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73130
73131 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73132
73133         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
73134         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
73135         porting problem reported by Georg Schwarz in
73136         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
73137
73138 2005-12-05  Bruno Haible  <bruno@clisp.org>
73139
73140         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
73141         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
73142         Reported by Mark Junker <mjscod@gmx.de>.
73143
73144 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
73145
73146         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
73147         Use implementation from Albert Chin, with some
73148         comments/corrections by Stepan Kasal and myself.
73149
73150 2005-12-02  Bruno Haible  <bruno@clisp.org>
73151
73152         * gnulib-tool (func_import): Accept GPLed build tool modules when
73153         --lgpl is given.
73154         * modules/csharpcomp-script: New file.
73155         * modules/csharpcomp: Depend on it.
73156         * modules/javacomp-script: New file.
73157         * modules/javacomp: Depend on it.
73158         Suggested by Simon Josefsson.
73159
73160 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
73161
73162         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
73163         statement, to work around an HP-UX 10.20 compiler bug reported by
73164         Peter O'Gorman.
73165
73166 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73167
73168         * modules/savedir (Depends-on): Add openat.
73169
73170 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73171
73172         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73173         (uintmax_t) [defined uintmax_t]: Do not declare.
73174         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73175         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73176         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73177         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73178         sake of portability to weird hosts that C allows (though we don't
73179         know of any practical examples).
73180
73181         * lib/savedir.h (fdsavedir): New decl.
73182         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73183         contains most of the former guts of savedir.
73184         (savedir): Use savedirstream.
73185         Include "openat.h".
73186
73187 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73188
73189         * modules/obstack (Files): Add m4/ulonglong.m4.
73190         Problem reported by Davide Angelocola.
73191
73192 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73193
73194         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73195         coreutils no longer futzes with rounding modes.
73196
73197 2005-11-14  Jim Meyering  <jim@meyering.net>
73198
73199         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73200         replacement of mkstemp.
73201
73202 2005-11-10  Simon Josefsson  <jas@extundo.com>
73203
73204         * lib/readline.c: Remove EOL.
73205
73206 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73207
73208         * modules/gethrxtime (Depends-on): Add gettime.
73209
73210 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73211
73212         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73213         or gettimeofday; no longer needed.
73214
73215 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73216
73217         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73218         time business.
73219         (gethrxtime) [! (HAVE_NANOUPTIME
73220         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73221         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73222         our own approximation.
73223
73224 2005-11-08  Eric Blake  <ebb9@byu.net>
73225
73226         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73227
73228 2005-11-08  Eric Blake  <ebb9@byu.net>
73229
73230         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73231
73232 2005-11-04  Bruno Haible  <bruno@clisp.org>
73233
73234         * gnulib-tool: Implement --update mode.
73235
73236 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73237
73238         Fix porting problem reported by Theodoros V. Kalamatianos.
73239         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73240         Don't assume that futimes failing means we must fail.
73241
73242 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73243
73244         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73245         variables to suggest the intended function of the PATH_MAX check.
73246
73247 2005-10-30  Kean Johnston  <jkj@sco.com>
73248
73249         Trivial changes to support SCO systems.
73250         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73251         as PATH_MAX.
73252         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73253         where __ptr is null when no I/O is pending.
73254
73255 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73256
73257         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73258         leave errno alone.  Problem reported by Dmitry V. Levin.
73259
73260 2005-10-28  Simon Josefsson  <jas@extundo.com>
73261
73262         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73263         Test more.
73264
73265         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73266
73267         * modules/md2, modules/md2-tests: New files.
73268
73269 2005-10-28  Simon Josefsson  <jas@extundo.com>
73270
73271         * m4/inet_ntop.m4: More tests.
73272
73273         * m4/gc-md2.m4, md2.m4: New file.
73274
73275 2005-10-28  Simon Josefsson  <jas@extundo.com>
73276
73277         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73278         "restrict" keywords, as per POSIX.  Protect the function
73279         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73280         Don't use K&R prototypes.  Check the sprintf return values.
73281         Re-define EAFNOSUPPORT if not present.  Indent.
73282
73283         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73284         suggested by Bruno Haible <bruno@clisp.org>.
73285
73286         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73287
73288         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73289
73290         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73291         libgcrypt).
73292
73293         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73294
73295         * lib/md2.h, lib/md2.c: New files.
73296
73297 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73298
73299         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73300         errno alone.  Problem reported by Frederic Jolliton.
73301
73302 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73303
73304         * modules/verify (License): Change from GPL to LGPL.  This is a
73305         tiny module and there are apparently near-equivalents that are
73306         under the BSD license.
73307
73308 2005-10-24  Simon Josefsson  <jas@extundo.com>
73309
73310         * modules/sha1: Relicense to LGPL.
73311
73312 2005-10-24  Simon Josefsson  <jas@extundo.com>
73313
73314         * lib/md4.h: Shrink buffer size, now that we changed the type.
73315
73316 2005-10-23  Simon Josefsson  <jas@extundo.com>
73317
73318         * gnulib-tool (func_import): Fix --tests-base.
73319
73320 2005-10-22  Simon Josefsson  <jas@extundo.com>
73321
73322         * modules/arcfour (Depends-on): Need stdint.
73323
73324 2005-10-22  Simon Josefsson  <jas@extundo.com>
73325
73326         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73327         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73328
73329 2005-10-22  Simon Josefsson  <jas@extundo.com>
73330
73331         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73332         suggested by Bruno Haible <bruno@clisp.org>.
73333
73334 2005-10-22  Simon Josefsson  <jas@extundo.com>
73335
73336         * lib/crc.h: Include stddef.h, for size_t.
73337
73338 2005-10-22  Simon Josefsson  <jas@extundo.com>
73339
73340         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73341         arcfour_context struct (simplify test vector testing in GNU
73342         Shishi).
73343
73344 2005-10-21  Simon Josefsson  <jas@extundo.com>
73345
73346         * modules/des, modules/des-tests: New files.
73347
73348         * modules/gc-des, modules/gc-des-tests: New files.
73349
73350         * tests/test-des.c, tests/test-gc-des.c: New file.
73351
73352 2005-10-21  Simon Josefsson  <jas@extundo.com>
73353
73354         * modules/arctwo, modules/arctwo-tests: New files.
73355
73356         * tests/test-arctwo.c: New file.
73357
73358         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73359
73360         * tests/test-gc-arctwo.c: New file.
73361
73362 2005-10-21  Simon Josefsson  <jas@extundo.com>
73363
73364         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73365         Bruno Haible <bruno@clisp.org>.
73366
73367         * m4/gc-des.m4: New file.
73368
73369 2005-10-21  Simon Josefsson  <jas@extundo.com>
73370
73371         * m4/arctwo.m4: New file.
73372
73373         * m4/gc-arctwo.m4: New file.
73374
73375 2005-10-21  Simon Josefsson  <jas@extundo.com>
73376
73377         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73378         block.
73379
73380 2005-10-21  Simon Josefsson  <jas@extundo.com>
73381
73382         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73383         <bruno@clisp.org>.
73384
73385         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73386
73387         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73388         Bruno Haible <bruno@clisp.org>.
73389
73390         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73391         <bruno@clisp.org>.
73392
73393 2005-10-21  Simon Josefsson  <jas@extundo.com>
73394
73395         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73396
73397 2005-10-21  Simon Josefsson  <jas@extundo.com>
73398
73399         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73400
73401 2005-10-21  Simon Josefsson  <jas@extundo.com>
73402
73403         * lib/des.h, lib/des.c: New files.
73404
73405         * lib/gc-gnulib.c: Support DES.c
73406
73407 2005-10-21  Simon Josefsson  <jas@extundo.com>
73408
73409         * lib/arctwo.h, lib/arctwo.c: New files.
73410
73411         * lib/gc-gnulib.c: Support ARCTWO.
73412
73413 2005-10-21  Simon Josefsson  <jas@extundo.com>
73414
73415         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73416         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73417
73418 2005-10-21  Simon Josefsson  <jas@extundo.com>
73419
73420         * gnulib-tool (func_import, func_create_testdir): Define automake
73421         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73422         Makefile.am snippet),
73423         suggested by Bruno Haible <bruno@clisp.org>.
73424
73425         * modules/gc (Makefile.am): Use it.
73426
73427 2005-10-21  Bruno Haible  <bruno@clisp.org>
73428
73429         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73430         patch.
73431
73432 2005-10-19  Simon Josefsson  <jas@extundo.com>
73433
73434         * tests/test-gc-rijndael.c: New file.
73435
73436         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73437
73438 2005-10-19  Simon Josefsson  <jas@extundo.com>
73439
73440         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73441         interface too.
73442
73443 2005-10-19  Simon Josefsson  <jas@extundo.com>
73444
73445         * tests/test-gc-arcfour.c: New file.
73446
73447         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73448
73449 2005-10-19  Simon Josefsson  <jas@extundo.com>
73450
73451         * modules/gc-md4, modules/gc-md4-tests: New file.
73452
73453         * tests/test-gc-md4.c: New file.
73454
73455 2005-10-19  Simon Josefsson  <jas@extundo.com>
73456
73457         * m4/gc-md4.m4: New file.
73458
73459 2005-10-19  Simon Josefsson  <jas@extundo.com>
73460
73461         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73462         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73463         <kasal@ucw.cz>.
73464
73465 2005-10-19  Simon Josefsson  <jas@extundo.com>
73466
73467         * m4/gc-arcfour.m4: New file.
73468
73469         * m4/gc-rijndael.m4: New file.
73470
73471 2005-10-19  Simon Josefsson  <jas@extundo.com>
73472
73473         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73474
73475 2005-10-19  Simon Josefsson  <jas@extundo.com>
73476
73477         * lib/gc-gnulib.c: Support ARCFOUR.
73478
73479 2005-10-19  Simon Josefsson  <jas@extundo.com>
73480
73481         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73482         support.
73483
73484         * lib/gc.h: Add ECB enum type.
73485
73486         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73487
73488 2005-10-18  Simon Josefsson  <jas@extundo.com>
73489
73490         * tests/test-md5.c: New file.
73491
73492         * modules/md5-tests: New file.
73493
73494 2005-10-18  Simon Josefsson  <jas@extundo.com>
73495
73496         * tests/test-md4.c: New file.
73497
73498         * modules/md4, modules/md4-tests: New files.
73499
73500 2005-10-18  Simon Josefsson  <jas@extundo.com>
73501
73502         * m4/md4.m4: New file.
73503
73504 2005-10-18  Simon Josefsson  <jas@extundo.com>
73505
73506         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73507
73508 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73509
73510         * gnulib-tool (func_create_testdir): Omit the second check whether
73511         BUILT_SOURCES in nonempty.
73512
73513 2005-10-17  Simon Josefsson  <jas@extundo.com>
73514
73515         * tests/test-rijndael.c: New file.
73516
73517 2005-10-17  Simon Josefsson  <jas@extundo.com>
73518
73519         * modules/sha1: Depend on stdint instead of md5.
73520
73521         * modules/md5: Depend on stdint, remove uint32_t.
73522
73523 2005-10-17  Simon Josefsson  <jas@extundo.com>
73524
73525         * modules/gc-sha1-tests: New file.
73526
73527         * tests/test-gc-sha1.c: New file.
73528
73529 2005-10-17  Simon Josefsson  <jas@extundo.com>
73530
73531         * m4/md5.m4: Remove call to uint32_t.m4.
73532
73533 2005-10-17  Simon Josefsson  <jas@extundo.com>
73534
73535         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73536
73537         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73538         md5.h.
73539
73540         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73541
73542         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73543
73544 2005-10-17  Simon Josefsson  <jas@extundo.com>
73545
73546         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73547
73548 2005-10-17  Simon Josefsson  <jas@extundo.com>
73549
73550         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73551
73552 2005-10-17  Simon Josefsson  <jas@extundo.com>
73553
73554         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73555
73556         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73557
73558 2005-10-17  Bruno Haible  <bruno@clisp.org>
73559
73560         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73561         that it can also be used in a test.
73562
73563 2005-10-16  Bruno Haible  <bruno@clisp.org>
73564
73565         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73566         TESTS_ENVIRONMENT, so that individual tests can augment it.
73567
73568         * gnulib-tool (func_create_testdir): Use an intermediate target for
73569         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73570         macros, like $(ALLOCA_H), which cannot be passed through the command
73571         line.
73572
73573 2005-10-15  Simon Josefsson  <jas@extundo.com>
73574
73575         * modules/rijndael-tests: New file.
73576
73577         * modules/rijndael: New file.
73578
73579 2005-10-15  Simon Josefsson  <jas@extundo.com>
73580
73581         * m4/rijndael.m4: New file.
73582
73583 2005-10-15  Simon Josefsson  <jas@extundo.com>
73584
73585         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73586
73587         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73588
73589 2005-10-14  Simon Josefsson  <jas@extundo.com>
73590
73591         * tests/test-arcfour.c: New file.
73592
73593         * modules/arcfour, modules/arcfour-tests: New files.
73594
73595 2005-10-14  Simon Josefsson  <jas@extundo.com>
73596
73597         * m4/arcfour.m4: New file.
73598
73599 2005-10-14  Simon Josefsson  <jas@extundo.com>
73600
73601         * lib/arcfour.h, lib/arcfour.c: New files.
73602
73603 2005-10-14  Roland McGrath  <roland@redhat.com>
73604
73605         Import from libc.  [BZ #1331]
73606         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73607         macro argument.
73608         Reported by Matej Vela <vela@debian.org>.
73609
73610 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73611
73612         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73613         include <wchar.h>; no longer needed.
73614
73615 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73616
73617         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73618
73619 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73620         and  Ulrich Drepper  <drepper@redhat.com>
73621
73622         Import from libc.
73623         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73624         instead of inline stream orientation test and two separate
73625         function calls.  Pay no attention to USE_IN_LIBIO.
73626
73627 2005-10-13  Simon Josefsson  <jas@extundo.com>
73628
73629         * modules/gc-hmac-md5-tests: New file.
73630
73631         * tests/test-gc-hmac-sha1.c: New file.
73632
73633         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73634
73635         * modules/gc-hmac-md5-tests: New file.
73636
73637         * tests/test-gc-md5.c: New file.
73638
73639         * modules/gc-md5-tests: New file.
73640
73641 2005-10-13  Simon Josefsson  <jas@extundo.com>
73642
73643         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73644         Move memory allocation outside of loop.
73645
73646 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73647
73648         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73649         intermediate directory is in a read-only file system.  Problem
73650         reported by Eric Blake.
73651
73652 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73653
73654         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73655
73656 2005-10-12  Simon Josefsson  <jas@extundo.com>
73657
73658         * tests/test-hmac-sha1.c: New file.
73659
73660         * modules/hmac-sha1-tests: New file.
73661
73662         * modules/hmac-sha1: New file.
73663
73664 2005-10-12  Simon Josefsson  <jas@extundo.com>
73665
73666         * modules/gc-sha1: New file.
73667
73668 2005-10-12  Simon Josefsson  <jas@extundo.com>
73669
73670         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73671
73672         * tests/test-gc-pbkdf2-sha1.c: New file.
73673
73674 2005-10-12  Simon Josefsson  <jas@extundo.com>
73675
73676         * modules/gc-md5, modules/gc-hmac-md5: New files.
73677
73678         * modules/gc (Files): Remove md5, memxor and hmac files.
73679
73680 2005-10-12  Simon Josefsson  <jas@extundo.com>
73681
73682         * m4/gc-pbkdf2-sha1.m4: New file.
73683
73684         * m4/gc-hmac-sha1.m4: New file.
73685
73686         * m4/gc-sha1: New file.
73687
73688         * m4/hmac-sha1.m4: New file.
73689
73690 2005-10-12  Simon Josefsson  <jas@extundo.com>
73691
73692         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73693
73694         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73695
73696 2005-10-12  Simon Josefsson  <jas@extundo.com>
73697
73698         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73699         suggested by Bruno Haible <bruno@clisp.org>.
73700
73701 2005-10-12  Simon Josefsson  <jas@extundo.com>
73702
73703         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73704
73705 2005-10-12  Simon Josefsson  <jas@extundo.com>
73706
73707         * lib/gc-pbkdf2-sha1.c: New file.
73708
73709         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73710
73711 2005-10-12  Simon Josefsson  <jas@extundo.com>
73712
73713         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73714
73715         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73716
73717 2005-10-12  Simon Josefsson  <jas@extundo.com>
73718
73719         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73720         GC_USE_HMAC_MD5, respectively.
73721
73722         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73723         (gc_md5): Fix typo.
73724
73725         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73726
73727         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73728
73729         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73730
73731 2005-10-12  Bruno Haible  <bruno@clisp.org>
73732
73733         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73734         Reported by Stepan Kasal <kasal@ucw.cz>.
73735
73736 2005-10-11  Simon Josefsson  <jas@extundo.com>
73737
73738         * tests/test-crc.c: New file.
73739
73740         * modules/crc, modules/crc-tests: New files.
73741
73742 2005-10-11  Simon Josefsson  <jas@extundo.com>
73743
73744         * m4/crc.m4: New file.
73745
73746 2005-10-11  Simon Josefsson  <jas@extundo.com>
73747
73748         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73749
73750         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73751
73752         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73753
73754 2005-10-11  Simon Josefsson  <jas@extundo.com>
73755
73756         * lib/crc.h, lib/crc.c: New files.
73757
73758         * lib/gc.h (gc_hash_buffer): Add doc.
73759
73760 2005-10-11  Bruno Haible  <bruno@clisp.org>
73761
73762         * modules/c-strcasestr: New file.
73763         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73764
73765 2005-10-11  Bruno Haible  <bruno@clisp.org>
73766
73767         * modules/c-strcase: New file.
73768         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73769
73770 2005-10-11  Bruno Haible  <bruno@clisp.org>
73771
73772         * lib/strcasecmp.c: Include limits.h.
73773         (strcasecmp): Avoid integer overflow on exotic platforms.
73774         * lib/strncasecmp.c: Include limits.h.
73775         (strncasecmp): Avoid integer overflow on exotic platforms.
73776         Reported by Paul Eggert.
73777
73778 2005-10-11  Bruno Haible  <bruno@clisp.org>
73779
73780         * lib/c-strcasestr.h: New file, from GNU gettext.
73781         * lib/c-strcasestr.c: New file, from GNU gettext.
73782
73783 2005-10-11  Bruno Haible  <bruno@clisp.org>
73784
73785         * lib/c-strcase.h: New file, from GNU gettext.
73786         * lib/c-strcasecmp.c: New file, from GNU gettext.
73787         * lib/c-strncasecmp.c: New file, from GNU gettext.
73788
73789 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73790
73791         * modules/mempcpy (License): GPL -> LGPL.
73792         * modules/strchrnul (License): Likewise.
73793         * modules/sysexits (License): Likewise.
73794
73795 2005-10-08  Simon Josefsson  <jas@extundo.com>
73796
73797         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73798
73799 2005-10-07  Simon Josefsson  <jas@extundo.com>
73800
73801         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73802
73803 2005-10-06  Simon Josefsson  <jas@extundo.com>
73804
73805         * tests/test-hmac-md5.c: New file.
73806
73807         * modules/hmac-md5-tests: New file.
73808
73809         * modules/hmac-md5: New file.
73810
73811 2005-10-06  Simon Josefsson  <jas@extundo.com>
73812
73813         * m4/hmac-md5.m4: New file.
73814
73815         * m4/memxor.m4: Require gl_C_RESTRICT.
73816
73817 2005-10-06  Simon Josefsson  <jas@extundo.com>
73818
73819         * lib/memxor.c (memxor): Avoid casts and warnings.
73820
73821 2005-10-06  Simon Josefsson  <jas@extundo.com>
73822
73823         * lib/hmac-md5.c: New file.
73824
73825         * lib/hmac.h: New file.
73826
73827 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73828
73829         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73830         promotes to int, not unsigned int, to catch the AIX 5.3
73831         compiler bug.
73832
73833 2005-10-05  Simon Josefsson  <jas@extundo.com>
73834
73835         * modules/memxor: New file.
73836
73837         * modules/iconv (Files): Move config.rpath to havelib, it is used
73838         there.
73839
73840         * modules/havelib (Files): Add config.rpath.
73841
73842 2005-10-05  Simon Josefsson  <jas@extundo.com>
73843
73844         * m4/memxor.m4: New file.
73845
73846 2005-10-05  Simon Josefsson  <jas@extundo.com>
73847
73848         * lib/memxor.c (memxor): Fix compiler error.
73849
73850         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73851         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73852
73853         * lib/memxor.h, lib/memxor.c: New files.
73854
73855         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73856         we assume all systems have it, suggested by Jim Meyering
73857         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73858         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73859         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73860         same reasons.
73861
73862 2005-10-05  Simon Josefsson  <jas@extundo.com>
73863
73864         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73865
73866 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73867
73868         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73869         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73870         needed, since the source code now assumes these .h files.
73871
73872 2005-10-05  Derek Price  <derek@ximbiot.com>
73873
73874         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73875
73876 2005-10-05  Bruno Haible  <bruno@clisp.org>
73877
73878         * modules/stdint (License): Change to LGPL.
73879
73880 2005-10-04  Simon Josefsson  <jas@extundo.com>
73881
73882         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73883         D. Baushke" <mdb@gnu.org>.
73884
73885 2005-10-04  Bruno Haible  <bruno@clisp.org>
73886
73887         * lib/verify.h (verify_true): Provide alternative definition for C++.
73888
73889 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73890
73891         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73892         (SSIZE_MAX): New macro, if not already defined.
73893         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73894         than 2 GiB.
73895
73896 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73897
73898         Sync from coreutils.
73899         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73900         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73901         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73902         ULLONG_MAX doesn't work with 2.7.2.1.
73903
73904 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73905
73906         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73907         From Ben Pfaff.
73908
73909         * modules/exclude (Depends-on): Depend on verify.
73910         * modules/strtoimax (Depends-on): Likewise.
73911         * modules/utimecmp (Depends-on): Likewise.
73912
73913 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73914
73915         * lib/exclude.c: Include verify.h.
73916         (verify): Remove.  All callers changed to use verify.h's version.
73917         * lib/strtoimax.c: Likewise.
73918         * lib/utimecmp.c: Likewis.e
73919
73920         Sync from coreutils.
73921         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73922         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73923         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73924         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73925         bother returning ENOSYS if settimeofday or stime fails; just let
73926         them return whatever errno they want to return.
73927         * lib/utimens.c: Include unistd.h, for dup2.
73928         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73929         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73930
73931 2005-10-02  Jim Meyering  <jim@meyering.net>
73932
73933         Sync from coreutils.
73934         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73935         from glibc-2.2.5 that fails for read-only files.
73936
73937 2005-10-02  Jim Meyering  <jim@meyering.net>
73938
73939         Sync from coreutils.
73940         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73941         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73942         `#if HAVE_CONFIG_H'.
73943         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73944         Remove AT_FDCWD test.
73945         Do not consume the fd unless successful.
73946         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73947         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73948         block, so that we don't even try to compile it if settimeofday is
73949         available.  This works around a compilation failure on OSF1 V5.1,
73950         due to stime requiring a `long int*' while tv_sec is `int'.
73951
73952 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73953
73954         Sync from coreutils.
73955         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73956         against `yes', rather than just testing for nonempty.
73957
73958 2005-10-01  Simon Josefsson  <jas@extundo.com>
73959
73960         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73961         and Darwin.
73962
73963         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73964         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73965         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73966         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73967         Check if struct addrinfo is declared.
73968
73969 2005-10-01  Simon Josefsson  <jas@extundo.com>
73970
73971         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73972         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73973         AI_* and EAI_* definitions.  Protect function declarations.
73974
73975 2005-10-01  Jim Meyering  <jim@meyering.net>
73976
73977         Sync from coreutils.
73978
73979         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73980         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73981         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73982         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73983         in the inet and nsl libraries.  Required on Solaris 5.7.
73984
73985 2005-10-01  Jim Meyering  <jim@meyering.net>
73986
73987         Sync from coreutils.
73988         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73989         in the inet and nsl libraries.  Required on Solaris 5.7.
73990
73991 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73992
73993         * lib/getdelim.c (getdelim): Remove unused variables.
73994
73995 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73996
73997         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73998         so that the code works even with ancient cpp.  Portability problem
73999         with GCC 2.7.2.1 reported by Thomas M.Ott.
74000
74001 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         * modules/regex (Depends-on): Add strcase.
74004
74005         * modules/gethostname (Licence): Change from GPL to LGPL, since
74006         gethostname.c is a trivial implementation of a standard library
74007         function.
74008         * modules/poll (License): Change from GPL to LGPL, since it's
74009         derived from LGPL code.
74010
74011 2005-09-27  Jim Meyering  <jim@meyering.net>
74012
74013         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
74014         HAVE_CONFIG_H.
74015
74016         * lib/intprops.h (signed_type_or_expr__): Define.
74017         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
74018         for unsigned types.
74019
74020 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74021
74022         * lib/verify.h (verify_expr): Remove, replacing with:
74023         (verify_true): New macro that returns true instead of void.
74024         (verify_type__): Remove.
74025         (verify): Use verify_true rather than verify_type__.
74026
74027 2005-09-26  Bruno Haible  <bruno@clisp.org>
74028
74029         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
74030         is necessary.
74031         (lib_SOURCES): Remove mbchar.c.
74032         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
74033         (Files): Add m4/mbrtowc.m4.
74034         * modules/mbiter: Likewise.
74035         * modules/mbuiter: Likewise.
74036
74037 2005-09-26  Bruno Haible  <bruno@clisp.org>
74038
74039         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
74040         compile mbchar.c if they are not both present.
74041         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
74042         * m4/mbiter.m4 (gl_MBITER): Likewise.
74043         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
74044         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
74045         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
74046
74047 2005-09-25  Jim Meyering  <jim@meyering.net>
74048
74049         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
74050         also uses socklen_t.
74051
74052 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
74053
74054         * lib/utimens.c (ENOSYS): Define if not already defined.
74055         (futimens): Support having a null PATH if the file descriptor
74056         is nonnegative.
74057
74058         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
74059         Remove.
74060         (__attribute): Define to empty unless GCC 3.1 or later.
74061         This works around a core dump on OpenBSD 3.4, which has GCC
74062         2.95.3, which dumps core when given __attribute__(()).  It also
74063         simplifies other tests, since we really don't want to bother with
74064         worrying about which ancient version of GCC supported what.
74065         Original problem reported by Yoann Vandoorselaere, with part of
74066         the fix suggested by Derek Price.
74067
74068 2005-09-24  Jim Meyering  <jim@meyering.net>
74069
74070         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
74071         so we can once again use a positive bitfield width of 1 -- now we
74072         don't have to explain why we were using a bitfield width of 2.
74073
74074 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74075
74076         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
74077         and similarly for the other external symbols.  Problem reported
74078         by James Gallager.
74079
74080         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
74081         bug reported by Jim Meyering.
74082
74083         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
74084         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
74085         not needed, since socklen is a prerequisite module.
74086
74087 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
74088
74089         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
74090         Problem reported by Eric Blake.
74091         (getaddrinfo): Initialize se so that it's not garbage.
74092         Redo internal storage allocation so that it doesn't make unportable
74093         assumptions about alignment.
74094         Fix a memory leak.
74095
74096         * lib/utimens.c (futimens): Use futimesat if available.
74097         Prefer it to futimes since it doesn't have the futimes bug.
74098
74099         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
74100         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
74101         Instead, declare a function that returns a pointer to an array,
74102         and use verify_type__ to declare the size of the array.
74103         Problem and germ of a solution reported by Bruno Haible.
74104         (verify_type__): Use 2, not 1, for bitfield size, to avoid
74105         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
74106
74107 2005-09-23  Jim Meyering  <jim@meyering.net>
74108
74109         Sync from coreutils.
74110         Correct build failure (socklen_t not defined) on at least
74111         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
74112         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
74113
74114 2005-09-23  Jim Meyering  <jim@meyering.net>
74115
74116         * modules/getaddrinfo (Depends-on): Add socklen.
74117
74118 2005-09-23  Bruno Haible  <bruno@clisp.org>
74119
74120         * tests/test-verify.c: New file.
74121
74122 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74123
74124         Sync from coreutils.
74125
74126         * modules/argmatch (Depends-on): Add verify.
74127         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
74128         unistd-safer.
74129         * modules/save-cwd (Depends-on): Likewise.
74130
74131         * modules/openat (Files): Add lib/openat-die.c.
74132         (Depends-on): Remove error, exitfail.
74133         Add dirname.
74134
74135         * modules/verify: New file.
74136         * MODULES.html.sh (Diagnostics <assert.h>): New section,
74137         with "verify" module.
74138
74139 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74140
74141         Sync from coreutils.
74142
74143         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
74144         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
74145         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
74146         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
74147         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
74148         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
74149         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
74150         Don't bother checking for string.h, stdlib.h, unistd.h.
74151         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
74152         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
74153         module's job.
74154         * m4/jm-macros.m4 (gl_MACROS): Likewise.
74155         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
74156
74157         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
74158         (gl_GETDATE): Use it.
74159
74160         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
74161
74162 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74163
74164         Sync from coreutils.
74165
74166         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
74167         stat-time.h.
74168         * lib/argmatch.h: Include verify.h
74169         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74170         (ARGMATCH_ASSERT): Remove; unused.
74171         * lib/canonicalize.c: Assume STDC_HEADERS.
74172         * lib/exclude.c: Include "strcase.h".
74173         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74174         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74175         and stdio-safer.h.
74176         (getusershell): Call fopen, not fopen_safer.
74177         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74178         Do not include unistd-safer.h.
74179         (save_cwd): Don't call fd_safer; no longer needed
74180         now that we include fcntl--.h.
74181
74182         * lib/getdate.y (relative_time): New type.
74183         (RELATIVE_TIME_0): New constant.
74184         (parser_control): Use relative_time instead of doing it ourselves.
74185         (%union): Add new relative_time rel member.
74186         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74187         Now typeless.
74188         (relunit, relunit_snumber): Now of type rel.
74189         (zone, rel, relunit, get_date): Adjust to above changes.
74190
74191         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74192         Do not include unistd-safer.h.
74193         (getloadavg): Don't call fd_safer; no longer needed
74194         now that we include fcntl--.h.
74195
74196         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74197         (make_dir_parents): Treat ENOSYS like EEXIST.
74198
74199         Improve quality of diagnostics on restore_cwd failure.
74200         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74201         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74202         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74203         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74204         each time through the loop.  Do not diagnose restore_cwd failure;
74205         that is the caller's job (and perhaps the caller does not care).
74206
74207         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74208         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74209         If the file already exists but is not a directory, don't bother
74210         to try to make its parents.
74211         Close potential file descriptor leak if we can't chdir("/") (!).
74212         Don't always return true if chdir($PWD) fails; return true only
74213         if the requested action was done successfully (except for the
74214         chdir($PWD)).
74215         Don't log final directory unless we actually made it.
74216         Refactor to avoid duplicate code to fix up permissions.
74217         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74218
74219         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74220         to make it a bit faster and (I hope) clearer.
74221         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74222         Fix bug in formats like %2N.
74223
74224         * lib/verify.h: New file.
74225
74226 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74227
74228         Sync from coreutils.
74229         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74230
74231 2005-09-22  Jim Meyering  <jim@meyering.net>
74232
74233         Sync from coreutils.
74234
74235         * m4/lstat.m4 (gl_FUNC_LSTAT):
74236         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74237         Remove obsolete comment.
74238         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74239         * m4/xstrtod.m4: Likewise.
74240
74241         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74242
74243 2005-09-22  Jim Meyering  <jim@meyering.net>
74244
74245         Sync from coreutils.
74246
74247         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74248
74249         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74250         the .tm_year member, since otherwise gcc-4.0 would now warn about
74251         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74252
74253         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74254         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74255
74256         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74257         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74258         when run in a time zone for which daylight savings time is in effect
74259         for the starting date.
74260
74261         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74262         stop us from restricting permissions of just-created absolute-named
74263         directories.
74264         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74265         to restore initial working directory.
74266         * lib/mkdir-p.c (make_dir_parents): New parameter:
74267         different_working_dir, to tell caller if/when we change the working
74268         directory and are unable to return to the initial one.
74269         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74270         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74271         `return false'.  This fixes a bug introduced on 2004-07-30.
74272
74273         * lib/openat.c (fdopendir): Be sure to close the supplied
74274         file descriptor before returning.  This makes our replacement
74275         implementation a little closer to Solaris's, where fdopendir
74276         ties the file descriptor to the returned DIR* pointer.
74277         * lib/openat.c (unlinkat): New function.
74278         * lib/openat.h (unlinkat): Add prototype.
74279         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74280         (openat_restore_fail): Rename from openat_restore_die.
74281         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74282
74283         Provide an alternative to exiting immediately upon save_cwd or
74284         restore_cwd failure.  Now, an application can arrange e.g.,
74285         to perform a longjump in that case.
74286         * lib/openat.c: Include dirname.h.
74287         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74288         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74289         and openat_restore_die rather than calling error directly.
74290         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74291
74292         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74293         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74294         define.
74295
74296         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74297         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74298                             int utc, int nanoseconds);
74299         Background:
74300         date should not have to allocate a megabyte of virtual memory to
74301         handle a format argument like +%1048575T.  When implemented with
74302         strftime, it must allocate such a buffer, use strftime to fill it
74303         in, print it, then free it.
74304         With fprintftime, it simply prints everything and exits.
74305         With no need for memory allocation, that's one fewer way to fail.
74306         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74307         optional field width, not before, so we accept %9:z, not %:9z.
74308         (my_strftime): Be sure to use L_('x') for literals.
74309
74310         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74311         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74312         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74313         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74314         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74315         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74316         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74317         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74318         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74319         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74320         * lib/xgethostname.c, lib/xreadlink.c:
74321         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74322
74323         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74324         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74325         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74326         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74327         and don't include <sys/file.h>).
74328
74329 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74330
74331         Sync from coreutils.
74332
74333         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74334         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74335         [!LDAV_DONE]: Avoid unused variable warning.
74336
74337 2005-09-21  Bruno Haible  <bruno@clisp.org>
74338
74339         * lib/unicodeio.h (unicode_to_mb): New declaration.
74340
74341 2005-09-20  Derek Price  <derek@ximbiot.com>
74342
74343         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74344         getaddrinfo.h.
74345
74346 2005-09-20  Bruno Haible  <bruno@clisp.org>
74347
74348         * gnulib-tool: Remove trailing slashes from the values specified for
74349         --source-base, --m4-base, --tests-base, --aux-dir.
74350         Suggested by Simon Josefsson <jas@extundo.com>.
74351
74352 2005-09-20  Bruno Haible  <bruno@clisp.org>
74353
74354         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74355         func_modules_to_filelist, func_import, func_create_testdir): Make all
74356         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74357         change when gnulib-tool is invoked in a different locale.
74358
74359 2005-09-19  Simon Josefsson  <jas@extundo.com>
74360
74361         * m4/socklen.m4: Fix typo.
74362
74363 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74364
74365         Use a consistent style for including <config.h>.
74366         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74367         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74368         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74369         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74370         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74371         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74372         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74373         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74374         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74375         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74376         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74377         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74378         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74379         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74380         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74381         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74382         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74383         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74384         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74385         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74386         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74387         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74388         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74389         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74390         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74391         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74392         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74393         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74394         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74395         lib/xstrtoumax.c, lib/yesno.c:
74396         Standardize inclusion of config.h.
74397         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74398         lib/inttostr.h:  Removed inclusion of config.h from header files.
74399         * lib/inttostr.c:  Adjusted in-tree users.
74400         * lib/timespec.h: Remove superfluous warning to include config.h.
74401         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74402         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74403         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74404         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74405         config.h with HAVE_CONFIG_H.
74406
74407 2005-09-19  Jim Meyering  <jim@meyering.net>
74408
74409         * modules/pathmax (License): Change to LGPL.
74410
74411 2005-09-19  Derek Price  <derek@ximbiot.com>
74412
74413         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74414
74415 2005-09-19  Bruno Haible  <bruno@clisp.org>
74416
74417         * gnulib-tool (import): Provide default for --tests-base.
74418
74419 2005-09-19  Bruno Haible  <bruno@clisp.org>
74420
74421         * doc/quote.texi: New file, extracted from gnulib.texi.
74422         * doc/ctime.texi: New file, extracted from gnulib.texi.
74423         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74424         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74425         * doc/gnulib.texi: Include them.
74426
74427 2005-09-18  Bruno Haible  <bruno@clisp.org>
74428
74429         Portability fix.
74430         * gnulib-tool (func_readlink): New function.
74431         (func_ln_if_changed): Use it.
74432
74433 2005-09-18  Bruno Haible  <bruno@clisp.org>
74434
74435         * gnulib-tool: Support --with-tests also with --import.
74436         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74437         (func_import): Use variables $testsbase and $inctests. Emit a
74438         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74439         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74440         SUBDIRS += $testsdir.
74441         (func_create_testdir): Update.
74442
74443 2005-09-18  Bruno Haible  <bruno@clisp.org>
74444
74445         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74446         instead of $dry_run.
74447         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74448         (func_ln_if_changed): Don't handle dry-run here.
74449         (func_import): In dry-run mode, detect more precisely which actions
74450         would be performed, and don't use "...ing" verbs.
74451
74452 2005-09-18  Bruno Haible  <bruno@clisp.org>
74453
74454         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74455         (func_import): Use join on two temporary files instead of three nested
74456         loops, in order to determine which files are new or old.
74457
74458 2005-09-18  Bruno Haible  <bruno@clisp.org>
74459
74460         * gnulib-tool (func_import): Comment out code that spits out the
74461         new files with --dry-run.
74462
74463 2005-09-18  Bruno Haible  <bruno@clisp.org>
74464
74465         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74466
74467 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74468
74469         * lib/stat-time.h: New file.
74470         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74471         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74472         in a different way.
74473         (timespec_cmp): New function.
74474         * lib/utimecmp.c: Include stat-time.h.
74475         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74476         members exist, not on the obsolescent ST_MTIM_NSEC.
74477         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74478
74479 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74480
74481         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74482
74483 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74484
74485         * MODULES.html.sh (File system functions): Add stat-time.
74486         * modules/stat-time: New file.
74487         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74488         is now done in a different way, by the stat-time module.
74489         * modules/utimecmp (Depends-on): Add stat-time.
74490
74491 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74492
74493         * m4/st_mtim.m4: Remove.  Superseded by...
74494         * m4/stat-time.m4: New file.
74495         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74496         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74497
74498 2005-09-15  Derek Price  <derek@ximbiot.com>
74499
74500         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74501
74502 2005-09-15  Derek Price  <derek@ximbiot.com>
74503
74504         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74505         * lib/regex_internal.c: Ditto, using this...
74506         (__GNUC_PREREQ): ...new macro.
74507         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74508         using...
74509         (__GNUC_PREREQ): ...this new macro.
74510
74511         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74512
74513 2005-09-15  Derek Price  <derek@ximbiot.com>
74514             Paul Eggert  <eggert@cs.ucla.edu>
74515
74516         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74517         changes, consolidating in...
74518         * lib/regex_internal.h: ...this file.
74519
74520 2005-09-13  Jim Meyering  <jim@meyering.net>
74521
74522         * lib/canon-host.c: Filter through gnu indent and reword comments
74523         slightly.
74524         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74525
74526 2005-09-13  Derek Price  <derek@ximbiot.com>
74527
74528         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74529         failure.
74530         Reported by Jim Meyering  <jim@meyering.net>.
74531
74532 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74533
74534         * lib/base64.c: Typo.
74535         (base64_encode): Put b64str in initialized data section.
74536
74537 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74538
74539         Merge glibc and coreutils changes into gnulib, plus a few
74540         extra fixes.
74541         * lib/md5.c: Use #error rather than a string.
74542         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74543         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74544         (__attribute__): Define to empty for non recent-GCC.
74545         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74546         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74547         Renamed from their non-__ counterparts, with new macros replacing
74548         them if not _LIBC.  Add __THROW attribute.
74549         (rol): Remove.
74550         (struct md5_ctx): Align buffer if using GCC.
74551         * lib/sha1.h (struct sha1_ctx): Likewise.
74552         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74553         The old name was backwards.
74554         (NOTSWAP): Remove; not used.
74555         (rol): New macro, moved here from md5.h.
74556         (sha1_process_block): Remove a FIXME that doesn't make sense.
74557
74558 2005-09-12  Derek Price  <derek@ximbiot.com>
74559
74560         Return usable errors from canon-host.
74561         * lib/canon-host.h: New file.
74562         * lib/canon-host.c (canon_host): Wrap...
74563         (canon_host_r): ...this new function, which now relies exclusively on
74564         getaddrinfo.
74565         (ch_strerror): New function.
74566         (last_cherror): New global.
74567         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74568         interface.
74569         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74570         void *.
74571         (freeaddrinfo): Free ai->ai_canonname when set.
74572
74573 2005-09-12  Derek Price  <derek@ximbiot.com>
74574
74575         Make canon-host require getaddrinfo.
74576         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74577         AC_LIBSOURCE canon-host.h.  Call...
74578         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74579         gl_GETADDRINFO.
74580         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74581
74582 2005-09-12  Derek Price  <derek@ximbiot.com>
74583
74584         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74585         LGPL.
74586         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74587
74588 2005-09-12  Derek Price  <derek@ximbiot.com>
74589
74590         * lib/gai_strerror.c: Include config.h when available.  Include
74591         getaddrinfo.h before other headers to test interface.
74592         Reported by Larry Jones <lawrence.jones@ugs.com>.
74593
74594 2005-09-12  Derek Price  <derek@ximbiot.com>
74595             Paul Eggert  <eggert@cs.ucla.edu>
74596
74597         * modules/glob (Files): Add glob-libc.h.
74598
74599 2005-09-12  Derek Price  <derek@ximbiot.com>
74600             Paul Eggert  <eggert@cs.ucla.edu>
74601
74602         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74603         glob_.h, glob-libc.h.
74604         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74605
74606 2005-09-12  Derek Price  <derek@ximbiot.com>
74607             Paul Eggert  <eggert@cs.ucla.edu>
74608
74609         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74610         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74611         protecting things that should be done only in gnulib contexts.
74612         * lib/glob_.h: New file, containing only the glob things needed for
74613         gnulib.
74614         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74615         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74616         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74617         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74618         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74619         and to respect the namespace rules better.
74620
74621 2005-09-08  Simon Josefsson  <jas@extundo.com>
74622
74623         * modules/socklen: New file.
74624
74625 2005-09-08  Simon Josefsson  <jas@extundo.com>
74626
74627         * m4/socklen.m4: New file.
74628
74629 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74630
74631         * modules/utimens (Files): Add m4/utimbuf.m4, since
74632         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74633         Reported by Sergey Poznyakoff.
74634
74635 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74636
74637         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74638         definitions, since that's the preferred style in glibc.
74639         Fix a minor spacing issue, and update copyright notice to match
74640         glibc's.
74641
74642 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74643
74644         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74645
74646 2005-09-06  Simon Josefsson  <jas@extundo.com>
74647
74648         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74649         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74650
74651 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74652
74653         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74654         warning.
74655
74656 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74657
74658         * config/srclist.txt: Add glibc bug 1302.
74659
74660 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74661
74662         Change bitset word type from unsigned int to unsigned long int,
74663         as this has better performance on typical 64-bit hosts.
74664         Port bitset code to hosts with unusual word sizes.
74665         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74666         (build_collating_symbol):
74667         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74668         argument is a bitset.  This is merely a style issue, but it makes
74669         it clearer that an entire array is expected.
74670         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74671         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74672         Port to the case where bitset_word is not the same as unsigned int.
74673         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74674         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74675         Likewise.
74676         * lib/regexec.c (check_dst_limits_calc_pos_1,
74677         check_subexp_matching_top):
74678         (build_trtable, group_nodes_into_DFAstates):
74679         Likewise.
74680         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74681         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74682         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74683         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74684         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74685         * lib/regcomp.c (optimize_subexps, lower_subexp):
74686         Work even if bitset_word has holes in its bitwise representation.
74687         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74688         * lib/regexec.c (check_dst_limits_calc_pos_1,
74689         check_subexp_matching_top):
74690         Likewise.
74691         * lib/regex_internal.c (re_string_reconstruct):
74692         Don't assume UCHAR_MAX == 255.
74693         * lib/regex_internal.h (bitset_set_all): Likewise.
74694         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74695         All uses changed.
74696         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74697         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74698         All uses changed.
74699         (BITSET_WORD_MAX): New macro.
74700         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74701         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74702         (bitset_empty, bitset_copy):
74703         Prefer sizeof (bitset) to multiplying it out ourselves.
74704         (bitset_not_merge): Remove; unused.
74705         (bitset_contain): Return bool, not unsigned int with one bit on.
74706         All callers changed.
74707         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74708         alignment than re_node_set; do this by defining a new internal
74709         type struct dests_alloc and using it to allocate memory.
74710
74711 2005-09-05  Bruno Haible  <bruno@clisp.org>
74712
74713         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74714         links.
74715
74716 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74717
74718         * modules/size_max (Makefile.am): Add size_max.h
74719
74720 2005-09-04  Derek Price  <derek@ximbiot.com>
74721
74722         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74723
74724 2005-09-03  Simon Josefsson  <jas@extundo.com>
74725
74726         * gnulib-tool: Fix typo.
74727
74728 2005-09-03  Simon Josefsson  <jas@extundo.com>
74729
74730         * config/srclist.txt: Add glibc bug 1293.
74731
74732 2005-09-03  Derek Price  <derek@ximbiot.com>
74733
74734         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74735         From Larry Jones <lawrence.jones@ugs.com>.
74736
74737 2005-09-02  Simon Josefsson  <jas@extundo.com>
74738
74739         * modules/socklen: New file.
74740
74741 2005-09-02  Simon Josefsson  <jas@extundo.com>
74742
74743         * modules/havelib: New module.
74744
74745         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74746         Use havelib.
74747
74748 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74749
74750         Check for arithmetic overflow when calculating sizes, to prevent
74751         some buffer-overflow issues.  These patches are conservative, in the
74752         sense that when I couldn't determine whether an overflow was possible,
74753         I inserted a run-time check.
74754         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74755         macros.
74756         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74757         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74758         (re_xnrealloc, re_x2nrealloc): New inline functions.
74759         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74760         parse_bracket_exp):
74761         (build_equiv_class, build_charclass): Check for arithmetic overflow
74762         in size expression calculations.
74763         * lib/regex_internal.c (re_string_realloc_buffers):
74764         (build_wcs_upper_buffer, re_node_set_add_intersect):
74765         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74766         (re_dfa_add_node, register_state): Likewise.
74767         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74768         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74769         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74770         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74771
74772 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74773
74774         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74775         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74776
74777 2005-09-02  Bruno Haible  <bruno@clisp.org>
74778
74779         Support for lib vs. lib64 distinction on biarch platforms.
74780         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74781         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74782         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74783
74784 2005-09-02  Bruno Haible  <bruno@clisp.org>
74785
74786         * gnulib-tool (import): In the other first-use case, provide defaults
74787         as well.
74788
74789 2005-09-02  Bruno Haible  <bruno@clisp.org>
74790
74791         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74792         patches not yet found in the latest gettext release.
74793
74794 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74795
74796         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74797         to avoid a collision with bits/local_lim.h in glibc.
74798         All uses changed.  Problem reported by Dmitry V. Levin in
74799         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74800
74801         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74802         bugs in int versus size_t comparisons.
74803         (re_string_context_at): Fix bug where the code assumed that
74804         Idx is signed.
74805
74806         Use bool where appropriate.
74807         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74808         All callers changed.
74809         (calc_eclosure_iter): Likewise, for ROOT arg.
74810         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74811         (build_charclass_op): Likewise, for NON_MATCH arg.
74812         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74813         (re_string_construct_common): Likewise, for ICASE arg.
74814         * lib/regexec.c (re_search_2_stub, re_search_stub):
74815         Likewise, for RET_LEN arg.
74816         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74817         (set_regs): Likewise, for FL_BACKTRACK arg.
74818         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74819         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74820         (calc_eclosure_iter, parse_bracket_exp):
74821         Use bool for internal variables that are booleans.
74822         * lib/regexec.c (re_search_internal, check_matching,
74823         proceed_next_node):
74824         (set_regs, build_sifted_states, sift_states_bkref):
74825         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74826         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74827         (find_collation_sequence_value):
74828         Likewise.
74829         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74830         (re_node_set_compare):
74831         Return bool, not int. All callers changed.
74832         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74833         (build_trtable, check_node_accept): Likewise.
74834         * lib/regex_internal.h: Include stdbool.h.
74835
74836         Fix bugs uncovered when converting to bool.
74837         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74838         failure instead of charging ahead blindly.
74839         * lib/regex_internal.c (register_state): Likewise.
74840         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74841         for freeing internal storage.
74842         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74843         bitset pieces used as boolean, to avoid undefined behavior
74844         on hosts that do int overflow checking.
74845
74846 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74847
74848         * config/srclist.txt: Add glibc bugs 1285-1287.
74849
74850 2005-09-01  Jim Meyering  <jim@meyering.net>
74851
74852         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74853         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74854         Require gl_STAT_MACROS, too.
74855
74856 2005-09-01  Bruno Haible  <bruno@clisp.org>
74857
74858         * gnulib-tool (import): In the first-use case, provide defaults.
74859
74860 2005-09-01  Bruno Haible  <bruno@clisp.org>
74861
74862         * gnulib-tool (func_import): Remove the .tmp files.
74863
74864 2005-09-01  Bruno Haible  <bruno@clisp.org>
74865
74866         * gnulib-tool (func_import): Fix handling of symbolic links.
74867
74868 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74869
74870         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74871         old glibc regex code mishandles strings longer than 2**31 bytes.
74872         This patch fixes this when the regex code is used in gnulib
74873         (i.e., outside glibc).
74874
74875         This patch should not affect the use of the regex code inside
74876         glibc.  No doubt this problem also needs to be handled for glibc
74877         as well, but the result will be an incompatible change to the
74878         glibc ABI, and the old ABI will have to be supported too.  That
74879         can be the the subject for another patch.
74880
74881         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74882         governing whether the rest of this patch is active.  By default,
74883         the macro is disabled and the patch has no effect.
74884         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74885         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74886         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74887         (re_match_2, re_set_registers): Use the new types.
74888         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74889         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74890         New macros.
74891         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74892         (re_string_context_at, bin_tree_t, re_dfastate_t):
74893         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74894         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74895         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74896         (re_string_char_size_at, re_string_wchar_at):
74897         (re_string_elem_size_at):
74898         Use the new types and macros to port to 64-bit hosts.
74899         Use unsigned types for internal values, so that the code
74900         mostly works even for arrays larger than SSIZE_MAX.
74901         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74902         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74903         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74904         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74905         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74906         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74907         (calc_inveclosure, parse_dup_op, build_range_exp):
74908         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74909         (fetch_number, create_token_tree, mark_opt_subexp):
74910         Likewise.
74911         * lib/regex_internal.c (re_string_construct_common,
74912         create_ci_newstate):
74913         (create_cd_newstate, re_string_allocate, re_string_construct):
74914         (re_string_realloc_buffers, build_wcs_upper_buffer):
74915         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74916         (re_string_reconstruct, re_string_peek_byte_case):
74917         (re_string_fetch_byte_case, re_string_context_at):
74918         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74919         (re_node_set_init_copy, re_node_set_add_intersect):
74920         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74921         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74922         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74923         (re_acquire_state, re_acquire_state_context, register_state):
74924         Likewise.
74925         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74926         search_cur_bkref_entry):
74927         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74928         (re_search_internal, re_search_2_stub, re_search_stub)
74929         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74930         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74931         (update_cur_sifted_state, check_dst_limits):
74932         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74933         (check_subexp_limits, sift_states_bkref, merge_state_array):
74934         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74935         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74936         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74937         (expand_bkref_cache, check_node_accept_bytes):
74938         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74939         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74940         (acquire_init_state_context, check_halt_node_context):
74941         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74942         (sift_states_backward, clean_state_log_if_needed):
74943         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74944         (find_recover_state, transit_state_sb, transit_state_mb):
74945         (transit_state_bkref, build_trtable, match_ctx_clean):
74946         Likewise.
74947         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74948         to work around an assumption that REG_MISSING is negative.
74949
74950         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74951         (seek_collating_symbol_entry) [defined _LIBC]:
74952         (lookup_collation_sequence_value) [defined _LIBC]:
74953         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74954         Use prototypes rather than old-style function definitions.
74955         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74956         (transit_state_sb) [0]:
74957         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74958
74959         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74960         rm_eo.
74961
74962         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74963         (optimize_subexps, lower_subexp):
74964         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74965         since the signed shift might overflow.  Use 1u<<31 instead.
74966         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74967         Likewise.
74968         * lib/regexec.c (check_dst_limits_calc_pos_1,
74969         check_subexp_matching_top): Likewise.
74970
74971         * lib/regcomp.c (optimize_subexps, lower_subexp):
74972         Use CHAR_BIT rather than 8, for clarity.
74973         * lib/regexec.c (check_dst_limits_calc_pos_1):
74974         (check_subexp_matching_top): Likewise.
74975         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74976         have to worry about portability issues when shifting it left.
74977         Remove no-longer-needed test for table_size > 0.
74978         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74979         in a word, as the resulting behavior is undefined.
74980         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74981         in one case, a <= should have been an <, and in another case the
74982         whole test was missing.
74983         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74984         the standard name CHAR_BIT.
74985         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74986         this is not true on one's complement and signed-magnitude hosts.
74987
74988         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74989         next_last_offset.
74990         (struct re_dfa_t): Remove unused member states_alloc.
74991         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74992
74993 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74994
74995         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74996         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74997         and large-file glibc and in 32-bit large-file Solaris.
74998
74999 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75000
75001         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
75002         lengths fit in regoff_t; this isn't true if regoff_t is the same
75003         width as size_t.
75004         * lib/regex.c (re_search_internal): 5th arg is LAST_START
75005         (= START + RANGE) instead of RANGE.  This avoids overflow
75006         problems when regoff_t is the same width as size_t.
75007         All callers changed.
75008         (re_search_2_stub): Check for overflow when adding the
75009         sizes of the two strings.
75010         (re_search_stub): Check for overflow when adding START
75011         to RANGE; if it occurs, substitute the extreme value.
75012
75013 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75014
75015         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
75016
75017 2005-08-31  Jim Meyering  <jim@meyering.net>
75018
75019         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
75020         a pointer-to-const.
75021         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
75022         (register_state): Likewise.
75023         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
75024         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
75025         (group_nodes_into_DFAstates): Likewise.
75026
75027 2005-08-31  Jim Meyering  <jim@meyering.net>
75028
75029         * check-module: Add a FIXME comment.
75030
75031 2005-08-31  Eric Blake  <ebb9@byu.net>
75032
75033         * modules/unistd-safer (Files): Add unistd--.h.
75034         * modules/stdio-safer (Files): Add stdio--.h.
75035
75036 2005-08-31  Derek Price  <derek@ximbiot.com>
75037
75038         * lib/getdelim.c (getdelim): Return EOF on EOF.
75039         Reported by Larry Jones <lawrence.jones@ugs.com>.
75040
75041 2005-08-31  Bruno Haible  <bruno@clisp.org>
75042
75043         Avoid unnecessary diffs in the generated lib/Makefile.am.
75044         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
75045         the generated files.
75046         (func_import): Don't set cmd.
75047
75048 2005-08-31  Bruno Haible  <bruno@clisp.org>
75049
75050         * lib/strstr.c: Include <stddef.h>, for NULL.
75051         * lib/strcasestr.c: Likewise.
75052         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75053
75054 2005-08-31  Bruno Haible  <bruno@clisp.org>
75055
75056         * gnulib-tool: New option --macro-prefix.
75057         (func_import): Use macro_prefix.
75058         (import): Handle option --macro-prefix.
75059
75060 2005-08-31  Bruno Haible  <bruno@clisp.org>
75061
75062         * gnulib-tool (import): Rename most ac_* variables to cached_*.
75063         Also use new variables cached_lgpl, cached_libtool.
75064
75065 2005-08-31  Bruno Haible  <bruno@clisp.org>
75066
75067         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
75068         always instantiating them.
75069
75070 2005-08-31  Bruno Haible  <bruno@clisp.org>
75071
75072         * gnulib-tool (func_import): Read the previous cached settings
75073         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
75074         earlier added by gnulib but are now dropped. Warn when a gnulib file
75075         overwrites a non-gnulib file.
75076
75077 2005-08-31  Bruno Haible  <bruno@clisp.org>
75078
75079         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
75080         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
75081         projects that don't keep autogenerated files in CVS. Put into
75082         actioncmd only the specified modules, not the transitive closure.
75083
75084 2005-08-31  Bruno Haible  <bruno@clisp.org>
75085
75086         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
75087         Create directories that shall be filled.
75088         (import): Don't look for gl_* macros in configure.ac. Recurse across
75089         all directories containing a gnulib-cache.m4 files, if meaningful.
75090
75091 2005-08-31  Bruno Haible  <bruno@clisp.org>
75092
75093         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
75094         (import): Set seen_libtool when we see gl_LIBTOOL.
75095
75096 2005-08-31  Bruno Haible  <bruno@clisp.org>
75097
75098         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
75099         declaration macro definitions from generated gnulib.m4.
75100
75101 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
75102
75103         * lib/iconvme.h: Add prototype for iconv_alloc.
75104
75105 2005-08-29  Simon Josefsson  <jas@extundo.com>
75106
75107         * lib/iconvme.c: Fix errno.
75108
75109 2005-08-29  Bruno Haible  <bruno@clisp.org>
75110
75111         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
75112         that it works when the directory contains spaces.
75113
75114 2005-08-29  Bruno Haible  <bruno@clisp.org>
75115
75116         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
75117
75118 2005-08-29  Bruno Haible  <bruno@clisp.org>
75119
75120         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
75121         Emit more advice.
75122
75123 2005-08-29  Bruno Haible  <bruno@clisp.org>
75124         and Stepan Kasal  <kasal@ucw.cz>
75125
75126         * check-module: If more parameters are given, check each of them
75127         separately; add more exceptions, as noted by Jim Meyering.
75128         (check_module): New procedure.
75129         (%exempt_header): Now contains all exceptions.
75130
75131 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
75132
75133         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
75134
75135 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75136
75137         * lib/iconvme.c: Split iconv_string into iconv_alloc.
75138
75139 2005-08-28  Bruno Haible  <bruno@clisp.org>
75140
75141         * m4/gnulib-tool.m4: New file.
75142
75143 2005-08-27  Jim Meyering  <jim@meyering.net>
75144
75145         * modules/unistd-safer (Files): Add pipe-safer.c.
75146         * modules/fcntl-safer (Files): Add creat-safer.c.
75147
75148 2005-08-27  Jim Meyering  <jim@meyering.net>
75149
75150         * m4/stdlib-safer.m4: New file.  From coreutils.
75151         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
75152         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
75153         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
75154         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
75155         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
75156
75157 2005-08-27  Jim Meyering  <jim@meyering.net>
75158
75159         * lib/fopen-safer.c: Merge minor changes from coreutils.
75160         * lib/dup-safer.c: Likewise.
75161         * lib/fd-safer.c: Likewise.
75162
75163         Merge from coreutils.
75164         * lib/stdio--.h: New file.
75165         * lib/stdlib--.h: New file.
75166         * lib/mkstemp-safer.c: New file.
75167
75168         GNU tar needs these.
75169         * lib/pipe-safer.c: New file.
75170         * lib/creat-safer.c: New file.
75171         * lib/fcntl--.h (creat): Define to creat_safer.
75172         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75173         * lib/unistd--.h (pipe): Define to pipe_safer.
75174         * lib/unistd-safer.h: Declare pipe_safer.
75175
75176 2005-08-26  Simon Josefsson  <jas@extundo.com>
75177
75178         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75179         Haible <bruno@clisp.org>.
75180
75181 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75182
75183         * lib/regex_internal.h: Remove all references to
75184         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75185         or better.
75186         (bitset_not, bitset_merge, bitset_not_merge):
75187         (bitset_mask, re_string_allocate, re_string_construct):
75188         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75189         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75190         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75191         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75192         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75193         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75194         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75195         (re_acquire_state_context):
75196         Remove unnecessary forward decls.
75197         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75198         Put __attribute at function definition,
75199         now that the function decl has been removed.
75200         * lib/regex_internal.c (re_string_peek_byte_case):
75201         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75202         Likewise.
75203
75204 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75205
75206         * m4/regex.m4: Add AC_PREREQ(2.50).
75207         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75208
75209 2005-08-25  Simon Josefsson  <jas@extundo.com>
75210
75211         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75212         __fsetlocking.
75213
75214 2005-08-25  Simon Josefsson  <jas@extundo.com>
75215
75216         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75217         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75218         GLIBC specific code.
75219
75220 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75221
75222         Make regex safe for g++.  This fixes one real bug (an "err"
75223         that should have been "*err").  g++ problem reported by
75224         Sam Steingold.
75225         * lib/regex_internal.h (re_calloc): New macro, consistent with
75226         re_malloc etc.  All callers of calloc changed to use re_calloc.
75227         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75228         not int.  All callers changed.
75229         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75230         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75231         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75232         (find_recover_state): Change "err" to "*err"; this fixes what
75233         appears to be a real bug.
75234         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75235         versus int.
75236
75237 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75238
75239         * modules/regex (Depends-on): Add malloc, since the code
75240         assumes that !malloc(0) means failure.
75241
75242 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75243
75244         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75245
75246         alloca modernization/simplification for regex.
75247         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75248         needs to be at the start of the file, and can be moved into
75249         regex_internal.h and simplified.
75250         * lib/regex_internal.h: Include <alloca.h>.
75251         (__libc_use_alloca) [!defined _LIBC]: New macro.
75252         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75253         now works outside glibc.
75254
75255 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75256
75257         * config/srclist.txt: Add glibc bugs 1241, 1245.
75258
75259 2005-08-25  Jim Meyering  <jim@meyering.net>
75260
75261         * lib/open-safer.c: Include <config.h>.
75262         Otherwise, we'd lose LARGEFILE support in any file using
75263         e.g. "fcntl--.h"
75264
75265 2005-08-25  Bruno Haible  <bruno@clisp.org>
75266
75267         * m4/minmax.m4: Require autoconf 2.52.
75268         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75269         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75270         alternatives of translit over the alphabet.
75271         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75272
75273 2005-08-24  Simon Josefsson  <jas@extundo.com>
75274
75275         * tests/test-getpass.c: New file.
75276
75277 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75278
75279         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75280         for GNU regex features.
75281
75282 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75283
75284         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75285         * lib/regex.h (regerror): Likewise.
75286
75287         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75288         requires this.  (The code never needed it.)
75289
75290         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75291         All uses of recently-renamed identifiers changed to use the new,
75292         POSIX-compliant names.  The code will build and run just fine
75293         without these changes, but it's better to eat our own dog food
75294         and use the standard-conforming names.
75295
75296         * lib/regex.h: Fix a multitude of POSIX name space violations.
75297         These changes have an effect only for programs that define
75298         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75299         do not change anything for programs compiled in the normal way.
75300         Also, there is no effect on the ABI.
75301
75302         (_REGEX_SOURCE): New macro.
75303         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75304         defined and _GNU_SOURCE is not; this fixes a name space violation.
75305
75306         Rename the following macros to obey POSIX requirements.
75307         The old names are still visible as macros if _REGEX_SOURCE is defined.
75308         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75309         RE_BACKSLASH_ESCAPE_IN_LISTS.
75310         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75311         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75312         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75313         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75314         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75315         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75316         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75317         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75318         (REG_INTERVALS): renamed from RE_INTERVALS.
75319         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75320         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75321         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75322         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75323         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75324         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75325         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75326         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75327         RE_UNMATCHED_RIGHT_PAREN_ORD.
75328         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75329         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75330         (REG_DEBUG): renamed from RE_DEBUG.
75331         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75332         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75333         unusual, since we can't clash with the POSIX REG_ICASE.
75334         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75335         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75336         (REG_NO_SUB): renamed from RE_NO_SUB.
75337         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75338         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75339         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75340         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75341         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75342         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75343         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75344         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75345         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75346         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75347         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75348         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75349         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75350         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75351         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75352         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75353         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75354         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75355         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75356         (REG_FIXED): Renamed from REGS_FIXED.
75357         (REG_NREGS): Renamed from RE_NREGS.
75358
75359         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75360         of other REG_* macros, since POSIX says the user is allowed to
75361         #undef these macros selectively.
75362
75363         (reg_errcode_t): Update comment stating what other tables need
75364         to be consistent.
75365
75366         Rename the following enum values to obey POSIX requirements.
75367         The old names are still visible as macros.
75368         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75369         is not defined, since GNU is supposed to be a superset of POSIX as
75370         much as possible, and since we want reg_errcode_t to be a signed
75371         type for implementation consistency.
75372         (_REG_NOERROR): Renamed from REG_NOERROR.
75373         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75374         (_REG_BADPAT): Renamed from REG_BADPAT.
75375         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75376         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75377         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75378         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75379         (_REG_EBRACK): Renamed from REG_EBRACK.
75380         (_REG_EPAREN): Renamed from REG_EPAREN.
75381         (_REG_EBRACE): Renamed from REG_EBRACE.
75382         (_REG_BADBR): Renamed from REG_BADBR.
75383         (_REG_ERANGE): Renamed from REG_ERANGE.
75384         (_REG_ESPACE): Renamed from REG_ESPACE.
75385         (_REG_BADRPT): Renamed from REG_BADRPT.
75386         (_REG_EEND): Renamed from REG_EEND.
75387         (_REG_ESIZE): Renamed from REG_ESIZE.
75388         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75389         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75390         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75391         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75392         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75393
75394         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75395         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75396         changed.  But support the old name if the new one is not defined
75397         and if _REGEX_SOURCE.
75398
75399         Change the following member names in struct re_pattern_buffer.
75400         The old names are still supported if !_REGEX_SOURCE.
75401         The new names are always supported, regardless of _REGEX_SOURCE.
75402         (re_buffer): Renamed from buffer.
75403         (re_allocated): Renamed from allocated.
75404         (re_used): Renamed from used.
75405         (re_syntax): Renamed from syntax.
75406         (re_fastmap): Renamed from fastmap.
75407         (re_translate): Renamed from translate.
75408         (re_can_be_null): Renamed from can_be_null.
75409         (re_regs_allocated): Renamed from regs_allocated.
75410         (re_fastmap_accurate): Renamed from fastmap_accurate.
75411         (re_no_sub): Renamed from no_sub.
75412         (re_not_bol): Renamed from not_bol.
75413         (re_not_eol): Renamed from not_eol.
75414         (re_newline_anchor): Renamed from newline_anchor.
75415
75416         Change the following member names in struct re_registers.
75417         The old names are still supported if !_REGEX_SOURCE.
75418         The new names are always supported, regardless of _REGEX_SOURCE.
75419         (rm_num_regs): Renamed from num_regs.
75420         (rm_start): Renamed from start.
75421         (rm_end): Renamed from end.
75422
75423         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75424         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75425         Prepend __ to parameter names.
75426
75427         Undo yesterday's changes.
75428
75429 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75430
75431         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75432         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75433         lib/regex.c.
75434
75435 2005-08-24  Jim Meyering  <jim@meyering.net>
75436
75437         Sync from coreutils.
75438         * m4/fcntl-safer.m4: New file.
75439
75440         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75441         and object files for this module.
75442
75443 2005-08-24  Jim Meyering  <jim@meyering.net>
75444
75445         Sync from coreutils.
75446         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75447
75448 2005-08-24  Jim Meyering  <jim@meyering.net>
75449
75450         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75451         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75452
75453 2005-08-24  Jim Meyering  <jim@meyering.net>
75454
75455         * modules/fcntl-safer: New module.
75456         * modules/fts (Depends-on): Add fcntl-safer.
75457         * MODULES.html.sh (File descriptor based Input/Output):
75458         Add fcntl-safer.
75459
75460 2005-08-24  Bruno Haible  <bruno@clisp.org>
75461
75462         Support for unit test modules.
75463         * modules/README: Mention tests modules.
75464         * modules/TEMPLATE-TESTS: New file.
75465         * gnulib-tool: New options --extract-tests-module, --with-tests and
75466         --tests-base (unused for the moment).
75467         (testsbase, inctests): New variables.
75468         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75469         (func_verify_module): Exclude TEMPLATE-TESTS.
75470         (func_verify_nontests_module, func_verify_tests_module): New functions.
75471         (func_get_dependencies): Add implicit dependency for tests modules.
75472         (func_get_tests_module): New function.
75473         (func_modules_transitive_closure): When --with-tests was specified,
75474         include the unit tests as well, unless explicitly avoided.
75475         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75476         (func_emit_tests_Makefile_am): New function.
75477         (func_create_testdir): When --with-tests was specified, emit a
75478         tests/ directory.
75479         * MODULES.html.sh (Future developments): Update.
75480
75481 2005-08-24  Bruno Haible  <bruno@clisp.org>
75482
75483         * modules/tls-tests: New file.
75484         * tests/test-tls.c: New file, from GNU gettext.
75485
75486 2005-08-24  Bruno Haible  <bruno@clisp.org>
75487
75488         * modules/lock-tests: New file.
75489         * tests/test-lock.c: New file, from GNU gettext.
75490
75491 2005-08-24  Bruno Haible  <bruno@clisp.org>
75492
75493         * lib/lock.h: Add multiple inclusion guard.
75494         * lib/tls.h: Add multiple inclusion guard.
75495
75496 2005-08-24  Bruno Haible  <bruno@clisp.org>
75497
75498         * gnulib-tool: Add support for the --aux-dir option to
75499         --create-testdir, --create-megatestdir, --test, --megatest.
75500         (func_create_testdir, func_create_megatestdir): Optionally emit a
75501         AC_CONFIG_AUX_DIR directive.
75502         (create-testdir, create-megatestdir, test, megatest): Provide a
75503         default value for $auxdir.
75504
75505 2005-08-24  Bruno Haible  <bruno@clisp.org>
75506
75507         * gnulib-tool (import): Use compound statement instead of subshell
75508         where possible.
75509
75510 2005-08-24  Bruno Haible  <bruno@clisp.org>
75511
75512         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75513
75514 2005-08-24  Bruno Haible  <bruno@clisp.org>
75515
75516         * gnulib-tool (func_version): Update.
75517
75518 2005-08-24  Bruno Haible  <bruno@clisp.org>
75519
75520         * gnulib-tool (func_import, func_create_testdir,
75521         func_create_megatestdir): Quote all autoconf macro arguments.
75522
75523 2005-08-24  Bruno Haible  <bruno@clisp.org>
75524
75525         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75526         option --force, because --force causes the aclocal.m4 of each
75527         subdirectory to be newer than the corresponding config.h.in.
75528
75529 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75530
75531         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75532         All contents moved to gl_REGEX.
75533         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75534         assume that it does.
75535
75536 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75537
75538         * lib/regex.h (REG_NOSYS)
75539         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75540         Define, since POSIX requires it as of 2001.
75541         (_REG_ENOSYS)
75542         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75543         New private symbol, used to keep the enum signed in all cases.
75544         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75545         Youngman in
75546         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75547
75548         * lib/regex_internal.c (re_string_skip_chars, register_state):
75549         (calc_state_hash):
75550         Remove forward decls; no longer needed now that we use prototypes.
75551         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75552         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75553         (clean_state_log_if_needed): Likewise.
75554
75555 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75556
75557         * config/srclist.txt: Add glibc bugs 1231-1233.
75558
75559 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75560
75561         Fix problems reported by Sam Steingold in
75562         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75563         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75564         assumed that reg_errcode_t is a signed type, which is not
75565         necessarily true if _XOPEN_SOURCE is not defined.
75566         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75567         since some compilers warn about it otherwise.
75568
75569 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75570
75571         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75572         (init_word_char, create_initial_state, duplicate_node_closure):
75573         (fetch_token, peek_token_bracket, build_range_exp):
75574         (build_collating_symbol): Remove forward decls; no longer needed
75575         now that we use prototypes.
75576
75577         * lib/regcomp.c:
75578         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75579         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75580         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75581         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75582         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75583         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75584         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75585         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75586         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75587         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75588         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75589         (build_charclass, build_charclass_op, fetch_number, create_tree):
75590         (create_token_tree, mark_opt_subexp, duplicate_tree):
75591         Use prototypes rather than old-style definitions.
75592
75593         * lib/regex_internal.c:
75594         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75595         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75596         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75597         (re_string_reconstruct, re_string_peek_byte_case):
75598         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75599         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75600         (re_node_set_init_copy, re_node_set_add_intersect):
75601         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75602         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75603         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75604         (re_acquire_state, re_acquire_state_context, register_state):
75605         (create_ci_newstate, create_cd_newstate, free_state):
75606         Likewise.
75607         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75608         re_search_2):
75609         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75610         (re_search_internal, prune_impossible_nodes):
75611         (acquire_init_state_context, check_matching, static):
75612         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75613         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75614         (update_regs, sift_states_backward, build_sifted_states):
75615         (clean_state_log_if_needed, merge_state_array):
75616         (update_cur_sifted_state, add_epsilon_src_nodes):
75617         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75618         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75619         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75620         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75621         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75622         (check_arrival, check_arrival_add_next_nodes):
75623         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75624         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75625         (check_node_accept_bytes, check_node_accept, extend_buffers):
75626         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75627         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75628         (sift_ctx_init):
75629         Likewise.
75630
75631         * lib/regex_internal.h:
75632         (re_string_allocate, re_string_construct, re_string_reconstruct):
75633         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75634         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75635         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75636         (re_string_context_at, re_string_peek_byte_case):
75637         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75638         is defined, since we now use prototypes always.
75639
75640         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75641         C89 or better.  All uses removed.
75642
75643 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75644
75645         * config/srclist.txt: Add glibc bugs 1220-1227.
75646
75647 2005-08-20  Jim Meyering  <jim@meyering.net>
75648
75649         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75650         of unused local, dfa.
75651
75652 2005-08-20  Bruno Haible  <bruno@clisp.org>
75653
75654         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75655
75656 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75657
75658         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75659         (re_node_set_insert_last, re_dfa_add_node):
75660         Rename local variables to avoid GCC shadowing warnings.
75661
75662 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75663
75664         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75665         [defined lint]: Suppress bogus uninitialized-variable warnings.
75666
75667         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75668         and let the caller return REG_ESPACE if out of space.  This
75669         removes an uninitialied-variable warning with GCC 4.0.1, and also
75670         avoids taking the address of a local variable.  All callers
75671         changed.
75672
75673 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75674
75675         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75676         $LIBCSRC/posix/regexec.c.
75677         Add glibc bug 1217 for regcomp.c.
75678
75679 2005-08-19  Jim Meyering  <jim@meyering.net>
75680
75681         * lib/regexec.c (proceed_next_node): Redo local variables to
75682         avoid GCC shadowing warnings.
75683
75684 2005-08-18  Bruno Haible  <bruno@clisp.org>
75685
75686         * lib/strstr.c (strstr): Fix return value in multibyte case.
75687         * lib/strcasestr.c (strcasestr): Likewise.
75688
75689 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75690
75691         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75692
75693 2005-08-17  Jim Meyering  <jim@meyering.net>
75694
75695         Make the %s format (seconds since the epoch) work for a negative
75696         number and when used with a zero-padded field width, e.g. %015s.
75697
75698         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75699         label so that it precedes the code to set `digits'.  Otherwise,
75700         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75701         print `00-22'.  Now, it prints `-0022', as it should.
75702
75703 2005-08-17  Bruno Haible  <bruno@clisp.org>
75704
75705         * modules/strstr (Files): Add m4/mbrtowc.m4.
75706         (Depends-on): Add mbuiter.
75707
75708 2005-08-17  Bruno Haible  <bruno@clisp.org>
75709
75710         * modules/strcasestr: New file.
75711         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75712         strcasestr.
75713
75714 2005-08-17  Bruno Haible  <bruno@clisp.org>
75715
75716         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75717
75718 2005-08-17  Bruno Haible  <bruno@clisp.org>
75719
75720         * modules/mbuiter: New file.
75721         * MODULES.html.sh (Extended multibyte and wide character utilities):
75722         Add mbuiter.
75723
75724 2005-08-17  Bruno Haible  <bruno@clisp.org>
75725
75726         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75727         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75728
75729 2005-08-17  Bruno Haible  <bruno@clisp.org>
75730
75731         * m4/strcasestr.m4: New file.
75732
75733 2005-08-17  Bruno Haible  <bruno@clisp.org>
75734
75735         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75736         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75737
75738 2005-08-17  Bruno Haible  <bruno@clisp.org>
75739
75740         * lib/strcasestr.h: New file.
75741         * lib/strcasestr.c: New file.
75742
75743 2005-08-17  Bruno Haible  <bruno@clisp.org>
75744
75745         * lib/strcasecmp.c: Use mbuiter.h.
75746
75747 2005-08-17  Bruno Haible  <bruno@clisp.org>
75748
75749         * lib/mbuiter.h: New file.
75750
75751 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75752
75753         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75754         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75755         and gl_GETOPT are both invoked via different paths (as happens
75756         with GNU tar CVS because it uses both argp and getopt), the former
75757         wins.
75758
75759 2005-08-16  Bruno Haible  <bruno@clisp.org>
75760
75761         * modules/tls: New file.
75762         * MODULES.html.sh (Multithreading): Add tls.
75763
75764 2005-08-16  Bruno Haible  <bruno@clisp.org>
75765
75766         * modules/strnlen1: New file.
75767         * MODULES.html.sh (String handling): Add strnlen1.
75768
75769 2005-08-16  Bruno Haible  <bruno@clisp.org>
75770
75771         * modules/strcase (Files): Add m4/mbrtowc.m4.
75772         (Depends-on): Add strnlen1, mbchar.
75773
75774 2005-08-16  Bruno Haible  <bruno@clisp.org>
75775
75776         * modules/mbiter: New file.
75777         * MODULES.html.sh (Extended multibyte and wide character utilities):
75778         Add mbiter.
75779
75780 2005-08-16  Bruno Haible  <bruno@clisp.org>
75781
75782         * modules/mbfile: New file.
75783         * MODULES.html.sh (Extended multibyte and wide character utilities):
75784         Add mbfile.
75785
75786 2005-08-16  Bruno Haible  <bruno@clisp.org>
75787
75788         * modules/mbchar: New file.
75789         * MODULES.html.sh (Extended multibyte and wide character utilities):
75790         New section.
75791
75792 2005-08-16  Bruno Haible  <bruno@clisp.org>
75793
75794         * m4/tls.m4: New file, from GNU gettext.
75795
75796 2005-08-16  Bruno Haible  <bruno@clisp.org>
75797
75798         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75799         always.
75800         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75801
75802 2005-08-16  Bruno Haible  <bruno@clisp.org>
75803
75804         * m4/mbiter.m4: New file.
75805
75806 2005-08-16  Bruno Haible  <bruno@clisp.org>
75807
75808         * m4/mbfile.m4: New file.
75809
75810 2005-08-16  Bruno Haible  <bruno@clisp.org>
75811
75812         * m4/mbchar.m4: New file.
75813
75814 2005-08-16  Bruno Haible  <bruno@clisp.org>
75815
75816         * lib/tls.h: New file, from GNU gettext.
75817         * lib/tls.c: New file, from GNU gettext.
75818
75819 2005-08-16  Bruno Haible  <bruno@clisp.org>
75820
75821         * lib/strnlen1.h: New file.
75822         * lib/strnlen1.c: New file.
75823
75824 2005-08-16  Bruno Haible  <bruno@clisp.org>
75825
75826         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75827         (mbi_init): Update.
75828         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75829         NUL byte, not after it.
75830
75831 2005-08-16  Bruno Haible  <bruno@clisp.org>
75832
75833         * lib/strcase.h (strcasecmp): Add note in comments.
75834         * lib/strncasecmp.c: Use code from strcasecmp.c.
75835         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75836         (strcasecmp): Work correctly in multibyte locales.
75837
75838 2005-08-16  Bruno Haible  <bruno@clisp.org>
75839
75840         * lib/mbiter.h: New file.
75841
75842 2005-08-16  Bruno Haible  <bruno@clisp.org>
75843
75844         * lib/mbfile.h: New file.
75845
75846 2005-08-16  Bruno Haible  <bruno@clisp.org>
75847
75848         * lib/mbchar.h: New file.
75849         * lib/mbchar.c: New file.
75850
75851 2005-08-16  Bruno Haible  <bruno@clisp.org>
75852
75853         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75854         the valid ones. Makes the comparison operations transitive:
75855         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75856         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75857
75858 2005-08-15  Simon Josefsson  <jas@extundo.com>
75859
75860         * modules/ssize_t (License): Change to 'unlimited'.
75861
75862         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75863
75864 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75865
75866         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75867         Add comments for each pending glibc patch.
75868
75869 2005-08-15  Bruno Haible  <bruno@clisp.org>
75870
75871         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75872         __cplusplus is defined.
75873
75874 2005-08-14  Jim Meyering  <jim@meyering.net>
75875
75876         Sync from coreutils.
75877
75878         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75879         Use the hash-table-based cycle-detection code not just when
75880         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75881         Reported by James Youngman in
75882         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75883         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75884         FTS_TIGHT_CYCLE_CHECK.
75885         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75886         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75887         once again.
75888         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75889         * lib/fts.c (fd_safer): Remove decl.
75890         Include fcntl--.h rather than unistd-safer.h
75891         (fts_safe_changedir): Don't call fd_safer; no longer needed
75892         now that we include fcntl--.h.
75893
75894 2005-08-12  Simon Josefsson  <jas@extundo.com>
75895
75896         * modules/getndelim2: Use ssize_t module.
75897         * modules/getnline: Likewise.
75898         * modules/safe-read: Likewise.
75899         * modules/xreadlink: Likewise.
75900
75901         * modules/ssize_t: New file.
75902
75903 2005-08-12  Simon Josefsson  <jas@extundo.com>
75904
75905         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75906
75907 2005-08-12  Simon Josefsson  <jas@extundo.com>
75908
75909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75910         ssize_t.
75911
75912 2005-08-12  Simon Josefsson  <jas@extundo.com>
75913
75914         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75915         readline, getdelim and check_version.
75916         (Support for systems lacking ISO C 99: Sizes of integer types):
75917         Add size_max.
75918
75919 2005-08-12  Bruno Haible  <bruno@clisp.org>
75920
75921         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75922
75923 2005-08-11  Simon Josefsson  <jas@extundo.com>
75924
75925         * modules/readline: New file.
75926
75927         * modules/strnlen (Files): Add strnlen.h.
75928
75929 2005-08-11  Simon Josefsson  <jas@extundo.com>
75930
75931         * m4/readline.m4: New file.
75932
75933 2005-08-11  Simon Josefsson  <jas@extundo.com>
75934
75935         * lib/readline.h, readline.c: New file.
75936
75937 2005-08-11  Simon Josefsson  <jas@extundo.com>
75938
75939         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75940         gl_AVOID.
75941
75942 2005-08-11  Bruno Haible  <bruno@clisp.org>
75943
75944         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75945
75946 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75947
75948         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75949
75950 2005-08-10  Simon Josefsson  <jas@extundo.com>
75951
75952         * tests/test-iconvme.c: New file.
75953
75954 2005-08-10  Simon Josefsson  <jas@extundo.com>
75955
75956         * m4/strnlen.m4: New file.
75957
75958         * m4/strndup.m4: Don't check for strnlen declaration, done in
75959         strnlen.m4.
75960
75961 2005-08-10  Simon Josefsson  <jas@extundo.com>
75962
75963         * lib/strndup.c: Use strnlen.h.
75964
75965         * lib/strnlen.h: New file.
75966
75967 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75968
75969         * README: Typos.
75970
75971 2005-08-02  Simon Josefsson  <jas@extundo.com>
75972
75973         * modules/readline: New file.
75974
75975 2005-08-02  Simon Josefsson  <jas@extundo.com>
75976
75977         * modules/getdelim: New file.
75978
75979         * modules/getline: Rewrite, don't use getndelim2.
75980
75981 2005-08-02  Simon Josefsson  <jas@extundo.com>
75982
75983         * m4/getline.m4: Separate out getdelim stuff into separate module.
75984
75985         * m4/getdelim.m4: New file.
75986
75987 2005-08-02  Simon Josefsson  <jas@extundo.com>
75988
75989         * lib/getline.h, getline.c: Rewrite.
75990
75991         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75992
75993 2005-07-31  Bruno Haible  <bruno@clisp.org>
75994
75995         * lib/lock.h (gl_lock_initializer): New macro.
75996         (gl_lock_define_initialized): Use it.
75997         (gl_rwlock_initializer): New macro.
75998         (gl_rwlock_define_initialized): Use it.
75999         (gl_recursive_lock_initializer): New macro.
76000         (gl_recursive_lock_define_initialized): Use it.
76001
76002 2005-07-30  Karl Berry  <karl@gnu.org>
76003
76004         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
76005         Report from Ben Pfaff, regarding getopt.
76006
76007 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
76008
76009         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
76010         normal way.
76011         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
76012         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
76013         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
76014         (gl_GETOPT): Use the new macros.  Most of the implementation
76015         is moved to the new macros.  This is for programs like Emacs
76016         that don't want all the functionality of gl_GETOPT.
76017
76018 2005-07-26  Bruno Haible  <bruno@clisp.org>
76019
76020         * m4/lock.m4: Update from GNU gettext.
76021
76022 2005-07-26  Bruno Haible  <bruno@clisp.org>
76023
76024         * lib/lock.h: Update from GNU gettext.
76025         * lib/lock.c: Update from GNU gettext.
76026
76027 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
76028
76029         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
76030         obsolescent AC_TRY_RUN.  Include the default includes files, for
76031         'exit'.
76032
76033 2005-07-24  Bruno Haible  <bruno@clisp.org>
76034
76035         * modules/visibility: New file.
76036         * MODULES.html.sh (Misc): Add visibility.
76037
76038 2005-07-24  Bruno Haible  <bruno@clisp.org>
76039
76040         * m4/visibility.m4: New file.
76041
76042 2005-07-24  Bruno Haible  <bruno@clisp.org>
76043
76044         * doc/visibility.texi: New file.
76045
76046 2005-07-22  Bruno Haible  <bruno@clisp.org>
76047
76048         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
76049         $(ALLOCA_H), redundant through BUILT_SOURCES.
76050         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
76051         redundant through BUILT_SOURCES.
76052         * modules/byteswap (Makefile.am): Remove explicit dependency on
76053         $(BYTESWAP_H), redundant through BUILT_SOURCES.
76054         * modules/fnmatch (Makefile.am): Remove explicit dependency on
76055         $(FNMATCH_H), redundant through BUILT_SOURCES.
76056         * modules/getopt (Makefile.am): Remove explicit dependency on
76057         $(GETOPT_H), redundant through BUILT_SOURCES.
76058         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
76059         redundant through BUILT_SOURCES.
76060         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
76061         redundant through BUILT_SOURCES.
76062         * modules/stdbool (Makefile.am): Remove explicit dependency on
76063         $(STDBOOL_H), redundant through BUILT_SOURCES.
76064         * modules/stdint (Makefile.am): Remove explicit dependency on
76065         $(STDINT_H), redundant through BUILT_SOURCES.
76066         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
76067         Remove explicit dependency on $(SYSEXITS_H).
76068         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
76069
76070 2005-07-18  Simon Josefsson  <jas@extundo.com>
76071
76072         * lib/check-version.c (check_version): Accept identical versions too.
76073
76074 2005-07-18  Bruno Haible  <bruno@clisp.org>
76075
76076         * modules/lock: New file.
76077         * MODULES.html.sh (Multithreading): New section.
76078
76079 2005-07-18  Bruno Haible  <bruno@clisp.org>
76080
76081         * m4/lock.m4: New file, from GNU gettext.
76082
76083 2005-07-18  Bruno Haible  <bruno@clisp.org>
76084
76085         * lib/lock.h: New file, from GNU gettext.
76086         * lib/lock.c: New file, from GNU gettext.
76087
76088 2005-07-18  Bruno Haible  <bruno@clisp.org>
76089
76090         * lib/lock.h (gl_once_t): New type.
76091         (gl_once_define, gl_once): New macros.
76092         * lib/lock.c (fresh_once): New variable.
76093         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
76094         functions.
76095
76096 2005-07-16  Simon Josefsson  <jas@extundo.com>
76097
76098         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
76099         workaround, suggested by Bruno.
76100
76101 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76102
76103         * modules/xalloc (Depends-on): Add xalloc-die.
76104         * modules/xvasprintf (Depends-on): Add xalloc-die.
76105
76106 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
76107
76108         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
76109         with a minor change.
76110
76111 2005-07-15  Bruno Haible  <bruno@clisp.org>
76112
76113         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
76114         When using lib/poll.c, define poll as rpl_poll.
76115
76116 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
76117
76118         * modules/argp (Depends-on): Remove unlocked-io.
76119
76120 2005-07-14  Derek Price  <derek@ximbiot.com>
76121
76122         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
76123         for glob symlink bug.
76124
76125 2005-07-14  Bruno Haible  <bruno@clisp.org>
76126
76127         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
76128         Instead, test for *_unlocked function declarations directly.
76129
76130 2005-07-11  Simon Josefsson  <jas@extundo.com>
76131
76132         * modules/size_max: New file.
76133
76134         * modules/xsize: Depend on size_max module for size_max.m4.
76135
76136 2005-07-11  Simon Josefsson  <jas@extundo.com>
76137
76138         * lib/size_max.h: New file.
76139
76140 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
76141
76142         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
76143         copyright symbol and the year.
76144         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
76145         (version_etc_va): Use parameterized copyright notice.
76146         Reword to conform to the current GNU coding standards.
76147
76148 2005-07-11  Karl Berry  <karl@gnu.org>
76149
76150         * doc/gnulib.texi (Quoting): new node.
76151         (Initial import): more info, from Patrice.
76152
76153 2005-07-11  Bruno Haible  <bruno@clisp.org>
76154
76155         * gnulib-tool (func_usage): Document option --avoid.
76156         (Command line options): Handle --avoid.
76157         (func_acceptable): New function.
76158         (func_modules_transitive_closure): Use it.
76159
76160 2005-07-11  Bruno Haible  <bruno@clisp.org>
76161
76162         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
76163         Reported by Jim Meyering.
76164
76165 2005-07-10  Bruno Haible  <bruno@clisp.org>
76166
76167         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
76168         Needed when size_t is smaller than 'unsigned int'.
76169         Reported by Paul Eggert.
76170
76171 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76172
76173         * modules/argp (Depends-on): Add unlocked-io
76174
76175 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76176
76177         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76178         block of defines.
76179
76180 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76181
76182         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76183         fix now.
76184
76185 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76186         and Paul Eggert  <eggert@cs.ucla.edu>
76187
76188         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76189         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76190
76191 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76192
76193         * modules/regex (Files): Add lib/regex_internal.c,
76194         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76195         (Depends-on): Add extensions.
76196         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76197
76198 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76199
76200         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76201         pathconf.
76202         * m4/same.m4 (gl_SAME): Likewise.
76203         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76204
76205         * m4/regex.m4: Adjust to new libc regex implementation.
76206         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76207         all the .c and .h parts of (the new) regex.
76208         Quote the m4 stuff better.
76209         Check for RE_ICASE bug of old gnulib.
76210         Check for REG_STARTEND of recent libc.
76211         Rename local variables from jm_* to gl_*.
76212         Quote operand of "test -f".
76213         Say "recent enough" version of libc, not "version 2".
76214         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76215         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76216         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76217         Remove check for btowc, isascii.
76218         Require AM_LANGINFO_CODESET.
76219
76220 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76221
76222         * lib/regex.c, regex.h: Sync from libc.
76223         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76224         * lib/regexec.c:
76225         New files, synced from libc, except that regex_internal.h
76226         currently has a small porting fix.
76227
76228 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76229
76230         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76231         regex_internal.c, regexec.c.
76232         Add regex_internal.h too, but as a comment, since the libc version
76233         is currently broken in gnulib mode.
76234
76235 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76236
76237         Support programs like Emacs that use gnulib but not gettext.
76238         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76239         * modules/gettext-h: New file.
76240         * modules/gettext (Files): Remove lib/gettext.h.
76241         (Depends-on): Add gettext-h.
76242         (Makefile.am): Remove lib_SOURCES.
76243         * modules/argmatch, modules/c-stack, modules/closeout:
76244         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76245         * modules/execute, modules/file-type, modules/getaddrinfo:
76246         * modules/getopt, modules/human, modules/javacomp:
76247         * modules/javaexec, modules/mkdir-p, modules/obstack:
76248         * modules/openat, modules/pagealign_alloc, modules/pipe:
76249         * modules/quotearg, modules/regex, modules/rpmatch:
76250         * modules/unicodeio, modules/userspec, modules/version-etc:
76251         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76252         * modules/xsetenv:
76253         Depend on gettext-h, not gettext.
76254
76255 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76256
76257         * gnulib-tool (func_import): Add support for 'public domain' license.
76258         * modules/alloca, modules/atexit, modules/memmove:
76259         Now public domain, not GPL.
76260         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76261         * modules/realloc, modules/strerror, modules/strtod:
76262         Now LGPL, not GPL.
76263
76264 2005-07-05  Bruno Haible  <bruno@clisp.org>
76265
76266         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76267         autoconf CVS. Needed for mingw.
76268
76269 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76270
76271         Remove the dependency of the strftime module on the tzset module.
76272         * modules/strftime (Depends-on): Remove dependency on tzset.
76273
76274 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76275
76276         Remove the dependency of the strftime module on the tzset module.
76277         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76278         gl_FUNC_TZSET_CLOBBER.
76279
76280 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76281
76282         Remove the dependency of the strftime module on the tzset module.
76283         * lib/strftime.c (my_strftime)
76284         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76285         Copy the input structure, to work around some of the bug with
76286         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76287         Solaris releases, you should also use the tzset module, but we won't
76288         require it as a dependency any more since we don't want LGPLed code
76289         to depend on GPLed code.
76290
76291 2005-07-02  Jim Meyering  <jim@meyering.net>
76292
76293         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76294         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76295         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76296         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76297
76298 2005-07-02  Jim Meyering  <jim@meyering.net>
76299
76300         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76301
76302 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76303
76304         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76305         declares only 'struct timespec;' (!).
76306
76307 2005-07-01  Jim Meyering  <jim@meyering.net>
76308
76309         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76310         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76311         * lib/save-cwd.c, tempname.c:
76312         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76313         and don't include <sys/file.h>).
76314
76315 2005-06-29  Jim Meyering  <jim@meyering.net>
76316
76317         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76318         type name.  Use the variable name instead.
76319         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76320         Likewise.
76321
76322 2005-06-28  Simon Josefsson  <jas@extundo.com>
76323
76324         * modules/check-version (Files): Add check-version.m4.
76325
76326 2005-06-28  Simon Josefsson  <jas@extundo.com>
76327
76328         * m4/check-version.m4: New file, suggested by Jim Meyering
76329         <jim@meyering.net>.
76330
76331 2005-06-28  Simon Josefsson  <jas@extundo.com>
76332
76333         * lib/check-version.h, lib/check-version.c: New files.
76334
76335 2005-06-28  Simon Josefsson  <jas@extundo.com>
76336
76337         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76338         collision with global variable.  Better indentation.  Don't
76339         increment buffer pointer beyond buffer end.  Based on comments
76340         from Paul Eggert <eggert@cs.ucla.edu>.
76341
76342         * lib/base64.h: Indent.
76343
76344 2005-06-28  Simon Josefsson  <jas@extundo.com>
76345
76346         * doc/gnulib.texi (Library version handling): New section.
76347
76348 2005-06-28  Jim Meyering  <jim@meyering.net>
76349
76350         * check-module (find_included_lib_files): Hard-code another
76351         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76352         but modules/fts-lgpl (correctly) does not list those files.
76353
76354         * modules/canonicalize (Files): Add lib/pathmax.h.
76355
76356 2005-06-25  Simon Josefsson  <jas@extundo.com>
76357
76358         * modules/check-version: New file.
76359
76360 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76361
76362         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76363         initializer of struct addrinfo, as an indication that we don't
76364         care how many members the structure has.
76365
76366 2005-06-24  Derek Price  <derek@ximbiot.com>
76367         and Bruno Haible  <bruno@clisp.org>
76368
76369         Remove stat module & update lstat.
76370         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76371         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76372         * m4/stat.m4: Remove this file.
76373
76374 2005-06-24  Derek Price  <derek@ximbiot.com>
76375         and Bruno Haible  <bruno@clisp.org>
76376
76377         Remove stat module & update lstat.
76378         * lib/stat.c: Remove this file...
76379         (slash_aware_lstat): ...moving this content and its support...
76380         * lib/lstat.c (rpl_lstat): ...into here.
76381         * lib/lstat.h: New file.
76382
76383 2005-06-24  Derek Price  <derek@ximbiot.com>
76384         and Bruno Haible  <bruno@clisp.org>
76385
76386         Remove stat module & update lstat.
76387         * config/srclist.txt (libc sources): Remove stat.
76388
76389 2005-06-24  Derek Price  <derek@ximbiot.com>
76390         and Bruno Haible  <bruno@clisp.org>
76391
76392         Remove stat module & update lstat.
76393         * MODULES.html.sh (stat): Remove.
76394         * MODULES.html: Regenerated.
76395         * modules/lstat (Description): Correct function name.
76396         (Files): Add "lstat.h".
76397         (Depends-on): Remove stat, add xalloc, stat-macros.
76398         * modules/stat: Remove this file.
76399         (Include): Add "lstat.h", remove <sys/stat.h>.
76400
76401 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76402
76403         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76404         (ranged_convert): Don't save conversion in a temporary struct.
76405         This causes a warning with GCC 4.0.0, and anyway in the typical
76406         case it's not worth the extra 100 bytes or so of code.
76407         (ranged_convert, __mktime_internal): When calling a function via a
76408         pointer P, use P () rather than (*P) (), as we now assume C89 or
76409         better.
76410
76411 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76412
76413         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76414         "who -r" failed to give output.  Problem reported by Tim Waugh.
76415
76416         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76417         (xcalloc): Use it to avoid needless tests.
76418         Problem reported by Jim Meyering.
76419
76420 2005-06-20  Derek Price  <derek@ximbiot.com>
76421
76422         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76423         unnecessary for Autoconfs > 2.59c.
76424
76425 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76426
76427         * lib/argp.h (__option_is_short): Check upper limit of
76428         __key. Isprint() requires its argument to have the value
76429         of an unsigned char or EOF.
76430
76431 2005-06-16  Jim Meyering  <jim@meyering.net>
76432
76433         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76434         when either N or S is zero.
76435
76436 2005-06-16  Derek Price  <derek@ximbiot.com>
76437
76438         * m4/bison.m4: Declare YACC & YFLAGS precious.
76439
76440 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76441
76442         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76443         multibyte string or pattern, fall back on unibyte matching.
76444         Problem reported by James Youngman.
76445
76446 2005-06-08  Bruno Haible  <bruno@clisp.org>
76447
76448         * modules/csharpcomp: New file.
76449         * MODULES.html.sh (C#): Add csharpcomp.
76450
76451 2005-06-08  Bruno Haible  <bruno@clisp.org>
76452
76453         * m4/csharpcomp.m4: New file, from GNU gettext.
76454
76455 2005-06-08  Bruno Haible  <bruno@clisp.org>
76456
76457         * lib/csharpcomp.h: New file, from GNU gettext.
76458         * lib/csharpcomp.c: New file, from GNU gettext.
76459         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76460
76461 2005-06-08  Bruno Haible  <bruno@clisp.org>
76462
76463         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76464         warning on mingw.
76465
76466 2005-06-07  Derek Price  <derek@ximbiot.com>
76467
76468         Sync from CVS.
76469         * lib/glob_.h: Indent nested #ifdef.
76470
76471 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76472
76473         Sync from coreutils.
76474         Use "file name" when talking about file names, instead of "filename"
76475         or "path", as per the GNU coding standards.
76476         * lib/mkdir-p.c: Renamed from makepath.c.
76477         (make_dir_parents): Renamed from make_path.  All callers changed.
76478         * lib/mkdir-p.h: Likewise.  All includers changed.
76479         * lib/filenamecat.c: Renamed from path-concat.c.
76480         (file_name_concat): Renamed from path_concat.  All callers changed.
76481         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76482         * lib/filenamecat.h: Likewise.  All includers changed.
76483         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76484         in comments or local variable names.
76485         * lib/basename.c: Likewise.
76486         * lib/canonicalize.c, canonicalize.h: Likewise.
76487         * lib/dirname.c, dirname.h: Likewise.
76488         * lib/euidaccess.c: Likewise.
76489         * lib/exclude.c: Likewise
76490         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76491         * lib/fsusage.c, fsuage.h: Likewise.
76492         * lib/fts.c, fts_.h: Likewise.
76493         * lib/getcwd.c: Likewise.
76494         * lib/getloadavg.c: Likewise.
76495         * lib/mkstemp.c: Likewise.
76496         * lib/mountlist.c, mountlist.h: Likewise.
76497         * lib/openat.c, openat.h: Likewise.
76498         * lib/readlink-stub.c: Likewise.
76499         * lib/readutmp.c, readutmp.h: Likewise.
76500         * lib/rename.c: Likewise.
76501         * lib/rmdir.c: Likewise.
76502         * lib/same.c: Likewise.
76503         * lib/savedir.c: Likewise.
76504         * lib/stripslash.c: Likewise.
76505         * lib/tempname.c: Likewise.
76506         * lib/xreadlink.c: Likewise.
76507         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76508         All uses changed.
76509         * lib/exclude.h: Likewise.
76510
76511         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76512         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76513         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76514         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76515         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76516         files have been getting away with it for years (MORE/BSD 4.3
76517         is extinct now).
76518         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76519         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76520
76521         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76522         Define to 256, not 255, as per modern POSIX.
76523
76524 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76525
76526         Sync from coreutils.
76527         Use "file name" when talking about file names, instead of "filename"
76528         or "path", as per the GNU coding standards.
76529         * MODULES.html.sh: mkdir-p renamed from makepath.
76530         filenamecat renamed from path-concat.
76531         * modules/filenamecat: Renamed from modules/path-concat.
76532         (Files): filenamecat.h and filenamecat.c renamed from
76533         path-concat.h and path-concat.c.
76534         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76535         (Include): filenamecat.h, not path-concat.h.
76536         * modules/mkdir-p: Renamed from modules/makepath.
76537         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76538         makepath.c.
76539         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76540         (Include): mkdir-p.h, not makepath.h.
76541
76542 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76543
76544         Sync from coreutils.
76545         * m4/mkdir-p.m4: Renamed from makepath.m4.
76546         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76547         Rename files from makepath.c to mkdir-p.c, and from
76548         makepath.h to mkdir-p.h.
76549         * m4/filenamecat.m4: Renamed from path-concat.m4.
76550         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76551         Rename files from path-concat.c to filenamecat.c,
76552         and from path-concat.h to filenamecat.h.
76553         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76554         "file name" in local variables or comments.
76555         * m4/rename.m4: Likewise.
76556
76557 2005-06-01  Bruno Haible  <bruno@clisp.org>
76558
76559         * modules/csharpexec: New file.
76560         * MODULES.html.sh (C#): New section.
76561
76562 2005-06-01  Bruno Haible  <bruno@clisp.org>
76563
76564         * m4/csharp.m4: New file, from GNU gettext.
76565         * m4/csharpexec.m4: New file, from GNU gettext.
76566
76567 2005-06-01  Bruno Haible  <bruno@clisp.org>
76568
76569         * lib/csharpexec.h: New file, from GNU gettext.
76570         * lib/csharpexec.c: New file, from GNU gettext.
76571         * lib/csharpexec.sh.in: New file, from GNU gettext.
76572
76573 2005-05-31  Derek Price  <derek@ximbiot.com>
76574             Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         Sync from cvs.
76577         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76578
76579 2005-05-31  Derek Price  <derek@ximbiot.com>
76580             Paul Eggert  <eggert@cs.ucla.edu>
76581
76582         Sync from cvs.
76583         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76584
76585 2005-05-29  Derek Price  <derek@ximbiot.com>
76586
76587         * config/srclist.txt (glob_.h, glob.c): Add these files.
76588
76589 2005-05-29  Derek Price  <derek@ximbiot.com>
76590
76591         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76592         * modules/glob: New file.
76593         * modules/getlogin_r: Add link to POSIX spec in description.
76594
76595 2005-05-29  Derek Price  <derek@ximbiot.com>
76596             Paul Eggert  <eggert@cs.ucla.edu>
76597
76598         * m4/glob.m4: New file.
76599
76600 2005-05-29  Derek Price  <derek@ximbiot.com>
76601             Paul Eggert  <eggert@cs.ucla.edu>
76602
76603         * lib/glob_.h, lib/glob.c: New files.
76604
76605 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76606
76607         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76608         * modules/fts-lgpl (Depends-on): Remove gettext.
76609
76610 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76611
76612         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76613         and don't require gt_INTTYPES_PRI.
76614
76615 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76616
76617         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76618
76619         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76620         the configuration hassle isn't worth it.
76621         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76622         (LONGEST_MODIFIER, PRIuMAX): Remove.
76623
76624 2005-05-27  Bruno Haible  <bruno@clisp.org>
76625
76626         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76627
76628 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76629
76630         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76631         _POSIX_PTHREAD_SEMANTICS for Solaris.
76632
76633 2005-05-25  Derek Price  <derek@ximbiot.com>
76634
76635         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76636
76637 2005-05-25  Derek Price  <derek@ximbiot.com>
76638             Paul Eggert  <eggert@cs.ucla.edu>
76639
76640         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76641         * lib/getlogin_r.c, getlogin_r.h: New files.
76642
76643 2005-05-25  Bruno Haible  <bruno@clisp.org>
76644             Derek Price  <derek@ximbiot.com>
76645
76646         * lib/getlogin_r.h: Simplify API documentation.
76647
76648 2005-05-23  Derek Price  <derek@ximbiot.com>
76649
76650         * modules/minmax (Files): Add m4/minmax.m4.
76651         (configure.ac): Add gl_MINMAX.
76652
76653 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76654
76655         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76656         so that unistd-safer.h (GPL'ed code) need not be included.
76657
76658 2005-05-22  Bruno Haible  <bruno@clisp.org>
76659
76660         * m4/minmax.m4: New file.
76661         Based on a patch by Derek Price <derek@ximbiot.com>.
76662
76663 2005-05-22  Bruno Haible  <bruno@clisp.org>
76664
76665         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76666         (INT64_MIN): Fix definition.
76667         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76668
76669         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76670         NEED_SIGNED_INT_TYPES.
76671
76672         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76673         HAVE_SYSTEM_INTTYPES.
76674
76675 2005-05-22  Bruno Haible  <bruno@clisp.org>
76676
76677         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76678         Also include <sys/param.h> if it defines MIN, MAX.
76679         Based on a patch by Derek Price <derek@ximbiot.com>.
76680
76681 2005-05-21  Jim Meyering  <jim@meyering.net>
76682
76683         * modules/fts (Files): Add m4/inttypes-pri.m4.
76684         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76685
76686 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76687
76688         New fts module.
76689         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76690         (setup_dir, free_dir): New functions.
76691         (enter_dir, leave_dir): Define trivial
76692         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76693         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76694         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76695         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76696         Move to fts-cycle.c.
76697         (fts_open): Use setup_dir.
76698         (fts_close): Use free_dir.
76699         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76700         This adds a label and some gotos, but the alternatives were messier.
76701         Check for memory allocation failure when entering a dir.
76702         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76703         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76704         (FTS): New member fts_cycle, that is a union that contains the
76705         old active_dir_ht and cycle_state.  All uses changed to mention
76706         fts_cycle.ht and fts_cycle.state.
76707         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76708         fts.c, with the following changes:
76709         (setup_dir, free_dir): New functions.
76710         (enter_dir): Now returns bool.  Return true if successful, false
76711         if memory exhausted.  All callers changed.
76712         Do not bother partly cleaning up on
76713         memory allocation failure; that is free_dir's job.
76714         However, free ad if hash_insert fails, to avoid memory leak.
76715         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76716         fts->fts_options to see which union member to use.
76717
76718 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76719
76720         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76721         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76722
76723 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76724
76725         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76726
76727 2005-05-20  Jim Meyering  <jim@meyering.net>
76728
76729         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76730         Now a macro, to pacify GCC.
76731
76732 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76733
76734         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76735         of -1.
76736
76737 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76738
76739         * lib/chown.c (rpl_chown): Return -1 on failure.
76740
76741 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76742
76743         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76744         Don't check for stddef.h.
76745         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76746         don't use its results.
76747         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76748         since we include them unconditionally.  Don't require
76749         AM_STDBOOL_H, since stdbool is a prerequisite.
76750         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76751         since we assume C89 or better.
76752         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76753         as we don't use their results.
76754         Don't check for fchdir, memmove, memset, strrchr, as we use
76755         them unconditionally.
76756         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76757         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76758
76759 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76760
76761         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76762         Include <stddef.h> unconditionally, since we assume C89 now.
76763         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76764         * lib/fts.c: Include fts_.h first, to check interface.
76765         Do not include intprops.h; no longer needed.
76766         Include cycle-check.h and hash.h, since fts_.h no longer does.
76767         Remove unnecessary casts of closedir to void.
76768         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76769         decide whether to decrement nlinks.
76770         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76771         (FTS): Use struct hash_table * instead of Hash_table, so that
76772         we no longer need to include hash.h here.
76773
76774 2005-05-18  Jim Meyering  <jim@meyering.net>
76775
76776         * modules/dirfd (License): Change to LGPL.  Most of the code
76777         is already in the public domain.
76778
76779 2005-05-18  Jim Meyering  <jim@meyering.net>
76780
76781         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76782         Reported by Yoann Vandoorselaere.
76783
76784 2005-05-17  Jim Meyering  <jim@meyering.net>
76785
76786         * m4/fts.m4: New file, from coreutils.
76787
76788 2005-05-17  Jim Meyering  <jim@meyering.net>
76789
76790         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76791
76792 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76793
76794         Sync from coreutils.
76795         * m4/unlinkdir.m4: New file.
76796
76797 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76798
76799         Sync from coreutils.
76800         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76801         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76802         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76803         White space changes only.
76804         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76805         special.
76806         * lib/yesno.c: Include getline.h, not ctype.h.
76807         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76808         Use getline to remove arbitrary restriction on response length.
76809
76810 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76811
76812         * config/srclist-update: Spell out "Street" in FSF postal
76813         mail address; this is the style the FSF seems to prefer.
76814
76815         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76816         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76817         this updates FSF postal mail address.
76818
76819         Sync from coreutils.
76820         * modules/unlinkdir: New file.
76821         * modules/yesno (Depends-on): Add getline.
76822         * MODULES.html.sh (File system functions): Add unlinkdir.
76823
76824 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76825
76826         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76827         lib/strsep.h:
76828         Change the initial comment to refer to GPL, not LGPL.
76829         gnulib-tool will change it to LGPL as needed.
76830
76831         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76832         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76833         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76834         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76835         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76836         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76837         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76838         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76839         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76840         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76841         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76842         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76843         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76844         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76845         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76846         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76847         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76848         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76849         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76850         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76851         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76852         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76853         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76854         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76855         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76856         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76857         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76858         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76859         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76860         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76861         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76862         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76863         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76864         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76865         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76866         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76867         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76868         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76869         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76870         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76871         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76872         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76873         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76874         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76875         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76876         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76877         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76878         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76879         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76880         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76881         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76882         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76883         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76884         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76885         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76886         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76887         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76888         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76889         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76890         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76891         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76892         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76893         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76894         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76895         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76896         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76897         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76898         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76899         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76900         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76901         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76902         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76903         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76904         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76905         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76906         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76907         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76908         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76909         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76910         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76911         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76912         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76913         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76914         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76915         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76916         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76917         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76918         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76919         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76920         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76921         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76922         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76923         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76924         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76925         lib/yesno.c, lib/yesno.h:
76926         Update FSF postal mail address.
76927
76928 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76929
76930         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76931         tests/test-memmem.c, tests/test-stpncpy.c:
76932         Update FSF postal mail address.
76933
76934 2005-05-13  Bruno Haible  <bruno@clisp.org>
76935
76936         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76937         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76938         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76939         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76940         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76941         Add support for 64-bit integers in the MSVC compiler.
76942
76943 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76944
76945         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76946
76947 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76948
76949         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76950
76951 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76952
76953         * doc/getdate.texi (General date syntax): Don't say that date
76954         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76955         Problem reported by Nic Ferrier.
76956
76957 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76958
76959         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76960         specified in ai_socktype. Fix invalid ai_protocol
76961         check. ai_protocol is usually set to 0 or depending on
76962         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76963         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76964         ai_socktype / ai_protocol in the returned addrinfo structure.
76965
76966 2005-05-10  Simon Josefsson  <jas@extundo.com>
76967
76968         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76969         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76970
76971 2005-05-10  Karl Berry  <karl@gnu.org>
76972
76973         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76974         (from http://www.gnu.org/licenses).
76975         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76976         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76977         fdl.texi suffices.
76978
76979 2005-05-10  Karl Berry  <karl@gnu.org>
76980
76981         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76982         (COPYING.DOC): remove.
76983
76984         * config/srclist-update: new FSF address.
76985
76986 2005-05-10  Derek Price  <derek@ximbiot.com>
76987
76988         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76989         possible.
76990
76991 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76992             Bruno Haible  <bruno@clisp.org>
76993
76994         * modules/inet_ntop: New file.
76995         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76996         inet_ntop.
76997
76998 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76999             Bruno Haible  <bruno@clisp.org>
77000
77001         * m4/inet_ntop.m4: New file.
77002
77003 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77004             Bruno Haible  <bruno@clisp.org>
77005
77006         * lib/inet_ntop.h: New file.
77007         * lib/inet_ntop.c: New file, from glibc with modifications.
77008
77009 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
77010
77011         * modules/time_r (License): Change to LGPL.
77012         * modules/extensions (License): Change to LGPL.  Actually,
77013         the license is more permissive than that, but currently gnulib-tool
77014         doesn't know how to handle more-permissive licenses.
77015
77016         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
77017         Problem reported by Dave Love.
77018
77019 2005-05-08  Jim Meyering  <jim@meyering.net>
77020
77021         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
77022         blank.
77023
77024 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77025
77026         * modules/argmatch (Depends-on): Add stdbool.
77027         * modules/backupfile (Depends-on): Likewise.
77028         * modules/chdir-long (Depends-on): Likewise.
77029         * modules/closeout (Depends-on): Likewise.
77030         * modules/cycle-check (Depends-on): Likewise.
77031         * modules/dirname (Depends-on): Likewise.
77032         * modules/fnmatch (Depends-on): Likewise.
77033         * modules/fsusage (Depends-on): Likewise.
77034         * modules/fwriteerror (Depends-on): Likewise.
77035         * modules/getcwd (Depends-on): Likewise.
77036         * modules/getloadavg (Depends-on): Likewise.
77037         * modules/hard-locale (Depends-on): Likewise.
77038         * modules/makepath (Depends-on): Likewise.
77039         * modules/mountlist (Depends-on): Likewise.
77040         * modules/nanosleep (Depends-on): Likewise.
77041         * modules/posixtm (Depends-on): Likewise.
77042         * modules/quotearg (Depends-on): Likewise.
77043         * modules/readtokens (Depends-on): Likewise.
77044         * modules/readtokens0 (Depends-on): Likewise.
77045         * modules/readutmp (Depends-on): Likewise.
77046         * modules/save-cwd (Depends-on): Likewise.
77047         * modules/strftime (Depends-on): Likewise.
77048         * modules/userspec (Depends-on): Likewise.
77049         * modules/utimecmp (Depends-on): Likewise.
77050         * modules/xgetcwd (Depends-on): Likewise.
77051         * modules/xnanosleep (Depends-on): Likewise.
77052         * modules/xstrtod (Depends-on): Likewise.
77053         * modules/yesno (Depends-on): Likewise.
77054
77055 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
77056
77057         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
77058         needless checks.
77059
77060 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77061
77062         Merge from coreutils.  Among other things,
77063         add bulletproofing for cases where stdin, stdout, or stderr are closed.
77064         * lib/fd-safer.c: New file.
77065         * lib/fcntl-safer.h, open-safer.c: Remove.
77066         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
77067         * lib/dup-safer.c: Include unistd-safer.h first.
77068         Don't include errno.h.
77069         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
77070         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
77071         * lib/file-type.c: Rely on file-type.h change.
77072         * lib/getloadavg.c: Include unistd-safer.h.
77073         (getloadavg): Use safer open.
77074         * lib/getusershell.c: Include "stdio-safer.h".
77075         (getusershell): Use safer fopen.
77076         * lib/long-options.c (long_options): Use NULL rather than 0.
77077         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
77078         'free'.
77079         * lib/modechange.c: Likewise.
77080         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
77081         (MODE_DONE): New constant.
77082         (struct mode_change): Remove 'next' member.
77083         (make_node_op_equals): New function; like the old one of the
77084         same name, except it allocates an array.
77085         (mode_compile, mode_create_from_ref): Use it.
77086         (mode_compile): Allocate result as an array, not a linked list.
77087         Parse octal string ourself, so that we catch mistakes like "+0".
77088         (mode_adjust): Arg is an array, not a linked list.
77089         * lib/modechange.c: Include stat-macros.h, xalloc.h.
77090         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
77091         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
77092         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
77093         Remove.  This is now stat-macros.h's job.
77094         (talloc): Remove.  All callers replaced by xalloc, so that
77095         our invokers don't have to worry about reporting memory failures.
77096         (make_node_op_equals): Remove.
77097         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77098         New constants.
77099         (struct mode_change): Moved here from modechange.h.
77100         (mode_append_entry): Remove.
77101         (mode_compile): Remove MASKED_OPS arg, since it encouraged
77102         apps to have incorrect behavior.  Use simpler algorithm for head
77103         and tail.  Don't futz with umask; that's now the job of mode_adjust.
77104         Detect more invalid usages rather than having somewhat-random behavior.
77105         Don't insert an "a=" action, as that leads to incorrect behavior.
77106         (mode_compile, mode_create_from_ref): Return NULL on error instead
77107         of an enum, since now there's only one way to have an error.  All
77108         callers changed.
77109         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
77110         at the correct time.  Simplify calculation of "+u" and its ilk.
77111         Don't mishandle "+X".
77112         (mode_free): Remove "register" and localize decls.
77113         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
77114         (struct mode_change): Move to modechange.c; callers don't
77115         need to see this stuff.
77116         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
77117         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
77118         (mode_change, mode_adjust): Reflect the new signatures noted above.
77119         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
77120         that might redefine system include files.
77121         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
77122         (my_usleep): Use NULL rather than (void *) 0.
77123         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
77124         Use siginterrupt to specify that system calls should be interrupted.
77125         (rpl_nanosleep): Move initialization of suspended closer to call of
77126         my_usleep.
77127         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
77128         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
77129         (desirable_utmp_entry): New function.
77130         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
77131         using x2nrealloc, to simplify logic.
77132         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
77133         size calculation.  Do not assume utmp file is a regular file.
77134         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
77135         (READ_UTMP_CHECK_PIDS): New constant.
77136         * lib/save-cwd.c: Include unistd-safer.h.
77137         (save_cwd): Use fd_safer.
77138         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
77139         [!_LIBC] Include "stat-macros.h" instead.
77140         * lib/unistd-safer.h (fd_safer): New decl.
77141
77142 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77143
77144         * modules/getloadavg (Depends-on): Add unistd-safer.
77145         * modules/getusershell (Depends-on): Add stdio-safer.
77146         * modules/lstat (Depends-on): Remove xalloc.
77147         * modules/mkstemp (Depends-on): Add stat-macros.
77148         * modules/modechange (Depends-on): Remove xstrtol.
77149         Add stat-macros, xalloc.
77150         * modules/save-cwd (Depends-on): Add unistd-safer.
77151         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
77152         * modules/unistd-safer (Files): Add lib/fd-safer.c
77153         (Makefile.am): Remove lib_SOURCES.
77154
77155         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
77156         Remove fcntl-safer; unistd-safer supersedes it.
77157
77158 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77159
77160         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
77161         AC_HEADER_STAT.
77162         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
77163         (gl_PREREQ_CHOWN): Remove.
77164         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
77165         it.  Don't require AC_HEADER_STAT.
77166         (gl_PREREQ_LSTAT): Remove.
77167         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
77168         Don't require AC_HEADER_STAT.
77169         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77170         (gl_PREREQ_RMDIR): Remove.
77171         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77172         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77173         the stat-macros module a prerequisite.
77174         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77175         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77176         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77177         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77178         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77179         variable names.
77180         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77181         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77182         variable prefixes.
77183         * m4/fcntl-safer.m4: Remove.
77184         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77185         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77186         Invoke gl_PREREQ_FD_SAFER.
77187         (gl_PREREQ_FD_SAFER): New macro.
77188         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77189         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77190         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77191         Remove duplicate call to AC_LIBOBJ(readutmp).
77192         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77193
77194         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77195         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77196
77197 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77198
77199         * MODULES.html.sh (Misc): Add byteswap.
77200
77201 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77202
77203         * modules/getcwd (Depends-on): Add extensions.
77204         * modules/openat (Depends-on): Likewise.
77205
77206 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77207
77208         * modules/byteswap: New file.
77209
77210 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77211
77212         * m4/byteswap.m4: New file.
77213
77214 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77215
77216         * lib/byteswap_.h: New file.
77217
77218 2005-04-25  Karl Berry  <karl@gnu.org>
77219
77220         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77221
77222 2005-04-25  Albert Chin  <china@thewrittenword.com>
77223
77224         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77225         Toolkit C bug.
77226
77227 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77228
77229         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77230         (func_ln_if_changed): Remove forcibly for no error message
77231         in case file does not exist.
77232
77233 2005-04-19  Simon Josefsson  <jas@extundo.com>
77234
77235         * gnulib-tool (Options): Make --symlink mean --symbolic.
77236
77237 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77238
77239         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77240
77241 2005-04-16  Simon Josefsson  <jas@extundo.com>
77242
77243         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77244
77245 2005-04-15  Simon Josefsson  <jas@extundo.com>
77246
77247         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77248
77249 2005-04-15  Simon Josefsson  <jas@extundo.com>
77250
77251         * gnulib-tool: Rename --symlink to --symbolic.
77252
77253 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77254
77255         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77256         symbolic links to files instead of copying/moving.  Add --aux-dir,
77257         specifying directory relative --dir where auxiliary build tools
77258         are placed.
77259
77260 2005-04-14  Bruno Haible  <bruno@clisp.org>
77261
77262         * modules/allocsa (License): Change to LGPL.
77263         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77264
77265 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77266
77267         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77268         that "UTC +1 second" continues to work.  Problem reported
77269         by Dmitry V. Levin.
77270         (relunit_snumber): New rule.
77271         (relunit): Use it.
77272
77273 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77274
77275         * lib/getdate.y (universal_time_zone_table): New constant.
77276         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77277         universal_time_zone_table.
77278         (lookup_zone): Prefer universal_time_zone_table to
77279         local_time_zone_table, so that "GMT" time stamps are allowed in
77280         London during the summer.  Problem reported by Ian Abbott.
77281
77282 2005-04-12  Jim Meyering  <jim@meyering.net>
77283
77284         * lib/human.c (humblock): Set *options even when returning due to
77285         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77286         warning from gcc-4.
77287
77288 2005-04-09  Jim Meyering  <jim@meyering.net>
77289
77290         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77291         -Wuninitialized: initialize tm0.tm_year.
77292
77293 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77294
77295         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77296         count, since there's no maximum.  All uses changed.
77297         Add member dsts_seen.
77298         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77299         not being INT_MAX.
77300         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77301         Use pc_rels_seen to decide whther a date is absolute.
77302
77303         * lib/getdate.y (number): Don't overwrite year.
77304         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77305         check.
77306
77307 2005-04-02  Simon Josefsson  <jas@extundo.com>
77308
77309         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77310         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77311
77312 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77313
77314         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77315         where no absolute path name can be longer than PATH_MAX.
77316
77317 2005-03-27  Jim Meyering  <jim@meyering.net>
77318
77319         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77320
77321 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77322
77323         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77324         "one's complement" -> "ones' complement" in comment, as per Knuth.
77325         "value of type" -> "type or expression" in comment.
77326         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77327
77328 2005-03-26  Jim Meyering  <jim@meyering.net>
77329
77330         Comment nits.
77331         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77332         Correct typos: s/or/of/.
77333
77334 2005-03-26  Jim Meyering  <jim@meyering.net>
77335
77336         * modules/check-include-files: Move to ../ and rename to...
77337         * check-module: ...this.
77338
77339 2005-03-25  Jim Meyering  <jim@meyering.net>
77340
77341         * modules/xvasprintf (Files): Add xalloc.h.
77342
77343 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77344
77345         * modules/gettext (Files): config/config.rpath ->
77346         build-aux/config.rpath
77347         * modules/iconv (Files): Likewise.
77348         Problem reported by Oskar Liljeblad.
77349
77350 2005-03-23  Jim Meyering  <jim@meyering.net>
77351
77352         * modules/check-include-files: New script to check for
77353         missing dependencies, multiple includes, etc.
77354
77355         * modules/c-strtold (Depends-on): Add xalloc.
77356         * modules/c-strtod (Depends-on): Add xalloc.
77357         * modules/hash (Depends-on): Add xalloc.
77358         (Files): Remove lib/xalloc.h.
77359
77360         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77361         * modules/userspec (Files): Add lib/inttostr.h.
77362
77363 2005-03-23  Jim Meyering  <jim@meyering.net>
77364
77365         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77366
77367 2005-03-22  Jim Meyering  <jim@meyering.net>
77368
77369         * modules/stat-macros: New module.
77370         * modules/canonicalize, modules/euidaccess, modules/file-type,
77371         * modules/filemode, modules/lchown, modules/makepath,
77372         * modules/rmdir, modules/stat: Depend on new stat-macros module
77373         rather than listing lib/stat-macros.h manually.
77374         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77375
77376 2005-03-22  Jim Meyering  <jim@meyering.net>
77377
77378         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77379
77380 2005-03-22  Bruno Haible  <bruno@clisp.org>
77381
77382         * config/srclist.txt: Replace target directory 'config' with
77383         'build-aux'.
77384         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77385         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77386         ../build-aux/.
77387
77388 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77389
77390         * modules/chdir-long (Depends-on): Add mempcpy.
77391
77392         * modules/acl, modules/backupfile, modules/c-strtod,
77393         modules/c-strtold, modules/canon-host, modules/canonicalize,
77394         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77395         modules/exclude, modules/exitfail, modules/file-type,
77396         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77397         modules/getdate, modules/getline, modules/getpagesize,
77398         modules/getpass, modules/getugroups, modules/group-member,
77399         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77400         modules/inttostr, modules/long-options, modules/makepath,
77401         modules/md5, modules/memcasecmp, modules/memcoll,
77402         modules/modechange, modules/mountlist, modules/path-concat,
77403         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77404         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77405         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77406         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77407         modules/strftime, modules/strndup, modules/strverscmp,
77408         modules/timespec, modules/unlocked-io, modules/userspec,
77409         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77410         modules/yesno:
77411         Remove lib_SOURCES line from Makefile.am section, as this is now
77412         done automatically by the corresponding Autoconf macro.
77413
77414 2005-03-21  Jim Meyering  <jim@meyering.net>
77415
77416         Changes imported from coreutils.
77417
77418         * lib/cycle-check.c: Don't include xalloc.h.
77419
77420         * lib/path-concat.c: Don't include assert.h.
77421         (path_concat): Remove assertion that would have triggered
77422         for ABASE starting with more than one slash.
77423         Reported by Andreas Schwab.
77424
77425         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77426         properly when ABASE is an absolute file name.
77427         Correct the description of this function.
77428         Include <assert.h>.
77429         Add an assertion and a test driver.
77430         This fixes a bug introduced on 2004-07-02.
77431         Andreas Schwab reported the resulting failure of cp --parents:
77432         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77433
77434 2005-03-21  Jim Meyering  <jim@meyering.net>
77435
77436         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77437         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77438
77439 2005-03-21  Jim Meyering  <jim@meyering.net>
77440         and  Paul Eggert  <eggert@cs.ucla.edu>
77441
77442         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77443         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77444         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77445         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77446         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77447         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77448         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77449         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77450         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77451         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77452         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77453         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77454         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77455         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77456         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77457         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77458         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77459         for these modules.
77460
77461 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77462
77463         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77464         (which shouldn't happen), generate nothing instead of returning 0
77465         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77466
77467 2005-03-16  Bruno Haible  <bruno@clisp.org>
77468
77469         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77470         HAVE_LONGLONG_64BIT.
77471
77472 2005-03-16  Bruno Haible  <bruno@clisp.org>
77473
77474         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77475         HAVE_LONGLONG_64BIT.
77476
77477 2005-03-16  Bruno Haible  <bruno@clisp.org>
77478
77479         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77480         HAVE_LONGLONG_64BIT.
77481
77482 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77483
77484         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77485         reliably distinguish strftime failure from empty output on POSIX
77486         hosts.
77487
77488 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77489
77490         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77491         (iconv_string): Don't guess a size-zero buffer, as that might cause
77492         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77493         result would be 'too large', where 'too large' is (heuristically)
77494         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77495         overflow concerns.  This will prevent some unwanted malloc failures
77496         when the inputs are very large.
77497
77498 2005-03-15  Karl Berry  <karl@gnu.org>
77499
77500         * config/srclist.txt (config.rpath): from gettext.
77501         * config/config.rpath: update.
77502
77503 2005-03-15  Bruno Haible  <bruno@clisp.org>
77504
77505         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77506         to 'negate'.
77507
77508         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77509         variable.
77510
77511         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77512         results.
77513
77514 2005-03-14  Simon Josefsson  <jas@extundo.com>
77515
77516         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77517         <fx@gnu.org>.
77518
77519 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77520
77521         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77522         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77523         intprops.h.
77524         * lib/strtol.c: Likewise.
77525
77526 2005-03-14  Jim Meyering  <jim@meyering.net>
77527
77528         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77529         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77530         to be nonzero so that we (and caller) can detect the difference
77531         between a valid zero-length expansion and an error return, even
77532         when the underlying strftime fails before writing anything into
77533         that location.
77534
77535 2005-03-14  Bruno Haible  <bruno@clisp.org>
77536
77537         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77538         Update from GNU gettext 0.14.3.
77539
77540 2005-03-10  Jim Meyering  <jim@meyering.net>
77541
77542         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77543
77544 2005-03-10  Jim Meyering  <jim@meyering.net>
77545
77546         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77547         so that this module works on systems without fchdir.
77548
77549 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77550
77551         Factor int-properties macros into a single file, except for
77552         glibc-related files.
77553         * lib/intprops.h: New file.
77554         * lib/getloadavg.c: Include it instead of limits.h.
77555         (INT_STRLEN_BOUND): Remove.
77556         * lib/human.c: Include intprops.h.
77557         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77558         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77559         302/1000.
77560         * lib/inttostr.h: Include intprops.h instead of limits.h.
77561         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77562         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77563         for consistency with intprops.h.
77564         (time_t_is_integer, twos_complement_arithmetic): Use them.
77565         * lib/sig2str.h: Include <signal.h>, intprops.h.
77566         (INT_STRLEN_BOUND): Remove.
77567         * lib/strftime.c (TYPE_SIGNED): Remove.
77568         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77569         * lib/strtol.c: Adjust comments to match intprops.h.
77570         * lib/userspec.c: Include intprops.h.
77571         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77572         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77573         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77574         instead of rolling our own expressions.
77575         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77576
77577         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77578         instead of int.
77579         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77580         the right thing even if adding 1900 would overflow.  Similarly
77581         for tm_mon + 1 and tm_yday + 1.
77582         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77583         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77584         (DO_SIGNED_NUMBER): New macro.
77585         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77586
77587 2005-03-07  Bruno Haible  <bruno@clisp.org>
77588
77589         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77590
77591 2005-03-07  Bruno Haible  <bruno@clisp.org>
77592
77593         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77594
77595 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77596
77597         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77598         (func_import): Only replace files via --import when they have actually
77599         changed.
77600
77601 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77602
77603         * m4/mmap-anon.m4: New file.
77604         * m4/pagealign_alloc.m4: New file.
77605
77606 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77607             Bruno Haible  <bruno@clisp.org>
77608
77609         * modules/pagealign_alloc: New file.
77610         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77611
77612 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77613             Bruno Haible  <bruno@clisp.org>
77614
77615         * lib/pagealign_alloc.h: New file.
77616         * lib/pagealign_alloc.c: New file.
77617
77618 2005-03-03  Bruno Haible  <bruno@clisp.org>
77619
77620         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77621         Use an all-permissive copyright notice, recommended by RMS.
77622
77623 2005-03-02  Bruno Haible  <bruno@clisp.org>
77624
77625         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77626         of AIX, the replacement has to be done only after <string.h> is
77627         included, therefore not in config.h. stpncpy.h does the replacement,
77628         and stpncpy.c uses it.
77629
77630 2005-03-02  Bruno Haible  <bruno@clisp.org>
77631
77632         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77633         stpncpy.c uses it.
77634
77635 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77636
77637         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77638         The workaround isn't strictly needed for POSIX conformance, and
77639         it's too much of a pain to configure and maintain.  We'll ask
77640         people to fix their kernels instead.
77641         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77642         (NANOSLEEP_BUG_WORKAROUND): Remove.
77643         (xnanosleep): Remove the workaround.
77644
77645 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77646
77647         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77648         Reported by Derek Price.
77649         (Include): Add "timespec.h".
77650
77651         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77652
77653 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77654
77655         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77656         to detect nanosleep bug.
77657
77658 2005-03-01  Bruno Haible  <bruno@clisp.org>
77659
77660         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77661
77662 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         * modules/gethrxtime: New file.
77665         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77666         (Depends-on): Add gethrxtime.
77667         (configure.ac): Add gl_XNANOSLEEP.
77668         (Makefile.am): Remove lib_SOURCES line.
77669
77670 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77671
77672         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77673         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77674
77675 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77676
77677         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77678         * lib/timespec.h (gettime): Return void, since it always
77679         succeeds now.  All uses changed.
77680         * lib/gettime.c (gettime): Likewise.
77681         [HAVE_NANOTIME]: Prefer nanotime.
77682         Assume gettimeofday succeeds, as POSIX requires.
77683         Assime time () succeeds, since other code already does.
77684         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77685         (timespec_subtract): Remove.
77686         (NANOSLEEP_BUG_WORKAROUND): New constant.
77687         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77688         things considerably.  Use it only on GNU/Linux hosts, since the
77689         workaround shouldn't be needed elsewhere.
77690
77691 2005-02-24  Bruno Haible  <bruno@clisp.org>
77692
77693         * modules/gettext (Files): Add m4/glibc2.m4.
77694
77695 2005-02-24  Bruno Haible  <bruno@clisp.org>
77696
77697         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77698         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77699         * m4/progtest.m4:
77700         Update from GNU gettext 0.14.2.
77701         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77702
77703 2005-02-24  Bruno Haible  <bruno@clisp.org>
77704
77705         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77706         * lib/config.charset: Update from GNU gettext 0.14.2.
77707
77708 2005-02-24  Bruno Haible  <bruno@clisp.org>
77709
77710         * lib/gettext.h: Update from GNU gettext 0.14.2.
77711
77712 2005-02-23  Simon Josefsson  <jas@extundo.com>
77713
77714         * m4/iconvme.m4: New file.
77715
77716 2005-02-23  Jim Meyering  <jim@meyering.net>
77717
77718         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77719         change.
77720         Thanks to Bruno Haible for catching it.
77721
77722 2005-02-22  Simon Josefsson  <jas@extundo.com>
77723
77724         * modules/iconvme: New file.
77725
77726         * MODULES.html.sh: Add iconvme.
77727
77728 2005-02-22  Simon Josefsson  <jas@extundo.com>
77729
77730         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77731
77732 2005-02-22  Simon Josefsson  <jas@extundo.com>
77733
77734         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77735
77736 2005-02-22  Jim Meyering  <jim@meyering.net>
77737
77738         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77739         s/ifndef/ifdef/.
77740
77741 2005-02-20  Neil Conway  <neilc@samurai.com>
77742
77743         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77744         returned by OSX/Darwin if the specified buffer is not large
77745         enough for the hostname.
77746
77747 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77748
77749         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77750         pass it to _help, otherwise the latter coredumps trying to
77751         dereference state.root_argp.
77752
77753 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77754
77755         * modules/chdir-long (Depends-on): Add memrchr.
77756         * modules/memrchr (Files): Add lib/memrchr.h.
77757         (Include): "memrchr.h".
77758
77759 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77760
77761         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77762
77763 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77764
77765         * lib/memrchr.h: New file.
77766         * lib/chdir-long.c: Include it.
77767         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77768         Don't bother including stddef.h.
77769
77770 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77771
77772         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77773         inclusion.
77774         Include <sys/types.h>, for dev_t.
77775         (ME_DUMMY, ME_REMOTE): Move from here....
77776         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77777         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77778         Dmitry V. Levin.
77779         Include mountlist.h first, to test the interface.
77780
77781 2005-01-29  Bruno Haible  <bruno@clisp.org>
77782
77783         * lib/progname.c (program_name): Initialize.
77784         Needed when linking statically on MacOS X.
77785
77786 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77787
77788         Sync from coreutils.
77789         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77790         (Depends-on): Add c-strtod.
77791         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77792
77793 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77794
77795         Sync from coreutils.
77796         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77797
77798         Remove files that are specific to coreutils.
77799         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77800
77801 2005-01-28  Bruno Haible  <bruno@clisp.org>
77802
77803         * modules/javacomp: New file.
77804         * MODULES.html.sh (Java): Add javacomp.
77805
77806 2005-01-28  Bruno Haible  <bruno@clisp.org>
77807
77808         * m4/javacomp.m4: New file, from GNU gettext.
77809
77810 2005-01-28  Bruno Haible  <bruno@clisp.org>
77811
77812         * lib/javacomp.sh.in: New file, from GNU gettext.
77813         * lib/javacomp.h: New file, from GNU gettext.
77814         * lib/javacomp.c: New file, from GNU gettext.
77815
77816 2005-01-26  Simon Josefsson  <jas@extundo.com>
77817
77818         * lib/gai_strerror.c: Use GPL in header.
77819
77820 2005-01-26  Bruno Haible  <bruno@clisp.org>
77821
77822         * modules/javaexec: New file.
77823         * MODULES.html.sh (Java): Add javaexec.
77824
77825 2005-01-26  Bruno Haible  <bruno@clisp.org>
77826
77827         * m4/javaexec.m4: New file, from GNU gettext.
77828
77829 2005-01-26  Bruno Haible  <bruno@clisp.org>
77830
77831         * lib/javaexec.sh.in: New file, from GNU gettext.
77832         * lib/javaexec.h: New file, from GNU gettext.
77833         * lib/javaexec.c: New file, from GNU gettext.
77834
77835 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77836
77837         * modules/lchown (Depends-on): Remove lchown.h
77838
77839 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77840
77841         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77842         must be defined if the header file was not found, in order
77843         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77844
77845 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77846
77847         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77848         initializers for struct pentry_state.
77849         (__argp_error): Check return value of __asprintf
77850         (__argp_failure): Translate error message
77851
77852         * lib/argp-parse.c: Removed braces around the expansion of N_()
77853
77854 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77855
77856         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77857         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77858         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77859         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77860         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77861         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77862         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77863         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77864         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77865         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77866         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77867         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77868         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77869         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77870         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77871         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77872         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77873         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77874         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77875         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77876         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77877         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77878         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77879         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77880         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77881         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77882         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77883         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77884         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77885         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77886         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77887         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77888         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77889         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77890         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77891         Use an all-permissive copyright notice, recommended by RMS.
77892
77893 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77894
77895         * modules/chdir-long (Depends-on): Remove mempcpy.
77896
77897 2005-01-21  Jim Meyering  <jim@meyering.net>
77898
77899         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77900         same value as for Solaris 9.
77901
77902         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77903         component length.  This included changing the parameter to be
77904         of type `char *' rather than `char const *'.
77905         * lib/chdir-long.h (chdir_long): Update prototype.
77906
77907         * lib/openat.c (fdopendir, fstatat): New functions.
77908         * lib/openat.h: Include headers required for use of DIR and struct
77909         stat.
77910         [AT_SYMLINK_NOFOLLOW]: Define.
77911         (fdopendir, fstatat): Add prototypes.
77912
77913 2005-01-21  Bruno Haible  <bruno@clisp.org>
77914
77915         * modules/classpath: New file.
77916         * MODULES.html.sh (Java): Add classpath.
77917
77918 2005-01-21  Bruno Haible  <bruno@clisp.org>
77919
77920         * lib/classpath.h: New file, from GNU gettext.
77921         * lib/classpath.c: New file, from GNU gettext.
77922
77923 2005-01-20  Simon Josefsson  <jas@extundo.com>
77924
77925         * modules/version-etc-fsf: New file.
77926
77927 2005-01-20  Simon Josefsson  <jas@extundo.com>
77928
77929         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77930         * lib/version-etc.c: Remove version_etc_copyright.
77931         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77932         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77933
77934 2005-01-20  Simon Josefsson  <jas@extundo.com>
77935
77936         * lib/base64.h (isbase64): Add.
77937
77938         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77939         using a unsigned prototype, don't inline.
77940         (base64_decode): Use it.
77941
77942 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77943
77944         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77945         it.
77946
77947 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77948
77949         * lib/save-cwd.c (save_cwd): Remove code to support the case
77950         where fchdir is missing or flaky.
77951
77952 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77953
77954         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77955
77956 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77957
77958         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77959         AC_LIBSOURCES now does this.
77960         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77961         with new ullong_max module.
77962
77963 2005-01-19  Bruno Haible  <bruno@clisp.org>
77964
77965         * modules/sh-quote: New file.
77966         * MODULES.html.sh (Executing programs): Add sh-quote.
77967
77968 2005-01-19  Bruno Haible  <bruno@clisp.org>
77969
77970         * lib/sh-quote.h: New file, from GNU gettext.
77971         * lib/sh-quote.c: New file, from GNU gettext.
77972
77973 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77974
77975         Merge from coreutils.
77976         * m4/ullong_max.m4: New file.
77977         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77978         (gl_MACROS): Assume localeconv exists.
77979
77980 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77981
77982         Merge changes from coreutils, as described below in several
77983         changelogs dated today.
77984
77985         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77986         (O_DIRECTORY): Remove; not needed here, since "." must be
77987         a directory.  All uses removed.
77988         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77989         universal on Suns, and we also need to test for IRIX.
77990         Revamp code to use 'if' rather than '#if'.
77991         Avoid unnecessary comparison of cwd->desc to 0.
77992
77993         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77994         for known valid error numbers rather than observed invalid ones.
77995
77996 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77997
77998         * modules/ullong_max: New file.
77999
78000         * modules/chdir-long, modules/openat: New files.
78001         * modules/save-cwd (Depends-on): Depend on chdir-long.
78002         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
78003
78004 2005-01-18  Jim Meyering  <jim@meyering.net>
78005
78006         Merge from coreutils.
78007         * m4/chdir-long.m4, m4/openat.m4: New files.
78008         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
78009         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
78010         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
78011         is sane and DOES follow symlinks.  Besides, testing 20 different
78012         systems found no broken chown implementations.
78013         Prompted by a change in rsync's copy of this macro.
78014         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
78015
78016         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
78017
78018         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
78019         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
78020         NULL-means-set-to-current-time semantics.
78021         Remove temporary file immediately, rather than waiting
78022         for configure's at-exit trap code to do it.
78023
78024 2005-01-18  Jim Meyering  <jim@meyering.net>
78025
78026         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78027
78028         * lib/utimens.c (futimens): Account for the fact that futimes
78029         can also fail with errno == ENOSYS or errno == ENOENT.
78030         Patch from Dmitry V. Levin.
78031
78032         Change the name of the robust chdir function from chdir to chdir_long.
78033         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
78034         (restore_cwd): Use chdir_long, not chdir.
78035         * lib/chdir-long.c: Renamed from chdir.c.
78036         * lib/chdir-long.h: Renamed from chdir.h.
78037         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
78038         Hurd.
78039
78040 2005-01-18  Bruno Haible  <bruno@clisp.org>
78041
78042         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
78043         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
78044         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
78045         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
78046         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
78047         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
78048         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
78049         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
78050         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
78051         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
78052         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
78053         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
78054         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
78055         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
78056         Use an all-permissive copyright notice, recommended by RMS.
78057
78058 2005-01-18  Bob Proulx  <bob@proulx.com>
78059
78060         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
78061         simplify offsetof() macro construct to avoid compile failure with
78062         native HP-UX 11.0 ANSI C compiler.
78063
78064 2005-01-17  Bruno Haible  <bruno@clisp.org>
78065
78066         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
78067         redundant because stpncpy.m4 takes care of it.
78068
78069 2005-01-17  Bruno Haible  <bruno@clisp.org>
78070
78071         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
78072
78073 2005-01-17  Bruno Haible  <bruno@clisp.org>
78074
78075         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
78076         used.
78077
78078 2005-01-17  Bruno Haible  <bruno@clisp.org>
78079
78080         * lib/fwriteerror.h (fwriteerror): Change specification to include
78081         fclose.
78082         * lib/fwriteerror.c: Include <stdbool.h>.
78083         (fwriteerror): At the end, close the file stream. Record whether
78084         stdout was already closed.
78085
78086 2005-01-17  Bruno Haible  <bruno@clisp.org>
78087
78088         * lib/execute.c (environ): Declare if needed.
78089         * lib/pipe.c (environ): Likewise.
78090         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
78091
78092 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78093
78094         * modules/argp: Depend on vsnprintf
78095
78096 2005-01-10  Jim Meyering  <jim@meyering.net>
78097
78098         * modules/closeout (Depends-on): Add atexit.
78099
78100 2005-01-06  Bruno Haible  <bruno@clisp.org>
78101
78102         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
78103
78104 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78105
78106         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
78107         definitions to be after all include files, to avoid collisions.
78108         Problem reported by Bob Proulx.
78109
78110 2005-01-04  Jim Meyering  <jim@meyering.net>
78111
78112         Changes imported from coreutils.
78113         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
78114         as the mkstemp template, use a temporary directory and an
78115         8.3-friendly template to avoid trouble on systems like DJGPP.
78116         Reported by Juan M. Guerrero via Stepan Kasal.
78117         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
78118         close. Remove the temporary directory right away, rather than waiting
78119         for configure's at-exit trap code to do it.
78120         Suggestion from Stepan Kasal.
78121
78122 2005-01-01  Simon Josefsson  <jas@extundo.com>
78123
78124         * gnulib-tool: Print #include directives when --import'ing.
78125
78126 2004-12-28  Simon Josefsson  <jas@extundo.com>
78127
78128         * tests/test-base64.c: Include required header files.  Remove
78129         unused variables.
78130
78131 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78132
78133         * modules/error (Depends-on): Remove gettext.
78134
78135 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
78136
78137         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
78138         not needed.  This removes a dependency on the gettext module.
78139         [defined _LIBC]: Do not include <libintl.h>; not needed.
78140
78141 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78142
78143         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
78144         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
78145
78146 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
78147
78148         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
78149         HAVE_DECL_STRTOLD.
78150
78151 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78152
78153         * modules/getdate (Depends-on): Remove alloca-opt.
78154
78155 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78156
78157         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
78158
78159 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
78160
78161         * lib/argp-parse.c: Include <stddef.h>.
78162         (alignof, alignto): New macros.
78163         (parser_init): Don't assume that void * is aligned sufficiently
78164         for struct option.
78165
78166         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
78167         need to extend the stack.
78168         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78169         large.
78170
78171 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78172
78173         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78174
78175 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78176
78177         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78178         (2004-10-24) change.  Apparently this was a false alarm.
78179
78180         * modules/getdate: Depend on alloca-opt, not alloca.
78181
78182 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78183
78184         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78185         Remove now-obsolete comment about AIX.
78186         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78187         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78188         (YYMAXDEPTH): New macro.
78189
78190 2004-12-18  Simon Josefsson  <jas@extundo.com>
78191
78192         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78193
78194 2004-12-18  Bruno Haible  <bruno@clisp.org>
78195
78196         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78197
78198 2004-12-18  Bruno Haible  <bruno@clisp.org>
78199
78200         * lib/fatal-signal.c (fatal_signals): Make non-const.
78201         (init_fatal_signals): New function.
78202         (uninstall_handlers, install_handlers): Ignore signals that were set to
78203         SIG_IGN.
78204         (at_fatal_signal): Call init_fatal_signals.
78205         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78206         SIG_IGN.
78207         Reported by Paul Eggert.
78208
78209 2004-12-18  Bruno Haible  <bruno@clisp.org>
78210
78211         * doc/alloca.texi: New file.
78212         * doc/alloca-opt.texi: New file.
78213
78214 2004-12-17  Jim Meyering  <jim@meyering.net>
78215
78216         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78217         Otherwise, install-sh could exit with improper exit status when
78218         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78219
78220 2004-12-16  Simon Josefsson  <jas@extundo.com>
78221
78222         * tests/test-base64.c: Add license.
78223
78224 2004-12-15  Stepan Kasal  <address@hidden>
78225
78226         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78227
78228 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78229
78230         * modules/getcwd (Files): Add m4/d-ino.m4.
78231         Suggested by Mark D. Baushke.
78232
78233 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78234
78235         * lib/getdate.y (textint): New member "negative".
78236         (time_zone_hhmm): New function.
78237         Expect 14 shift-reduce conflicts, not 13.
78238         (o_colon_minutes): New rule.
78239         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78240         (yylex): Set the "negative" member of signed numbers.
78241
78242 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78243
78244         * doc/getdate.texi (Time of day items, Time zone items):
78245         Describe new formats +00:00, UTC+00:00.
78246
78247 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78248
78249         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78250         spurious "-l"s.  Problem reported by Stepan Kasal.
78251
78252 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78253
78254         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78255         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78256
78257 2004-12-04  Simon Josefsson  <jas@extundo.com>
78258
78259         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78260         Vandoorselaere <yoann@prelude-ids.org>.
78261
78262 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78263
78264         Changes imported from coreutils.
78265         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78266         exist.
78267         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78268
78269 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78270
78271         Changes imported from coreutils.
78272         * lib/hard-locale.c: Assume <locale.h> exists.
78273         Include "strdup.h".
78274         (GLIBC_VERSION): New macro.
78275         (hard_locale): Assume setlocale exists.
78276         Rewrite to avoid #ifdef.
78277         Use strdup rather than malloc + strcpy.
78278         * lib/human.c: Assume <locale.h> exists.
78279         (human_readable): Assume localeconv exists.
78280
78281 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78282
78283         * modules/hard-locale (Depends-on): Add strdup.
78284
78285 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78286
78287         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78288         convert T2, not T.  (Imported from libc.)
78289
78290 2004-11-30  Simon Josefsson  <jas@extundo.com>
78291
78292         * modules/restrict (License): Change to LGPL.
78293
78294 2004-11-30  Simon Josefsson  <jas@extundo.com>
78295
78296         * m4/restrict.m4: Add copyright and copying conditions.
78297
78298 2004-11-30  Simon Josefsson  <jas@extundo.com>
78299
78300         * m4/base64.m4: New file.
78301
78302 2004-11-30  Simon Josefsson  <jas@extundo.com>
78303
78304         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78305         base64.
78306
78307         * tests/test-base64.c: New file.
78308
78309         * modules/base64: New file.
78310
78311 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78312
78313         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78314         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78315
78316         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78317
78318 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78319
78320         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78321         (__getcwd.c): Don't restore errno; glibc doesn't.
78322         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78323         first, falling back to our code only if its results look suspicious.
78324         Ensure that the resulting buffer is only as large as necessary.
78325
78326         * lib/readutmp.c: Include readutmp.h first.
78327         Include <errno.h>, since readutmp.h no longer does that.
78328         * lib/readutmp.h: Don't include <errno.h>,
78329         <sys/param.h>, <time.h>; not needed to establish interface.
78330         (errno): Remove decl.
78331         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78332         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78333         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78334
78335 2004-11-28  Simon Josefsson  <jas@extundo.com>
78336
78337         * lib/base64.h, base64.c: New file.
78338
78339 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78340
78341         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78342
78343 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78344
78345         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78346         (Depends-on): Remove pathmax, same.  Add mempcpy.
78347         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78348         (Makefile.am): Append getcwd.h to lib_SOURCES.
78349         (Include): Add getcwd.h.
78350         (Maintainer): Change from Jim Meyering to "all, glibc",
78351         since getdate now uses intended-for-glibc code.
78352         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78353         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78354
78355 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78356
78357         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78358         HP's ANSI C compiler.
78359         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78360         Declaring int functions causes warnings on some modern systems and
78361         shouldn't be needed to compile on ancient ones.
78362         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78363         defined.
78364
78365         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78366         with the following changes.
78367         (__set_errno): Parenthesize properly.
78368         Include <stdbool.h>.
78369         (MIN, MAX, MATCHING_INO): New macros.
78370         (__getcwd): Define with prototype, not K&R form.
78371         Use heuristics to allocate default buffer on stack if possible.
78372         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78373         behavior, and to avoid the PATH_MAX limit when computing
78374         ../../../../...
78375         Use MATCHING_INO to compare inode number to file.
78376         Check for arithmetic overflow in size calculations.
78377         Fix bug in reallocation of dot array that caused getcwd to fail
78378         on directories nested deeper than 75.
78379         Be more careful about saving errno on error.
78380         Do not use realloc; use only free+malloc, as this is a bit
78381         more flexible and avoids a needless copy operation.
78382         Do not inspect st_dev and st_ino for symbolic links; POSIX
78383         doesn't specify the latter.
78384         Check for closedir errors.
78385         Avoid needless casts.
78386         Use "#ifdef weak_alias" around weak_alias, to be like other
78387         glibc code.
78388         The following changes to getcwd.c have effect only when used in
78389         gnulib; they have no effect inside glibc proper.
78390         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78391         as alloca isn't used.
78392         (alloca, __alloca): Likewise.
78393         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78394         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78395         unconditionally, as gnulib assumes C89 or better.
78396         Do not include <sys/param.h>.
78397         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78398         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78399         better.
78400         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78401         Include <dirent.h> in a way that is compatible with modern Autoconf.
78402         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78403         New macros, if not already defined.
78404         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78405         Use "_LIBC", not "defined _LIBC", for consistency.
78406         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78407         a mempcpy module.
78408         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78409         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78410         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78411         credit only to Jim Meyering and adjust the copyright dates.
78412         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78413         <stdlib.h>, <unistd.h>, "pathmax.h".
78414         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78415         (INITIAL_BUFFER_SIZE): Remove.
78416         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78417
78418 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78419
78420         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78421         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78422         Use the _ONCE methods, for efficiency.
78423         Check for fcntl.h.  In test program, include <errno.h>
78424         and <fcntl.h> if available.  Remove old K&R cruft from
78425         test program.  Check for common errors in GNU/Linux,
78426         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78427         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78428         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78429         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78430         name accordingly.
78431         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78432         accommodate new getcwd.c.
78433         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78434         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78435         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78436         that's all we need now.
78437
78438 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78439
78440         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78441         argp-parse.c depends on getopt internals, that means we should
78442         always use our getopt, to be on the safe side.
78443         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78444         order not to spoil the result of an eventual previous invocation
78445         of gl_GETOPT_SUBSTITUTE.
78446
78447 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78448
78449         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78450         redefinition warnings. To avoid them, include the defines
78451         in `#if !defined __need_getopt ... #endif'. The only place
78452         where __getopt_argv_const is used is in definitions
78453         of getopt_long and getopt_long_only below, which are as well
78454         protected by `#ifndef __need_getopt'.
78455         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78456         __need_getopt after including <stdio.h> and <unistd.h> These
78457         headers might have defined it.
78458
78459 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78460
78461         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78462
78463 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78464
78465         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78466         (futimens): New function, which uses futimes if available.
78467         (futimens, utimens): Support timespec==NULL, with same semantics
78468         as utime and utimens.
78469         * lib/utimens.h (futimens): New decl.
78470
78471 2004-11-23  Jim Meyering  <jim@meyering.net>
78472
78473         * lib/getopt_.h: Remove trailing blanks.
78474
78475 2004-11-23  Jim Meyering  <jim@meyering.net>
78476
78477         * lib/__fpending.c: Add comment.
78478
78479 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78480
78481         * modules/canonicalize (Depends-on): Add xreadlink.
78482         Problem reported by James Youngman.
78483
78484 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78487         New macros.
78488         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78489         optopt): Use them instead of invoking ## directly; otherwise, the
78490         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78491
78492 2004-11-19  Bruno Haible  <bruno@clisp.org>
78493
78494         * lib/strtok_r.c: Move comments from here...
78495         * lib/strtok_r.h: ... to here.
78496
78497 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78498
78499         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78500         implementations that mishandle size_t overflow.
78501
78502 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78503
78504         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78505         might fail.  Problem reported by Yoann Vandoorselaere.
78506         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78507         implementations that mishandle size_t overflow.
78508
78509 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78510
78511         * modules/canon-host (Depends-on): Add strdup.
78512
78513 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78514
78515         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78516
78517 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78518
78519         * lib/canon-host.c: Include "strdup.h".
78520         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78521         Use strdup instead of malloc/strcpy to duplicate strings.
78522
78523         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78524         (human_space_before_unit): New constant.
78525         * lib/human.c (human_readable): Support it.
78526
78527         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78528         (xgetcwd): Set errno correctly when failing.
78529         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78530         the failure is actually due to a PATH_MAX problem.
78531
78532         Further getopt changes to make it more likely that glibc will
78533         buy the changes back.
78534         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78535         (getopt): Use it, so to preserve glibc semantic
78536         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78537         when compiling for libc.
78538         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78539         (getopt_long, getopt_long_only): Use it.
78540
78541         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78542         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78543         (getopt): Argv is now char * const *, as per standard.
78544         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78545         not char *__getopt_argv_const *.
78546         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78547         _getopt_long_only_r): Likewise.
78548         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78549         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78550         _getopt_long_r, _getopt_long_only_r): Likewise.
78551         * lib/getopt_.h (__getopt_argv_const): Remove.
78552         (getopt): Argv is now char * const *, as per standard.
78553
78554         * lib/getdate.y (tORDINAL): New token.
78555         (day, relunit): Allow it for relative times.
78556         (relative_time_table): Use tORDINAL for ordinals.
78557
78558 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78559
78560         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78561         Document that "second" isn't allowed as an ordinal number.
78562
78563 2004-11-16  Jim Meyering  <jim@meyering.net>
78564
78565         * modules/closeout (Depends-on): Add fpending.
78566
78567 2004-11-15  Jim Meyering  <jim@meyering.net>
78568
78569         * lib/closeout.c: Include "__fpending.h" once again.
78570         Include <stdbool.h>.
78571         (close_stdout): Don't fail just because stdout was closed initially,
78572         since some programs don't write to stdout in the normal course of
78573         operation (other than --version and --help), and we don't want this
78574         function to make e.g. `touch file >&-' fail.
78575         But do fail if it was closed and someone has tried to write to it.
78576         E.g., `printf foo >&-' must fail.
78577
78578 2004-11-13  Jim Meyering  <jim@meyering.net>
78579
78580         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78581
78582 2004-11-12  Simon Josefsson  <jas@extundo.com>
78583
78584         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78585         small doc fix is still pending.
78586
78587 2004-11-11  Simon Josefsson  <jas@extundo.com>
78588
78589         * modules/strtok_r: New file.
78590
78591         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78592         strtok_r.
78593
78594 2004-11-11  Simon Josefsson  <jas@extundo.com>
78595
78596         * m4/strtok_r.m4: New file.
78597
78598         * m4/getopt.m4: Replace opterr.
78599
78600 2004-11-11  Simon Josefsson  <jas@extundo.com>
78601
78602         * lib/strtok_r.h, strtok_r.c: New file.
78603
78604 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78605
78606         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78607         of replacing opterr, getopt, etc.  This should handle the
78608         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78609
78610 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78611
78612         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78613         we can stop lying to compilers about the constness of argv when we
78614         are compiled outside glibc.
78615         (getopt, getopt_long, getopt_long_only): Use it.
78616         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78617         _getopt_internal, getopt): Likewise.
78618         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78619         _getopt_long_only_r): Likewise.
78620         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78621         _getopt_long_r, _getopt_long_only_r): Likewise.
78622
78623         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78624         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78625         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78626         the other external symbols.
78627         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78628         declaration, since the above renaming now works around collisions.
78629
78630 2004-11-11  Jim Meyering  <jim@meyering.net>
78631
78632         * lib/linebreak.c: Remove trailing blanks.
78633         * lib/alloca_.h: Likewise.
78634         * lib/acosl.c: Likewise.
78635         * lib/euidaccess.c: Likewise.
78636         * lib/allocsa.h: Likewise.
78637
78638 2004-11-10  Simon Josefsson  <jas@extundo.com>
78639
78640         * m4/getaddrinfo.m4: New file.
78641
78642 2004-11-10  Simon Josefsson  <jas@extundo.com>
78643
78644         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78645
78646 2004-11-10  Simon Josefsson  <jas@extundo.com>
78647
78648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78649         getaddrinfo.
78650
78651         * modules/getaddrinfo: New file.
78652
78653 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78654
78655         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78656
78657 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78658
78659         * lib/mktime.c (SHR): New macro, which is a portable
78660         substitute for >> that should work even on Crays.
78661         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78662         Problem reported by Mark D. Baushke in
78663         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78664         * lib/getdate.y (SHR): Likewise.
78665         (tm_diff): Use it.
78666         * lib/strftime.c (SHR): Likewise.
78667         (tm_diff): Use it.
78668         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78669         quote_these_too, so that right shifts are well defined.  All uses
78670         changed.
78671
78672 2004-11-10  Jim Meyering  <jim@meyering.net>
78673
78674         Ensure that no close failure goes unreported.
78675         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78676         return early when it seems there's nothing to flush.
78677         Don't include __fpending.h.
78678
78679 2004-11-10  Jim Meyering  <jim@meyering.net>
78680
78681         * modules/closeout (Depends-on): Remove fpending.
78682
78683 2004-11-10  Jim Meyering  <jim@meyering.net>
78684
78685         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78686
78687 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78688
78689         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78690         gl_FUNC_STRFTIME.
78691         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78692         and AC_REQUIRE when possible, to avoid duplicate checks.
78693         Check for <wchar.h>.
78694
78695 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78696
78697         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78698
78699 2004-11-09  Bruno Haible  <bruno@clisp.org>
78700
78701         * m4/sockpfaf.m4: New file.
78702
78703 2004-11-05  Bruno Haible  <bruno@clisp.org>
78704
78705         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78706         Reported by Mark D. Baushke <mdb@cvshome.org>.
78707
78708 2004-11-04  Bruno Haible  <bruno@clisp.org>
78709
78710         2004-09-11  Bruno Haible  <bruno@clisp.org>
78711                 * allocsa.valgrind: New file.
78712         2004-02-06  Bruno Haible  <bruno@clisp.org>
78713                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78714                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78715                 Reported by Christopher Seip <chris.seip@hp.com>.
78716
78717 2004-11-04  Bruno Haible  <bruno@clisp.org>
78718
78719         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78720         (Makefile.am): Distribute it.
78721
78722 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78723
78724         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78725         with errno == ERANGE if the buffer is too small.
78726         Problem reported by Mark D. Baushke.
78727
78728 2004-11-03  Albert Chin  <china@thewrittenword.com>
78729             Paul Eggert  <eggert@cs.ucla.edu>
78730
78731         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78732         equivalent, substitute $ac_type for equivalent type rather than
78733         blindly using uint32_t *always* which won't work if uint32_t is not
78734         available.  Define _UINT32_T to work around typedef of uint32_t if
78735         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78736         2.5.1.
78737
78738 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78739
78740         * m4/jm-macros.m4: Sync from coreutils.
78741         (gl_MACROS): Check for mbrlen, for pathchk.
78742         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78743
78744 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78745
78746         * lib/xreadlink.c (MAXSIZE): New macro.
78747         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78748         size does not exceed MAXSIZE.  Avoid cast.
78749         As suggested by Mark D. Baushke in
78750         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78751         if readlink fails with buffer size just under MAXSIZE, try again
78752         with MAXSIZE.
78753
78754 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78755
78756         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78757
78758 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78759         and  Paul Eggert  <eggert@cs.ucla.edu>
78760
78761         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78762         (get_date): Overparenthesize to avoid GCC warning.
78763
78764 2004-11-02  Bruno Haible  <bruno@clisp.org>
78765
78766         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78767         returns void.
78768
78769 2004-11-02  Bruno Haible  <bruno@clisp.org>
78770
78771         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78772         function returns void.
78773
78774 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78775
78776         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78777         fflush_unlocked, flockfile, funlockfile, funlockfile,
78778         fputs_unlocked, putc_unlocked.
78779
78780 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78781
78782         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78783         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78784         already declared.
78785
78786 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78787
78788         * modules/getdate (Files): Add doc/getdate.texi.
78789         (Depends-on): Add setenv, xalloc.
78790
78791 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78792
78793         * lib/getdate.y: Add support for TZ="foo" within a date string.
78794         Fix some bugs near time_t boundaries.  Reject dates with
78795         out-of-range components, e.g., "Sept 31".
78796         Include <stdlib.h>, "setenv.h", "xalloc.h".
78797         (ISDIGIT_LOCALE): Remove; unused.
78798         Note that the TZ and time functions used here are not reentrant.
78799         (mktime_ok, get_tz): New functions.
78800         (TZBUFSIZE): New constant.
78801         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78802         This requires that we sometimes generate our own TZ="XXX..." setting.
78803
78804 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78805
78806         * doc/getdate.texi: New file, from coreutils with modifications for
78807         the new TZ parsing.
78808
78809 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78810
78811         * lib/mktime.c (not_equal_tm): Remove redundant check.
78812
78813 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78814
78815         * modules/regex (lib_SOURCES): Add regex.c.
78816         Reported by James Youngman in
78817         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78818
78819 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78820
78821         * lib/getdate.y: Use Bison 1.875 features, and some minor
78822         code cleanups.  This change does not affect semantics.
78823         Don't include <stdlib.h>; no longer needed.
78824         Don't include unlocked-io.h; only the "#if TEST" code uses
78825         stdio, and performance isn't crucial there.
78826         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78827         Bison 1.875 features as described below.
78828         All uses of "PC." replaced by "pc->".
78829         (YYSTYPE): Add a forward declaration.
78830         (yylex, yyerror): Use full prototypes in forward decls.
78831         Use "%pure-parser" rather than obsolescent "%pure_parser".
78832         Use %parse-param and %lex-param instead of obsolescent
78833         YYPARSE_PARAM and YYLEX_PARAM.
78834         (meridian_table, month_and_day_table, time_units_table,
78835         relative_time_table, time_zone_table, military_table,
78836         lookup_zone, lookup_word, get_date):
78837         Use NULL instead of 0 where appropriate.
78838         (to_hour): Avoid abort (), to avoid a dependency on
78839         stdlib.h.
78840         (yyerror, yylex): Now accepts parser_control * arg.
78841         (main) [TEST]: Use '\0' rather than 0 for char.
78842
78843 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78844
78845         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78846
78847 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78848
78849         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78850         It's now the caller's responsibility to handle the case where
78851         !HAVE_GETPAGESIZE && !defined getpagesize.
78852
78853         * lib/mktime.c (leapyear): Arg is long int, not int.
78854
78855 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78856
78857         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78858
78859 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78860
78861         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78862         missing.  Problem reported by James Youngman.
78863
78864 2004-10-16  Simon Josefsson  <jas@extundo.com>
78865
78866         * gnulib-tool: Fix comments.  Fix parse problem.
78867         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78868
78869 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78870
78871         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78872         implementation of getopt_long.  Problem reported by Alexander Taler in:
78873         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78874
78875 2004-10-15  Bruno Haible  <bruno@clisp.org>
78876
78877         * gnulib-tool: Untabify. Initialize supplied_libname.
78878         (func_usage): More homogenous output.
78879         (func_modules_transitive_closure, func_modules_to_filelist,
78880         func_emit_lib_Makefile_am): New functions.
78881         (func_import): New function, extracted from big case statement. Use
78882         func_get_license, func_modules_transitive_closure,
78883         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78884         opt_lgpl. Don't use test -a, as it's not portable.
78885         (func_create_testdir): Use func_modules_transitive_closure,
78886         func_modules_to_filelist, func_emit_lib_Makefile_am.
78887
78888 2004-10-15  Bruno Haible  <bruno@clisp.org>
78889
78890         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78891
78892 2004-10-15  Bruno Haible  <bruno@clisp.org>
78893
78894         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78895         the portions belonging to each module.
78896         Suggested by Derek Robert Price <derek@ximbiot.com>.
78897
78898 2004-10-12  Simon Josefsson  <jas@extundo.com>
78899
78900         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78901         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78902         to real functions.
78903
78904 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78905
78906         * modules/vsnprintf: New file.
78907
78908 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78909
78910         * m4/vsnprintf.m4: New file.
78911
78912 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78913
78914         * lib/vsnprintf.h: New file.
78915         * lib/vsnprintf.c: New file.
78916
78917 2004-10-11  Bruno Haible  <bruno@clisp.org>
78918
78919         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78920         vsnprintf.
78921
78922 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78923
78924         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78925
78926 2004-10-07  Bruno Haible  <bruno@clisp.org>
78927
78928         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78929         fits into the provided buffer.
78930
78931 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78932
78933         * lib/diacrit.c, diacrit.h: Add GPL notice.
78934
78935         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78936         notice.
78937         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78938         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78939         This avoids a potential constant-folding bug.
78940
78941 2004-10-05  Bruno Haible  <bruno@clisp.org>
78942
78943         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78944         for the declaration of strsep.
78945
78946 2004-10-05  Bruno Haible  <bruno@clisp.org>
78947
78948         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78949
78950 2004-10-04  Simon Josefsson  <jas@extundo.com>
78951
78952         * modules/memmem: New file.
78953         * tests/test-memmem.c: New file.
78954         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78955
78956 2004-10-04  Simon Josefsson  <jas@extundo.com>
78957
78958         * m4/memmem.m4: New file.
78959
78960 2004-10-04  Simon Josefsson  <jas@extundo.com>
78961
78962         * lib/memmem.h: New file.
78963         * lib/memmem.c: New file, taken from glibc.
78964
78965 2004-10-04  Simon Josefsson  <jas@extundo.com>
78966
78967         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78968         '#ifdef USE_UNLOCKED_IO'.
78969
78970 2004-10-04  Simon Josefsson  <jas@extundo.com>
78971
78972         * config/srclist.txt: Add memmem from glibc.
78973
78974 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78975
78976         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78977
78978         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78979         modules/exclude, modules/getdate, modules/getline,
78980         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78981         modules/getusershell, modules/linebuffer, modules/md5,
78982         modules/mountlist, modules/posixtm, modules/readtokens,
78983         modules/readutmp, modules/regex, modules/sha1,
78984         modules/version-etc, modules/yesno:
78985         Remove dependency on unlocked-io.
78986
78987 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78988
78989         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78990
78991         * m4/unlocked-io.m4: Add copyright notice.
78992         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78993
78994 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78995
78996         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78997         * lib/xmalloc.c (xmemdup): Likewise.
78998         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78999         XFREE): Remove these long-obsolescent macros.
79000         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
79001         * lib/xstrdup.c: Remove.
79002
79003         * lib/regex.c (re_comp): Cast gettext return value to char *,
79004         Problem reported by Martin Neitzel via Mark D. Baushke.
79005
79006 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
79007
79008         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
79009         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
79010         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
79011         regex.c, sha1.c, version-etc.c, yesno.c:
79012         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
79013         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
79014         the includer's responsibility.
79015
79016         Sync from coreutils.
79017
79018         * lib/modechange.c (mode_compile): Don't decrement a pointer that
79019         points to the start of a string, as the C Standard says the
79020         resulting behavior is undefined.
79021
79022         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
79023         simple -> simple_backups, numbered_existing ->
79024         numbered_existing_backups, numbered -> numbered_backups
79025         to avoid shadowing problems.  All uses changed.
79026         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
79027         * lib/backupfile.c (check_extension, numbered_backup):
79028         Rename locals to avoid shadowing 'basename'.
79029         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
79030         once.
79031
79032         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
79033         * lib/.cvsignore: Add getopt.h.
79034
79035 2004-10-04  Bruno Haible  <bruno@clisp.org>
79036
79037         * modules/README: New file.
79038         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
79039         not a module.
79040
79041 2004-10-02  Jim Meyering  <jim@meyering.net>
79042
79043         * lib/dirfd.h, getpagesize.h: Add copyright notice.
79044
79045 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79046
79047         * modules/strsep: New file.
79048
79049 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79050
79051         * m4/strsep.m4: New file.
79052
79053 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
79054
79055         * lib/strsep.h: New file.
79056         * lib/strsep.c: New file.
79057
79058 2004-10-01  Simon Josefsson  <jas@extundo.com>
79059
79060         * lib/snprintf.c (snprintf): Handle size==0.
79061
79062 2004-10-01  Simon Josefsson  <jas@extundo.com>
79063             Bruno Haible  <bruno@clisp.org>
79064
79065         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
79066         (snprintf): Declare 'args'.
79067
79068 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
79069
79070         * lib/snprintf.c: Remove comments as to why each header is needed.
79071
79072 2004-10-01  Bruno Haible  <bruno@clisp.org>
79073
79074         * MODULES.html.sh: Add strsep.
79075
79076 2004-09-30  Simon Josefsson  <jas@extundo.com>
79077
79078         * modules/snprintf: New file.
79079
79080 2004-09-30  Simon Josefsson  <jas@extundo.com>
79081
79082         * m4/snprintf.m4: New file.
79083
79084 2004-09-30  Simon Josefsson  <jas@extundo.com>
79085
79086         * lib/snprintf.h, lib/snprintf.c: New files.
79087
79088 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79089
79090         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
79091         (hol_entry_help): Never translate an empty string.
79092         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
79093         * lib/argp.h (OPTION_NO_TRANS): New option.
79094
79095 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79096
79097         * modules/argp (Maintainer): Replace Simon Josefsson
79098         by Sergey Poznyakoff.
79099
79100 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79101
79102         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
79103         changes merged back into glibc.
79104
79105 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
79106
79107         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
79108
79109 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79110
79111         * lib/xvasprintf.c: Include xalloc.h.
79112         (xvasprintf): Use xalloc_die, not xmalloc_die.
79113
79114 2004-09-29  Bruno Haible  <bruno@clisp.org>
79115
79116         * modules/alloca-opt: New file, derived from modules/alloca.
79117         * modules/allocsa: Depend on alloca-opt instead of alloca.
79118         * modules/setenv: Likewise.
79119         * modules/vasnprintf: Likewise.
79120         * MODULES.html.sh: Add alloca-opt.
79121
79122 2004-09-28  Simon Josefsson  <jas@extundo.com>
79123
79124         * gnulib-tool: New parameter --lgpl, to asseert that modules are
79125         LGPL, and to replace license template from GPL to LGPL.
79126
79127 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79128
79129         * modules/dummy: Change license to LGPL.
79130
79131 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
79132
79133         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
79134
79135 2004-09-24  Simon Josefsson  <jas@extundo.com>
79136
79137         * modules/minmax (License): Change from GPL to LGPL.
79138
79139 2004-09-23  Simon Josefsson  <jas@extundo.com>
79140
79141         * gnulib-tool (--import): Typo.
79142
79143 2004-09-23  Simon Josefsson  <jas@extundo.com>
79144
79145         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
79146
79147 2004-09-22  Bruno Haible  <bruno@clisp.org>
79148
79149         * modules/*: Add 'License' field.
79150         * gnulib-tool: Accept --extract-license option.
79151         (func_get_license): New function.
79152
79153 2004-09-21  Bruno Haible  <bruno@clisp.org>
79154
79155         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
79156         Reported by Simon Josefsson.
79157
79158 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79159
79160         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
79161         gl_AC_TYPE_LONG_LONG.
79162
79163 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
79164
79165         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
79166
79167 2004-09-18  Simon Josefsson  <jas@extundo.com>
79168         and  Paul Eggert  <eggert@cs.ucla.edu>
79169
79170         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79171         calls with autoreconf.  Define GL_LIB.
79172
79173 2004-09-14  Karl Berry  <karl@gnu.org>
79174
79175         * config/srclist.txt: unsync setenv.c, sigh.
79176
79177 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79178
79179         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79180         Problem reported by Bruno Haible in:
79181         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79182
79183 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79184
79185         * config/srclist.txt: Comment out argp-pvh.c.
79186
79187 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79188
79189         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79190         in case some system header has #define'd it.  Problem reported by
79191         Soeren D. Schulze in
79192         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79193
79194 2004-09-09  Karl Berry  <karl@gnu.org>
79195
79196         * regex.[ch]: delete from the root.  These were supposed to be
79197                 synced with emacs cvs, but this has not happened for about
79198                 a year, and anyway nothing else uses emacs regex.[ch].
79199                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79200                 lib/regex[.ch] is untouched.
79201
79202 2004-09-09  Bruno Haible  <bruno@clisp.org>
79203
79204         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79205
79206 2004-09-09  Bruno Haible  <bruno@clisp.org>
79207
79208         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79209         modifications.
79210         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79211
79212 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79213
79214         * modules/xvasprintf: New file.
79215         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79216
79217 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79218
79219         * lib/xvasprintf.h: New file.
79220         * lib/xvasprintf.c: New file.
79221         * lib/xasprintf.c: New file.
79222
79223 2004-09-08  Bruno Haible  <bruno@clisp.org>
79224
79225         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79226
79227 2004-09-08  Bruno Haible  <bruno@clisp.org>
79228
79229         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79230         length is > INT_MAX.
79231         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79232         more.
79233
79234 2004-09-08  Bruno Haible  <bruno@clisp.org>
79235
79236         * lib/stdint_.h: New file, taken from GNU clisp.
79237
79238 2004-09-08  Bruno Haible  <bruno@clisp.org>
79239             Oskar Liljeblad  <oskar@osk.mine.nu>
79240
79241         * modules/stdint: New file.
79242         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79243
79244 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79245
79246         Import from coreutils.
79247         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79248         strings on unbounded length.  alloca's performance benefits aren't
79249         that important here.
79250         (V_STRDUP): Remove.
79251         (parse_with_separator): New function, with most of the internals
79252         of the old parse_user_spec.  Allow user to omit both user and group,
79253         for compatibility with FreeBSD.
79254         Clone only the user name, not the entire spec.
79255         Do not set *uid, *gid unless entirely successful.
79256         Avoid memory leak in some failing cases.
79257         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79258         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79259         (parse_user_spec): Rewrite to use parse_with_separator.
79260
79261 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79262
79263         * modules/userspec: Don't depend on alloca.
79264
79265 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79266
79267         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79268
79269 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79270
79271         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79272         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79273         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79274
79275 2004-08-16  Simon Josefsson  <jas@extundo.com>
79276
79277         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79278         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79279         Add --dry-run for --import.
79280         Let user provided command line parameters override configure.ac
79281         settings.
79282
79283 2004-08-12  Simon Josefsson  <jas@extundo.com>
79284
79285         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79286         as discussed with Paul Eggert in threads rooted at
79287         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79288         and
79289         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79290         Before, the test was empty, and relied on ELIDE_CODE in source
79291         code.)
79292         (gl_PREREQ_GETOPT): New macro.
79293         (gl_GETOPT): Use them.
79294
79295 2004-08-12  Simon Josefsson  <jas@extundo.com>
79296
79297         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79298         * lib/getopt_.h: Renamed from getopt.h.
79299
79300 2004-08-12  Simon Josefsson  <jas@extundo.com>
79301
79302         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79303         Change default library name from libfoo to libgnu.
79304         Now, if you have a configure.ac that says:
79305                 gl_SOURCE_BASE(gl)
79306                 gl_M4_BASE(gl/m4)
79307                 gl_MODULES(error getopt etcetera)
79308                 gl_INIT
79309         you can import all you need by running:
79310                 ../gnulib/gnulib-tool --import
79311
79312         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79313         (Makefile.am): Rewrite, use logic from argz.
79314         (Include): Use <getopt.h> instead of "getopt.h".
79315
79316 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79317
79318         * modules/argp (Files): Add m4/unlocked-io.m4.
79319         (Depends-on): Add extensions.
79320
79321 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79322
79323         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79324         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79325         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79326         Check for program_invocation_name, program_invocation_short_name,
79327         flockfile, funlockfile, features.h, _getopt_long_only_r.
79328
79329 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79330
79331         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79332         its complicated substitute.
79333         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79334         and program_invocation_name.
79335         (__argp_basename) [!_LIBC]: Remove; the only use was
79336         replaced by its body.
79337         (__argp_short_program_name): Change condition from
79338         !defined __argp_short_program_name to
79339         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79340         to match argp-namefrob.h.
79341         (__argp_failure): Don't assume strerror_r returns char *.
79342         * lib/argp-parse.c (N_): Define unconditionally.
79343         (argp_default_options): Fill out initializers with 0 to avoid
79344         gcc warnings.
79345
79346 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79347
79348         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79349         getopt1.c.
79350
79351 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79352
79353         Merge from coreutils.
79354
79355         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79356
79357         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79358         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79359
79360 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79361
79362         Merge from coreutils.
79363
79364         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79365         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79366         for Reliant Unix 5.43.
79367
79368         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79369         (union fooround): Use uintmax_t, not long int.
79370         The rest is a merge from libc:
79371         [defined _LIBC]: Include <shlib-compat.h>.
79372         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79373
79374         * lib/settime.c (settime): Recode to avoid warning with
79375         Sun Forte C 6U2.
79376
79377         * lib/strverscmp.c: Convert to UTF-8.
79378
79379 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79380
79381         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79382         m4/uintmax_t.m4.
79383
79384 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79385
79386         * modules/xalloc-die: New file.
79387         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79388
79389         * modules/md5 (Files): Add m4/uint32_t.m4.
79390         * modules/sha1: Renamed from modules/sha.
79391         (Files):
79392         Rename lib/sha.h to lib/sha1.h.
79393         Rename lib/sha.c to lib/sha1.c.
79394         Rename m4/sha.m4 to m4/sha1.m4.
79395         (lib_SOURCES): Likewise.
79396         (configure.ac): Rename gl_SHA to gl_SHA1.
79397         (Include): sha.h -> sha1.h.
79398
79399 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79400
79401         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79402         * m4/sha1.m4: Renamed from sha.m4.
79403         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79404
79405 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79406
79407         * lib/obstack.h (obstack_empty_p):
79408         Don't assume that chunk->contents is suitably aligned.
79409         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79410         Likewise. Problem reported by Benno in
79411         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79412
79413         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79414         readable.  This could be improved further but it'd take some work.
79415
79416 2004-08-08  Simon Josefsson  <jas@extundo.com>
79417
79418         * modules/xgethostname (Depends-on): Remove exit and error (not
79419         used).
79420
79421         * modules/getpass-gnu: Add getpass.h.
79422         (Depends-on): Add stdbool.
79423         * modules/getpass: Add getpass.h.
79424
79425 2004-08-08  Simon Josefsson  <jas@extundo.com>
79426
79427         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79428         Check getpass declaration.
79429
79430 2004-08-08  Simon Josefsson  <jas@extundo.com>
79431
79432         * lib/xgethostname.c: Don't include error.h (not used).
79433
79434         * lib/getpass.h: Add.
79435         * lib/getpass.c: Include getpass.h first.
79436
79437 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79438
79439         * lib/xalloc-die.c: New file.
79440         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79441         All uses removed.
79442         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79443         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79444         xalloc-die.c.
79445         (_, N_, xalloc_die): Move to xalloc-die.c.
79446         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79447         so that we needn't mess with xalloc_msg_memory_exhausted.
79448
79449         * lib/sha1.h: Renamed from sha.h.
79450         (SHA1_H): Renamed from _SHA_H.
79451         (sha1_ctx): Renamed from sha_ctx.
79452         (sha1_init_ctx): Renamed from sha_init_ctx.
79453         (sha1_process_block): Renamed from sha_process_block.
79454         (sha1_process_bytes): Renamed from sha_process_bytes.
79455         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79456         (sha1_read_ctx): Renamed from sha_read_ctx.
79457         (sha1_stream): Renamed from sha_stream.
79458         (sha1_buffer): Renamed from sha_buffer.
79459         * lib/sha1.c: Likewise; renamed from sha.c.
79460         Do not include <sys/types.h>.
79461         Include <stddef.h> rather than <stdlib.h>.
79462
79463 2004-08-08  Bruno Haible  <bruno@clisp.org>
79464
79465         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79466         FILESYSTEM_PREFIX_LEN.
79467         * lib/progreloc.c: Likewise.
79468         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79469
79470 2004-08-06  Simon Josefsson  <jas@extundo.com>
79471
79472         * modules/progname (Depends-on): Don't depend on stdbool.
79473
79474 2004-08-06  Simon Josefsson  <jas@extundo.com>
79475
79476         * modules/getsubopt: New file.
79477         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79478         getsubopt.
79479
79480 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79481
79482         More merge from coreutils.
79483
79484         * m4/utimens.m4, m4/utimecmp.m4: New files.
79485         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79486         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79487         prereq.m4, sha.m4: Import changes from coreutils.
79488
79489 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79490
79491         More merge from coreutils.
79492         * modules/raise, modules/readtokens0, modules/utimens:
79493         * modules/utimecmp, module/xnanosleep: New files.
79494         * modules/strftime: Add lib/strftime.h.
79495         Change include from <time.h> to "strftime.h".
79496         * modules/yesno: Add lib/yesno.h.
79497         * modules/backupfile: Remove lib/addext.c.
79498         * modules/euidaccess: Add stat-macros.h.
79499         * modules/canonicalize, modules/euidaccess,
79500         modules/filemode, modules/lchown, modules/makepath,
79501         modules/rmdir, modules/stat: Likewise.
79502
79503 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79504
79505         Merge from tar.
79506         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79507         SIZE_MAX is a valid preprocessor constant.
79508         (__argp_basename): Change from "#ifndef _LIBC"
79509         to "#ifndef __argp_short_program_name", so that
79510         we don't compile these functions for tar.
79511
79512         More merges from coreutils.
79513         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79514         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79515         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79516         * lib/addext.c: Remove; no longer needed.
79517         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79518         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79519         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79520         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79521         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79522         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79523         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79524         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79525         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79526         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79527         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79528         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79529         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79530         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79531         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79532         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79533         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79534         Import changes from coreutils.
79535
79536 2004-08-05  Simon Josefsson  <jas@extundo.com>
79537
79538         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79539
79540 2004-08-05  Simon Josefsson  <jas@extundo.com>
79541
79542         * m4/getsubopt.m4: New file.
79543
79544 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79545
79546         Merge from coreutils.
79547
79548         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79549         * m4/getcwd-path-max.m4: New files.
79550
79551         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79552         FILESYSTEM_PREFIX_LEN ->
79553         FILE_SYSTEM_PREFIX_LEN.
79554         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79555         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79556         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79557         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79558
79559         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79560         prerequisite modules now handle the DOS stuff.
79561         Don't check for unistd.h.
79562
79563 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79564
79565         Merge from coreutils.
79566
79567         * lib/.gdb-history: Remove; this doesn't belong here.
79568
79569         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79570         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79571         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79572         * lib/getcwd.c: New files.
79573
79574         * lib/dirname.h: Include <stdbool.h>.
79575         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79576         for consistency with POSIX terminology.  All uses changed.
79577         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79578         (strip_trailing_slashes): Use bool for booleans.
79579         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79580
79581         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79582         sometimes returns a positive errno value even when it succeeds.
79583         (print_errno_message) [!LIBC]: Fall back on strerror if
79584         __strerror_r fails.
79585
79586         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79587         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79588         (longest_relative_suffix): New function.
79589         (path_concat): Use it.  Assume first argument is not NULL.
79590         Port to DOS.  Omit redundant separators.
79591         Report an error instead of returning NULL.
79592         Use mempcpy instead of memcpy.
79593         (xpath_concat): Remove: not declared or used.
79594
79595         * lib/same.h: Include <stdbool.h>
79596         (same_name): Return bool, not int.
79597         * lib/same.c (same_name): Likewise.
79598         (errno): Don't declare; we assume C89 or better now.
79599
79600         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79601         if not already defined.
79602
79603         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79604         * lib/dup-safer.c (errno): Likewise.
79605
79606 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79607
79608         Merge from coreutils.
79609         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79610         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79611         * modules/path-concat: Don't depend on strdup.
79612
79613 2004-08-03  Simon Josefsson  <jas@extundo.com>
79614
79615         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79616         * lib/progname.h: Don't include stdbool.h.
79617
79618 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79619
79620         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79621         * MODULES.html.sh (func_all_modules): Remove fatal.
79622
79623 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79624
79625         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79626
79627 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79628
79629         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79630         working.
79631
79632 2004-08-02  Simon Josefsson  <jas@extundo.com>
79633
79634         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79635         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79636         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79637
79638 2004-08-01  Simon Josefsson  <jas@extundo.com>
79639
79640         * lib/xgetdomainname.c: Include stdlib.h, for free().
79641
79642 2004-07-19  Bruno Haible  <bruno@clisp.org>
79643
79644         * MODULES.html.sh (func_all_modules): Add dummy.
79645
79646 2004-07-16  Simon Josefsson  <jas@extundo.com>
79647
79648         * modules/dummy: New file.
79649
79650 2004-07-16  Simon Josefsson  <jas@extundo.com>
79651
79652         * lib/dummy.c: New file.
79653
79654 2004-07-16  Bruno Haible  <bruno@clisp.org>
79655
79656         * lib/backupfile.h: Add extern "C" for C++.
79657         * lib/closeout.h: Likewise.
79658         * lib/copy-file.h: Likewise.
79659         * lib/findprog.h: Likewise.
79660         * lib/full-write.h: Likewise.
79661         * lib/pathname.h: Likewise.
79662         * lib/progname.h: Likewise.
79663         * lib/stpcpy.h: Likewise.
79664         * lib/stpncpy.h: Likewise.
79665         * lib/strcase.h: Likewise.
79666         * lib/strstr.h: Likewise.
79667         * lib/xalloc.h: Likewise.
79668
79669         * lib/mbswidth.h: Add extern "C" for C++.
79670         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79671
79672 2004-07-13  Robert Millan  <robertmh@gnu.org>
79673
79674         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79675
79676 2004-07-09  Simon Josefsson  <jas@extundo.com>
79677
79678         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79679         failed without this.)
79680
79681 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79682
79683         * modules/chown (Files): Add lib/fchown-stub.c, since
79684         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79685
79686 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79687
79688         * lib/fchown-stub.c: New file.
79689
79690 2004-06-24  Jim Meyering  <jim@meyering.net>
79691
79692         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79693
79694 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79695
79696         * modules/argz: Omit "#include".
79697
79698         * MODULES.html.sh (func_all_modules): Add calloc, to match
79699         2004-06-01 addition of calloc module.
79700
79701 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79702
79703         * m4/argz.m4: New file, which is autoupdated from libtool.
79704
79705 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79706
79707         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79708         libtool.
79709
79710 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79711
79712         * config/srclist-update: Don't insist on "USA." before the
79713         close-comment, as libtool omits the period and puts the */ on a
79714         separate line.
79715         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79716         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79717
79718 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79719
79720         * modules/argz: New file.
79721         * MODULES.html.sh (func_all_modules): Add argz.
79722
79723 2004-06-12  Jim Meyering  <jim@meyering.net>
79724         and  Paul Eggert  <eggert@cs.ucla.edu>
79725
79726         * modules/hash (Files): Add lib/xalloc.h.
79727         * modules/pipe (Depends-on): Add wait-process.
79728         * modules/stat (Depends-on): Add xalloc.
79729         * modules/userspec (Files): Add lib/userspec.h.
79730         * modules/xstrto
79731
79732         Upgrade from gettext-0.13.
79733         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79734         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79735         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79736
79737 2004-06-10  Jim Meyering  <jim@meyering.net>
79738
79739         * lib/calloc.c: New file.
79740
79741 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79742
79743         * lib/getdate.y (yylex): Allow space between sign and number.
79744         Problem reported by Dan Jacobson.
79745
79746 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79747
79748         Merge from coreutils CVS.
79749
79750         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79751         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79752         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79753         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79754         xstrtol.m4: Fix copyright date and/or serial number.
79755
79756         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79757         See if we need an fchown replacement.
79758         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79759         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79760         and use the replacement function if we detect either defect.
79761
79762         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79763         gl_UTIMECMP.
79764
79765 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79766         and  Jim Meyering  <jim@meyering.net>
79767
79768         Merge from coreutils CVS.
79769
79770         * lib/stat-macros.h: New file, with contents from file-type.h
79771         and coreutils' system.h.
79772         * lib/file-type.c: Include "stat-macros.h".
79773         * lib/file-type.h (file_type): Move all macro definitions to new file,
79774         stat-macros.h.
79775
79776         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79777         Wrap old code with this conditional.
79778         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79779         function that does not dereference symlinks.
79780         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79781
79782         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79783         dependency problems.
79784         (xreadlink): Accept new arg SIZE, for efficiency.
79785         All decls and uses changed.
79786         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79787
79788         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79789         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79790
79791         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79792         sysexits.h.
79793
79794 2004-06-01  Jim Meyering  <jim@meyering.net>
79795
79796         * m4/calloc.m4: New file.
79797
79798 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79799
79800         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79801         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79802         Also, fix a typo in a diagnostic.
79803
79804 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79805
79806         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79807         or AC_FUNC_REALLOC.
79808
79809 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79810
79811         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79812         macros to be defined.
79813         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79814         the allocator returns NULL because the requested size is zero.
79815
79816 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79817
79818         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79819         var.  Add comment explaining why libc still defines it.  This
79820         merges the following patch from glibc:
79821         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79822
79823 2004-05-20  Andreas Schwab  <schwab@suse.de>
79824
79825         * m4/free.m4: Replace free if it not known to work, not the other
79826         way round.
79827
79828 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79829
79830         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79831         present in glibc since revision 1.1 of this file.
79832         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79833         obstack_alignment_mask, obstack_alloc, obstack_base,
79834         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79835         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79836         obstack_grow0, obstack_init, obstack_int_grow,
79837         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79838         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79839         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79840         nonexistent functions.
79841
79842 2004-05-18  Karl Berry  <karl@gnu.org>
79843
79844         * config/srclist.txt: break link for vasnprintf.c.
79845
79846 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79847
79848         Port obstack to the AS/400, where pointers are 16 bytes wide and
79849         you cannot cast an integer to a valid pointer.  This patch is
79850         currently waiting to be integrated into glibc; see
79851         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79852
79853         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79854         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79855         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79856         (struct obstack): temp member is now a union of a pointer and
79857         an integer, instead of an integer.  All integer uses changed.
79858         This does not affect the physical layout of struct obstack,
79859         except on hosts (like the AS/400) where the size or alignment of
79860         void * is greater than that of ptrdiff_t.
79861         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79862         __STDC__)]: Store temporary in pointer member of union, not
79863         integer member.
79864         * lib/obstack.c: Include <stddef.h>, for offsetof.
79865         (struct fooalign): Remove; it doesn't need a name.
79866         (union fooround): Change double to long double, and add void *.
79867         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79868         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79869         not a macro.  Hence the values are always int; so remove all
79870         casts-to-int in uses.
79871
79872 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79873
79874         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79875         we can get this patch merged into glibc.
79876
79877 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79878             Paul Eggert  <eggert@cs.ucla.edu>
79879
79880         * m4/argp: Depend on alloca.
79881
79882 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79883             Paul Eggert  <eggert@cs.ucla.edu>
79884
79885         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79886         freecoding.
79887
79888 2004-05-17  Bruno Haible  <bruno@clisp.org>
79889
79890         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79891         precision that consists of a '.' followed by an empty digit string.
79892         Patch by Tor Lillqvist <tml@iki.fi>.
79893
79894 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79895
79896         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79897         for backward compatibility with older code.  We need our own
79898         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79899         it under some other name, and our alloca.h will define it.
79900
79901 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79902             Derek Price  <derek@ximbiot.com>
79903
79904         * lib/alloca.c: Include <alloca.h>, to get our interface.
79905         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79906         include <alloca.h> first.  Use C89 prototype for alloca; this
79907         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79908         Use #elif for simplicity, since we can assume C89 now.
79909         Don't try to source the system alloca.h since it will not be found
79910         and to prevent recursively including its replacement.
79911         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79912         * lib/regex.c: Likewise.
79913
79914 2004-05-16  Derek Price  <derek@ximbiot.com>
79915             Paul Eggert  <eggert@cs.ucla.edu>
79916
79917         getline cleanup.  This changes the getndelim2 API: both order of
79918         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79919         no delimiter).
79920
79921         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79922         interface does that.
79923         (getline): Always use getdelim, so that we don't have two
79924         copies of this code.
79925         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79926         if available.
79927         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79928         (GETNDELIM2_MAXIMUM): New macro.
79929         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79930         instead of the old practice of delim2==0.  All callers changed.
79931         Return -1 on overflow, instead of returning junk.
79932         Do not set *linesize unless allocation succeeds.
79933         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79934         that we include sys/types.h.
79935         * lib/getnline.h: Likewise.
79936         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79937         (getndelim2): Reorder arguments.
79938         * lib/getnline.c (getnline, getndelim):
79939         Don't discard the NMAX argument.
79940         (getnline): Invoke getndelim, to avoid code duplication.
79941         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79942         of (size_t) -1 by callers of the getnline family.
79943
79944 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79945
79946         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79947         Check for gettimeofday.
79948         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79949         Check for settimeofday, stime.
79950
79951 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * lib/nanosleep.c (suspended): Change its type from int to
79954         sig_atomic_t volatile.
79955         (first_call): Make it private to rpl_nanosleep, and have it
79956         be zero initially as that's a bit faster.
79957         (my_usleep): Round up fractional times instead of truncating them,
79958         as this is the usual meaning for 'sleep'.
79959
79960         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79961         doesn't work.
79962         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79963         (ENOSYS): Define if not defined.
79964         (settime): Fall back on stime if it exists and settimeofday fails.
79965         But don't bother with fallbacks if a method fails with errno == EPERM.
79966
79967 2004-05-11  Jim Meyering  <jim@meyering.net>
79968
79969         Prior to this change, the save_cwd caller required read access to the
79970         current directory on most systems (ones with the fchdir function).
79971
79972         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79973         fails, try write-only, and finally, resort to using xgetcwd.
79974
79975 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79976
79977         * lib/obstack.c, obstack.h: Import changes from libc.
79978
79979 2004-04-28  Bruno Haible  <bruno@clisp.org>
79980
79981         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79982         also implicitly appends .exe to executables.
79983         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79984         accepts Windows pathnames.
79985         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79986         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79987         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79988         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79989         Reported by Derek Robert Price <derek@ximbiot.com>.
79990
79991 2004-04-21  Karl Berry  <karl@gnu.org>
79992
79993         * config/srclist.txt (localcharset.c): break sync.
79994
79995 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79996
79997         * m4/host-os.m4: Add a copyright notice.
79998
79999 2004-04-20  Jim Meyering  <jim@meyering.net>
80000
80001         Change UTILS_ to gl_ in AC_DEFINE'd names.
80002         Change utils_- and jm_-prefixed variables, too.
80003         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
80004         UTILS_FUNC_MKDIR_TRAILING_SLASH.
80005         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
80006
80007         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
80008         Don't emit trailing blanks.
80009         Also rename jm_-prefixed variables to have gl_ prefix.
80010
80011         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
80012         Also rename jm_-prefixed variables to have gl_ prefix.
80013
80014         * m4/jm-macros.m4: Reflect the renamings.
80015         * m4/prereq.m4: Likewise.
80016
80017 2004-04-20  Jim Meyering  <jim@meyering.net>
80018
80019         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
80020         memory.
80021
80022 2004-04-20  Jim Meyering  <jim@meyering.net>
80023             Bruno Haible  <bruno@clisp.org>
80024
80025         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
80026         memory when realloc fails.
80027
80028 2004-04-19  Jim Meyering  <jim@meyering.net>
80029
80030         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
80031         now that readutmp.c may call `free (0)'.
80032
80033 2004-04-19  Bruno Haible  <bruno@clisp.org>
80034
80035         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
80036         * m4/inttypes_h.m4: Likewise.
80037         * m4/stdint_h.m4: Likewise.
80038         * m4/intmax_t.m4: Likewise.
80039         * m4/uintmax_t.m4: Likewise.
80040
80041 2004-04-18  Jim Meyering  <jim@meyering.net>
80042
80043         * m4/prereq.m4: Don't forbid jm_ prefix.
80044
80045         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
80046         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
80047         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
80048         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
80049         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
80050         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
80051         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
80052         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
80053         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
80054         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
80055         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
80056         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
80057         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
80058         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
80059         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
80060         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
80061         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
80062         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
80063         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
80064
80065 2004-04-18  Jim Meyering  <jim@meyering.net>
80066
80067         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
80068         failure, don't leak memory and do call END_UTMP_ENT.
80069
80070 2004-04-16  Jim Meyering  <jim@meyering.net>
80071
80072         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
80073         coreutils' stat program.
80074         (gl_PREREQ): Don't require jm_PREREQ_STAT.
80075
80076 2004-04-11  Paul Eggert  <eggert@twinsun.com>
80077
80078         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
80079         C89.
80080         (CHAR_BIT): Remove, since we assume C89.
80081         Include <stdint.h> if available, as per current Autoconf CVS advice.
80082
80083 2004-03-31  Jim Meyering  <jim@meyering.net>
80084
80085         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
80086         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
80087         * m4/xalloc.m4: Likewise.
80088
80089 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80090
80091         Merge from coreutils.
80092
80093         * m4/inttostr.m4: New file.
80094         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
80095         Require AM_STDBOOL_H and gl_TIMESPEC instead.
80096         Require gl_CLOCK_TIME.
80097         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
80098
80099 2004-03-30  Paul Eggert  <eggert@twinsun.com>
80100
80101         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
80102         not bool, to be more consistent with Unix conventions.
80103         Suggested by Bruno Haible.
80104
80105         Merge from coreutils.
80106
80107         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
80108         * lib/umaxtostr.c: New files.
80109
80110         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
80111         the usual <time.h> dance.
80112         (get_date): Change signature to support fractional time stamps.
80113         All callers changed.
80114         * lib/getdate.y: Include "getdate.h" first, as we can now
80115         assume C89 and don't need to worry about 'const'.
80116         Similarly, include "unlocked-io.h" near start, not in middle.
80117         Include <limits.h>.
80118         (textint.value): Use long int rather than int.
80119         (textint.digits): Use size_t rather than int.
80120         (BILLION, LOG10_BILLION): New constants.
80121         (parser_control): New member rel_ns.  Members day_ordinal,
80122         time_zone, month, day, hour, minutes, rel_year, rel_month,
80123         rel_day, rel_hour, rel_minutes, rel_seconds
80124         are now long int, not int.  Member seconds is now struct timespec,
80125         not int.  New member timespec_seen.  Members dates_seen, days_seen,
80126         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
80127         not int.
80128         (%union.intval): Now long int, not int.
80129         New member timespec.
80130         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
80131         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
80132         (spec): Now is a timespec or an item list.
80133         (timespec, items): New nonterminals.
80134         (time, rel, relunit, number, get_date):
80135         Add support for fractional seconds.
80136         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
80137         (gmtime, localtime, mktime): Remove decls; not needed with C89.
80138         (to_hour): First arg is now long int, not int.
80139         (to_year): Returns long int, not int.
80140         Don't treat year -70 like 70.
80141         (tm_diff): Returns long int, not int.
80142         (lookup_word): Use bool instead of int when appropriate.
80143         (yylex): Use size_t for count, not int.
80144         Detect overflow when parsing large integer constants.
80145         Add support for fractions.
80146         (get_date): Make pointers 'const' if possible.
80147         Use more-portable code to detect integer overflow.
80148         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
80149         Don't use ctime; it's not reliable if the year has >4 digits.
80150
80151         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
80152         This is for compatibility with BSD.
80153
80154         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
80155         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
80156         From coreutils' system.h.
80157
80158         * lib/userspec.c: Don't include "posixver.h".
80159         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
80160         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
80161         compatible extension.  Simplify code by removing a boolean int
80162         that was always nonzero if a string was nonnull.
80163
80164 2004-03-30  Jim Meyering  <jim@meyering.net>
80165
80166         Merge from coreutils.
80167
80168         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80169         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80170         on some systems one must include <grp.h> before it.
80171         Reported by Christian Krackowizer.
80172
80173 2004-03-30  Jim Meyering  <jim@meyering.net>
80174
80175         Merge from coreutils.
80176
80177         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80178
80179         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80180         an empty input stream.
80181
80182         * lib/readtokens.c: Include <stdbool.h>.
80183         (readtoken): Use `size_t' rather than int/long.
80184         All callers adjusted.
80185         Use `bool' rather than `int' where appropriate.
80186         Use memset rather than an explicit loop.
80187         Use x2nrealloc rather than xrealloc.
80188         Allow the use of `\0' as a delimiter.
80189         (readtokens): Likewise.
80190         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80191
80192 2004-03-30  Jim Meyering  <jim@meyering.net>
80193
80194         * m4/realloc.m4: Remove file, since now it does no more than
80195         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80196         the `configure.ac' section of module/realloc.
80197         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80198
80199 2004-03-30  Bruno Haible  <bruno@clisp.org>
80200
80201         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80202         nonnull.
80203
80204 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80205
80206         Merge changes to getloadavg.c from coreutils and Emacs.
80207
80208         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80209         Define to an expression, not to the empty string.
80210         Include cloexec.h and xalloc.h.
80211         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80212         Use set_cloexec_flag rather than rolling our own.
80213         * lib/cloexec.c, lib/cloexec.h: New files.
80214
80215 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80216
80217         * m4/cloexec.m4: New file.
80218
80219 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80220
80221         * lib/getopt.h: Sync with libc CVS.
80222
80223 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80224             Bruno Haible  <bruno@clisp.org>
80225
80226         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80227         mbswidth.
80228
80229 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80230             Bruno Haible  <bruno@clisp.org>
80231
80232         * lib/mbswidth.h: Include <wchar.h> only if
80233         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80234         <wchar.h>.
80235         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80236
80237 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80238
80239         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80240         Sync with libc CVS.
80241         * lib/getopt_int.h: New file, also synced from libc.
80242
80243 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80244
80245         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80246         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80247         Bring back getopt.c, getopt.h, getopt1.c.
80248
80249 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80250
80251         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80252         All uses changed.  Check for sa_sigaction member; this fixes
80253         a bug first reported by Jason Andrade in
80254         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80255
80256 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80257
80258         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80259         '#if' expressions.  Unlike the code it replaces, it does not
80260         depend on (defined _SC_PAGESIZE).  However, it does depend on
80261         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80262         first reported by Jason Andrade in
80263         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80264
80265 2004-02-25  Simon Josefsson  <jas@extundo.com>
80266
80267         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80268
80269 2004-02-25  Simon Josefsson  <jas@extundo.com>
80270
80271         * lib/strdup.h: New file.
80272         * lib/strdup.c: Include it.
80273         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80274         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80275
80276 2004-02-23  Karl Berry  <karl@gnu.org>
80277
80278         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80279         (from fencepost.gnu.org:/gd/gnuorg).
80280
80281 2004-02-23  Karl Berry  <karl@gnu.org>
80282
80283         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80284         * config/srclist.txt: add maintain/standards documents.
80285
80286 2004-02-18  Bruno Haible  <bruno@clisp.org>
80287
80288         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80289         Reported by Derek Robert Price <derek@ximbiot.com>.
80290
80291 2004-02-16  Karl Berry  <karl@gnu.org>
80292
80293         * config/mkinstalldirs, install-sh: update from automake.
80294
80295 2004-02-06  Karl Berry  <karl@gnu.org>
80296
80297         * m4/po.m4: update from gettext 0.14.1.
80298
80299 2004-02-06  Karl Berry  <karl@gnu.org>
80300
80301         * lib/config.charset: update from gettext 0.14.1.
80302
80303 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80304
80305         Add comments and code, prompted by suggestions from Bruno Haible
80306         for sh-quote.
80307         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80308         describing the enum quoting_style values.
80309         * lib/quotearg.c (quotearg_alloc): New function.
80310         (quotearg_buffer_restyled): Treat lone { and } as special.
80311         Treat = as special.  Work around bug with older shells
80312         that "see" a '\' that is really the 2nd byte of a multibyte char.
80313         Quote empty string with shell_quoting_style.
80314
80315 2004-02-03  Bruno Haible  <bruno@clisp.org>
80316
80317         * m4/pipe.m4: New file, from GNU gettext.
80318
80319 2004-02-03  Bruno Haible  <bruno@clisp.org>
80320
80321         * lib/pipe.h: New file, from GNU gettext.
80322         * lib/pipe.c: New file, from GNU gettext.
80323
80324 2004-01-27  Bruno Haible  <bruno@clisp.org>
80325
80326         * m4/execute.m4: New file, from GNU gettext.
80327
80328 2004-01-27  Bruno Haible  <bruno@clisp.org>
80329
80330         * lib/execute.h: New file, from GNU gettext.
80331         * lib/execute.c: New file, from GNU gettext.
80332         * lib/w32spawn.h: New file, from GNU gettext.
80333
80334 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80335
80336         Merge from diffutils.
80337
80338         * lib/file-type.c (file_type): Add typed memory objects.
80339         * lib/file-type.h (S_TYPEISTMO): New macro.
80340
80341         * lib/c-stack.h (c_stack_action): Remove argv argument.
80342         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80343         (die): Don't calculate message unless segv_action returns.
80344         (get_stack_location, min_address_from_argv, max_address_from_argv,
80345         volatile stack_base, volatile_stack_size): Remove.
80346         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80347         that every segmentation violation is a stack overflow.  (Ouch!)
80348         See Debian bug 136249 (still outstanding) for more info about why
80349         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80350
80351 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80352
80353         Exit-status fix from coreutils.
80354
80355         Use exit_failure consistently in place of EXIT_FAILURE,
80356         so that program exit statuses are consistent on failure.
80357
80358         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80359         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80360         * lib/argmatch.h: Comment fix to match the above.
80361         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80362         Now a macro referring to exit_failure, instead of a separate
80363         variable.  Include "exitfail.h" to get it.
80364         * lib/xstrtol.h: Include "exitfail.h".
80365         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80366
80367         * lib/long-options.c (parse_long_options): Use prototype
80368         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80369         for clarity.
80370
80371 2004-01-21  Jim Meyering  <jim@meyering.net>
80372
80373         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80374         so as not to conflict with a different-sized __mktime_internal
80375         function in GNU libc.
80376         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80377         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80378
80379 2004-01-20  Karl Berry  <karl@gnu.org>
80380
80381         * config/config.guess: update from config.
80382
80383         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80384
80385 2004-01-20  Bruno Haible  <bruno@clisp.org>
80386
80387         Safer stack allocation.
80388         * lib/setenv.c: Include allocsa.h.
80389         (alloca): Remove fallback definition.
80390         (freea): Remove macro.
80391         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80392         instead of freea.
80393
80394 2004-01-20  Bruno Haible  <bruno@clisp.org>
80395
80396         * m4/eealloc.m4: New file, from GNU gettext.
80397
80398 2004-01-20  Bruno Haible  <bruno@clisp.org>
80399
80400         * m4/allocsa.m4: New file, from GNU gettext.
80401
80402 2004-01-20  Bruno Haible  <bruno@clisp.org>
80403
80404         * lib/xallocsa.h: New file, from GNU gettext.
80405         * lib/xallocsa.c: New file, from GNU gettext.
80406
80407 2004-01-20  Bruno Haible  <bruno@clisp.org>
80408
80409         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80410
80411 2004-01-20  Bruno Haible  <bruno@clisp.org>
80412
80413         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80414         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80415         specially.
80416
80417 2004-01-20  Bruno Haible  <bruno@clisp.org>
80418
80419         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80420         patch.
80421
80422 2004-01-20  Bruno Haible  <bruno@clisp.org>
80423
80424         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80425
80426 2004-01-20  Bruno Haible  <bruno@clisp.org>
80427
80428         * lib/eealloc.h: New file.
80429
80430 2004-01-20  Bruno Haible  <bruno@clisp.org>
80431
80432         * lib/binary-io.h: Avoid warnings on Cygwin.
80433
80434 2004-01-20  Bruno Haible  <bruno@clisp.org>
80435
80436         * lib/allocsa.h: New file, from GNU gettext.
80437         * lib/allocsa.c: New file, from GNU gettext.
80438
80439 2004-01-18  Karl Berry  <karl@gnu.org>
80440
80441         * doc/gpl.texi, doc/lgpl.texi: new files.
80442
80443 2004-01-18  Karl Berry  <karl@gnu.org>
80444
80445         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80446         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80447
80448 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80449
80450         Merge from coreutils.
80451
80452         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80453         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80454         (gl_DEFAULT_POSIX2_VERSION): Move
80455         the documentation from 'configure' into 'config.hin',
80456         so that 'configure --help' isn't burdened by it and
80457         we don't have to worry about its formatting there.
80458         Reword the documentation so that it's more succinct
80459         and can be run together into a single paragraph.
80460         * m4/same.m4 (gl_SAME): Check for pathconf.
80461
80462 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80463
80464         Merge from coreutils.
80465
80466         * lib/posixver.c: Include posixver.h.
80467
80468         * lib/same.c: Include <stdbool.h>, <limits.h>.
80469         (_POSIX_NAME_MAX): Define if not defined.
80470         (MIN): New macro.
80471         (same_name): If file names are silently truncated, report
80472         that the file names are the same if they are the same after
80473         the silent truncation.
80474
80475         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80476         conversion function.
80477         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80478         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80479         longer needed.
80480
80481 2004-01-15  Jim Meyering  <jim@meyering.net>
80482
80483         Merge from coreutils.
80484
80485         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80486         if no library is required.
80487         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80488         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80489         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80490         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80491         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80492         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80493         value, $ac_cv_search_crypt, if it's "none required".
80494         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80495         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80496         not gl_FUNC_GETLOADAVG.
80497         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80498         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80499
80500 2004-01-15  Jim Meyering  <jim@meyering.net>
80501
80502         Merge from coreutils.
80503
80504         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80505         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80506         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80507
80508         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80509         optional configure-time default.
80510
80511         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80512
80513         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80514
80515 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80516
80517         Merge from coreutils.
80518
80519         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80520         value, $ac_cv_search_nanosleep, if it's "none required".
80521
80522 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80523
80524         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80525         with like-named macro in fnmatch.c.
80526         (EXT): Use an internal constant instead.
80527
80528         Merge fnmatch patches from glibc.
80529         * lib/fnmatch.c (mbsinit): Remove define.
80530         Add libc_hidden_ver (__fnmatch, fnmatch).
80531         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80532         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80533
80534 2004-01-14  Karl Berry  <karl@gnu.org>
80535
80536         * config/install-sh: update from automake.
80537
80538 2004-01-13  Karl Berry  <karl@gnu.org>
80539
80540         * config/install-sh: update from automake.
80541
80542 2004-01-09  Karl Berry  <karl@gnu.org>
80543
80544         * config/install-sh: update from automake.
80545
80546 2004-01-05  Karl Berry  <karl@gnu.org>
80547
80548         * config/config.{sub,guess}: update from config.
80549
80550 2003-12-31  Karl Berry  <karl@gnu.org>
80551
80552         * config/depcomp: update from automake.
80553
80554 2003-12-14  Karl Berry  <karl@gnu.org>
80555
80556         * lib/config.charset: update from gettext-runtime.
80557
80558 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80559
80560         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80561         Bug reported by Alfred M. Szmidt.
80562
80563 2003-12-03  Bruno Haible  <bruno@clisp.org>
80564
80565         * m4/gettext.m4: Upgrade from gettext-0.13.
80566         * m4/po.m4: Upgrade from gettext-0.13.
80567         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80568         * m4/intmax.m4: New file, from gettext-0.13.
80569         * m4/printf-posix.m4: New file, from gettext-0.13.
80570
80571 2003-11-29  Karl Berry  <karl@gnu.org>
80572
80573         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80574
80575 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80576             Bruno Haible  <bruno@clisp.org>
80577
80578         * lib/printf-parse.h: Don't include sys/types.h.
80579         (ARG_NONE): New macro.
80580         (char_directive): Change type of *arg_index fields to size_t.
80581         * lib/printf-parse.c: Don't include sys/types.h.
80582         (SSIZE_MAX): Remove macro.
80583         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80584         Remove unnecessary overflow check.
80585         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80586         fields.
80587
80588 2003-11-25  Bruno Haible  <bruno@clisp.org>
80589
80590         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80591
80592 2003-11-25  Bruno Haible  <bruno@clisp.org>
80593
80594         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80595         gt_TYPE_SSIZE_T.
80596
80597 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80598
80599         * modules/alloca: Remove dependency on xalloc.
80600
80601 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80602
80603         * lib/alloca.c: Remove dependency on xalloc module.
80604         (xalloc_die): Remove.
80605         (memory_full) [!defined emacs]: New macro.
80606         [!defined emacs]: Don't include xalloc.h.
80607         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80608         address arithmetic overflows.  Change datatypes a bit to avoid
80609         unnecessary casts.
80610
80611 2003-11-22  Jim Meyering  <jim@meyering.net>
80612
80613         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80614         s/size/size_t/.
80615
80616 2003-11-21  Karl Berry  <karl@gnu.org>
80617
80618         * config/config.{sub,guess}: update from config.
80619
80620 2003-11-18  Karl Berry  <karl@gnu.org>
80621
80622         * config/config.{sub,guess}: update from config.
80623
80624         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80625
80626 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80627
80628         * README: Mention that S+T cannot overflow if S is the size of
80629         an existing object and T is sufficiently small.
80630
80631 2003-11-17  Jim Meyering  <jim@meyering.net>
80632
80633         On systems without utime and without a utimes function capable of
80634         dealing with a NULL struct utimbuf* argument, this utime replacement
80635         could -- in unusual circumstances -- leak a file descriptor.
80636         * lib/utime.c: Include <unistd.h> and <errno.h>.
80637         (utime_null): Be sure to close `fd' and to preserve errno.
80638         Reported by Geoff Collyer via Arnold Robbins.
80639
80640 2003-11-17  Bruno Haible  <bruno@clisp.org>
80641
80642         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80643         (Depends-on): Add xsize.
80644
80645 2003-11-17  Bruno Haible  <bruno@clisp.org>
80646
80647         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80648
80649 2003-11-17  Bruno Haible  <bruno@clisp.org>
80650
80651         * lib/vasnprintf.c (alloca): Remove fallback definition.
80652         (freea): Remove definition.
80653         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80654         Reported by Paul Eggert.
80655
80656 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80657             Bruno Haible  <bruno@clisp.org>
80658
80659         Protect against address arithmetic overflow.
80660         * lib/printf-args.h: Include stddef.h.
80661         (arguments): Change type of field 'count' to size_t.
80662         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80663         'unsigned int' where appropriate.
80664         * lib/printf-parse.h: Include sys/types.h.
80665         (char_directive): Change type of *arg_index fields to ssize_t.
80666         (char_directives): Change type of fields 'count', max_*_length to
80667         size_t.
80668         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80669         (SSIZE_MAX): Define fallback value.
80670         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80671         instead of 'int' where appropriate. Check a_allocated, d_allocated
80672         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80673         * lib/vasnprintf.c: Include xsize.h.
80674         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80675         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80676         overflow. Avoid wraparound when converting a width or precision from
80677         decimal to binary.
80678
80679 2003-11-16  Bruno Haible  <bruno@clisp.org>
80680
80681         Update from GNU gettext.
80682         * lib/printf-parse.c: Generalize to it can be compiled for wide
80683         strings.
80684         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80685         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80686         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80687         SNPRINTF): New macros.
80688         Don't include <alloca.h> if the file is used inside libintl.
80689         (local_wcslen): New function, for Solaris 2.5.1.
80690         (VASNPRINTF): Use it instead of wcslen.
80691
80692 2003-11-16  Bruno Haible  <bruno@clisp.org>
80693
80694         * lib/xsize.h (xmax): New function.
80695         (xsum, xsum3, xsum4): Declare as "pure" functions.
80696
80697 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80698
80699         * modules/xalloc (Files): Undo latest change, since xalloc.h
80700         no longer needs SIZE_MAX or PTRDIFF_MAX.
80701
80702 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80703
80704         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80705         gl_PTRDIFF_MAX.
80706
80707 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80708
80709         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80710         "return", to pacify some unknown compiler.  Problem reported
80711         by Joerg Schilling.
80712
80713 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80714
80715         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80716         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80717         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80718         heuristic is just as accurate as far as we know, and it removes a
80719         dependency on size_max.m4 and ptrdiff_max.m4.
80720
80721 2003-11-11  Bruno Haible  <bruno@clisp.org>
80722
80723         * modules/xsize (Files): Add m4/size_max.m4.
80724         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80725
80726 2003-11-11  Bruno Haible  <bruno@clisp.org>
80727
80728         * m4/size_max.m4: New file.
80729         * m4/ptrdiff_max.m4: New file.
80730         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80731         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80732         (gl_XALLOC): Invoke it.
80733
80734 2003-11-11  Bruno Haible  <bruno@clisp.org>
80735
80736         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80737         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80738         defined.
80739
80740 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80741
80742         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80743         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80744         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80745         From Bruno Haible.
80746         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80747         not (size_t) -1, since it's defined here.
80748
80749 2003-11-09  Karl Berry  <karl@gnu.org>
80750
80751         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80752
80753 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80754
80755         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80756         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80757         Reject sizes of exactly SIZE_MAX bytes.
80758         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80759         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80760
80761 2003-11-05  Bruno Haible  <bruno@clisp.org>
80762
80763         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80764         SIZE_MAX defined in <limits.h> on Solaris.
80765
80766 2003-11-04  Jim Meyering  <jim@meyering.net>
80767
80768         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80769         variable names, rather than @VAR@.
80770         * modules/poll: Likewise.
80771
80772 2003-11-04  Bruno Haible  <bruno@clisp.org>
80773
80774         * modules/xsize: New file.
80775         * modules/linebreak: Depend on xsize.
80776         * MODULES.html.sh (func_all_modules): Add xsize.
80777
80778 2003-11-04  Bruno Haible  <bruno@clisp.org>
80779
80780         * m4/xsize.m4: New file.
80781
80782 2003-11-04  Bruno Haible  <bruno@clisp.org>
80783
80784         * lib/xsize.h: New file.
80785         * lib/linebreak.c: Include xsize.h.
80786         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80787         argument for overflow.
80788         Suggested by Paul Eggert.
80789
80790 2003-11-03  Karl Berry  <karl@gnu.org>
80791
80792         * config/config.{guess,sub}: update from config.
80793
80794 2003-11-03  Jim Meyering  <jim@meyering.net>
80795
80796         * modules/userspec (lib_SOURCES): Add userspec.h.
80797         (Include): Add "userspec.h".
80798         Improve description.
80799
80800 2003-11-03  Jim Meyering  <jim@meyering.net>
80801
80802         * lib/userspec.c: Include "userspec.h".
80803         * lib/userspec.h: New file.
80804
80805 2003-11-03  Bruno Haible  <bruno@clisp.org>
80806
80807         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80808
80809 2003-11-03  Bruno Haible  <bruno@clisp.org>
80810
80811         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80812         available, to avoid (extremely rare) race condition.
80813         Suggested by Paul Eggert.
80814
80815 2003-11-02  Karl Berry  <karl@gnu.org>
80816
80817         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80818
80819 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80820
80821         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80822         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80823         (read_filesystem_list): Set and use me_type_malloced.
80824         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80825         whatever the type happens to be), for brevity and consistency.
80826         Check for size calculation overflow on Alphas running OSF/1.
80827
80828 2003-10-31  Jim Meyering  <jim@meyering.net>
80829
80830         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80831
80832         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80833
80834 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80835             Bruno Haible  <bruno@clisp.org>
80836
80837         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80838         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80839
80840 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80841
80842         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80843         netbsd*-gnu*.  Suggested by Robert Millan.
80844
80845 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80846
80847         * modules/group-member: Depend on stdbool.
80848
80849 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80850
80851         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80852
80853 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80854
80855         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80856         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80857         after the 'gnu' in these cases.  This fixes some bugs in the
80858         previous change, and is based on suggestions by Robert Millan.
80859
80860 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80861
80862         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80863         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80864         no longer needed.
80865         * lib/quotearg.c (quotearg_n_options): Use it.
80866         * lib/group-member.c: Include <stdbool.h>.
80867         (free_group_info): Arg is now const *; don't free arg.
80868         (get_group_info): Now returns bool and accepts struct group_info *,
80869         rather than returning a malloc'ed struct group_info *.
80870         All uses changed.  Check for overflow in internal size calculation.
80871
80872         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80873         rather than xmalloc/xrealloc.
80874         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80875         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80876         conformance bug: the old code used a pointer after freeing the
80877         storage that it addressed.
80878         * lib/hash.c (hash_initialize): Simplify the code by using
80879         xalloc_oversized rather than doing it by hand.
80880         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80881         the buffer preserved.  Use free and xmalloc instead.
80882         * lib/quotearg.c (quotearg_n_options): Likewise.
80883         Use a simpler test for size overflow.  Don't use xalloc_oversized
80884         because unsigned int might be wider than size_t (!); this suggests
80885         that we should switch from unsigned int to size_t for slot numbers.
80886
80887 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80888
80889         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80890         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80891         NetBSD kernels.  Requested by Richard Stallman.
80892
80893 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80894
80895         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80896         to allocate the returned structure.  Do not allocate a subarray,
80897         as x2nrealloc will do that.
80898         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80899         instead of xnrealloc.
80900         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80901
80902 2003-10-27  Bruno Haible  <bruno@clisp.org>
80903
80904         * lib/stdbool_.h: Better support for BeOS.
80905
80906 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80907
80908         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80909         now uses inline.
80910
80911 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80912
80913         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80914         callers that want to do their own size-overflow checking.  Include
80915         <stdbool.h>, since xalloc_oversized returns bool.
80916         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80917         to use xalloc_oversized.
80918
80919         Add two functions x2realloc, x2nrealloc, for programs that grow
80920         arrays dynamically by doubling their sizes.
80921         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80922         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80923         New functions.
80924
80925         Port to C99 semantics for 'inline' of external functions.
80926         Bug reported by Bruno Haible.
80927         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80928         with the old contents of xnmalloc.
80929         (xnmalloc, xmalloc): Use it.
80930         (xnrealloc_inline): New static inline function,
80931         with the old contents of xnrealloc.
80932         (xnrealloc, xrealloc): Use it.
80933
80934         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80935         that.
80936
80937 2003-10-26  Karl Berry  <karl@gnu.org>
80938
80939         * config/srclist.txt (COPYING.DOC): no longer available from
80940         /gd/gnuorg; don't know where the ultimate source is.
80941
80942 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80943
80944         Fix several address-calculation bugs in the hash modules,
80945         plus some minor code cleanup.
80946
80947         * lib/hash.h: Include <stdbool.h>, for bool.
80948         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80949         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80950         hash_get_n_entries, hash_get_max_bucket_length,
80951         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80952         hash_rehash): Use size_t rather than unsigned.
80953         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80954         hash_get_n_buckets_used, hash_get_n_entries,
80955         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80956         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80957         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80958         Likewise.
80959         (SIZE_MAX): Define if not defined.
80960         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80961         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80962         hash_print):
80963         Use const * when possible.
80964         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80965         (check_tuning): Fix bug: if tuning parameters were very close to
80966         0 or 1, rounding errors could have caused subscript violations.
80967         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80968         (hash_initialize): Add 'fail:' label
80969         to free table and return NULL, and use it to simplify code.
80970         Use calloc rather than clearing the storage ourself.
80971         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80972         buffer size calculations.
80973         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80974         Include <stddef.h>, for size_t.
80975         * lib/hash-pjw.c (hash_pjw): Likewise.
80976         Switch to method described by Bruno Haible.
80977         Include <limits.h>, for CHAR_BIT.
80978         (SIZE_BITS): New macro.
80979
80980 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80981
80982         * m4/getline.m4 (AM_FUNC_GETLINE):
80983         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80984         hosts.  Problem reported by Derek Robert Price in
80985         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80986         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80987         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80988
80989 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80990
80991         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80992         ceiling the allocation at NMAX bytes rather than silently
80993         discarding input bytes before NMAX is reached.  This makes
80994         a difference only if NMAX exceeds SIZE_MAX / 2.
80995
80996         * lib/obstack.c: Merge from glibc.
80997         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80998         Add libc_hidden_def (_obstack_newchunk).
80999         (_obstack_free) [! defined _LIBC]: Remove.
81000         [defined _LIBC]: Make a strong alias from obstack_free, rather than
81001         a clone of the function body.
81002         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
81003         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
81004
81005         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
81006         glibc.
81007         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
81008         arg to memcpy.
81009
81010         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
81011         (obstack_ptr_grow_fast, obstack_int_grow_fast):
81012         Don't use lvalue casts, as GCC plans to remove support for them
81013         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
81014         was also present in the non-GCC version, indicating that this
81015         code had always been buggy and had never been widely used.
81016         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
81017         Use the fast variant of each macro, rather than copying the
81018         definiens of the fast variant; that way, we'll be more likely to
81019         catch future bugs in the fast variants.
81020
81021 2003-10-20  Bruno Haible  <bruno@clisp.org>
81022
81023         * modules/wait-process: New file.
81024         * MODULES.html.sh (func_all_modules): Add wait-process.
81025
81026 2003-10-20  Bruno Haible  <bruno@clisp.org>
81027
81028         * m4/wait-process.m4: New file.
81029
81030 2003-10-20  Bruno Haible  <bruno@clisp.org>
81031
81032         * lib/wait-process.h: New file, from GNU gettext.
81033         * lib/wait-process.c: New file, from GNU gettext.
81034
81035 2003-10-19  Jim Meyering  <jim@meyering.net>
81036
81037         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
81038         HPUX 10.20.
81039
81040 2003-10-18  Karl Berry  <karl@gnu.org>
81041
81042         * config/config.guess: update from config.
81043
81044 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81045
81046         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
81047         (getgroups): First arg is int, not size_t.
81048         Don't let 'free' mangle errno.
81049
81050 2003-10-16  Paul Eggert  <eggert@twinsun.com>
81051
81052         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
81053
81054 2003-10-16  Karl Berry  <karl@gnu.org>
81055
81056         * config/config.{guess,sub}: update from config.
81057
81058 2003-10-16  Jim Meyering  <jim@meyering.net>
81059
81060         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
81061         memcpy.
81062
81063 2003-10-15  Paul Eggert  <eggert@twinsun.com>
81064
81065         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
81066         (SIZE_MAX): Remove.
81067         (new_exclude, add_exclude_file): Initial size no longer needs to
81068         be a power of 2.
81069         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
81070         our own address arithmetic overflow checking.
81071
81072         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
81073         (fnmatch): Do not alloca more than 2000 wide characters;
81074         instead, use malloc for large buffers.
81075         Check for address arithmetic overflow, and return -1
81076         with errno set to ENOMEM in that case.
81077         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
81078         (NEW_PATTERN): Do not alloca more than 8000 bytes;
81079         instead, return -1.  Check for address arithmetic overflow.
81080
81081 2003-10-14  Paul Eggert  <eggert@twinsun.com>
81082
81083         Handle invalid suffixes and overflow independently, so that
81084         callers can treat them independently as needed.  Fix some bugs in
81085         suffix handling, e.g., "100k@" was not diagnosed as an invalid
81086         suffix for a human-readable blocksize.  The major caller-visible
81087         change is the addition of a new
81088         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
81089         that both overflow and suffix chars were found.
81090
81091         * lib/human.c (humblock): Don't check separately for invalid suffix
81092         char; that is xstrtoumax's job (now that its bug is fixed).
81093         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
81094         INTMAX_MAX]: New macros.
81095         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
81096         TYPE_MAXIMUM): New macros.
81097         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
81098         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
81099         if overflow occurs, as it's what __strtol does and it's more useful
81100         in practice.
81101         (__xstrtol): If __strtol reports some error other than ERANGE,
81102         reflect it to the caller as LONGINT_INVALID.  If it reports
81103         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
81104         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
81105         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
81106         value.
81107         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
81108         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
81109         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
81110         [defined UINTMAX_MAX]: New macros.
81111
81112 2003-10-14  Bruno Haible  <bruno@clisp.org>
81113
81114         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
81115
81116 2003-10-14  Bruno Haible  <bruno@clisp.org>
81117
81118         * m4/sig_atomic_t: New file, from GNU gettext.
81119         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
81120
81121 2003-10-14  Bruno Haible  <bruno@clisp.org>
81122
81123         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
81124         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
81125         Also use volatile where needed.
81126
81127 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81128
81129         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
81130         Change maintainer from Bruno Haible to 'all'.
81131
81132 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81133
81134         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
81135
81136 2003-10-12  Paul Eggert  <eggert@twinsun.com>
81137
81138         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
81139         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
81140         and define in terms of the other primitives.
81141         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
81142         (SIZE_MAX): Define if not already defined.
81143         (array_size_overflow): New function.
81144         (xalloc_die): Abort instead of exiting if 'error' returns.
81145         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
81146         (xmalloc, xrealloc): Use them.
81147         (xcalloc): Check for address arithmetic overflow.
81148         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
81149         a bit faster than strcpy.
81150
81151 2003-10-10  Simon Josefsson  <jas@extundo.com>
81152
81153         * modules/argp (Depends-on): Add restrict and strcase.
81154
81155 2003-10-10  Simon Josefsson  <jas@extundo.com>
81156
81157         * m4/argp.m4: Add AC_C_INLINE.
81158
81159 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81160
81161         Merge getpass from libc, plus a few fixes.
81162
81163         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
81164         Include <stdbool.h>.
81165         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
81166         __fsetlocking to empty.
81167         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
81168         do include <bits/libc-lock.h>.
81169         Do not include <fcntl.h>; not needed.
81170         [_LIBC]: Include <wchar.h>.
81171         (NOTCANCEL_MODE): New macro.
81172         (flockfile, funlockfile) [_LIBC]: New macros.
81173         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81174         [!_LIBC]: New macros.
81175         (call_fclose): New function.
81176         (getpass): Use it.  Save tty stream separately; this simplifies the
81177         code and makes it more reliable if stdin happens to equal stdout.
81178         Invoke __fsetlocking on tty.
81179         Handle thread cancellation if needed.
81180         Namespace cleanup (use __tcgetattr, __getline).
81181         Use bool for Booleans.
81182         [USE_IN_LIBIO]: Handle wide streams.
81183         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81184         stream might go where.
81185
81186         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81187         doesn't have to include <stdio.h> before us.
81188         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81189         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81190         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81191         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81192         if not declared, so that we can use getpass.c code from libc without
81193         rewriting it.
81194         (flockfile, ftrylockfile, funlockfile): New macros.
81195
81196 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81197
81198         * modules/getpass: Depend on stdbool.
81199
81200 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81201
81202         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81203
81204 2003-10-07  Karl Berry  <karl@gnu.org>
81205
81206         * config/config.{guess,sub}: update from config.
81207
81208 2003-10-06  Jim Meyering  <jim@meyering.net>
81209             Bruno Haible  <bruno@clisp.org>
81210
81211         This lets translators provide better translations for the
81212         "Written by ..." part of --version output.
81213         * lib/version-etc.h: Include stdarg.h.
81214         (version_etc_copyright): Declare as readonly.
81215         (version_etc): Make this function variadic with a NULL-terminated list
81216         of author name strings.
81217         (version_etc_va): New declaration.
81218         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81219         (version_etc_copyright): Declare as readonly.
81220         (version_etc_va): New function. Provide a different translatable string
81221         for each possible number of authors < 10. Abbreviate when there are 10
81222         authors or more.
81223         (version_etc): Make this function variadic. Call version_etc_va.
81224         Suggestion from Gary V. Vaughan.
81225
81226         * lib/long-options.h (parse_long_options): Change prototype: the
81227         authors string is moved to the end and becomes variadic.
81228         * lib/long-options.c: Include stdarg.h.
81229         (parse_long_options): Make this function variadic, too.
81230         Call version_etc_va, not version_etc.
81231
81232 2003-10-06  Bruno Haible  <bruno@clisp.org>
81233
81234         * modules/version-etc-2: Remove file.
81235         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81236
81237 2003-10-06  Bruno Haible  <bruno@clisp.org>
81238
81239         * modules/fatal-signal: New file.
81240         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81241
81242 2003-10-06  Bruno Haible  <bruno@clisp.org>
81243
81244         * m4/fatal-signal.m4: New file.
81245         * m4/signalblocking.m4: New file, from GNU gettext.
81246
81247 2003-10-06  Bruno Haible  <bruno@clisp.org>
81248
81249         * lib/version-etc-2.h: Remove file.
81250         * lib/version-etc-2.c: Remove file.
81251
81252 2003-10-06  Bruno Haible  <bruno@clisp.org>
81253
81254         * lib/fatal-signal.h: New file, from GNU gettext.
81255         * lib/fatal-signal.c: New file, from GNU gettext.
81256
81257 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81258
81259         * README: Rework advice for preventing empty .o files.
81260         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81261         not <sys/types.h>.
81262
81263 2003-10-04  Karl Berry  <karl@gnu.org>
81264
81265         * lib/argp*: update from libc.
81266
81267 2003-10-04  Karl Berry  <karl@gnu.org>
81268
81269         * config/config.{guess,sub}: update from config.
81270
81271 2003-10-02  Bruno Haible  <bruno@clisp.org>
81272
81273         * modules/lchown (Include): Add lchown.h.
81274         * modules/time_r (Include): Use "..." syntax.
81275         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81276
81277 2003-10-01  Simon Josefsson  <jas@extundo.com>
81278
81279         * MODULES.html.sh (func_all_modules): Move gethostname from section
81280         'based on' to section 'lacking' POSIX:2001.
81281
81282 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81283
81284         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81285         to output mode on the same stream.
81286
81287 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81288
81289         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81290         Fix arg typo in previous patch.
81291
81292 2003-09-28  Jim Meyering  <jim@meyering.net>
81293
81294         * lib/error.c: Correct cpp indentation.
81295
81296 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81297
81298         * modules/free: New file.
81299
81300 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81301
81302         * m4/free.m4: New file.
81303
81304 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81305
81306         * lib/minmax.h (MIN, MAX)
81307         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81308         Omit the special code that used __typeof__, since we worry that
81309         it could be more trouble than it's worth.  See:
81310         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81311         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81312
81313         * lib/free.c: New file.
81314
81315 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81316
81317         Trivial fixes to Makefile.am parts of module listings.
81318         * modules/strstr: Append strstr.h to lib_SOURCES.
81319         * modules/strcase: Likewise, for strcase.h.
81320
81321 2003-09-27  Karl Berry  <karl@gnu.org>
81322
81323         * config/mkinstalldirs: update from automake.
81324
81325 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81326
81327         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81328         (error_tail): Do not loop, reallocating temporary buffer, since
81329         the output cannot contain more wide characters than the input
81330         contains bytes, the size must be big enough already.  This avoids
81331         one potential size overflow calculation.  Check for size overflow
81332         when calculating temporary buffer size.  Free temporary buffer
81333         when done, if it was allocated with malloc; this plugs a memory
81334         leak.  Remove casts from void * to pointers, that are no longer
81335         needed now that we're assuming C89 or better.
81336
81337         Merge error changes from glibc.
81338
81339         * lib/error.c, error.h: Update copyright notice header to match glibc.
81340         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81341         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81342         Disable cancellation while printing error.
81343         * lib/error.h: Prepend __ to parameter names.
81344
81345 2003-09-26  Jim Meyering  <jim@meyering.net>
81346
81347         * lib/error.c (error_tail): Move some declarations
81348         into inner scope where the local variables are used.
81349
81350 2003-09-26  Bruno Haible  <bruno@clisp.org>
81351
81352         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81353         stpncpy().
81354         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81355
81356 2003-09-26  Bruno Haible  <bruno@clisp.org>
81357
81358         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81359         (stpncpy): Define as alias for gnu_stpncpy.
81360         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81361
81362 2003-09-25  Simon Josefsson  <jas@extundo.com>
81363
81364         * lib/xgetdomainname.h: New file.
81365         * lib/xgetdomainname.c: New file.
81366
81367 2003-09-25  Simon Josefsson  <jas@extundo.com>
81368             Bruno Haible  <bruno@clisp.org>
81369
81370         * modules/getdomainname: New file.
81371         * modules/xgetdomainname: New file.
81372         * MODULES.html.sh (func_all_modules): Add getdomainname,
81373         xgetdomainname.
81374
81375 2003-09-25  Simon Josefsson  <jas@extundo.com>
81376             Bruno Haible  <bruno@clisp.org>
81377
81378         * m4/getdomainname.m4: New file.
81379
81380 2003-09-25  Simon Josefsson  <jas@extundo.com>
81381             Bruno Haible  <bruno@clisp.org>
81382
81383         * lib/getdomainname.h: New file.
81384         * lib/getdomainname.c: New file.
81385
81386 2003-09-25  Karl Berry  <karl@gnu.org>
81387
81388         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81389
81390 2003-09-25  Karl Berry  <karl@gnu.org>
81391
81392         * config/install-sh: update from automake.
81393
81394 2003-09-25  Bruno Haible  <bruno@clisp.org>
81395
81396         * modules/version-etc-2: New file, from modules/version-etc with
81397         modifications.
81398         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81399
81400 2003-09-25  Bruno Haible  <bruno@clisp.org>
81401
81402         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81403         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81404
81405 2003-09-24  Simon Josefsson  <jas@extundo.com>
81406
81407         * modules/xgethostname: Add xgethostname.h.
81408
81409 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81410
81411         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81412         the buffer associated with the argument.  Bug reported by
81413         Simon Josefsson.
81414
81415 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81416
81417         * README: Document assumptions that 'int' is at least 32 bits
81418         wide, that integer arithmetic is 2's complement without overflow,
81419         that there are no holes in integer values, that adding sizes of
81420         two nonoverlapping objects can't overflow, and that all-bits-zero
81421         yields scalar zero.  Fix spelling and capitalization typos.
81422
81423 2003-09-19  Karl Berry  <karl@gnu.org>
81424
81425         * lib/argp.h: update from libc.
81426
81427 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81428
81429         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81430         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81431         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81432
81433 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81434
81435         * gnulib-tool: Use "test -h", not "test -L", for portability
81436         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81437         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81438         (sed_extract_prog): Issue s commands one-by-one, rather than
81439         using \| in one s command.
81440
81441 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81442
81443         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81444         input error, instead of returning NULL the next time we are called
81445         (and therefore losing track of errno).
81446
81447 2003-09-16  Bruno Haible  <bruno@clisp.org>
81448
81449         * gnulib-tool (func_create_testdir): Warn about duplicated
81450         dependencies.
81451
81452 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81453
81454         * modules/argmatch, modules/fatal, modules/obstack,
81455         modules/xalloc, modules/xgethostname: Sort dependencies by
81456         importance, not alphabetically.
81457
81458 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81459
81460         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81461         fails, so that the caller gets the proper errno.
81462
81463         * lib/readutmp.c (read_utmp): Likewise.
81464         Check for fstat error.  Close stream and free storage
81465         when failing.
81466
81467 2003-09-14  Karl Berry  <karl@gnu.org>
81468
81469         * config/srclist.txt (strdup.c): disable for c89 changes.
81470
81471 2003-09-14  Jim Meyering  <jim@meyering.net>
81472
81473         * lib/getloadavg.c: Correct cpp indentation.
81474         * lib/strdup.c: Likewise.
81475         * lib/vasnprintf.c: Likewise.
81476
81477 2003-09-14  Bruno Haible  <bruno@clisp.org>
81478
81479         * modules/fwriteerror: New file.
81480         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81481
81482 2003-09-14  Bruno Haible  <bruno@clisp.org>
81483
81484         * lib/fwriteerror.h: New file.
81485         * lib/fwriteerror.c: New file.
81486
81487 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81488
81489         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81490         modules/xgethostname, modules/xalloc: Depend on exit.
81491
81492 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81493
81494         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81495
81496         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81497         and AC_MINIX, too, so that their extensions are available.
81498
81499         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81500         This macro has been superseded by gl_BACKUPFILE.
81501
81502         More patches to assume C89 or better.
81503
81504         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81505
81506         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81507         unconditionally.
81508         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81509         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81510         Include <string.h>, <stdlib.h> unconditionally.
81511         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81512         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81513         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81514         headers or for string.h.
81515         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81516         or strtoul.
81517
81518         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81519         headers.
81520         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81521         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81522         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81523         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81524         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81525         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81526         memcpy, memset.
81527         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81528         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81529         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81530         strtol.
81531         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81532         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81533         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81534         strtoul.
81535
81536 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81537
81538         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81539         * lib/obstack.c [!defined _LIBC]: Likewise.
81540         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81541         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81542         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81543
81544         More changes to assume C89 or better.
81545
81546         * lib/error.c (error_tail): Assume vprintf.
81547
81548         * lib/argmatch.c (getenv): Remove decl.
81549         * lib/progreloc.c (get_full_program_name): Define via prototype.
81550         * lib/setenv.c (clearenv): Likewise.
81551         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81552         needed.
81553         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81554         (malloc, memcpy): Remove decls.
81555         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81556         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81557         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81558         (memcpy): Remove macro.
81559         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81560         (__P): Remove.  All uses removed.
81561         (PTR): Remove.  All uses changed to void *.
81562         (CHAR_BIT, NULL): Remove.
81563         (spaces, zeros, memset_space, memset_zero)
81564         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81565         Remove.
81566         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81567         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81568         Define with prototype.
81569         Remove now-unnecessary prototype decl.
81570         (extra_args_spec): Assume ANSI C.  All uses changed.
81571         (extra_args_spec_iso): Remove.
81572         (my_strftime, emacs_strftimeu): Define via prototype.
81573         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81574         unconditionally.
81575         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81576         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81577         (strtoul, strtol): Remove decls.
81578         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81579         LONG_MAX): Remove.
81580         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81581         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81582         (LOCALE_PARAM_PROTO): New macro.
81583         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81584         (INTERNAL (strtol), strtol): Define with a prototype.
81585         (PARAMS): Remove.  All uses removed.
81586         * lib/tempname.c: Include <string.h> unconditionally.
81587         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81588         * lib/xgethostname.c (main): Define with a prototype.
81589         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81590         Include <stdlib.h> unconditionally.
81591         (calloc, malloc, realloc, free): Remove decls.
81592         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81593         Include <stdlib.h> unconditionally.  Sort include file names.
81594         (strtod): Remove.
81595         (xstrtod): Define with a prototype.
81596         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81597         (strtol, strtoul): Remove decls.
81598
81599 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81600
81601         More patches to assume C89 or better.
81602         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81603         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81604         string.h, memchr, STDC_HEADERS.
81605
81606 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81607
81608         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81609         Include <stdlib.h>, <string.h> unconditionally.
81610         Remove now-unnecessary cast to char *.
81611         * lib/strnlen.c: Include <string.h> unconditionally.
81612         * lib/yesno.c (yesno): Define with a prototype.
81613
81614 2003-09-11  Bruno Haible  <bruno@clisp.org>
81615
81616         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81617
81618 2003-09-10  Jim Meyering  <jim@meyering.net>
81619
81620         * lib/error.c: Correct indentation of cpp directives.
81621
81622 2003-09-10  Bruno Haible  <bruno@clisp.org>
81623
81624         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81625         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81626         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81627         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81628         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81629         <stdlib.h> and <string.h> checks.
81630         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81631         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81632
81633 2003-09-10  Bruno Haible  <bruno@clisp.org>
81634
81635         * lib/strcspn.c: Include <string.h> unconditionally.
81636         * lib/strpbrk.c: Include <string.h> unconditionally.
81637         * lib/strstr.c: Include <string.h> unconditionally.
81638         * lib/unicodeio.c: Include <string.h> unconditionally.
81639         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81640         * lib/unsetenv.c: Likewise.
81641         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81642         * lib/yesno.c: Include <stdlib.h> unconditionally.
81643         (rpmatch): Add prototype.
81644
81645 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81646
81647         More patches to assume C89 or better.
81648         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81649         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81650         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81651         or for string.h.
81652         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81653         stdlib.h.
81654         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81655         C headers.
81656         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81657         string.h.
81658         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81659         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81660         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81661         or for string.h.
81662         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81663         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81664         C headers.
81665         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81666         memcpy.
81667         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81668         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81669         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81670         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81671         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81672         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81673         string.h, free.
81674         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81675         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81676         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81677         C headers, or for string.h.
81678         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81679         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81680         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81681         headers, memory.h, stdlib.h, string.h, strings.h.
81682         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81683         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81684         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81685         strchr.
81686         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81687         headers, memory.h, string.h.
81688         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81689         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81690         free.
81691         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81692         headers.
81693         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81694         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81695         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81696         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81697         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81698
81699 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81700
81701         More K&R removal.
81702
81703         * lib/acosl.c (main): Use a prototype.
81704         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81705         tanl.c: Likewise.
81706
81707         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81708
81709         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81710         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81711         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81712         with a prototype.
81713         * lib/getopt.c (const): Remove macro.
81714         Include <string.h> unconditionally.
81715         (my_index): Remove; all uses changed to strchr.
81716         (strlen): Remove decl.
81717         (exchange): Remove forward decl; no longer needed.
81718         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81719         Define with prototype.
81720         * lib/getopt1.c (const): Remove macro.
81721         (getopt_long, getopt_long_only, main): Define with prototype.
81722
81723         * lib/getugroups.c: Include <string.h> unconditionally.
81724
81725         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81726         (getusershell, setusershell, endusershell, readname, main):
81727         Define with prototypes.
81728
81729         * lib/group-member.c: Include group-member.h first.
81730         Include <stdlib.h> unconditionally.
81731
81732         * lib/hard-locale.c: Include hard-locale.h first.
81733         Include <stdlib.h>, <string.h> unconditionally.
81734
81735         * lib/hash.c (free, malloc): Remove decls.
81736         Include <stdlib.h> unconditionally.
81737
81738         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81739         (getenv): Do not declare.
81740
81741         * lib/idcache.c: Include <string.h> unconditionally.
81742
81743         * lib/long-options.c: Include long-options.h first, to test interface.
81744         Include <stdlib.h> unconditionally.
81745
81746         * lib/makepath.c: Include makepath.h first, to test interface.
81747         Include <stdlib.h> and <string.h> unconditionally.
81748
81749         * lib/linebuffer.c: Include <stdlib.h>.
81750         (free): Remove decl.
81751
81752         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81753         stddef.h. rpl_malloc returns void *, not char *.
81754         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81755         prototype.
81756
81757         * lib/md5.h: Include <limits.h> unconditionally.
81758         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81759         (__P): Remove; all uses removed.
81760         * lib/md5.c: Include "md5.h" first.
81761         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81762         md5_buffer, md5_process_bytes, md5_process_block):
81763         Define with prototypes.
81764         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81765         * lib/sha.c: Include "sha.h" first.
81766         Include <stdlib.h>, <string.h> unconditionally.
81767
81768         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81769         * lib/memcmp.c (__ptr_t): Likewise.
81770         * lib/memrchr.c (__ptr_t): Likewise.
81771         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81772         Include <string.h> unconditionally.
81773         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81774         * lib/memchr.c: Include <stdlib.h> unconditionally.
81775         * lib/memchr.c (LONG_MAX): Remove.
81776         * lib/memrchr.c (LONG_MAX): Likewise.
81777         * lib/memchr.c (__memchr): Define via a prototype.
81778         * lib/memrchr.c (__memrchr): Likewise.
81779         * lib/memcmp.c (__P): Remove, and remove all uses.
81780         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81781         Remove forward decls; no longer needed.
81782         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81783         Use types required by C89 in prototype.
81784
81785         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81786         * lib/savedir.c: Likewise.
81787         * lib/mkdir.c (free): Remove decl.
81788         * lib/rmdir.c (rmdir): Define with a prototype.
81789         * lib/savedir.c: Include savedir.h first, to test interface.
81790
81791         * lib/mktime.c (STDC_HEADERS): Remove.
81792         Include <stdlib.h>, <string.h> unconditionally.
81793
81794         * lib/modechange.c: Include <stdlib.h> unconditionally.
81795         (malloc): Remove decl.
81796
81797         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81798         (free): Remove decl.
81799
81800         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81801         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81802         (This type really should be intptr_t, but that's a C99ism.)
81803         (_obstack_memcpy): Remove: all uses changed to memcpy.
81804         Include <string.h> unconditionally.
81805         (struct obstack): Assume __STDC__ for types of members
81806         chunkfun, freefun, extra_arg.
81807         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81808         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81809         obstack_begin, obstack_specify_allocation,
81810         obstack_specify_allocation_with_arg, obstack_chunkfun,
81811         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81812         Remove unprototyped decls and the macros that use them.
81813         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81814         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81815         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81816         (defined __STDC__ && __STDC__)]:
81817         Remove nonprototyped code.
81818         Include <stdlib.h> unconditionally.
81819         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81820         _obstack_allocated_p, _obstack_free, obstack_free,
81821         _obstack_memory_used, print_and_abort):
81822         Define using prototypes.
81823         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81824         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81825         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81826         obstack_next_free, obstack_object_size, obstack_room) [0]:
81827         Remove unused, unprototyped code.
81828
81829         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81830
81831         * lib/physmem.c (physmem_total, physmem_available, main): Define
81832         with prototypes.
81833
81834         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81835         (main): Define with a prototype.
81836
81837         * lib/posixver.c (getenv): Remove decl.
81838
81839         * lib/putenv.c (malloc): Returns void *, not char *.
81840         Include <string.h> unconditionally.
81841         (strchr, memcpy, NULL): Do not define.
81842
81843         * lib/readtokens.c: Include readtokens.h first, to test interface.
81844         Include <stdlib.h>, <string.h> unconditionally.
81845         (init_tokenbuffer): Define with a prototype.
81846
81847         * lib/regex.c (PARAMS): Remove.  All uses removed.
81848         All uses of _RE_ARGS removed, too.
81849         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81850         unconditionally.
81851         (bzero): Assume memset exists.
81852         (memcmp, memcpy, NULL): Remove.
81853         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81854         char, or assignments to local vars of type signed char.
81855         (init_syntax_once, PREFIX(extract_number_and_incr),
81856         PREFIX(print_partial_compiled_pattern),
81857         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81858         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81859         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81860         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81861         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81862         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81863         wcs_compile_range, byte_compile_range, truncate_wchar,
81864         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81865         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81866         count_mbs_length, wcs_re_match_2_internal,
81867         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81868         PREFIX(alt_match_null_string_p),
81869         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81870         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81871         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81872         now-unnecessary declaration, if any.
81873         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81874         regcomp, regexec):
81875         Remove now-unnecessary casts among pointer types.
81876         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81877
81878         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81879         (free): Remove decl.
81880
81881         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81882
81883         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81884         (free): Remove decl.
81885
81886         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81887         * lib/xgetcwd.c: Likewise.
81888
81889         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81890         (free): Remove decl.
81891
81892         * lib/strchrnul.c (strchrnul): Define with a prototype.
81893         Fix bug: c_in was not converted to char before searching.
81894
81895         The following changes are not K&R related:
81896
81897         * lib/group-member.h: Include <sys/types.h>, so that this file is
81898         self-contained.
81899         * lib/makepath.h: Likewise.
81900
81901         * lib/getusershell.c (readname, default_index, line_size, readname):
81902         Use size_t, not int, for sizes.
81903         (readname): If the size overflows, report an error instead of
81904         looping forever.
81905
81906 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81907
81908         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81909         libc.
81910
81911 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81912
81913         * README: New section: portability guidelines.
81914
81915 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81916
81917         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81918         C89 spec.
81919
81920 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81921
81922         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81923
81924 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81925
81926         Assume C89 or better; remove K&R cruft.
81927         A few of these changes were first proposed by Derek Robert Price
81928         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81929
81930         * lib/addext.c: Include <string.h> unconditionally.
81931         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81932         Don't declare getenv or malloc.
81933
81934         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81935         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81936         (NULL): Remove.
81937         (find_stack_direction, alloca): Use prototypes.
81938
81939         * lib/atexit.c (atexit): Define using a prototype.
81940
81941         * lib/basename.c, dirname.c, stripslash.c:
81942         Include <string.h> unconditionally.
81943
81944         * lib/bcopy.c: Include <stddef.h>.
81945         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81946
81947         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81948
81949         * lib/error.h (error, error_at_line, error_print_progname)
81950         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81951         * lib/error.c: Include error.h first, to check interface.
81952         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81953         (VA_START): Remove; all uses changeed to va_start.
81954         (exit, strerror): Remove decls.
81955         (error_print_progname): Prototype uncondionally.
81956         Don't include <errno.h>; no longer needed.
81957         (private_strerror): Remove.
81958         (error_tail): Always define.
81959         (error, error_at_line): Assume C89 or better; always use prototypes.
81960         * lib/fatal.c: Include "fatal.h" first, to test interface.
81961         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81962         (VA_START): Remove; all uses changed to va_start.
81963         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81964         this case.
81965         (exit): Remove decl.
81966         (fatal): Prototype unconditionally.  Assume va_start works.
81967         Abort at end, to pacify gcc.
81968
81969         * lib/euidaccess.c (main): Define with a prototype.
81970
81971         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81972
81973         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81974
81975         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81976         prototypes.
81977         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81978         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81979         (getenv): Remove decl.
81980         (fnmatch): Define using a prototype.
81981         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81982         (FCT): Define using a prototype.
81983
81984         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81985
81986         * lib/gethostname.c: Include <stddef.h>.
81987         (gethostname): Define with prototype.  Length is size_t, not int.
81988
81989 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81990
81991         Assume C89 or better; remove K&R cruft.
81992         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81993         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81994         string.h, getenv, malloc.
81995         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81996         headers.
81997         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81998         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81999         do not check for strerror.
82000         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
82001         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
82002         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
82003         do not check for doprnt or vprintf.
82004         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
82005         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
82006
82007 2003-09-08  Paul Eggert  <eggert@twinsun.com>
82008
82009         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
82010         getversion.c should have been removed then, but was accidentally
82011         preserved.
82012
82013         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
82014         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
82015
82016 2003-09-08  Karl Berry  <karl@gnu.org>
82017
82018         * config/config.sub, config.guess, srclistvars.sh: update from savannah
82019                 config, forget about prep.
82020
82021         * config/depcomp, missing: update from automake.
82022
82023 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82024
82025         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
82026         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82027
82028 2003-09-07  Paul Eggert  <eggert@twinsun.com>
82029
82030         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
82031         copy_tm_result.  Bug reported by Simon Josefsson in
82032         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
82033
82034 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82035
82036         * m4/time_r.m4: New file.
82037         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
82038         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
82039         is. Check for timegm declaration.
82040         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
82041         Do not check for gmtime_r.
82042         Replace mktime if __mktime_internal does not exist and if mktime
82043         hasn't been replaced already.
82044
82045 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82046
82047         * lib/time_r.c, lib/time_r.h: New files.
82048
82049         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
82050         __localtime_r.
82051         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
82052         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
82053
82054         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
82055         __gmtime_r.
82056         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
82057         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
82058         Include <time_r.h>.
82059
82060         * lib/timegm.c: Switch to glibc implementation, with the following
82061         changes:
82062         [defined HAVE_CONFIG_H]: Include <config.h>.
82063         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
82064         (__mktime_internal) [!defined _LIBC]: New decl.
82065         (__gmtime_r) [!defined _LIBC]: New macro and function.
82066         (timegm): Use a prototype, since gnulib assumes C89.
82067         Do not bother declaring tmp to be const, as it's not really usefu.
82068         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
82069         (timegm): Declare only if HAVE_DECL_TIMEGM.
82070
82071 2003-09-06  Paul Eggert  <eggert@twinsun.com>
82072
82073         * MODULES.html.sh (func_all_modules): Add time_r.
82074         * modules/time_r: New file.
82075         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
82076         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
82077
82078 2003-09-03  Paul Eggert  <eggert@twinsun.com>
82079
82080         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
82081         Bug reported by Lute Kamstra in
82082         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
82083
82084         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
82085         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
82086         course with correspondingly smaller numbers for tomorrow and
82087         yesterday.  From Tadayoshi Funaba.  Originally installed into
82088         sh-utils on 1999-08-07, but the patch got lost (I guess during the
82089         coreutils merge?).
82090
82091 2003-08-31  Simon Josefsson  <jas@extundo.com>
82092
82093         * modules/timegm: New file.
82094         * MODULES.html.sh (func_all_modules): Add timegm.
82095
82096 2003-08-31  Simon Josefsson  <jas@extundo.com>
82097
82098         * m4/timegm.m4: New file.
82099
82100 2003-08-31  Simon Josefsson  <jas@extundo.com>
82101
82102         * lib/timegm.h: New file.
82103         * lib/timegm.c: New file.  Based on
82104         wget-1.8.2/src/http.c:mktime_from_utc.
82105
82106 2003-08-31  Karl Berry  <karl@gnu.org>
82107
82108         * lib/argp.h: update from libc.
82109
82110 2003-08-28  Bruno Haible  <bruno@clisp.org>
82111
82112         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
82113         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
82114         followed by '#define fnmatch fnmatch_posix' gives an error.
82115
82116 2003-08-28  Bruno Haible  <bruno@clisp.org>
82117
82118         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
82119         warning on QNX, which defines O_BINARY to 000000.
82120
82121 2003-08-27  Jim Meyering  <jim@meyering.net>
82122
82123         * m4/mkstemp.m4: Require that the system mkstemp be able to create
82124         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
82125         would fail after 32.  Reported by Danny Levinson.  Details here:
82126         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
82127
82128 2003-08-24  Bruno Haible  <bruno@clisp.org>
82129
82130         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
82131         MSVC7 <stdio.h> is included later.
82132
82133 2003-08-22  Simon Josefsson  <jas@extundo.com>
82134
82135         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
82136
82137 2003-08-20  Karl Berry  <karl@gnu.org>
82138
82139         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
82140
82141 2003-08-20  Bruno Haible  <bruno@clisp.org>
82142
82143         * modules/progname: New file.
82144         * MODULES.html.sh (func_all_modules): Add progname.
82145
82146 2003-08-20  Bruno Haible  <bruno@clisp.org>
82147
82148         * lib/progname.h: New file, from GNU gettext.
82149         * lib/progname.c: New file, from GNU gettext.
82150         * lib/progreloc.c: New file, from GNU gettext.
82151
82152 2003-08-19  Jim Meyering  <jim@meyering.net>
82153
82154         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
82155         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
82156
82157 2003-08-19  Bruno Haible  <bruno@clisp.org>
82158
82159         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
82160         more.
82161
82162 2003-08-19  Bruno Haible  <bruno@clisp.org>
82163
82164         * lib/xstrdup.c: Assume <string.h> exists.
82165
82166 2003-08-18  Paul Eggert  <eggert@twinsun.com>
82167
82168         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82169         in makefile rules.
82170
82171 2003-08-18  Jim Meyering  <jim@meyering.net>
82172
82173         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82174         * m4/lib-ld.m4: Likewise.
82175
82176 2003-08-18  Jim Meyering  <jim@meyering.net>
82177
82178         * lib/setenv.h: Indent nested cpp directive.
82179         * lib/vasnprintf.c: Remove trailing blanks.
82180
82181 2003-08-17  Simon Josefsson  <jas@extundo.com>
82182
82183         * modules/xstrndup: New file.
82184         * MODULES.html.sh (func_all_modules): Add xstrndup.
82185
82186 2003-08-17  Simon Josefsson  <jas@extundo.com>
82187
82188         * modules/argp: Fix autoconf macro name. Add more dependencies.
82189
82190 2003-08-17  Simon Josefsson  <jas@extundo.com>
82191
82192         * m4/xstrndup.m4: New file.
82193
82194 2003-08-17  Simon Josefsson  <jas@extundo.com>
82195
82196         * m4/argp.m4: New file.
82197
82198 2003-08-17  Simon Josefsson  <jas@extundo.com>
82199             Bruno Haible  <bruno@clisp.org>
82200
82201         * lib/xstrndup.h: New file.
82202         * lib/xstrndup.c: New file.
82203
82204 2003-08-17  Bruno Haible  <bruno@clisp.org>
82205
82206         * modules/strndup (Files, Include): Add lib/strndup.h.
82207
82208 2003-08-17  Bruno Haible  <bruno@clisp.org>
82209
82210         * modules/euidaccess (Files): Add lib/euidaccess.h.
82211
82212 2003-08-17  Bruno Haible  <bruno@clisp.org>
82213
82214         * lib/strndup.h: New file.
82215
82216 2003-08-17  Bruno Haible  <bruno@clisp.org>
82217
82218         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82219         like AC_GNU_SOURCE.
82220         * modules/extensions (configure.ac): Comment out the invocation of
82221         gl_USE_SYSTEM_EXTENSIONS.
82222
82223 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82224
82225         Merges from coreutils, etc.
82226         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82227         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82228         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82229         fixing a typo.
82230         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82231         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82232
82233 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82234
82235         Document merge from coreutils.
82236         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82237         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82238         * modules/utime: Add m4/utimes-null.m4.
82239
82240 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82241
82242         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82243         space, undoing this 2003-08-12 change:
82244         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82245
82246 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82247
82248         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82249         strtoul.c from libc, undoing this 2003-08-12 change:
82250         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82251
82252 2003-08-16  Jim Meyering  <jim@meyering.net>
82253
82254         Merges from coreutils.
82255         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82256         prefix.  Adjust cache variables similarly.  Create 500 rather than
82257         just 300 files, to exercise bug on Darwin6.5, too.
82258         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82259         $missing_dir.
82260         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82261         AM_SYS_POSIX_TERMIOS.
82262         Reported by mkc@mathdogs.com.
82263         Also change use of $am_cv_sys_posix_termios
82264         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82265         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82266         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82267         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82268         in /proc/mounts until it finds one with matching device number.  This
82269         is unnecessary when the FILE argument *is* a mount point.  No stat call
82270         is necessary in that case.  So, disable the statvfs-testing code on
82271         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82272         as RedHat bug# 84846.
82273         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82274         to 1MB, so as not to render systems with no stack size limit (e.g.,
82275         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82276         Include <unistd.h>.  On some systems,
82277         it is required for the definition of _SC_PAGESIZE.
82278
82279 2003-08-16  Jim Meyering  <jim@meyering.net>
82280
82281         Merge from coreutils.
82282         * lib/xstrtoimax.c: #else #if -> #elif.
82283         * lib/xstrtoumax.c: Likewise.
82284
82285 2003-08-16  Jim Meyering  <jim@meyering.net>
82286
82287         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82288         * m4/utimes.m4: Removed.
82289         * m4/utimes-null.m4: Renamed from utimes.m4.
82290
82291         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82292         to 1MB, so as not to render systems with no stack size limit (e.g.,
82293         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82294         Include <unistd.h>.  On some systems,
82295         it is required for the definition of _SC_PAGESIZE.
82296
82297 2003-08-16  Jim Meyering  <jim@meyering.net>
82298         and Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         Merges from coreutils, etc.
82301
82302         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82303         using the latest version from cvs.  This avoids problems with #line
82304         directives using a vendor (Sun) compiler.
82305         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82306         Don't set GETGROUPS_LIB here; now it's
82307         done via getgroups.m4's wrapper function.
82308         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82309         rather than just in sh-util/configure.in, so that the
82310         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82311         same.
82312         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82313         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82314         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82315         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82316         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82317         Remove code that is now done by the newly-required macros.
82318         Append $(EXEEXT) to DF_PROG.
82319         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82320         Do not invoke or require the following here,
82321         since prereq.m4 or some gnulib .m4 now does this for us:
82322         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82323         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82324         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82325         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82326         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82327         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82328         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82329         AC_FUNC_OBSTACK.
82330         Do not replace the following functions, as this is now the job
82331         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82332         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82333         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82334         atexit getpass, strdup, getpagesize.
82335         Replace 'raise'.
82336         Do not check for the following functions, as this is now the job
82337         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82338         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82339         setregid.
82340         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82341         Check for sys/sysctl.h.
82342         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82343         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82344         of checking for ssize_t ourselves.
82345
82346         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82347         Require every macro that gnulib/modules/* suggests for us.
82348         (jm_PREREQ_ADDEXT): New macro.
82349         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82350         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82351
82352         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82353         (gl_PHYSMEM): Use it.
82354         Also check for `table' function.
82355         Check for new headers and functions.
82356         Add check for sys/sysmp.h.
82357         With suggestions from Kaveh Ghazi.
82358         Ignore headers that are present but cannot be compiled.  This
82359         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82360         C 5.4.
82361
82362 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82363
82364         Document merge from coreutils.
82365         * modules/userspec: Depend on posixver.
82366         * modules/strftime: Depend on tzset.
82367
82368 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82369
82370         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82371         rather than tab, after '#' in shell-script copyright notices.
82372         Suggested by Bruno Haible.
82373
82374 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82375
82376         * config/srclist-update: Use three spaces, rather than tab, after '#'
82377         in shell-script copyright notices.  Suggested by Bruno Haible.
82378         Remove unnecessary parenthesization in regular expression.
82379
82380 2003-08-15  Jim Meyering  <jim@meyering.net>
82381
82382         Merge from coreutils.
82383         * lib/xgethostname.c: Include <stdlib.h>.
82384         (xghostname): Don't exit for anything other than memory-related
82385         failure; just return NULL.
82386         * lib/userspec.c: Include "posixver.h".
82387         (parse_user_spec): Accept `.' as a separator only
82388         in pre-POSIX-200112 mode.
82389         * lib/strtoimax.c: Use #elif rather than #else #if.
82390         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82391         Remove function, now that we can rely on a working tzset function.
82392         [!_LIBC]: Ensure that the required autoconf test has been run.
82393         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82394         Use underlying_strftime for %r.
82395         * lib/sha.c: Merge in some clean-up and optimization changes from
82396         glibc.
82397         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82398         Ensure that it is a multiple of 64.
82399         Rearrange loop exit tests so as to avoid performing an
82400         additional fread after encountering an error or EOF.
82401         * lib/realloc.c: Update copyright date.
82402
82403 2003-08-15  Jim Meyering  <jim@meyering.net>
82404         and Paul Eggert  <eggert@twinsun.com>
82405
82406         Merge from coreutils.
82407         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82408         member but strut utmpx does not.  Needed for AIX 4.3.3.
82409         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82410
82411 2003-08-15  Jim Meyering  <jim@meyering.net>
82412         and Paul Eggert  <eggert@cs.ucla.edu>
82413
82414         Merges from coreutils, etc.
82415         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82416         Require gl_FUNC_TZSET_CLOBBER.
82417         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82418         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82419         members.
82420
82421 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82422
82423         Help the merge from coreutils.
82424         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82425         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82426         * m4/tzset.m4: Use it too.
82427
82428 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82429
82430         * modules/tzset: New file.
82431
82432 2003-08-14  Jim Meyering  <jim@meyering.net>
82433
82434         Merges from coreutils.
82435         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82436         variable names, rather than @FNMATCH_H@.
82437         * modules/alloca: Likewise for $(ALLOCA_H).
82438
82439         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82440         the three copies of the literal target, `fnmatch.h'.
82441         * modules/alloca (alloca.h): Likewise.
82442
82443 2003-08-14  Jim Meyering  <jim@meyering.net>
82444
82445         Merge from coreutils.
82446         * m4/tzset.m4: New file.
82447         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82448         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82449         otherwise, AIX 5.1 systems would end up using the latter.
82450         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82451         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82452         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82453         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82454
82455 2003-08-14  Jim Meyering  <jim@meyering.net>
82456
82457         Merge from coreutils.
82458         * lib/obstack.h: Whitespace changes.
82459         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82460         and xcalloc return values.
82461         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82462         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82463         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82464         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82465         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82466         error from mntctl.
82467         Use mntctl's return value to drive the entry-processing loop, since
82468         we can't rely on the value of the vmt_length member in the last
82469         entry.  On some systems doing so could result in exhausting
82470         virtual memory.  Based in part on a patch from Mike Jetzer.
82471
82472 2003-08-14  Jim Meyering  <jim@meyering.net>
82473         and Paul Eggert  <eggert@twinsun.com>
82474
82475         Merges from coreutils, plus other fixes.
82476         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82477         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82478         for credits and details.  Thanks to Kaveh Ghazi for helping
82479         to keep these files in sync.
82480         (ARRAY_SIZE): Define it.
82481         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82482         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82483         (memcasecmp): Don't assume size_t fits in unsigned int.
82484         Remove casts and duplicate code.
82485         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82486         (memcpy): Remove definition.
82487         Merge in some clean-up and optimization changes from glibc.
82488         [BLOCKSIZE]: Move definition to top of file.
82489         Ensure that it is a multiple of 64.
82490         Rearrange loop exit tests so as to avoid performing an
82491         additional fread after encountering an error or EOF.
82492         * lib/md5.h (md5_uintptr): Define.
82493         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82494         return to the initial working directory.  Preserve errno
82495         for caller.
82496         * lib/idcache.c: Include "xalloc.h".
82497         (xmalloc, xrealloc): Remove decls.
82498         (getuser): Remove casts no longer required in C89.
82499         * lib/human.c: Include stdio.h, for sprintf.
82500         * lib/group-member.c: Include "xalloc.h".
82501         (xmalloc, xrealloc): Remove decls.
82502         (get_group_info): Remove casts no longer required in C89.
82503         * lib/getusershell.c (readname): Remove casts no longer required in
82504         C89.
82505         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82506         * lib/getline.c: Whitespace fix, from coreutils.
82507
82508 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82509
82510         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82511         Check for isascii.
82512
82513         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82514         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82515         Undo previous (whitespace-only) change.
82516
82517 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82518
82519         * lib/exclude.c: Include <ctype.h>
82520         (IN_CTYPE_DOMAIN): New macro.
82521         (is_space): New fn.
82522         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82523         and empty lines.
82524
82525         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82526         Undo previous (whitespace-only) change.
82527
82528 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82529
82530         * config/srclist-update: Change update back to the old behavior,
82531         leaving whitespace alone.  Use one 'sed' command rather than a
82532         pipeline.
82533         (fixlicense): Now a variable, not a function.
82534         (remove_trailing_blanks): Remove.
82535         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82536         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82537         Undo previous (whitespace-only) change.
82538
82539 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82540
82541         Merge from coreutils.
82542         * modules/euidaccess: Add lib_SOURCES, include for new
82543         file euidaccess.h
82544
82545 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82546
82547         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82548         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82549         Normalize leading white space and remove trailing white space.
82550
82551         Merge from coreutils
82552         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82553
82554         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82555         0.12.1.  These files are now being upgraded automatically by
82556         ../config/srclist-update.
82557
82558 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82559
82560         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82561         Normalize leading white space and remove trailing white space.
82562         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82563         notice, as per ../config/srclist-update.
82564
82565         Merge from coreutils.
82566         * lib/euidaccess.h: New file.
82567         * lib/euidaccess.c: Include it.
82568         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82569         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82570         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82571
82572 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82573
82574         * config/srclist-update: Add copyright notice.
82575         (remove_id_lines, remove_trailing_blanks): New constants.
82576         (fixfile): Use them to normalize spacing a bit in copied files.
82577         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82578         Normalize leading white space and remove trailing white space.
82579
82580         * config/texinfo.tex: Sync with texinfo.
82581
82582         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82583         strtoul.c from libc, to merge coreutils whitespace changes.
82584
82585         * config/srclist.txt: Get the following m4 files from gettext:
82586         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82587         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82588         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82589         wint_t.m4.
82590
82591 2003-08-12  Karl Berry  <karl@gnu.org>
82592
82593         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82594         been made.
82595
82596 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82597
82598         * modules/gnu-source, m4/gnu-source.m4:
82599         Remove; we're assuming Autoconf 2.54 or later now.
82600         Suggested by Bruno Haible.
82601         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82602
82603 2003-08-11  Bruno Haible  <bruno@clisp.org>
82604
82605         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82606
82607 2003-08-11  Bruno Haible  <bruno@clisp.org>
82608
82609         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82610         (vasnprintf): Use it instead of wcslen.
82611
82612 2003-08-11  Bruno Haible  <bruno@clisp.org>
82613
82614         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82615         value to ensure that _Bool promotes to int. Use #define for _Bool when
82616         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82617
82618 2003-08-10  Karl Berry  <karl@gnu.org>
82619
82620         * lib/regex.h: update from libc (whitespace fix).
82621
82622 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82623
82624         Merge some files from coreutils.  These changes were
82625         originally made by Jim Meyering.
82626         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82627         many older Unixes require this.
82628         * lib/alloca.c (alloca): Remove cast to argument of free;
82629         no longer needed in C89.
82630         * lib/alloca_.h, regex.h: Fix white space to match
82631         what GNU indent does.
82632
82633 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82634
82635         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82636         apparently Emacs's Unicode mode got confused before my 2003-08-05
82637         checkin.
82638
82639 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82640
82641         * m4/extensions.m4: New file.
82642         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82643         Require gl_USE_SYSTEM_EXTENSIONS.
82644         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82645         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82646
82647 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82648
82649         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82650         * modules/extensions, modules/gnu-source: New files.
82651         * modules/timespec, modules/unlocked-io: Depend on extensions.
82652
82653 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82654
82655         * modules/restrict: New file.
82656         * MODULES.html.sh (func_all_modules): Add restrict.
82657         * modules/regex: Depend on restrict.
82658
82659 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82660
82661         * m4/restrict.m4: New file.
82662         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82663
82664 2003-08-07  Bruno Haible  <bruno@clisp.org>
82665
82666         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82667         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82668
82669 2003-08-07  Bruno Haible  <bruno@clisp.org>
82670
82671         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82672         makes the module 'getndelim2' compatible with the module 'getline'.
82673
82674 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82675
82676         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82677         byte with "\201" to avoid glitches when editing that source file
82678         with multi-gnome-terminal.
82679
82680 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82681
82682         * lib/bumpalloc.h: Remove.
82683
82684 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82685
82686         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82687         * modules/bumpalloc: Remove.
82688
82689 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82690
82691         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82692         GNU coding style.
82693
82694         Merge from coreutils.
82695         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82696         1. From glibc.
82697         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82698         from Karl Berry, implemented by Jim Meyering.
82699         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82700         from Dmitry V. Levin.
82701         Remove anachronistic cast of xrealloc.
82702         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82703         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82704         type. Otherwise, it wouldn't compile with at least /bin/cc on
82705         ymp-cray-unicos9.0.2.X.
82706         Combine two mostly-identical uses of alloca into one.
82707         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82708
82709 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82710
82711         [From Emacs.]
82712
82713         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82714         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82715         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82716         obsolete NLIST_NAME_UNION.
82717         [__GNU__]: Undef BSD and FSCALE.
82718         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82719
82720 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82721
82722         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82723         an enum type, so that it's guaranteed to promote to int.  See:
82724         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82725
82726 2003-08-03  Karl Berry  <karl@gnu.org>
82727
82728         * config/depcomp: update from automake.
82729
82730 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82731
82732         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82733         (strerror): Don't assume that a printable int fits in 14 bytes.
82734
82735 2003-07-31  Bruno Haible  <bruno@clisp.org>
82736
82737         * modules/getpass-gnu: New file.
82738         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82739
82740 2003-07-31  Bruno Haible  <bruno@clisp.org>
82741
82742         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82743
82744 2003-07-24  Karl Berry  <karl@gnu.org>
82745
82746         * config/missing: update from automake.
82747
82748 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82749             Bruno Haible  <bruno@clisp.org>
82750
82751         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82752         * lib/getline.c (getline, getdelim): Likewise.
82753         Remove _GNU_SOURCE define; now it's defined in config.h through
82754         m4/getline.m4.
82755
82756 2003-07-23  Karl Berry  <karl@gnu.org>
82757
82758         * config/config.sub: update from prep.
82759
82760 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82761
82762         * modules/xalloc (Depends-on): Add exitfail.
82763         * modules/xmemcoll: Likewise.
82764
82765 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82766
82767         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82768         over-parenthesization in macros.
82769
82770         Sync with coreutils.
82771
82772         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82773         required by C99.
82774
82775         Use `exit_failure' for xalloc and xmemcoll instead of their own
82776         private exit-failure variables.
82777         * lib/xalloc.h (xalloc_exit_failure): Remove.
82778         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82779         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82780         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82781         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82782         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82783
82784 2003-07-20  Jim Meyering  <jim@meyering.net>
82785
82786         * modules/closeout (Depends-on): Add exitfail.
82787         Suggestion from Bruno Haible.
82788
82789 2003-07-19  Karl Berry  <karl@gnu.org>
82790
82791         * config/config.sub: update from prep.
82792
82793 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82794
82795         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82796         Remove.
82797         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82798         to test that it can stand by itself.  Include "exitfail.h".
82799         Clients should set exit_failure instead.
82800         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82801
82802 2003-07-18  Bruno Haible  <bruno@clisp.org>
82803
82804         * modules/getndelim2: New file.
82805         * modules/getline: Share files with module getndelim2.
82806         * modules/getnline: Depend on getndelim2 instead of sharing files with
82807         it. Add getnline.c to lib_SOURCES.
82808         * MODULES.html.sh (func_all_modules): Add getndelim2.
82809
82810 2003-07-18  Bruno Haible  <bruno@clisp.org>
82811
82812         * m4/getndelim2.m4: New file.
82813         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82814         invoke gl_PREREQ_GETNDELIM2.
82815         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82816         gl_PREREQ_GETNDELIM2.
82817         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82818         gl_GETNDELIM2.
82819
82820 2003-07-18  Bruno Haible  <bruno@clisp.org>
82821
82822         * lib/getndelim2.h: New file.
82823         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82824         getndelim2.h.
82825         (getndelim2): Make non-static. Change return type to ssize_t.
82826         * lib/getline.h: Change argument names.
82827         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82828         * lib/getnline.c: Include getndelim2.h.
82829
82830 2003-07-18  Andreas Schwab  <schwab@suse.de>
82831
82832         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82833
82834 2003-07-17  Karl Berry  <karl@gnu.org>
82835
82836         * config/config.sub: update from prep.
82837
82838 2003-07-17  Bruno Haible  <bruno@clisp.org>
82839
82840         * modules/getnline: New file.
82841         * modules/getline: Add lib/getndelim2.c to source file list.
82842         * MODULES.html.sh (func_all_modules): Add getnline.
82843
82844 2003-07-17  Bruno Haible  <bruno@clisp.org>
82845
82846         * m4/getnline.m4: New file.
82847
82848 2003-07-17  Bruno Haible  <bruno@clisp.org>
82849
82850         * m4/Makefile.am.in: Remove file.
82851         * m4/Makefile.am: Remove file.
82852         * m4/Makefile.in: Remove file.
82853
82854 2003-07-17  Bruno Haible  <bruno@clisp.org>
82855
82856         * lib/getnline.h: New file.
82857         * lib/getnline.c: New file.
82858         * lib/getndelim2.c: New file, extracted from getline.c.
82859         (getndelim2): Renamed from getdelim2, with added nmax argument.
82860         * lib/getline.c: Include getndelim2.c.
82861         (getdelim2): Moved out to getndelim2.c.
82862         (getline, getdelim): Update.
82863
82864 2003-07-17  Bruno Haible  <bruno@clisp.org>
82865
82866         * lib/Makefile.am: Remove file.
82867         * lib/Makefile.in: Remove file.
82868
82869 2003-07-17  Bruno Haible  <bruno@clisp.org>
82870
82871         * configure.in: Remove file.
82872         * Makefile.in: Remove file.
82873
82874 2003-07-17  Bruno Haible  <bruno@clisp.org>
82875
82876         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82877
82878 2003-07-16  Karl Berry  <karl@gnu.org>
82879
82880         * config/srclist-update: was running fixlicense twice, which caused
82881                 texinfo.tex to be nullified for some reason.  Simplify,
82882                 $gplsrc is no longer needed as far as I can see?
82883
82884 2003-07-16  Jim Meyering  <jim@meyering.net>
82885
82886         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82887
82888 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82889
82890         * config/srclist.txt: Get the following files from gettext-runtime/intl
82891         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82892         ref-del.sin.  From Bruno Haible.
82893         * config/srclist-update (fixfile): Change grep pattern again, since the
82894         previous fix didn't work (there was another trailing $).  Use
82895         '[$]' to escape the $s.
82896
82897 2003-07-15  Karl Berry  <karl@gnu.org>
82898
82899         * lib/vasnprintf.c: update from gettext.
82900
82901 2003-07-15  Karl Berry  <karl@gnu.org>
82902
82903         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82904         gets expanded when surrounded by '$'.
82905
82906 2003-07-15  Jim Meyering  <jim@meyering.net>
82907
82908         * modules/save-cwd: Don't depend on error.  From Derek Price.
82909
82910 2003-07-15  Jim Meyering  <jim@meyering.net>
82911
82912         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82913
82914 2003-07-14  Simon Josefsson  <jas@extundo.com>
82915
82916         * modules/mempcpy: New file.
82917         * MODULES.html.sh (func_all_modules): Add mempcpy.
82918
82919 2003-07-14  Simon Josefsson  <jas@extundo.com>
82920
82921         * m4/mempcpy.m4: New file.
82922
82923 2003-07-14  Simon Josefsson  <jas@extundo.com>
82924
82925         * lib/mempcpy.h: New file.
82926         * lib/mempcpy.c: New file.
82927
82928 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82929
82930         * modules/getdate, modules/posixtm: Depend on mktime.
82931
82932 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82933
82934         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82935         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82936         unicodeio.c, unicodeio.h, unlocked-io.h:
82937         Switch from LGPL to GPL.
82938
82939 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82940
82941         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82942         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82943         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82944         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82945         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82946         updated automatically by ../config/srclist-update.  This changes
82947         their license from LPGL to GPL.
82948
82949 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82950
82951         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82952         assumed to refer to the root of the most recent stable gettext version.
82953         * config/srclistvars.sh: Add defaults for eggert.
82954         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82955         Match "This program" as well as "The program".  This is needed
82956         for gettext.
82957
82958 2003-07-14  Jim Meyering  <jim@meyering.net>
82959
82960         Don't emit diagnostics.  Let callers do that.
82961         * lib/save-cwd.c: Don't include "error.h".
82962         (save_cwd): Don't call error.  Ensure that errno is valid
82963         when returning nonzero.
82964
82965         * lib/save-cwd.h (restore_cwd): Update prototype.
82966         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82967         Simplify.  Don't call error upon failure.  Let callers do that.
82968         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82969         when auditing is enabled.  But don't bother updating the #if.
82970
82971 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82972
82973         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82974         it breaks C++ compilation.
82975         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82976
82977 2003-07-10  Simon Josefsson  <jas@extundo.com>
82978
82979         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82980
82981 2003-07-10  Jim Meyering  <jim@meyering.net>
82982
82983         * m4/clock_time.m4: Remove trailing blank.
82984         * m4/intmax_t.m4: Likewise.
82985
82986 2003-07-10  Jim Meyering  <jim@meyering.net>
82987
82988         * lib/vasnprintf.c: Remove trailing blanks.
82989         Make cpp indentation consistent.
82990
82991 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82992
82993         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82994         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82995         Switch from LGPL to GPL.
82996
82997 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82998
82999         * config/srclist.txt: Sort sublists.  Add
83000         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
83001         that differ from gnulib for one reason or another; we'd like this list
83002         to be smaller but for now let's document what we have.
83003
83004 2003-07-08  Paul Eggert  <eggert@twinsun.com>
83005
83006         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
83007         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
83008         and sweeter "eval x=$x".
83009         * config/srclist.txt: Get lib/argp* from glibc.
83010
83011 2003-07-07  Paul Eggert  <eggert@twinsun.com>
83012
83013         * lib/mktime.c: Fix some boundary cases and remove need for floating
83014         point.
83015
83016         Issue a compile-time diagnostic if time_t is floating point, or if
83017         two's complement arithmetic is not in effect, or if arithmetic
83018         right shift does not propagate the sign.  These assumptions were
83019         all in the original code but they weren't checked.
83020
83021         (TIME_T_MIDPOINT, verify): New macros.
83022         (__isleap): Remove; it has integer overflow problems.
83023         (leapyear): New function, without those problems.
83024         (ydhms_tm_diff): Remove; splitting into two parts.
83025         (ydhms_diff): New function, containing the arithmetic part of
83026         the old ydhms_tm_diff function.  Issue a compile-time
83027         diagnostic if we are not using C99 integer division.
83028         Avoid casts when possible.
83029         (guess_time_tm): New function, containing the checking part of
83030         the old ydhms_tm_diff function.  Return the new value, rather than
83031         the difference between it and the old.  Accept a new argument T
83032         so that *T specifies the old value.  Check for overflow in the result.
83033
83034         (__mktime_internal): Use a time_t offset, not a long int offset.
83035         This undoes the 2003-06-04 change, which is no longer needed now
83036         that we have better overflow checking.
83037         (localtime_offset): Likewise.
83038
83039         (__mktime_internal): Avoid harmful overflow on hosts where time_t
83040         and long are 64-bit but int is only 32-bit.
83041         (ydhms_diff): Use long int to store year1 and yday1.
83042         Issue a compile-time diagnostic if long int is not wide enough.
83043
83044         (__mktime_internal): Use long int to store adjusted year and yday.
83045         Use plain C rather than preprocessor commands, if that doesn't
83046         affect efficiency.
83047         Check for overflow (and try to repair) after each probe
83048         rather than checking only at the very end.  This avoids some bugs
83049         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
83050         does not equal GMT offset at maximum time).
83051         Use integer to check for overflow rather than floating point; this
83052         is more portable to non-IEEE hosts, and is a tad faster.
83053         When we detect that we are oscillating between two values,
83054         don't check whether tm_isdst has the requested value, since
83055         we already know the answer.  When tm_isdst has the wrong value,
83056         use a different heuristic to find the right one, based on the
83057         extreme values actually observed in practice in tz2003a,
83058         rather than the (overly optimistic) "previous 3 calendar quarters".
83059
83060         (not_equal_tm, print_tm, check_result): Use "const T" rather than
83061         "T const" to accommodate glibc style.
83062         (check_result): Use less-confusing report format.  "long" -> "long int.
83063         (main): Likewise.
83064         Don't loop if the iteration overflows time_t.
83065         Allow a negative step in the iteration.
83066
83067 2003-07-06  Karl Berry  <karl@gnu.org>
83068
83069         * config/depcomp: update from automake.
83070         * config/config.sub: update from prep.
83071
83072 2003-07-03  Karl Berry  <karl@gnu.org>
83073
83074         * config/config.guess: update from prep.
83075
83076 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83077
83078         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
83079         xreadlink.c now includes it unconditionally.
83080
83081 2003-07-01  Paul Eggert  <eggert@twinsun.com>
83082
83083         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
83084         having it depend on HAVE_SYS_TYPES_H.
83085
83086 2003-07-01  Bruno Haible  <bruno@clisp.org>
83087
83088         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
83089         <sys/types.h> should be sufficient.
83090         Reported by Paul Eggert.
83091
83092 2003-06-26  Karl Berry  <karl@gnu.org>
83093
83094         * config/depcomp: update from automake.
83095
83096 2003-06-26  Bruno Haible  <bruno@clisp.org>
83097
83098         * modules/human: Depend on module stdbool.
83099
83100 2003-06-25  Bruno Haible  <bruno@clisp.org>
83101
83102         * modules/readlink: New file.
83103         * modules/xreadlink: Depend on it.
83104         * MODULES.html.sh (func_all_modules): Add readlink.
83105
83106 2003-06-25  Bruno Haible  <bruno@clisp.org>
83107
83108         * m4/readlink.m4: New file.
83109
83110 2003-06-25  Bruno Haible  <bruno@clisp.org>
83111
83112         * lib/readlink.c: New file.
83113
83114 2003-06-22  Karl Berry  <karl@gnu.org>
83115
83116         * config/srclist.txt: update mkinstalldirs from automake.
83117         * config/mkinstalldirs: update.
83118
83119 2003-06-22  Bruno Haible  <bruno@clisp.org>
83120
83121         Portability to mingw32.
83122         * m4/ssize_t.m4: New file, from GNU gettext.
83123         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
83124         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
83125
83126 2003-06-22  Bruno Haible  <bruno@clisp.org>
83127
83128         * modules/safe-read: Add m4/ssize_t.m4.
83129         * modules/xreadlink: Add m4/ssize_t.m4.
83130
83131 2003-06-20  Bruno Haible  <bruno@clisp.org>
83132
83133         Assume C89, so PARAMS isn't needed.
83134         * lib/unicodeio.h (PARAMS): Remove.
83135         * lib/unicodeio.c: Don't use PARAMS.
83136
83137 2003-06-18  Karl Berry  <karl@gnu.org>
83138
83139         * config/config.{guess,sub}: update from prep.
83140
83141 2003-06-18  Jim Meyering  <jim@meyering.net>
83142
83143         Merge changes from coreutils.
83144         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
83145         Remove explicit declarations of xmalloc and realloc.
83146         Include xalloc.h.
83147         (read_utmp): Remove anachronistic cast of xmalloc.
83148
83149 2003-06-17  Paul Eggert  <eggert@twinsun.com>
83150
83151         Assume C89, so PARAMS isn't needed.
83152         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
83153         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
83154         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
83155         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
83156         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
83157         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
83158         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
83159         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
83160         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
83161         lib/xstrtod.h, lib/xstrtol.h: Likewise.
83162         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
83163         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
83164         no longer needed. Anyway, config.h should always be included before any
83165         other file.
83166
83167 2003-06-11  Simon Josefsson  <jas@extundo.com>
83168
83169         * modules/sysexits: New file.
83170         * MODULES.html.sh (func_all_modules): Add sysexits.
83171
83172 2003-06-11  Simon Josefsson  <jas@extundo.com>
83173
83174         * lib/sysexit_.h: New file.
83175
83176 2003-06-11  Derek Price  <derek@ximbiot.com>
83177
83178         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83179         necessary.
83180
83181 2003-06-11  Bruno Haible  <bruno@clisp.org>
83182
83183         * m4/sysexits.m4: New file.
83184
83185 2003-06-10  Simon Josefsson  <jas@extundo.com>
83186
83187         * lib/argp.h: New file, from glibc.
83188         * lib/argp-ba.c: New file, from glibc.
83189         * lib/argp-eexst.c: New file, from glibc.
83190         * lib/argp-fmtstream.c: New file, from glibc.
83191         * lib/argp-fmtstream.h: New file, from glibc.
83192         * lib/argp-fs-xinl.c: New file, from glibc.
83193         * lib/argp-help.c: New file, from glibc.
83194         * lib/argp-namefrob.h: New file, from glibc.
83195         * lib/argp-parse.c: New file, from glibc.
83196         * lib/argp-pv.c: New file, from glibc.
83197         * lib/argp-pvh.c: New file, from glibc.
83198         * lib/argp-xinl.c: New file, from glibc.
83199
83200 2003-06-10  Simon Josefsson  <jas@extundo.com>
83201
83202         * modules/strchrnul: New file.
83203
83204 2003-06-10  Simon Josefsson  <jas@extundo.com>
83205
83206         * modules/argp: New file.
83207
83208 2003-06-10  Simon Josefsson  <jas@extundo.com>
83209
83210         * m4/strchrnul.m4: New file.
83211
83212 2003-06-10  Simon Josefsson  <jas@extundo.com>
83213
83214         * lib/strchrnul.h: New file.
83215         * lib/strchrnul.c: New file.
83216
83217 2003-06-10  Bruno Haible  <bruno@clisp.org>
83218
83219         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83220
83221 2003-06-07  Karl Berry  <karl@gnu.org>
83222
83223         * config/config.{guess,sub}: update from prep.
83224
83225 2003-06-07  Jim Meyering  <jim@meyering.net>
83226
83227         * modules/strtod: Use $(...) notation, not @...@ for
83228         AC_REPLACE'd variables.
83229         * modules/localcharset: Likewise.
83230
83231 2003-06-07  Jim Meyering  <jim@meyering.net>
83232
83233         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83234         in place of my name in the copyright comment.
83235         Remove definition and uses of __P.
83236
83237         From coreutils.
83238         * lib/stat.c: Don't declare xmalloc explicitly.
83239         Instead, include "xalloc.h".
83240         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83241         xrealloc, and xcalloc return values.
83242         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83243         Improve comment.
83244         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83245
83246 2003-06-07  Bruno Haible  <bruno@clisp.org>
83247
83248         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83249         avoid AC_CONFIG_LINKS.
83250         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83251         fnmatch.h, to avoid AC_CONFIG_LINKS.
83252         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83253
83254 2003-06-07  Bruno Haible  <bruno@clisp.org>
83255
83256         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83257         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83258         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83259         directory.
83260         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83261         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83262         directory.
83263
83264 2003-06-06  Jim Meyering  <jim@meyering.net>
83265
83266         Merge from coreutils.
83267         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83268         Consolidate declarations and initializations of *_base* locals.
83269
83270         Merge from coreutils.
83271         This avoids a core dump on systems without GNU putenv,
83272         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83273         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83274         (unsetenv): New static function, from GNU libc.
83275         (rpl_putenv): Use it.
83276
83277         * lib/modechange.c: Remove trailing blanks.
83278
83279         Merge from coreutils.
83280         * lib/fsusage.c: Remove declaration of statfs.
83281         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83282
83283         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83284
83285 2003-06-06  Jim Meyering  <jim@meyering.net>
83286
83287         * lib/stdbool_.h: Renamed from stdbool.h.in.
83288
83289 2003-06-06  Jim Meyering  <jim@meyering.net>
83290             Bruno Haible  <bruno@clisp.org>
83291
83292         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83293         Adjust Makefile.am snippet not to redirect directly to target.
83294         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83295
83296 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83297
83298         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83299         mismatch, look in future quarters as well as past.  This fixes a
83300         bug when processing fall-backwards gaps immediately after a long
83301         period of daylight-saving time.
83302
83303         * lib/mktime.c: Assume freestanding C89 or better.
83304         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83305         (__P): Remove; not used.
83306         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83307         (mktime, not_equal_tm, print_tm, check_result,
83308         main): Use prototypes.  Use const * where appropriate.
83309         (main): Fix typo in testing code that uncovered by above changes.
83310         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83311
83312 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83313
83314         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83315         locale.h, localeconv.  This merges changes from coreutils.
83316
83317         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83318         It can be removed after the next Autoconf is released.
83319         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83320         needed.
83321
83322 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83323
83324         * lib/mktime.c: Fix Debian bug 177940
83325         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83326         (localtime_offset): Now long int, not time_t, because we want it
83327         to be guaranteed to be signed.  All uses changed.
83328         (__mktime_internal): If overflow would occur when adding offset,
83329         don't add it.
83330
83331         Merge 'human' changes from coreutils.  Rewrite to support
83332         locale-specific notations like thousands separators.
83333         * lib/human.c: Simplify authorship notice.
83334         Include human.h immediately after config.h.
83335         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83336         <limits.h>: Do not include, since human.h does.
83337         (SIZE_MAX, UINTMAX_MAX): New macros.
83338         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83339         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83340         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83341         (power_letter): Renamed from suffixes.
83342         (generate_suffix_backwards): Remove.
83343         (adjust_value): Now takes int style (because of human.h changes)
83344         and long double value (for greater precision on some platforms).
83345         (group_number): New function.
83346         (human_readable): Use it.  Use integer options, not enum.
83347         Put the options before the sizes in the arg list.
83348         Support all the new options.
83349         The old human_readable function has been removed;
83350         use inttostr.h instead.
83351         (human_readable, default_block_size, humblock):
83352         Use uintmax_t, not int, for block sizes.
83353         (human_readable_inexact, block_size_types): Remove.
83354         (block_size_opts): New constant.
83355         (human_options): Renamed from human_block_size, with new signature
83356         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83357         * lib/human.h: Add copyright and authorship notice.
83358         Include <limits.h> and <stdbool.h> unconditionally.
83359         (PARAMS): Remove.  All uses removed.
83360         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83361         (enum human_inexact_style): Remove tag; now a nameless enum.
83362         (human_floor, human_ceiling, human_round_to_even): Now have
83363         values 2, 0, 1 rather than -1, 1, 0.
83364         (human_group_digits, human_suppress_point_zero, human_autoscale,
83365         human_base_1024, human_SI, human_B): New constants.
83366         (human_readable_inexact, human_block_size): Remove.
83367         (human_readable): Size args are now uintmax_t, not int.
83368         (human_options): New decl.
83369
83370         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83371         unnecessary now that we assume C89 or better.  This change
83372         imported from coreutils.
83373
83374         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83375         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83376         in the 2003-05-30 sync from glibc.
83377
83378         .h files should stand alone, but we shouldn't include <sys/types.h>
83379         if we can get away with just <stddef.h>.
83380
83381         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83382         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83383         rather than <sys/types.h>, as we merely need size_t.
83384         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83385         to get size_t.
83386         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83387         Include <stdio.h>, to get FILE.
83388         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83389         memcasecmp.h has included <stddef.h> and all we need is size_t.
83390         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83391         our interface, instead of including <sys/types.h>
83392
83393 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83394
83395         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83396         now, as glibc mktime is buggy on non-glibc systems.
83397
83398 2003-06-03  Karl Berry  <karl@gnu.org>
83399
83400         * config/config.sub: update from prep.
83401
83402 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83403
83404         [from coreutils]
83405         Fix some minor time-related bugs with POSIX time arguments.
83406         Some valid time stamps were being rejected (notably -1, and
83407         time stamps before 1900 on 64-bit hosts).  And some invalid
83408         time stamps were being accepted, e.g. September 31.
83409
83410         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83411         that we can return (time_t) -1 successfully.
83412         * lib/posixtm.c: Likewise.
83413         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83414         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83415         (t): Remove static var.
83416         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83417         of static var.  All uses changed.
83418         (year): Do not reject years before 1900; they can occur with
83419         64-bit time_t.
83420         (posix_time_parse): Do not check for out-of-range components;
83421         that is now the caller's responsibility, since our checks were
83422         only approximations.
83423         (posixtime): Use mktime to check for out-of-range components,
83424         since it knows them exactly.
83425         If mktime returns (time_t) -1, check whether an error actually occurred
83426         by invoking localtime on -1.
83427         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83428         posixtime failures better.
83429         Improve the test data (in comments only).
83430
83431 2003-06-02  Karl Berry  <karl@gnu.org>
83432
83433         * config/mkinstalldirs (version): new variable.
83434         (--version): new option.
83435         (usage): improve message.
83436
83437 2003-05-30  Karl Berry  <karl@gnu.org>
83438
83439         * lib/mktime.c: update from libc.
83440
83441 2003-05-30  Bruno Haible  <bruno@clisp.org>
83442
83443         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83444         * config/config.rpath: Upgrade to gettext-0.12.1.
83445
83446 2003-05-30  Bruno Haible  <bruno@clisp.org>
83447
83448         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83449         * m4/nls.m4: New file, from gettext-0.12.1.
83450         * m4/po.m4: New file, from gettext-0.12.1.
83451         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83452
83453 2003-05-30  Bruno Haible  <bruno@clisp.org>
83454
83455         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83456         * lib/localcharset.h: Likewise.
83457         * lib/localcharset.c: Likewise.
83458
83459 2003-05-29  Karl Berry  <karl@gnu.org>
83460
83461         * config/config.rpath: update from gettext.
83462
83463 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83464
83465         Assume the headers required for C89 freestanding compilers.
83466         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83467         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83468         * m4/human.m4 (gl_HUMAN): Likewise.
83469         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83470         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83471         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83472         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83473         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83474         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83475
83476 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83477
83478         Assume the headers required for C89 freestanding compilers.
83479         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83480         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83481         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83482         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83483         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83484         define, since <limits.h> is guaranteed to do that.
83485         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83486         * lib/exclude.c: Include <stdbool.h> unconditionally.
83487         * lib/tempname.c: Include <stddef.h> unconditionally.
83488         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83489         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83490         <stddef.h> does that.
83491         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83492         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83493         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83494         needed.
83495         * lib/xstrtol.c: Likewise.
83496         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83497         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83498
83499         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83500         warnings on some platforms.
83501
83502         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83503         arbitrarily.
83504
83505 2003-05-26  Jim Meyering  <jim@meyering.net>
83506
83507         Merge in a change from coreutils:
83508         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83509         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83510         that condition, rather than `-1' which is slightly misleading.
83511         Change the name of the cache variable to have the gl_ prefix.
83512         Prompted by a patch from Richard Dawe for DJGPP.
83513
83514 2003-05-24  Karl Berry  <karl@gnu.org>
83515
83516         * config/config.guess: update from prep.
83517
83518 2003-05-22  Karl Berry  <karl@gnu.org>
83519
83520         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83521
83522 2003-05-20  Karl Berry  <karl@gnu.org>
83523
83524         * config/config.guess: update from prep.
83525
83526 2003-05-18  Karl Berry  <karl@gnu.org>
83527
83528         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83529         might actually be set by the user.
83530
83531         * config/depcomp, install-sh, mdate-sh: update from automake.
83532
83533 2003-05-17  Bruno Haible  <bruno@clisp.org>
83534
83535         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83536         invalid expansion for AC_EGREP_CPP.
83537         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83538         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83539         Suggested by Akim Demaille <akim@epita.fr> in
83540         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83541
83542 2003-05-12  Jim Meyering  <jim@meyering.net>
83543
83544         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83545         the space-padded-by-default conversion specifiers, %e, %k, %l.
83546
83547 2003-05-12  Bruno Haible  <bruno@clisp.org>
83548
83549         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83550         the string is longer than 4 KB.
83551
83552 2003-05-11  Karl Berry  <karl@gnu.org>
83553
83554         * config/config.{guess,sub}: update from prep.
83555
83556 2003-05-09  Bruno Haible  <bruno@clisp.org>
83557
83558         * modules/error: Add m4/strerror_r.m4 to file list.
83559
83560 2003-05-03  Bruno Haible  <bruno@clisp.org>
83561
83562         Upgrade to Unicode-4.0.
83563         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83564         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83565         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83566         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83567         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83568         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83569         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83570         Change width of U+E0100..U+E01EF from 1 to 0.
83571
83572 2003-04-25  Jim Meyering  <jim@meyering.net>
83573
83574         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83575         of type size_t, not int.
83576
83577 2003-04-25  Bruno Haible  <bruno@clisp.org>
83578
83579         * lib/copy-file.c: Include <stddef.h>, for size_t.
83580
83581 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83582
83583         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83584         code which expansion is under static control.  Patch imported from
83585         Akim Demaille's patch to Bison; see
83586         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83587
83588 2003-04-14  Bruno Haible  <bruno@clisp.org>
83589
83590         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83591
83592 2003-04-11  Jim Meyering  <jim@meyering.net>
83593
83594         Merge changes from Coreutils.
83595
83596         2003-03-22  Jim Meyering  <jim@meyering.net>
83597
83598         * lib/strftime.c (widen): Cast alloca return value to proper type.
83599
83600         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83601
83602         From GNU libc.
83603         * lib/strftime.c (my_strftime): Handle very large width
83604         specifications for numeric values correctly.  Improve checks for
83605         overflow.
83606
83607         2003-01-19  Jim Meyering  <jim@meyering.net>
83608
83609         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83610         definitions.
83611         (nl_get_alt_digit) [! defined my_strftime]: Define.
83612         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83613         _nl_get_alt_digit and _nl_get_walt_digit.
83614
83615         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83616         libc. These changes have no effect outside of _LIBC.
83617
83618 2003-04-10  Bruno Haible  <bruno@clisp.org>
83619
83620         * modules/findprog: New file.
83621         * MODULES.html.sh (func_all_modules): Add it.
83622
83623 2003-04-10  Bruno Haible  <bruno@clisp.org>
83624
83625         * m4/findprog.m4: New file.
83626         * m4/eaccess.m4: New file.
83627
83628 2003-04-10  Bruno Haible  <bruno@clisp.org>
83629
83630         * lib/findprog.h: New file, from GNU gettext.
83631         * lib/findprog.c: New file, from GNU gettext.
83632
83633 2003-04-05  Jim Meyering  <jim@meyering.net>
83634
83635         Merge changes from Coreutils.
83636
83637         * lib/exclude.h (PARAMS): Remove definition and uses.
83638         * lib/exclude.c: Remove uses of `PARAMS'.
83639
83640         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83641         Add test-cases for DOS filenames. Declare program_name.
83642         (main): Set up program_name.  Patch by Rich Dawe.
83643
83644         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83645         error from mntctl.
83646         Use mntctl's return value to drive the entry-processing loop, since
83647         we can't rely on the value of the vmt_length member in the last
83648         entry.  On some systems doing so could result in exhausting
83649         virtual memory.  Based in part on a patch from Mike Jetzer.
83650
83651 2003-04-04  Bruno Haible  <bruno@clisp.org>
83652
83653         * modules/linebreak: New file.
83654         * MODULES.html.sh (func_all_modules): Add it.
83655
83656 2003-04-04  Bruno Haible  <bruno@clisp.org>
83657
83658         * m4/linebreak.m4: New file.
83659
83660 2003-04-04  Bruno Haible  <bruno@clisp.org>
83661
83662         * lib/linebreak.h: New file, from GNU gettext.
83663         * lib/linebreak.c: New file, from GNU gettext with slight
83664         modifications.
83665         * lib/lbrkprop.h: New file, from GNU gettext.
83666
83667 2003-04-03  Bruno Haible  <bruno@clisp.org>
83668
83669         * modules/utf8-ucs4: New file.
83670         * modules/utf16-ucs4: New file.
83671         * modules/ucs4-utf8: New file.
83672         * modules/ucs4-utf16: New file.
83673         * MODULES.html.sh (func_all_modules): Add them.
83674
83675 2003-04-03  Bruno Haible  <bruno@clisp.org>
83676
83677         * m4/utf-ucs4.m4: New file.
83678         * m4/ucs4-utf.m4: New file.
83679
83680 2003-04-03  Bruno Haible  <bruno@clisp.org>
83681
83682         * lib/utf8-ucs4.h: New file, from GNU gettext.
83683         * lib/utf16-ucs4.h: New file, from GNU gettext.
83684         * lib/ucs4-utf8.h: New file, from GNU gettext.
83685         * lib/ucs4-utf16.h: New file, from GNU gettext.
83686
83687 2003-04-02  Bruno Haible  <bruno@clisp.org>
83688
83689         * modules/binary-io: New file.
83690         * MODULES.html.sh (func_all_modules): Add it.
83691
83692 2003-04-02  Bruno Haible  <bruno@clisp.org>
83693
83694         * lib/binary-io.h: New file, from GNU gettext.
83695
83696 2003-04-01  Bruno Haible  <bruno@clisp.org>
83697
83698         * modules/pathname: New file.
83699         * MODULES.html.sh (func_all_modules): Add it.
83700
83701 2003-04-01  Bruno Haible  <bruno@clisp.org>
83702
83703         * lib/pathname.h: New file, from GNU gettext.
83704         * lib/concatpath.c: New file, from GNU gettext.
83705
83706 2003-03-30  Bruno Haible  <bruno@clisp.org>
83707
83708         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83709
83710 2003-03-30  Bruno Haible  <bruno@clisp.org>
83711
83712         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83713         function chown() doesn't exist.
83714
83715 2003-03-28  Bruno Haible  <bruno@clisp.org>
83716
83717         * modules/copy-file: New file.
83718         * MODULES.html.sh (func_all_modules): Add it.
83719
83720 2003-03-28  Bruno Haible  <bruno@clisp.org>
83721
83722         * m4/copy-file.m4: New file.
83723
83724 2003-03-28  Bruno Haible  <bruno@clisp.org>
83725
83726         * lib/copy-file.h: New file, from GNU gettext.
83727         * lib/copy-file.c: New file, from GNU gettext.
83728
83729 2003-03-18  Jim Meyering  <jim@meyering.net>
83730
83731         * lib/quote.c (quote_n): Fix typo in comment.
83732
83733 2003-03-18  Bruno Haible  <bruno@clisp.org>
83734
83735         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83736         checking.
83737         * m4/onceonly_2_57.m4: Likewise.
83738
83739 2003-03-17  Bruno Haible  <bruno@clisp.org>
83740
83741         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83742         (m4_quote): Remove macro.
83743         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83744
83745 2003-03-14  Jim Meyering  <jim@meyering.net>
83746
83747         Merge changes from Coreutils.
83748         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83749         to be const, in order to avoid warnings.
83750         (obstack_room): Likewise.
83751         (obstack_empty_p): Likewise.
83752
83753 2003-03-14  Bruno Haible  <bruno@clisp.org>
83754
83755         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83756         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83757
83758 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83759
83760         Merge changes from Bison.
83761         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83762         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83763         when compiling Bison 1.875's `bitset bset = obstack_alloc
83764         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83765         * lib/hash.c: Include <stdbool.h> unconditionally.
83766
83767 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83768
83769         * m4/onceonly.m4 (m4_quote): New macro.
83770         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83771         Quote AC_FOREACH variable-expansions properly.
83772
83773 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83774
83775         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83776
83777 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83778
83779         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83780         Reported by Bruce Becker; see:
83781         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83782
83783 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83784             Bruno Haible  <bruno@clisp.org>
83785
83786         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83787         Reported by John Hughes, see
83788         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83789
83790 2003-02-20  Bruno Haible  <bruno@clisp.org>
83791
83792         * MODULES.html.sh (func_all_modules): Add poll.
83793
83794 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83795
83796         * modules/poll: New file.
83797
83798 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83799
83800         * lib/poll_.h: New file.
83801         * lib/poll.c: New file.
83802
83803 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83804
83805         * m4/poll.m4: New file.
83806
83807 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83808
83809         * modules/mathl: New file.
83810
83811 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83812
83813         * lib/mathl.h: New file.
83814         * lib/acosl.c: New file.
83815         * lib/asinl.c: New file.
83816         * lib/atanl.c: New file.
83817         * lib/ceill.c: New file.
83818         * lib/cosl.c: New file.
83819         * lib/expl.c: New file.
83820         * lib/floorl.c: New file.
83821         * lib/frexpl.c: New file.
83822         * lib/ldexpl.c: New file.
83823         * lib/logl.c: New file.
83824         * lib/sincosl.c: New file.
83825         * lib/sinl.c: New file.
83826         * lib/sqrtl.c: New file.
83827         * lib/tanl.c: New file.
83828         * lib/trigl.c: New file.
83829         * lib/trigl.h: New file.
83830
83831 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83832
83833         * m4/mathl.m4: New file.
83834
83835 2003-02-18  Bruno Haible  <bruno@clisp.org>
83836
83837         * MODULES.html.sh (func_all_modules): Add mathl.
83838
83839 2003-02-17  Bruno Haible  <bruno@clisp.org>
83840
83841         * modules/mkdtemp: New module.
83842         * MODULES.html.sh (func_all_modules): Add it.
83843
83844 2003-02-17  Bruno Haible  <bruno@clisp.org>
83845
83846         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83847
83848 2003-02-17  Bruno Haible  <bruno@clisp.org>
83849
83850         * lib/mkdtemp.h: New file, from GNU gettext.
83851         * lib/mkdtemp.c: New file, from GNU gettext.
83852
83853 2003-02-02  Jim Meyering  <jim@meyering.net>
83854
83855         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83856         e.g. glibc-2.2.93.
83857
83858 2003-01-31  Bruno Haible  <bruno@clisp.org>
83859
83860         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83861         'rpl_rename'.
83862         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83863         'rpl_strnlen'.
83864         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83865         'rpl_strtod'.
83866         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83867         'rpl_utime'.
83868
83869 2003-01-31  Bruno Haible  <bruno@clisp.org>
83870
83871         * lib/rename.c: #undef rename before defining rpl_rename.
83872         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83873
83874 2003-01-30  Bruno Haible  <bruno@clisp.org>
83875
83876         * modules/vasnprintf, modules/vasprintf: New modules.
83877         * MODULES.html.sh (func_all_modules): Add them.
83878
83879 2003-01-30  Bruno Haible  <bruno@clisp.org>
83880
83881         * m4/signed.m4: New file, from GNU gettext.
83882         * m4/longdouble.m4: New file, from GNU gettext.
83883         * m4/wchar_t.m4: New file, from GNU gettext.
83884         * m4/wint_t.m4: New file, from GNU gettext.
83885         * m4/vasnprintf.m4: New file.
83886         * m4/vasprintf.m4: New file.
83887
83888 2003-01-30  Bruno Haible  <bruno@clisp.org>
83889
83890         * lib/printf-args.h: New file, from GNU gettext.
83891         * lib/printf-args.c: New file, from GNU gettext.
83892         * lib/printf-parse.h: New file, from GNU gettext.
83893         * lib/printf-parse.c: New file, from GNU gettext.
83894         * lib/vasnprintf.h: New file, from GNU gettext.
83895         * lib/vasnprintf.c: New file, from GNU gettext.
83896         * lib/asnprintf.c: New file, from GNU gettext.
83897         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83898         * lib/vasprintf.c: New file, from GNU gettext.
83899         * lib/asprintf.c: New file, from GNU gettext.
83900
83901 2003-01-29  Bruno Haible  <bruno@clisp.org>
83902
83903         * modules/stpncpy: New module.
83904         * MODULES.html.sh (func_all_modules): Add it.
83905
83906 2003-01-29  Bruno Haible  <bruno@clisp.org>
83907
83908         * m4/stpncpy.m4: New file.
83909
83910 2003-01-29  Bruno Haible  <bruno@clisp.org>
83911
83912         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83913         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83914
83915 2003-01-28  Bruno Haible  <bruno@clisp.org>
83916
83917         * modules/c-ctype: New module.
83918         * MODULES.html.sh (func_all_modules): Add it.
83919
83920 2003-01-28  Bruno Haible  <bruno@clisp.org>
83921
83922         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83923         Paul Eggert.
83924         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83925         Paul Eggert.
83926
83927 2003-01-27  Bruno Haible  <bruno@clisp.org>
83928
83929         * modules/xsetenv: New module.
83930         * MODULES.html.sh (func_all_modules): Add it.
83931
83932 2003-01-27  Bruno Haible  <bruno@clisp.org>
83933
83934         * lib/xsetenv.h: New file, from GNU gettext.
83935         * lib/xsetenv.c: New file, from GNU gettext.
83936
83937 2003-01-23  Jim Meyering  <jim@meyering.net>
83938
83939         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83940         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83941
83942 2003-01-23  Bruno Haible  <bruno@clisp.org>
83943
83944         * modules/minmax: New module.
83945         * MODULES.html.sh (func_all_modules): Add it.
83946
83947 2003-01-23  Bruno Haible  <bruno@clisp.org>
83948
83949         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83950         Eggert.
83951
83952 2003-01-22  Bruno Haible  <bruno@clisp.org>
83953
83954         * modules/exit: New module.
83955         * MODULES.html.sh (func_all_modules): Add it.
83956
83957 2003-01-22  Bruno Haible  <bruno@clisp.org>
83958
83959         * lib/exit.h: New file, from GNU gettext.
83960
83961 2003-01-19  Bruno Haible  <bruno@clisp.org>
83962
83963         * gnulib-tool: Recognize option --extract-maintainer.
83964         (func_get_maintainer): New function.
83965         * modules/*: Add Maintainer entry.
83966
83967 2003-01-16  Jim Meyering  <jim@meyering.net>
83968
83969         * m4/regex.m4: The `regex' struct is both input and output.
83970         Initialize it before each use.  Patch by Tim Waugh.
83971
83972 2003-01-16  Bruno Haible  <bruno@clisp.org>
83973
83974         * MODULES.html.sh: Add a table of contents. Add the module name as
83975         leftmost column. Add hyperlinks.
83976
83977 2003-01-15  Bruno Haible  <bruno@clisp.org>
83978
83979         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83980
83981 2003-01-15  Bruno Haible  <bruno@clisp.org>
83982
83983         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83984         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83985         suffix.
83986
83987 2003-01-15  Bruno Haible  <bruno@clisp.org>
83988
83989         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83990
83991 2003-01-15  Bruno Haible  <bruno@clisp.org>
83992
83993         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83994         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83995
83996 2003-01-14  Jim Meyering  <jim@meyering.net>
83997
83998         * lib/same.c (same_name): Tweak a comment.
83999
84000 2003-01-14  Bruno Haible  <bruno@clisp.org>
84001
84002         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
84003         when a string comparison is sufficient.
84004
84005 2003-01-14  Bruno Haible  <bruno@clisp.org>
84006
84007         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
84008         'unsigned int'.
84009
84010 2003-01-14  Bruno Haible  <bruno@clisp.org>
84011
84012         * lib/hash-pjw.c: Add comment about low quality of this function.
84013
84014 2003-01-13  Bruno Haible  <bruno@clisp.org>
84015
84016         * modules/stpcpy: Distribute lib/stpcpy.h.
84017         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
84018
84019 2003-01-13  Bruno Haible  <bruno@clisp.org>
84020
84021         * modules/*: Add a description.
84022         * modules/strpbrk: Fix Makefile.am snippet.
84023         * modules/strtoimax: Fix dependencies.
84024         * modules/strtoumax: Likewise.
84025
84026 2003-01-13  Bruno Haible  <bruno@clisp.org>
84027
84028         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
84029         * modules/alloca (Makefile.am): All object files depend on alloca.h.
84030         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
84031
84032 2003-01-13  Bruno Haible  <bruno@clisp.org>
84033
84034         * gnulib-tool (func_create_testdir): Store config/* files in the main
84035         directory.
84036         * config.rpath: Move to ...
84037         * config/config.rpath: ... here.
84038         * modules/gettext: Contains config/config.rpath, not config.rpath.
84039         * modules/iconv: Likewise.
84040
84041 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84042
84043         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84044         to avoid collisions with libcurses and libreadline.
84045
84046         * m4/getstr.m4: Remove.
84047         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
84048
84049 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84050
84051         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84052         to avoid collisions with libcurses and libreadline.
84053
84054         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
84055         * lib/getstr.h, getstr.c: Remove.
84056         * lib/getline.c: Include "getline.h", to check interface.
84057         Move body of old getstr.c here: this defines MIN_CHUNK and
84058         declares getdelim2, which is renamed from getstr.
84059         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
84060
84061         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
84062         All uses changed.
84063         * lib/linebuffer.h: Likewise.
84064         (readline): Remove backward-compatibility macro.
84065
84066 2003-01-12  Paul Eggert  <eggert@twinsun.com>
84067
84068         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
84069         to avoid collisions with libcurses and libreadline.
84070         * getstr: Remove.
84071         * MODULES.html.sh: Remove getstr.
84072         * modules/getline: Depend on unlocked-io, not getstr.
84073
84074 2003-01-12  Jim Meyering  <jim@meyering.net>
84075
84076         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
84077
84078 2003-01-10  Bruno Haible  <bruno@clisp.org>
84079
84080         * modules/alloca: Change Makefile.am requirements. Simplify Include
84081         requirements. Add lib/alloca_.h to file list.
84082
84083 2003-01-10  Bruno Haible  <bruno@clisp.org>
84084
84085         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
84086
84087 2003-01-10  Bruno Haible  <bruno@clisp.org>
84088
84089         * lib/alloca_.h: New file.
84090         * lib/getdate.y: Unconditionally include alloca.h.
84091         * lib/makepath.c: Likewise.
84092         * lib/setenv.c: Likewise.
84093         * lib/userspec.c: Likewise.
84094
84095 2003-01-09  Karl Berry  <karl@gnu.org>
84096
84097         * MODULES.html.sh: include `dirname $0` in PATH, to find
84098         gnulib-tool.
84099
84100 2003-01-09  Bruno Haible  <bruno@clisp.org>
84101
84102         * modules/stdbool: Change configure.ac, Makefile.am requirements.
84103         Simplify Include requirements. Add lib/stdbool.h.in to file list.
84104
84105 2003-01-09  Bruno Haible  <bruno@clisp.org>
84106
84107         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
84108
84109 2003-01-09  Bruno Haible  <bruno@clisp.org>
84110
84111         * lib/stdbool.h.in: New file.
84112
84113 2003-01-09  Bruno Haible  <bruno@clisp.org>
84114
84115         * gnulib-tool (func_all_modules): Ignore files ending in ~.
84116         * MODULES.html.sh: Likewise.
84117
84118 2003-01-08  Jim Meyering  <jim@meyering.net>
84119
84120         * lib/full-write.c: Undefine and define-away `const' after inclusion
84121         of errno.h, not before.  Suggestion from Bruno Haible.
84122
84123 2003-01-08  Bruno Haible  <bruno@clisp.org>
84124
84125         * modules/full-read: Depend on full-write.
84126
84127 2003-01-08  Bruno Haible  <bruno@clisp.org>
84128
84129         * lib/safe-read.c: Include specification header first, to ensure its
84130         selfcontainedness.
84131         * lib/full-write.c: Likewise.
84132
84133 2003-01-07  Jim Meyering  <jim@meyering.net>
84134
84135         * lib/full-write.c: Rework so that it may serve to define full_read,
84136         too.
84137         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
84138
84139 2003-01-07  Bruno Haible  <bruno@clisp.org>
84140
84141         * lib/strtoimax.c: Include <stdint.h> as an alternative to
84142         <inttypes.h>.
84143         * lib/xstrtol.h: Likewise.
84144         * lib/xstrtoimax.c: Likewise.
84145         * lib/xstrtoumax.c: Likewise.
84146         * lib/human.h: Likewise.
84147
84148         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
84149         on systems that have <inttypes.h> but not <stdint.h>.
84150
84151 2003-01-07  Bruno Haible  <bruno@clisp.org>
84152
84153         * MODULES.html.sh: Add copyright notice.
84154         (missed_files): Omit CVS directory entries.
84155         (func_module): Make it work with sed-3.02.
84156         * MODULES.txt: Remove file.
84157
84158 2003-01-06  Jim Meyering  <jim@meyering.net>
84159
84160         * lib/version-etc.c: Update year in translatable copyright string.
84161
84162 2003-01-03  Karl Berry  <karl@gnu.org>
84163
84164         * config/config.{guess,sub}: update from prep.
84165
84166 2003-01-02  Karl Berry  <karl@gnu.org>
84167
84168         * doc/COPYING.DOC: belatedly updated to 1.2.
84169
84170 2003-01-01  Karl Berry  <karl@gnu.org>
84171
84172         * gnulib-tool (func_verify_module): report module name $module in
84173         error message, not $1.
84174         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84175         be created, only if it doesn't exist.
84176         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84177
84178 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84179
84180         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84181
84182 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84183
84184         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84185         memcmp if strcoll doesn't work.
84186
84187 2002-12-31  Bruno Haible  <bruno@clisp.org>
84188
84189         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84190         nonempty.
84191
84192 2002-12-31  Bruno Haible  <bruno@clisp.org>
84193
84194         * lib/memcoll.c (STRCOLL): New macro.
84195         (memcoll): Use it.
84196
84197 2002-12-31  Bruno Haible  <bruno@clisp.org>
84198
84199         * lib/localcharset.h: New file.
84200         * lib/localcharset.c: Include it.
84201         * lib/unicodeio.c: Likewise.
84202
84203 2002-12-31  Bruno Haible  <bruno@clisp.org>
84204
84205         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84206         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84207
84208 2002-12-31  Bruno Haible  <bruno@clisp.org>
84209
84210         * lib/getline.h: Include <stddef.h>, for size_t.
84211
84212         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84213         * lib/unicodeio.c: Don't include <stddef.h>.
84214
84215 2002-12-31  Bruno Haible  <bruno@clisp.org>
84216
84217         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84218         HAVE_TM_ZONE.
84219
84220 2002-12-24  Karl Berry  <karl@gnu.org>
84221
84222         * config/config.guess: update from prep.
84223
84224 2002-12-24  Bruno Haible  <bruno@clisp.org>
84225
84226         General infrasructure.
84227         * m4/README: Rewritten.
84228         * m4/onceonly.m4: New file.
84229         * m4/onceonly_2_57.m4: New file.
84230
84231         Module atexit.
84232         * m4/atexit.m4: New file.
84233
84234         Module strtod.
84235         * m4/strtod.m4: New file.
84236
84237         Module strtol.
84238         * m4/strtol.m4: New file.
84239
84240         Module strtoul.
84241         * m4/strtoul.m4: New file.
84242
84243         Module memchr.
84244         * m4/memchr.m4: New file.
84245
84246         Module memcmp.
84247         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84248         (jm_FUNC_MEMCMP): Invoke it.
84249
84250         Module memcpy.
84251         * m4/memcpy.m4: New file.
84252
84253         Module memmove.
84254         * m4/memmove.m4: New file.
84255
84256         Module memset.
84257         * m4/memset.m4: New file.
84258
84259         Module strcspn.
84260         * m4/strcspn.m4: New file.
84261
84262         Module strpbrk.
84263         * m4/strpbrk.m4: New file.
84264
84265         Module strstr.
84266         * m4/strstr.m4: New file.
84267
84268         Module strerror.
84269         * m4/strerror.m4: New file.
84270
84271         Module mktime.
84272         * m4/mktime.m4: Renamed from jm-mktime.m4.
84273         (gl_PREREQ_MKTIME): New macro.
84274         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84275
84276         Module malloc.
84277         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84278         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84279         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84280
84281         Module realloc.
84282         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84283         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84284         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84285
84286         Module strftime.
84287         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84288         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84289         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84290         gl_TM_GMTOFF.
84291         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84292
84293         Module xalloc.
84294         * m4/xalloc.m4: New file.
84295
84296         Module alloca.
84297         * m4/alloca.m4: New file.
84298
84299         Module putenv.
84300         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84301         (jm_FUNC_PUTENV): Invoke it.
84302
84303         Module setenv.
84304         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84305         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84306         when invoked twice.
84307         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84308         gt_FUNC_SETENV.
84309
84310         Module memrchr.
84311         * m4/memrchr.m4: New file.
84312
84313         Module stpcpy.
84314         * m4/stpcpy.m4: New file.
84315
84316         Module strcase.
84317         * m4/strcase.m4: New file.
84318
84319         Module strdup.
84320         * m4/strdup.m4: New file.
84321
84322         Module strnlen.
84323         * m4/strnlen.m4: New file.
84324
84325         Module strndup.
84326         * m4/strndup.m4: New file.
84327
84328         Module xstrtod.
84329         * m4/xstrtod.m4: New file.
84330
84331         Module xstrtol.
84332         * m4/xstrtol.m4: New file.
84333
84334         Module getdate.
84335         * m4/getdate.m4: New file.
84336
84337         Module unlocked-io.
84338         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84339         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84340         * m4/jm-glibc-io.m4n: Remove file.
84341
84342         Module long-options.
84343         * m4/long-options.m4: New file.
84344
84345         Module md5.
84346         * m4/md5.m4: New file.
84347
84348         Module sha.
84349         * m4/sha.m4: New file.
84350
84351         Module getstr.
84352         * m4/getstr.m4: New file.
84353
84354         Module getline.
84355         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84356         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84357         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84358         simply getline. Infoke gl_PREREQ_GETLINE.
84359
84360         Module obstack.
84361         * m4/obstack.m4: New file.
84362
84363         Module hash.
84364         * m4/hash.m4: New file.
84365
84366         Module readtokens.
84367         * m4/readtokens.m4: New file.
84368
84369         Module strverscmp.
84370         * m4/strverscmp.m4: New file.
84371
84372         Module stdbool.
84373         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84374         OSF/1.
84375
84376         Module strtoll.
84377         * m4/strtoll.m4: New file.
84378
84379         Module strtoull.
84380         * m4/strtoull.m4: New file.
84381
84382         Module strtoimax.
84383         * m4/strtoimax.m4: New file.
84384
84385         Module strtoumax.
84386         * m4/strtoumax.m4: New file.
84387
84388         Module xstrtoimax.
84389         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84390         jm_AC_PREREQ_XSTRTOIMAX.
84391         Moved the strtol prerequisites to strtol.m4.
84392         Moved the strtoll prerequisites to strtoll.m4.
84393         Moved the strtoimax prerequisites to strtoimax.m4.
84394
84395         Module xstrtoumax.
84396         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84397         jm_AC_PREREQ_XSTRTOUMAX.
84398         Moved the strtoul prerequisites to strtoul.m4.
84399         Moved the strtoull prerequisites to strtoull.m4.
84400         Moved the strtoumax prerequisites to strtoumax.m4.
84401
84402         Module chown.
84403         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84404         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84405
84406         Module dup2.
84407         * m4/dup2.m4: New file.
84408
84409         Module ftruncate.
84410         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84411         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84412
84413         Module getgroups.
84414         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84415         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84416
84417         Module gettimeofday.
84418         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84419         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84420         gl_PREREQ_GETTIMEOFDAY.
84421
84422         Module mkdir.
84423         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84424         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84425
84426         Module mkstemp.
84427         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84428         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84429         jm_AC_TYPE_UINTMAX_T.
84430         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84431
84432         Module stat.
84433         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84434         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84435
84436         Module lstat.
84437         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84438         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84439
84440         Module timespec.
84441         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84442         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84443         * m4/st_mtim.m4: Indentation.
84444
84445         Module nanosleep.
84446         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84447         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84448         gl_PREREQ_NANOSLEEP.
84449
84450         Module regex.
84451         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84452         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84453         (gl_REGEX): New macro.
84454
84455         Module rename.
84456         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84457         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84458
84459         Module rmdir.
84460         * m4/rmdir.m4: New file.
84461
84462         Module utime.
84463         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84464         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84465         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84466
84467         Module dirname.
84468         * m4/dirname.m4: New file.
84469
84470         Module getopt.
84471         * m4/getopt.m4: New file.
84472
84473         Module unistd-safer.
84474         * m4/unistd-safer.m4: New file.
84475
84476         Module fnmatch.
84477         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84478         declaration.
84479         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84480         (gl_FUNC_FNMATCH_POSIX): New macro.
84481         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84482         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84483         simply fnmatch.
84484
84485         Module exclude.
84486         * m4/exclude.m4: New file.
84487
84488         Module human.
84489         * m4/human.m4: New file.
84490
84491         Module acl.
84492         * m4/acl.m4: Nop.
84493
84494         Module backupfile.
84495         * m4/backupfile.m4: New file.
84496         * m4/d-ino.m4: Indentation.
84497
84498         Module fsusage.
84499         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84500         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84501         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84502
84503         Module dirfd.
84504         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84505         requirements.
84506
84507         Module euidaccess.
84508         * m4/euidaccess.m4: New file.
84509
84510         Module file-type.
84511         * m4/file-type.m4: New file.
84512
84513         Module fileblocks.
84514         * m4/fileblocks.m4: New file.
84515
84516         Module filemode.
84517         * m4/filemode.m4: New file.
84518
84519         Module isdir.
84520         * m4/isdir.m4: New file.
84521
84522         Module lchown.
84523         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84524         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84525
84526         Module makepath.
84527         * m4/makepath.m4: New file.
84528
84529         Module modechange.
84530         * m4/modechange.m4: New file.
84531
84532         Module mountlist.
84533         * m4/mountlist.m4: New file.
84534         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84535         Indentation.
84536
84537         Module path-concat.
84538         * m4/path-concat.m4: New file.
84539
84540         Module pathmax.
84541         * m4/pathmax.m4: New file.
84542
84543         Module same.
84544         * m4/same.m4: New file.
84545
84546         Module save-cwd.
84547         * m4/save-cwd.m4: New file.
84548
84549         Module savedir.
84550         * m4/savedir.m4: New file.
84551
84552         Module xgetcwd.
84553         * m4/xgetcwd.m4: New file.
84554         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84555
84556         Module xreadlink.
84557         * m4/xreadlink.m4: New file.
84558
84559         Module safe-read.
84560         * m4/safe-read.m4: New file.
84561
84562         Module safe-write.
84563         * m4/safe-write.m4: New file.
84564
84565         Module closeout.
84566         * m4/closeout.m4: New file.
84567
84568         Module stdio-safer.
84569         * m4/stdio-safer.m4: New file.
84570
84571         Module getpass.
84572         * m4/getpass.m4: New file.
84573
84574         Module getugroups.
84575         * m4/getugroups.m4: New file.
84576
84577         Module group-member.
84578         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84579         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84580
84581         Module idcache.
84582         * m4/idcache.m4: New file.
84583
84584         Module userspec.
84585         * m4/userspec.m4: New file.
84586
84587         Module gettime.
84588         * m4/clock_time.m4: New file.
84589         * m4/gettime.m4: New file.
84590
84591         Module settime.
84592         * m4/settime.m4: New file.
84593
84594         Module posixtm.
84595         * m4/posixtm.m4: New file.
84596
84597         Module gethostname.
84598         * m4/gethostname.m4: New file.
84599
84600         Module canon-host.
84601         * m4/canon-host.m4: New file.
84602
84603         Module gettext.
84604         * m4/codeset.m4: New file, from gettext-0.11.5.
84605         * m4/gettext.m4: New file, from gettext-0.11.5.
84606         * m4/glibc21.m4: New file, from gettext-0.11.5.
84607         * m4/iconv.m4: New file, from gettext-0.11.5.
84608         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84609         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84610         * m4/inttypes.m4: New file, from gettext-0.11.5.
84611         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84612         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84613         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84614         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84615         * m4/lib-link.m4: New file, from gettext-0.11.5.
84616         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84617         * m4/progtest.m4: New file, from gettext-0.11.5.
84618         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84619         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84620         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84621
84622         Module localcharset.
84623         * m4/localcharset.m4: New file.
84624
84625         Module hard-locale.
84626         * m4/hard-locale.m4: New file.
84627
84628         Module mbswidth.
84629         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84630         onceonly macros.
84631         * m4/mbrtowc.m4: Add comment.
84632
84633         Module memcasecmp.
84634         * m4/memcasecmp.m4: New file.
84635
84636         Module memcoll.
84637         * m4/memcoll.m4: New file.
84638
84639         Module unicodeio.
84640         * m4/unicodeio.m4: New file.
84641
84642         Module rpmatch.
84643         * m4/rpmatch.m4: New file.
84644
84645         Module yesno.
84646         * m4/yesno.m4: New file.
84647
84648         Module exitfail.
84649         * m4/exitfail.m4: New file.
84650
84651         Module c-stack.
84652         * m4/c-stack.m4 (gl_C_STACK): New macro.
84653         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84654
84655         Module error.
84656         * m4/error.m4 (gl_ERROR): New macro.
84657         (jm_PREREQ_ERROR): Use onceonly macros.
84658
84659         Module fatal.
84660         * m4/fatal.m4: New file.
84661
84662         Module getloadavg.
84663         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84664         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84665
84666         Module getpagesize.
84667         * m4/getpagesize.m4: New file.
84668
84669         Module getusershell.
84670         * m4/getusershell.m4: New file.
84671
84672         Module physmem.
84673         * m4/physmem.m4: New file.
84674
84675         Module posixver.
84676         * m4/posixver.m4: New file.
84677
84678         Module quotearg.
84679         * m4/quotearg.m4: New file.
84680
84681         Module quote.
84682         * m4/quote.m4: New file.
84683
84684         Module readutmp.
84685         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84686
84687         Module sig2str.
84688         * m4/sig2str.m4: New file.
84689
84690         Other.
84691         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84692         ulonglong.m4.
84693         * m4/intmax_t.m4: New file.
84694         * m4/d-type.m4: Indentation.
84695         * m4/jm-macros.m4: Update.
84696         * m4/prereq.m4 (jm_PREREQ): Update.
84697         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84698         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84699         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84700         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84701         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84702         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84703         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84704         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84705         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84706         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84707         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84708         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84709         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84710         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84711         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84712         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84713         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84714         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84715         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84716
84717 2002-12-24  Bruno Haible  <bruno@clisp.org>
84718
84719         * MODULES.txt: Update according to m4/ changes.
84720
84721         Module gettext.
84722         * config.rpath: New file, from gettext-0.11.5.
84723
84724         * modules/*: New module descriptions.
84725         * gnulib-tool: New file.
84726         * MODULES.html.sh: New file.
84727
84728 2002-12-21  Karl Berry  <karl@gnu.org>
84729
84730         * doc/fdl.texi: update to version 1.2.
84731
84732 2002-12-19  Karl Berry  <karl@gnu.org>
84733
84734         * config/config.guess: update from prep.
84735
84736 2002-12-18  Bruno Haible  <bruno@clisp.org>
84737
84738         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84739         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84740
84741 2002-12-17  Bruno Haible  <bruno@clisp.org>
84742
84743         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84744         stdlib.h, string.h.
84745
84746 2002-12-17  Bruno Haible  <bruno@clisp.org>
84747
84748         * lib/canon-host.c (strdup): Remove unused declaration.
84749
84750         * lib/fsusage.c: Include full_read.h.
84751         (get_fs_usage): Use full_read instead of safe_read.
84752
84753         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84754
84755 2002-12-12  Karl Berry  <karl@gnu.org>
84756
84757         * config/config.guess: update from prep.
84758
84759 2002-12-11  Bruno Haible  <bruno@clisp.org>
84760
84761         * m4/setenv.m4: New file, from gettext-0.11.5.
84762
84763 2002-12-11  Bruno Haible  <bruno@clisp.org>
84764
84765         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84766         not unsetenv().
84767         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84768         modifications:
84769
84770         2002-12-11  Bruno Haible  <bruno@clisp.org>
84771
84772                 * setenv.c (alloca): Fall back to malloc.
84773                 (freea): New macro.
84774                 (setenv): Use freea() to free memory allocated with alloca().
84775
84776         2002-11-13  Bruno Haible  <bruno@clisp.org>
84777
84778                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84779                 function declarations.
84780                 * unsetenv.c (unsetenv): Likewise.
84781
84782         2002-03-04  Bruno Haible  <bruno@clisp.org>
84783
84784                 Portability to AIX 4.3.3.
84785                 * unsetenv.c: New file, extracted from setenv.c.
84786                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84787
84788         2001-12-20  Bruno Haible  <bruno@clisp.org>
84789
84790                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84791                 use malloc instead. For SunOS 4.
84792
84793         2001-12-11  Bruno Haible  <bruno@clisp.org>
84794
84795                 * setenv.c: Declare alloca.
84796                 (compar_fn_t): New typedef.
84797                 (KNOWN_VALUE, STORE_VALUE): Use it.
84798
84799         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84800         setenv.h.
84801
84802 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84803
84804         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84805         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84806         Choose values that are less likely to collide with system fnmatch
84807         options.
84808         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84809         defined (e.g., a pure POSIX system).
84810         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84811         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84812
84813 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84814
84815         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84816         a pain in practice to deal with generated m4 files.  This change
84817         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84818
84819         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84820         and jm-glibc-io.m4, as they are no longer a special case.
84821         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84822         kludge and the auto-generation stuff.  Check only whether the
84823         functions are declared, not whether they exist, since older hosts
84824         that don't declare the functions can't use the optimization anyway.
84825
84826 2002-12-06  Jim Meyering  <jim@meyering.net>
84827
84828         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84829
84830         Merge in changes from libc's misc/error.c, in preparation
84831         for the merge of gnulib's changes back into libc.
84832
84833         * lib/error.c (_): Define only if not already defined.
84834         Move definition to follow all #include directives.
84835         Include unlocked-io.h only if !_LIBC.
84836         [_LIBC]: Include <libio/libioP.h>.
84837         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84838         (fflush): Tweak definition to use INTUSE.
84839         (putc): Define.
84840
84841 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84842
84843         * lib/alloca.c [defined emacs]: Include "lisp.h".
84844         (xalloc_die) [defined emacs]: New macro.
84845         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84846         [! defined emacs]: Include <xalloc.h>.
84847         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84848         (pointer): Typedef to POINTER_TYPE *.
84849         (malloc): Remove decl; we now always use xmalloc.
84850         (alloca): Use old-style definition, since Emacs needs this.
84851         Check for arithmetic overflow when computing combined size.
84852
84853 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84854
84855         Do not generate unlocked-io.h automatically, since it's easier to
84856         maintain it by hand.
84857
84858         * lib/unlocked-io.h: New file, from GNU diffutils,
84859         but with proper copyright notice and attribution.
84860         * lib/gen-uio: Remove.
84861         * lib/Makefile.am: Add copyright notice.
84862         (libfetish_a_SOURCES): Add unlocked-io.h.
84863         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84864         (DISTCLEANFILES, io_functions): Remove macros.
84865         (EXTRA_DIST): Remove gen_uio.
84866         (unlocked-io.h): Remove rule.
84867
84868 2002-12-04  Jim Meyering  <jim@meyering.net>
84869
84870         Reflect the fact that stat.c and lstat.c are no longer generated.
84871         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84872         (DISTCLEANFILES): Likewise.
84873         (EXTRA_DIST): Likewise.
84874         (all_local): Don't depend on stat.c or lstat.c.
84875         (stat.c, lstat.c): Remove rules.
84876         (EXTRA_DIST): Remove xstat.in.
84877
84878         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84879         * lib/stat.c: New file.  Contents mostly from xstat.in.
84880         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84881         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84882
84883         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84884         too.
84885         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84886
84887 2002-12-03  Jim Meyering  <jim@meyering.net>
84888
84889         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84890         but not semantics, to minimize the differences between these two files.
84891         (safe_read): Change comment to mention SAFE_READ_ERROR.
84892
84893         * lib/safe-read.c (IS_EINTR): Define.
84894         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84895
84896 2002-12-02  Jim Meyering  <jim@meyering.net>
84897
84898         * lib/safe-read.c (EINTR): Define.
84899         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84900         (INT_MAX): Provide fallback.
84901         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84902
84903         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84904
84905 2002-12-02  Bruno Haible  <bruno@clisp.org>
84906
84907         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84908         Define, taken from safe-read.c.
84909         (INT_MAX): Provide fallback.
84910         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84911         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84912
84913         * lib/safe-read.c (EINTR): Remove definition.
84914         (safe_read): Don't use EINTR if it is absent.
84915
84916 2002-12-01  Jim Meyering  <jim@meyering.net>
84917
84918         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84919         zero.
84920         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84921
84922 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84923
84924         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84925         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84926         with `if (! (value < limit)) abort ();', for readability.
84927
84928 2002-11-26  Karl Berry  <karl@gnu.org>
84929
84930         * lib/strdup.c: copy from libc again, with jim's ok.
84931         * lib/.cppi-disable: re-add strdup.c
84932
84933 2002-11-25  Karl Berry  <karl@gnu.org>
84934
84935         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84936         instead of "strtol.c".
84937
84938 2002-11-25  Karl Berry  <karl@gnu.org>
84939
84940         * config/install-sh: update from automake for variable quoting, $0 in
84941         error msgs, etc.
84942
84943         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84944         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84945         entry.
84946
84947 2002-11-25  Jim Meyering  <jim@meyering.net>
84948
84949         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84950
84951 2002-11-24  Karl Berry  <karl@gnu.org>
84952
84953         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84954         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84955
84956 2002-11-24  Jim Meyering  <jim@meyering.net>
84957
84958         Update from coreutils:
84959
84960         * lib/mktime.c: Merge in changes from libc.
84961
84962         Avoid a link-time failure on some Linux systems.
84963         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84964         (otherwise).
84965         (__mon_yday): Declare with the STATIC attribute.
84966         (__mktime_internal): Likewise.
84967         Based on a report from Greg Schafer.
84968
84969 2002-11-23  Jim Meyering  <jim@meyering.net>
84970
84971         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84972         Use `unsigned', not `int', as type of index.
84973
84974         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84975
84976         * lib/fsusage.c: Remove unneeded parentheses around operands of
84977         `defined'.
84978
84979 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84980
84981         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84982         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84983         so that we can be included first.
84984         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84985         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84986         No need to include stddef.h or sys/types.h any more.
84987         Surround local include files with "", not "<>".
84988         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84989         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84990         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84991         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84992         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84993         (ISPRINT): Remove; no longer needed now that we assume C89.
84994
84995         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84996         Preserve errno.
84997
84998         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84999         quotearg_char): Use SIZE_MAX rather than
85000         (size_t) -1 when we are talking about "infinity".
85001
85002         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
85003
85004 2002-11-22  Paul Eggert  <eggert@twinsun.com>
85005
85006         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
85007         hint that one should use `if (! x) abort ();' rather than `assert
85008         (x);', and anyway it's one less thing to worry about configuring.
85009         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
85010         hash_rehash, hash_insert): Use abort rather than assert.
85011
85012 2002-11-22  Bruno Haible  <bruno@clisp.org>
85013
85014         * lib/safe-read.h: Assume C89. Add comments.
85015         (safe_read): Change return type to size_t.
85016         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
85017         byte counts > SSIZE_MAX correctly.
85018         * lib/safe-write.h: New file.
85019         * lib/safe-write.c: New file.
85020         * lib/full-read.h: New file.
85021         * lib/full-read.c: New file.
85022         * lib/full-write.h: Assume C89. Add comments.
85023         * lib/full-write.c: Include safe-write.h.
85024         (full_write): Rewritten to use safe_write.
85025         Suggested by Jim Meyering and Paul Eggert.
85026
85027 2002-11-21  Jim Meyering  <jim@meyering.net>
85028
85029         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
85030
85031         Merge in changes from the coreutils.
85032
85033         2002-09-25  Paul Eggert  <eggert@twinsun.com>
85034         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
85035         <stdint.h>.
85036         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
85037         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
85038         int.  Work more efficiently if X is the same width as uintmax_t.
85039         Do not compare X to -1, to avoid bogus compiler warning.
85040         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
85041         Don't assume that f_frsize and f_bsize are the same type.
85042
85043         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
85044         warning on FreeBSD.
85045
85046         * lib/makepath.c (make_path): Restore umask *before* creating the final
85047         component.
85048         (make_path): Minor reformatting.
85049
85050         * lib/xmalloc.c: Adjust to work with new autoconf macros,
85051         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
85052         HAVE_MALLOC/HAVE_REALLOC.
85053
85054         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
85055         dummy ones.  At least on GNU/Linux systems, `auto' means something
85056         else.
85057         From Michael Stone.
85058
85059 2002-11-21  Bruno Haible  <bruno@clisp.org>
85060
85061         Remove case insensitive option matching.
85062         * lib/argmatch.h (argcasematch): Remove declaration.
85063         (ARGCASEMATCH): Remove macro.
85064         (__xargmatch_internal): Remove case_sensitive argument.
85065         (XARGMATCH): Update.
85066         (XARGCASEMATCH): Remove macro.
85067         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
85068         case_sensitive argument.
85069         (argcasematch): Remove function.
85070         (__xargmatch_internal): Remove case_sensitive argument.
85071         (main): Use XARGMATCH instead of XARGCASEMATCH.
85072
85073         * lib/xmalloc.c: Change compile-time error message. Add comment about
85074         required autoconf version.
85075
85076 2002-11-20  Paul Eggert  <eggert@twinsun.com>
85077
85078         Merge argmatch cleanups from Bison.  Assume C89.
85079
85080         * lib/argmatch.c: Include config.h here, not in argmatch.h.
85081         Include stdlib.h, for EXIT_FAILURE.
85082         Always include <string.h>, since we assume C89.
85083         (EXIT_FAILURE): Remove pre-C89 bug workaround.
85084         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
85085         Include <stddef.h> instead, since it's all we need for size_t.
85086         (PARAMS): Remove.  All uses removed.
85087         (ARRAY_CARDINALITY): Do not bother to #undef.
85088         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
85089         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85090         Remove unnecessary parentheses.
85091         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
85092         Insert necessary parentheses.
85093         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
85094         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
85095
85096 2002-11-19  Bruno Haible  <bruno@clisp.org>
85097
85098         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
85099         * lib/mbswidth.h: Include <stddef.h>, for size_t.
85100
85101         * lib/mbswidth.h (PARAMS): Remove macro.
85102         (mbswidth, mbsnwidth): Use ANSI C function declarations.
85103         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
85104
85105         * lib/gcd.h (PARAMS): Remove macro.
85106         (gcd): Use ANSI C function declarations.
85107         * lib/gcd.c (gcd): Likewise.
85108
85109 2002-11-15  Bruno Haible  <bruno@clisp.org>
85110
85111         * lib/strcspn.c: Include <stddef.h>.
85112         (strcspn): Use ANSI C function declaration. Change return type to
85113         size_t. Use NULL.
85114         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
85115         (strpbrk): Use NULL.
85116         * lib/strpbrk.h (PARAMS): Remove macro.
85117         (strpbrk): Use ANSI C function declaration.
85118         * lib/strstr.c: Don't include <sys/types.h>.
85119         * lib/strstr.h (PARAMS): Remove macro.
85120         (strstr): Use ANSI C function declarations.
85121
85122 2002-11-14  Karl Berry  <karl@gnu.org>
85123
85124         * config/mkinstalldirs: `do' on separate line, instead of
85125         `for var; do'.
85126
85127 2002-11-06  Bruno Haible  <bruno@clisp.org>
85128
85129         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
85130         * lib/gcd.c (gcd): Likewise.
85131
85132 2002-11-05  Bruno Haible  <bruno@clisp.org>
85133
85134         * lib/gcd.h: New file, from gettext-0.11.5.
85135         * lib/gcd.c: New file, from gettext-0.11.5.
85136
85137 2002-11-05  Bruno Haible  <bruno@clisp.org>
85138
85139         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85140         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85141         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85142         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
85143
85144         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
85145         <libintl.h>.
85146         * lib/makepath.c: Include gettext.h instead of <locale.h> and
85147         <libintl.h>.
85148
85149         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
85150         * lib/human.c: Include gettext.h instead of <libintl.h>.
85151         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
85152         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
85153         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
85154         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
85155         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
85156         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
85157         (textdomain): Remove definition.
85158         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
85159
85160         * lib/long-options.c: Remove include of <libintl.h> and definition of
85161         _.
85162         * lib/same.c: Remove include of <libintl.h> and definition of _.
85163
85164 2002-11-04  Owen Taylor  <otaylor@redhat.com>
85165
85166         * lib/config.charset: A few additions for Solaris.
85167
85168 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85169
85170         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85171         * lib/localcharset.c (locale_charset): Declare as extern "C".
85172
85173 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85174
85175         * lib/config.charset: msdos in uk_UA uses CP1125.
85176
85177 2002-11-04  Bruno Haible  <bruno@clisp.org>
85178
85179         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85180         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85181         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85182         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85183         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85184
85185 2002-11-04  Bruno Haible  <bruno@clisp.org>
85186
85187         * lib/localcharset.c (locale_charset): Don't return an empty string.
85188
85189 2002-11-04  Bruno Haible  <bruno@clisp.org>
85190
85191         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85192         aliases.
85193
85194 2002-11-04  Bruno Haible  <bruno@clisp.org>
85195
85196         * lib/config.charset: Update for newest glibc. Add canonical names
85197         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85198
85199 2002-11-04  Bruno Haible  <bruno@clisp.org>
85200
85201         * lib/config.charset: Add support for NetBSD.
85202
85203 2002-11-04  Bruno Haible  <bruno@clisp.org>
85204
85205         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85206
85207 2002-11-01  Bruno Haible  <bruno@clisp.org>
85208
85209         * configure.in: Add AC_CONFIG_AUX_DIR call.
85210         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85211         test/Makefile.
85212         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85213
85214 2002-09-28  Karl Berry  <karl@gnu.org>
85215
85216         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85217         installed automake until the next release, since changes have been
85218         made.
85219
85220 2002-09-25  Karl Berry  <karl@gnu.org>
85221
85222         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85223         * lib/getopt*: copy from libc/posix.
85224         * lib/gettext.h: copy from gettext.
85225         * lib/.cppi-disable: add strdup.c, gettext.h.
85226
85227 2002-09-25  Karl Berry  <karl@gnu.org>
85228
85229         * config/srclist.txt: enable gettext.h check.
85230         * config/config.{guess,sub}: update from prep.
85231         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85232                 from automake 1.6.3.
85233         See srclist*.
85234
85235 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85236
85237         * regex.c (PATFETCH): Remove the translating fetch.
85238         (PATFETCH_RAW): Rename to PATFETCH.
85239         (set_image_of_range): New fun.
85240         (SET_RANGE_TABLE_WORK_AREA): Use it.
85241         (regex_compile): Don't translate the pattern chars so eagerly.
85242         Only do it when inserting an `exactn' bytecode or when handling
85243         a char-range.
85244         (mutually_exclusive_p): Avoid empty statement.
85245
85246 2002-07-06  Jim Meyering  <meyering@lucent.com>
85247
85248         * m4/README: Don't mention Makefile.am.in.
85249         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85250
85251 2002-07-01  Jim Meyering  <meyering@lucent.com>
85252
85253         * lib/c-stack.c: Include sys/time.h.
85254         From Volker Borchert.
85255
85256 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85257
85258         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85259
85260 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85261
85262         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85263         New macro.  Use it uniformly instead of
85264         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85265         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85266         reported by Vin Shelton.
85267
85268 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85269
85270         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85271         Do not assume SA_SIGINFO behavior.
85272         Bug reported by Jim Meyering on NetBSD 1.5.2.
85273
85274 2002-06-22  Jim Meyering  <meyering@lucent.com>
85275
85276         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85277         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85278
85279         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85280         now that configure.ac uses AC_GNU_SOURCE.
85281         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85282         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85283
85284         Update to latest tools.  Suggestions from Paul Eggert.
85285         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85286         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85287         * m4/fnmatch.m4: Likewise.
85288         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85289         to AC_HEADER_STDBOOL
85290
85291 2002-06-22  Jim Meyering  <meyering@lucent.com>
85292
85293         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85294         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85295
85296 2002-06-22  Jim Meyering  <meyering@lucent.com>
85297
85298         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85299
85300         * lib/exitfail.c, exitfail.h: Likewise.
85301         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85302
85303         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85304         of fnmatch.h.
85305         (EXTRA_DIST): Add fnmatch_loop.c.
85306         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85307
85308         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85309         * lib/fnmatch.c: Update from diffutils-2.8.2.
85310         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85311         * lib/fnmatch.h: Remove file.
85312
85313 2002-06-21  Jim Meyering  <meyering@lucent.com>
85314
85315         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85316         * m4/mbrtowc.m4: Likewise.
85317
85318         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85319         * m4/mbswidth.m4: Reflect name change:
85320         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85321         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85322
85323         * m4/lib-link.m4: Update from gettext-0.11.2.
85324         * m4/gettext.m4: Likewise.
85325
85326         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85327         From Alfred M. Szmidt.
85328
85329 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85330
85331         * lib/file-type.h: Report an error if neither S_ISREG nor
85332         S_IFREG is defined, instead of using a test specific to glibc
85333         2.2.  This should be safe, since POSIX requires S_ISREG and
85334         Unix Version 7 had S_IFREG.  We don't need to check for
85335         <sys/types.h> since we don't use any symbols that it defines.
85336
85337 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85338
85339         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85340         $@-t, so that each temporary file name is unique and valid in the first
85341         8 characters, for operation under DOS.
85342
85343 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85344
85345         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85346
85347 2002-06-15  Jim Meyering  <meyering@lucent.com>
85348
85349         Work even with DJGPP 2.03, which lacks support for symlinks.
85350         From Richard Dawe.
85351         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85352         is defined.
85353         * lib/lchown.c (S_ISLNK): Likewise.
85354
85355 2002-06-15  Jim Meyering  <meyering@lucent.com>
85356
85357         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85358         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85359         have been included before this file.
85360
85361 2002-06-14  Jim Meyering  <meyering@lucent.com>
85362
85363         * lib/file-type.h: Use the version from diffutils-2.8.2.
85364         * lib/file-type.c: Likewise.
85365
85366 2002-06-07  Jim Meyering  <meyering@lucent.com>
85367
85368         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85369         They're needed at least for NetBSD 1.5.2.
85370         ($statxfs_includes): Include those same headers.
85371         ($statxfs_includes): Include sys/vfs.h if available.
85372         ($statxfs_includes): Likewise for sys/statvfs.h.
85373         Check for the following members in both structs statfs and statvfs:
85374         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85375
85376 2002-06-01  Jim Meyering  <meyering@lucent.com>
85377
85378         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85379         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85380
85381 2002-05-28  Jim Meyering  <meyering@lucent.com>
85382
85383         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85384         Reported by Volker Borchert.
85385
85386 2002-05-27  Jim Meyering  <meyering@lucent.com>
85387
85388         Fix a problem seen only on nonconforming systems whereby ls.c's
85389         use of localtime, and then of gettimeofday would cause trouble:
85390         the localtime call used to initialize rpl_gettimeofday's save
85391         mechanism would clobber ls's current local time information so
85392         that in any long listing the first file would always be listed
85393         with date 1970-01-01.  Analysis by Volker Borchert.
85394
85395         * lib/gettimeofday.c (localtime): Undefine.
85396         (rpl_localtime): New function.
85397
85398 2002-05-27  Jim Meyering  <meyering@lucent.com>
85399
85400         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85401         localtime.
85402
85403         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85404         use the replacement function; it wouldn't resolve at link time.
85405         Reported by Volker Borchert.
85406
85407 2002-05-22  Jim Meyering  <meyering@lucent.com>
85408
85409         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85410         file-type.h.
85411         * lib/file-type.h: New file.
85412         * lib/file-type.c (file_type): New file/function.  Extracted from
85413         diffutils.
85414
85415 2002-04-30  Jim Meyering  <meyering@lucent.com>
85416
85417         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85418
85419 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85420
85421         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85422
85423 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85424
85425         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85426         Do not check for alloca.h (no longer used) or stdbool.h (was never
85427         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85428
85429 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85430
85431         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85432
85433 2002-04-29  Jim Meyering  <meyering@lucent.com>
85434
85435         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85436         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85437         Use AC_FUNC_STRNLEN here instead.
85438
85439         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85440         With autoconf-2.53a, it's part of AC_PROG_CC.
85441
85442 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85443
85444         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85445         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85446
85447 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85448
85449         * lib/sig2str.h, lib/sig2str.c: New files.
85450         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85451
85452 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85453
85454         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85455         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85456         of 127, since 64 is the largest conceivable number for ancient
85457         nonstandard hosts.
85458         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85459
85460 2002-04-28  Jim Meyering  <meyering@lucent.com>
85461
85462         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85463
85464 2002-04-24  Jim Meyering  <meyering@lucent.com>
85465
85466         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85467         (jm_PREREQ): Use it.
85468
85469         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85470         mach/mach.h fcntl.h.
85471         Check for this function: setlocale.
85472
85473 2002-04-24  Jim Meyering  <meyering@lucent.com>
85474
85475         * lib/gettext.h: New file, from Gettext.
85476         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85477         (libfetish_a_SOURCES): Add gettext.h.
85478
85479 2002-04-16  Jim Meyering  <meyering@lucent.com>
85480
85481         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85482         ut_pid, ut_id, ut_exit.
85483
85484 2002-04-16  Jim Meyering  <meyering@lucent.com>
85485
85486         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85487         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85488         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85489
85490 2002-04-12  Jim Meyering  <meyering@lucent.com>
85491
85492         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85493         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85494         existence of the getmntinfo function.  Needed for Darwin 5.3.
85495
85496         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85497         This is necessary at least on Darwin 5.3.
85498
85499         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85500         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85501         strnlen.o in the library, and that makes some versions of ranlib
85502         object.
85503
85504 2002-04-12  Jim Meyering  <meyering@lucent.com>
85505
85506         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85507
85508 2002-04-09  Jim Meyering  <meyering@lucent.com>
85509
85510         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85511         to be more precise.  Rather than saying we're checking whether the
85512         function `works', say what we're testing.
85513         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85514         Reported by Bruno Haible.
85515
85516 2002-03-10  Jim Meyering  <meyering@lucent.com>
85517
85518         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85519         Suggestion from Santiago Vila.
85520
85521 2002-03-08  Jim Meyering  <meyering@lucent.com>
85522
85523         * lib/rename.c: Mention that this wrapper is needed also on
85524         mips-dec-ultrix4.4 systems.
85525
85526 2002-03-02  Jim Meyering  <meyering@lucent.com>
85527
85528         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85529         not HAVE_CLOCK_SETTIME.
85530
85531 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85532
85533         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85534         Check for clock_settime.
85535
85536 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85537
85538         * lib/nanosleep.h: Rename to....
85539         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85540
85541         * lib/gettime.c: New file.
85542         * lib/settime.c: New file.
85543         * lib/stime.c: Remove.
85544
85545         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85546         timespec.h.  Remove nanosleep.h.
85547
85548 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85549
85550         * m4/acl.m4: New file.
85551         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85552         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85553
85554 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85555
85556         * lib/acl.c, lib/acl.h: New files.
85557         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85558
85559 2002-02-24  Jim Meyering  <meyering@lucent.com>
85560
85561         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85562         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85563         cause trouble.  Reported by Nelson Beebe.
85564
85565 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85566
85567         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85568         compilers that don't know that xalloc_die never returns.
85569
85570 2002-02-20  Jim Meyering  <meyering@lucent.com>
85571
85572         * lib/getdate.c: Regenerate using bison-1.33.
85573
85574 2002-02-17  Jim Meyering  <meyering@lucent.com>
85575
85576         * config/config.guess (main): Don't use `head -1'; it's no longer
85577         portable. Use `sed 1q' instead.
85578
85579 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85580
85581         * m4/codeset.m4: Upgrade to gettext-0.11.
85582         * m4/gettext.m4: Upgrade to gettext-0.11.
85583         * m4/glibc21.m4: Upgrade to gettext-0.11.
85584         * m4/iconv.m4: Upgrade to gettext-0.11.
85585         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85586         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85587         * m4/lib-ld.m4: New file, from gettext-0.11.
85588         * m4/lib-link.m4: New file, from gettext-0.11.
85589         * m4/lib-prefix.m4: New file, from gettext-0.11.
85590         * m4/progtest.m4: Upgrade to gettext-0.11.
85591
85592 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85593
85594         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85595         (jm_PREREQ): Use it.
85596
85597 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85598
85599         * lib/posixver.c, lib/posixver.h: New files.
85600         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85601
85602 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85603             Bruno Haible  <bruno@clisp.org>
85604
85605         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85606         (fwrite_success_callback): New declaration.
85607         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85608         print_unicode_char. Call failure callback instead of error.
85609         (fwrite_success_callback): New function.
85610         (exit_failure_callback): New function.
85611         (fallback_failure_callback): New function.
85612         (print_unicode_char): Call unicode_to_mb.
85613
85614 2002-01-26  Jim Meyering  <meyering@lucent.com>
85615
85616         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85617         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85618
85619 2002-01-26  Jim Meyering  <meyering@lucent.com>
85620
85621         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85622
85623 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85624
85625         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85626
85627 2002-01-22  Jim Meyering  <meyering@lucent.com>
85628
85629         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85630         Otherwise, some versions of automake would omit the rule that makes
85631         Makefile from Makefile.in.
85632
85633 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85634
85635         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85636         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85637         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85638         (memcoll): Set errno to zero if there is no error.
85639
85640         * lib/quotearg.c (quotearg_buffer_restyled):
85641         Fix bug with quoting buffers containing NUL when backslashing escapes.
85642         This bug was exposed by the other changes in this patch.
85643         (quotearg_n_options): New arg ARGSIZE.
85644         All callers changed.
85645         (quoting_options_from_style): New function.
85646         (quotearg_n_style): Use it.
85647         (quotearg_n_style_mem): New function.
85648
85649         * lib/quotearg.h (quotearg_n_style_mem): New function.
85650
85651 2002-01-19  Jim Meyering  <meyering@lucent.com>
85652
85653         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85654         Remove useless quotes: DF_PROG="df".
85655         * m4/strnlen.m4: New file.
85656
85657 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85658
85659         * lib/backupfile.c (ISDIGIT): Comment fix.
85660         * lib/getdate.y (ISDIGIT): Likewise.
85661         * lib/posixtm.c (ISDIGIT, year): Likewise.
85662         * lib/strverscmp.c (ISDIGIT): Likewise.
85663         * lib/userspec.c (ISDIGIT): Likewise.
85664
85665 2002-01-16  Jim Meyering  <meyering@lucent.com>
85666
85667         * lib/getdate.y: Add three semicolons, each just before a closing
85668         brace. Bison (as of version 1.31) no longer papers over that mistake.
85669
85670 2002-01-05  Jim Meyering  <meyering@lucent.com>
85671
85672         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85673
85674 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85675
85676         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85677         not silently exit merely because the output buffer happens to
85678         have nothing pending.
85679
85680 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85681
85682         See the big note in ../ChangeLog.
85683         * lib/human.c (suffixes): Prefer K to k for 1024.
85684         (generate_suffix_backwards): New function.
85685         (human_readable_inexact): Use it.
85686         * lib/xstrtol.c (__xstrtol): If there is no number but there
85687         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85688         Accept 'K' as well as 'k'.
85689
85690 2001-12-15  Jim Meyering  <meyering@lucent.com>
85691
85692         * lib/regex.h (__restrict_arr): Update from libc.
85693
85694         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85695         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85696         (STREQ): Define.
85697
85698 2001-12-14  Jim Meyering  <meyering@lucent.com>
85699
85700         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85701         Suggestion from Bruno Haible.
85702
85703 2001-12-10  Jim Meyering  <meyering@lucent.com>
85704
85705         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85706         xrealloc, Instead, include "xalloc.h".
85707         (initbuffer): Don't cast xmalloc return value to char*.
85708         (readline): Reword comment.
85709         Don't cast xrealloc return value to char*
85710         Return NULL, not 0.
85711
85712 2001-12-09  Jim Meyering  <meyering@lucent.com>
85713
85714         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85715         about `signed and unsigned type in conditional expression'.
85716         * lib/posixtm.c (posix_time_parse): Likewise.
85717
85718         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85719
85720         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85721         to avoid a pedantic warning.
85722
85723         * lib/getstr.c: Don't include assert.h.
85724         (getstr): Remove warning-evoking assertions.
85725         Return -1 if offset parameter is out of bounds.
85726         Change the type of a local from int to size_t.
85727
85728         * lib/strftime.c (my_strftime_localtime_r): Include this function
85729         definition in the `#if ! HAVE_TM_GMTOFF' block.
85730
85731         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85732         Include xalloc.h instead.
85733
85734 2001-12-02  Jim Meyering  <meyering@lucent.com>
85735
85736         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85737         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85738         included.
85739
85740         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85741         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85742
85743 2001-11-30  Akim Demaille  <akim@epita.fr>
85744
85745         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85746         before being defined.
85747
85748 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85749
85750         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85751         First arg is int, not unsigned.
85752         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85753         (SIZE_MAX, UINT_MAX): New macros.
85754         (quotearg_n_options): Abort if N is negative.
85755         Avoid overflow check on hosts where size_t is 64 bits and int
85756         is 32 bits, as overflow is impossible there.
85757         Fix off-by-one typo that caused unnecessary reallocation.
85758
85759 2001-11-27  Jim Meyering  <meyering@lucent.com>
85760
85761         * lib/tempname.c: Merge with version from libc.
85762         * lib/regex.c: Likewise.
85763
85764         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85765         systems for which STDC_HEADERS is 0, it was not included, resulting in
85766         a warning about an integer-to-pointer conversion problem with getenv.
85767         Reported by Volker Borchert.
85768
85769 2001-11-26  Jim Meyering  <meyering@lucent.com>
85770
85771         * lib/gtod.h: Remove file.
85772         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85773         * lib/gettimeofday.c: Don't include gtod.h.
85774         (GTOD_init): Remove function.
85775         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85776         Suggestion from Volker Borchert.
85777
85778 2001-11-23  Jim Meyering  <meyering@lucent.com>
85779
85780         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85781         it.
85782         * lib/hash.c (struct hash_table): Define it here instead.
85783
85784 2001-11-22  Jim Meyering  <meyering@lucent.com>
85785
85786         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85787
85788 2001-11-20  Jim Meyering  <meyering@lucent.com>
85789
85790         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85791         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85792
85793 2001-11-19  Jim Meyering  <meyering@lucent.com>
85794
85795         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85796         directory.  Use "conftestXXXXXX" as the template.
85797         Suggestion from Paul Eggert.
85798
85799         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85800         immediately, so the test doesn't mistakenly hit the max-open-files
85801         limit.
85802
85803 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85804
85805         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85806         (TEMPORARIES): New macro.
85807         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85808         removes an artificial limitation (e.g. HP-UX 10.20, where
85809         TMP_MAX is 17576).
85810
85811 2001-11-18  Jim Meyering  <meyering@lucent.com>
85812
85813         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85814
85815 2001-11-18  Jim Meyering  <meyering@lucent.com>
85816
85817         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85818         on SunOS 4.
85819
85820         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85821         files will be created before anything else.
85822
85823 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85824
85825         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85826         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85827
85828 2001-11-17  Jim Meyering  <meyering@lucent.com>
85829
85830         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85831         Prompted by a report from Bob Proulx.
85832
85833         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85834         Instead, require UTILS_FUNC_MKSTEMP.
85835
85836 2001-11-17  Jim Meyering  <meyering@lucent.com>
85837
85838         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85839         Now, that's done as part of AC_FUNC_STRTOD.
85840
85841 2001-11-17  Jim Meyering  <meyering@lucent.com>
85842
85843         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85844         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85845         rather than group writable.  Patch by Juan F. Codagnone.
85846
85847         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85848         xrealloc, Instead, include "xalloc.h".
85849
85850         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85851         Remove explicit declarations of xmalloc, xrealloc,
85852         and xstrdup.  Instead, include "xalloc.h".
85853
85854         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85855         unlocked-io.h.
85856         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85857         Likewise.
85858         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85859
85860         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85861         Reported by Padraig Brady.
85862
85863         * lib/mkstemp.c: #undef mkstemp.
85864         Include config.h.
85865         (rpl_mkstemp): Rename from mkstemp.
85866         Protoize.
85867
85868 2001-11-16  Jim Meyering  <meyering@lucent.com>
85869
85870         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85871         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85872         determine the amount of total physical memory, use pstat_getstatic.
85873         HPUX-11 doesn't define _SC_PHYS_PAGES.
85874         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85875         If sysconf couldn't be used to determine the amount of available
85876         physical memory, use both pstat_getstatic and pstat_getdynamic.
85877         Based on a patch from Bob Proulx.
85878
85879 2001-11-10  Jim Meyering  <meyering@lucent.com>
85880
85881         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85882         (jm_PREREQ): Use it.
85883
85884 2001-11-09  Jim Meyering  <meyering@lucent.com>
85885
85886         * m4/jm-macros.m4: Require autoconf-2.52f.
85887         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85888         Use these AC_-prefixed names, not the AM_-prefixed ones.
85889
85890         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85891
85892 2001-11-05  Jim Meyering  <meyering@lucent.com>
85893
85894         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85895
85896 2001-11-04  Jim Meyering  <meyering@lucent.com>
85897
85898         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85899         $DEFS.
85900
85901 2001-11-03  Jim Meyering  <meyering@lucent.com>
85902
85903         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85904         of AC_DEFUN.
85905
85906         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85907         know the name of the variable in the macro definition.
85908
85909 2001-11-03  Jim Meyering  <meyering@lucent.com>
85910
85911         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85912         in argmatch_to_argument call.
85913
85914         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85915         argument.
85916
85917         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85918         e.g., a fault due to an attempt to free a NULL pointer.
85919
85920 2001-11-01  Jim Meyering  <meyering@lucent.com>
85921
85922         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85923         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85924
85925 2001-11-01  Jim Meyering  <meyering@lucent.com>
85926
85927         * lib/dirfd.c, lib/dirfd.h: New files.
85928         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85929
85930         * lib/hash.c (hash_print) [TESTING]: Clean up.
85931
85932 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85933
85934         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85935         to avoid a warning if -Wall.
85936
85937 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85938
85939         * README: New file
85940         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85941         (per RMS's instructions, this is now the canonical source)
85942         * lgpl/, gpl/: New directories.
85943
85944 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85945
85946         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85947
85948 2001-10-21  Jim Meyering  <meyering@lucent.com>
85949
85950         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85951         this code would end up calling gettext even in packages built
85952         with --disable-nls.
85953         * lib/getopt.c (_): Likewise.
85954         * lib/regex.c (_): Likewise.
85955
85956 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85957
85958         * m4/error.m4 (jm_PREREQ_ERROR):
85959         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85960         AC_FUNC_STRERROR_R does that.
85961         Check for strerror declaration.
85962
85963         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85964         are supposed to have them these days.
85965         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85966         Merge changes from latest Autoconf CVS.
85967         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85968         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85969         POSIX decided to standardize on the int flavor of strerror_r.
85970
85971 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85972
85973         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85974         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85975         Use strerror_r that is only a macro, even if it is not a function.
85976         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85977         (private_strerror): Use prototypes, not old-style function definition.
85978         (print_errno_message): New function.
85979         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85980         char*-flavored one.
85981         (error_tail, error, error_at_line): Use it.
85982
85983 2001-10-11  Jim Meyering  <meyering@lucent.com>
85984
85985         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85986         and quote_n (1, ... to avoid clobbering a buffer.
85987
85988 2001-10-05  Jim Meyering  <meyering@lucent.com>
85989
85990         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85991         hash-pjw.h.
85992         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85993         * lib/hash-pjw.h: New file.
85994
85995 2001-09-30  Jim Meyering  <meyering@lucent.com>
85996
85997         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85998         `struct fsstat' has the `f_fstypename' member.
85999         Use that to define FS_TYPE, which is now used to make
86000         the getfsstat link test tighter.
86001
86002 2001-09-30  Jim Meyering  <meyering@lucent.com>
86003
86004         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
86005         Include <sys/ucred.h>, for Apple Darwin.
86006         Include sys/mount.h and sys/fs_types.h only if available.
86007         (FS_TYPE): Define.
86008         (read_filesystem_list): Use FS_TYPE.
86009
86010 2001-09-29  Paul Eggert  <eggert@twinsun.com>
86011
86012         * lib/exclude.c (excluded_filename): 0 -> false, since it's
86013         a boolean context.
86014
86015 2001-09-29  Jim Meyering  <meyering@lucent.com>
86016
86017         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86018         [one-argument getmntent function]): Include stdio.h before mntent.h.
86019         SunOS 4.1.x needs it for the declaration of `FILE'.
86020         Patch by Volker Borchert.
86021
86022         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
86023         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
86024         sys/fs_types.h, and make the link-test for getfsstat guard #include
86025         directives with appropriate #if HAVE_*_H tests so that we can
86026         detect getfsstat on Apple Darwin1.3.7 systems.
86027         Reported by Nelson Beebe.
86028         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
86029
86030 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86031
86032         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86033         #defines strtoimax.  Also treat the other strto* functions
86034         like strtoimax.
86035
86036         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86037         Check for strtoul and strtoumax,
86038         as those declarations are made even in the signed case.
86039         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
86040         Likewise, for strtol and strtoimax.
86041
86042 2001-09-28  Paul Eggert  <eggert@twinsun.com>
86043
86044         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
86045         #defines strtoimax.  Also treat the other strto* functions
86046         like strtoimax.
86047
86048         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
86049         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
86050         (strtoimax, strtoumax): Do not declare if already defined as a macro.
86051
86052 2001-09-26  Jim Meyering  <meyering@lucent.com>
86053
86054         Most macros in unlocked-io.h had the wrong number of arguments.
86055         * lib/gen-uio: New script.
86056         (USE_UNLOCKED_IO): Define to 1 if not already defined.
86057         * lib/unlocked-io.hin: Remove file.
86058         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
86059         rather than trying to embed it here.
86060         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
86061         Reported by Padraig Brady.
86062
86063 2001-09-25  Volker Borchert  <bt@teknon.de>
86064
86065         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
86066         `result'.
86067
86068 2001-09-24  Jim Meyering  <meyering@lucent.com>
86069
86070         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
86071
86072 2001-09-23  Jim Meyering  <meyering@lucent.com>
86073
86074         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
86075         instead of the mere test for existence of mntent.h.  The latter
86076         would get a false-positive on AIX 3.4 systems.
86077         In the outer getmntent if-block, don't die if neither of the getmntent
86078         tests succeeds.  Instead, just fall through and continue with the
86079         remaining tests.
86080
86081 2001-09-23  Jim Meyering  <meyering@lucent.com>
86082
86083         * lib/mountlist.c: Remove useless parentheses in #if directives.
86084         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
86085         the deprecated MOUNTED symbol is no longer defined in mntent.h.
86086
86087 2001-09-22  Jim Meyering  <meyering@lucent.com>
86088
86089         * m4/gettext.m4: New file.  From gettext.
86090         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
86091         * m4/progtest.m4: Likewise
86092         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
86093         * m4/glibc21.m4: Likewise.
86094
86095         * m4/libintl.m4: Remove.  No longer used.
86096
86097 2001-09-22  Jim Meyering  <meyering@lucent.com>
86098
86099         * lib/localcharset.c: Update from latest gettext.
86100         * lib/config.charset: Likewise.
86101
86102 2001-09-20  Jim Meyering  <meyering@lucent.com>
86103
86104         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
86105         strtoimax.
86106         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
86107         strtoumax.
86108
86109 2001-09-20  Jim Meyering  <meyering@lucent.com>
86110
86111         * lib/xstrtol.c (strtoimax): Guard declaration with
86112         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
86113         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
86114         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
86115         (strtoumax): Likewise, for completeness (it wasn't necessary).
86116
86117 2001-09-17  Paul Eggert  <eggert@twinsun.com>
86118
86119         * lib/strtoimax.c (HAVE_LONG_LONG):
86120         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
86121         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
86122         to work around bug in IBM C compiler.
86123
86124 2001-09-17  Jim Meyering  <meyering@lucent.com>
86125
86126         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
86127         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
86128         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
86129         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
86130         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
86131         whenever the right hand side need not be expanded by the shell.
86132
86133 2001-09-16  Paul Eggert  <eggert@twinsun.com>
86134
86135         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
86136         library.  It's not correct, as some older glibcs are buggy.
86137         fnmatch wasn't fixed until glibc 2.2.
86138
86139         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
86140         special shell magic here.
86141
86142 2001-09-16  Jim Meyering  <meyering@lucent.com>
86143
86144         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
86145         * m4/jm-macros.m4: Require it.
86146
86147 2001-09-16  Jim Meyering  <meyering@lucent.com>
86148
86149         * lib/mkdir.c: New file.
86150
86151 2001-09-15  Jim Meyering  <meyering@lucent.com>
86152
86153         * m4/jm-macros.m4: Check for help2man.
86154
86155 2001-09-11  Jim Meyering  <meyering@lucent.com>
86156
86157         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
86158         The body, by Paul Eggert, was moved here from configure.in.
86159         * m4/jm-macros.m4: Require UTILS_HOST_OS.
86160
86161 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86162
86163         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
86164         (jm_PREREQ): Use it.
86165
86166 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86167
86168         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86169         Use ssize_t, not int, to store result of readlink.
86170         Check for ssize_t overflow as well as size_t overflow,
86171         as POSIX says the result of readlink is implementation-defined
86172         when ssize_t overflows.
86173         Remove unnecessary cast to char*.
86174         Use free+malloc instead of realloc, as the storage doesn't need
86175         to be preserved and it's clearer and can be more efficient that way.
86176         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86177         * lib/xreadlink.h (xreadlink): Update prototype.
86178
86179 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86180
86181         * lib/xgetcwd.c: Revert some of the previous change; intead,
86182         fix the HAVE_GETCWD_NULL code to behave more like the
86183         !HAVE_GETCWD_NULL code used to.
86184
86185         Include "xalloc.h".
86186         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86187         invoke xalloc_die.
86188
86189 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86190
86191         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86192         sys/param.h, as pathmax.h includes them.
86193
86194 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86195
86196         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86197         (jm_PREREQ_XGETCWD): New macro.
86198
86199         * m4/getcwd.m4: New file.
86200
86201 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86202
86203         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86204         like the HAVE_GETCWD_NULL code.
86205         Include pathmax.h if not HAVE_GETCWD.
86206         Do not include xalloc.h.
86207         (INITIAL_BUFFER_SIZE): New symbol.
86208         Do not use xmalloc / xrealloc, since the caller is responsible for
86209         handling errors.  Preserve errno around `free' during failure.
86210         Do not overrun buffer when using getwd.
86211
86212 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86213
86214         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86215         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86216         getcwd (NULL, 0).
86217
86218 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86219
86220         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86221         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86222         spotted by Jim Meyering.
86223
86224 2001-09-03  Jim Meyering  <meyering@lucent.com>
86225
86226         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86227         failure.
86228
86229 2001-09-02  Jim Meyering  <meyering@lucent.com>
86230
86231         * lib/error.c: Update from GNU libc.
86232
86233 2001-09-01  Jim Meyering  <meyering@lucent.com>
86234
86235         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86236         Used by df.
86237
86238 2001-09-01  Jim Meyering  <meyering@lucent.com>
86239
86240         * lib/xreadlink.c: New file.
86241         * lib/xreadlink.h: New file.
86242         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86243         xreadlink.h.
86244
86245         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86246         doesn't conflict with sparc Solaris 7's definition in
86247         /usr/include/sys/int_types.h.
86248
86249         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86250         files.
86251         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86252         and strncasecmp as r-values.  Unixware didn't have declarations.
86253
86254 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86255
86256         * lib/xstrtol.h: Add copyright notice.
86257         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86258         LONGINT_INVALID_SUFFIX_CHAR.
86259
86260 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86261
86262         * lib/xstrtol.c (strtoimax): New decl.
86263
86264 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86265
86266         * lib/xgetcwd.c: Don't include pathmax.h.
86267         Include stdlib.h and unistd.h if available.
86268         Include xalloc.h.
86269         (xmalloc, xstrdup, free): Remove decls.
86270         (xgetcwd): Don't assume sizes fit in unsigned.
86271         Check for overflow when computing sizes.
86272         Simplify reallocation code.
86273
86274 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86275
86276         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86277         a directory's st_size can have an arbitrary value, so the old
86278         usage could waste an arbitrary amount of memory.  All uses
86279         changed.
86280         * lib/savedir.h: Update prototype.
86281
86282 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86283
86284         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86285
86286         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86287         old strtoimax.c.
86288
86289         Also, make the following further changes to make this file's
86290         configuration more similar to that of strtol.c:
86291         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86292         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86293         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86294         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86295         changed to signed values.
86296
86297         And make the following changes as well:
86298         Fix copyright notice, as 1999 was missing.
86299         (verify): New macro.
86300         (strtoimax): Check sizes at compile-time, not run-time.
86301         Prefer strtol to strtoll if both work.
86302         (main): Remove; it was not that useful and was a pain to maintain.
86303
86304         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86305
86306 2001-08-31  Jim Meyering  <meyering@lucent.com>
86307
86308         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86309         Use an initial, malloc'd, buffer of length 128 rather than
86310         a statically allocated one of length 1024.
86311
86312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86313
86314         Simplify code, partly by assuming autoconf 2.52 semantics.
86315
86316         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86317
86318         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86319         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86320         All uses removed.
86321         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86322         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86323         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86324         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86325         jm_AC_HEADER_INTTYPES_H.
86326         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86327
86328         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86329
86330         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86331         Quote first arg of AC_DEFUN.
86332         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86333         since they are needed to parse the include file even if we need
86334         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86335         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86336         but with opposite signedness.
86337
86338 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86339
86340         Merge 'exclude' changes from tar 1.13.22.
86341         This fixes one or two unlikely storage allocation overflow bugs,
86342         but doesn't change user-visible behavior otherwise.
86343
86344 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86345
86346         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86347         (jm_PREREQ_EXCLUDE): New macro.
86348
86349 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86350
86351         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86352         tm to be declared.
86353
86354 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86355
86356         * lib/hash.c: Remove '2001' from copyright notice.
86357
86358 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86359
86360         * lib/full-write.h: New file.
86361         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86362         * lib/full-write.c: Correct credits, as cccp.c no longer
86363         exists and anyway it was so heavily changed from the old cccp
86364         code as to be unrecognizable.  Include full-write.h.
86365         (full_write): Return size_t, with short writes meaning failure.
86366         All callers changed.  This fixes a bug with large buffers
86367         on 64-bit hosts.
86368         * lib/utime.c: Include full-write.h.
86369
86370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86371
86372         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86373         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86374         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86375         Include if available.
86376         (<xalloc.h>): Include
86377         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86378         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86379         collide with FNM macros.
86380         (struct patopts): New struct.
86381         (struct exclude): Use it, as exclude patterns now come with options.
86382         (new_exclude): Support above changes.
86383         (new_exclude, add_exclude_file):
86384         Initial size must now be a power of two to simplify overflow checking.
86385         (free_exclude, fnmatch_no_wildcards): New function.
86386         (excluded_filename): No longer requires options arg, as the options
86387         are determined by add_exclude.  Now returns bool, not int.
86388         (excluded_filename, add_exclude):
86389         Add support for the fancy new exclusion options.
86390         (add_exclude, add_exclude_file): Now takes int options arg.
86391         Check for arithmetic overflow when computing sizes.
86392         (add_exclude_file): xrealloc might modify errno, so don't
86393         realloc until after errno might be used.
86394
86395         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86396         New macros.
86397         (free_exclude): New decl.
86398         (add_exclude, add_exclude_file): Now takes int options arg.
86399         (excluded_filename): No longer requires options arg, as the options
86400         are determined by add_exclude.  Now returns bool, not int.
86401
86402 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86403
86404         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86405
86406 2001-08-27  Jim Meyering  <meyering@lucent.com>
86407
86408         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86409
86410         * lib/version-etc.c (N_): Remove definition.
86411         Revert most of last change.
86412         Instead, simply don't mark the `Copyright...' string for translation.
86413         Based on advice from Paul Eggert.
86414
86415         * lib/strtoxmax.c: Tweak comment.
86416
86417 2001-08-26  Jim Meyering  <meyering@lucent.com>
86418
86419         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86420
86421         * m4/xstrtoimax.m4: New file.
86422         * m4/xstrtoumax.m4: Add comments explaining why we
86423         AC_REPLACE_FUNCS(strtol).
86424
86425 2001-08-26  Jim Meyering  <meyering@lucent.com>
86426
86427         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86428         of copyright with `%s' so translators don't get an untranslated
86429         message in 2002.
86430         (COPYRIGHT_YEAR): Define.
86431         (version_etc): Use fprintf rather than fputs.
86432         Suggestion from Ulrich Drepper.
86433
86434         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86435
86436         * lib/strtoll.c: New file, from GNU libc.
86437         * lib/xstrtoimax.c: New file.
86438
86439         * lib/xstrtol.h: Add xstrtoimax.
86440         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86441         * lib/strtoimax.c: New file.  Likewise, but first define
86442         STRTOUXMAX_SIGNED.
86443
86444         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86445         ...
86446         * lib/strtoxmax.c: ... then renamed to this.
86447
86448 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86449
86450         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86451         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86452         (jm_AC_TYPE_INTMAX_T): New macro.
86453         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86454
86455         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86456
86457         * m4/longlong.m4: Renamed from ulonglong.m4.
86458         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86459         * m4/uintmax_t.m4: Removed.
86460
86461 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86462
86463         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86464         Port to Solaris 8, where 'sed' requires a space after the 'r'
86465         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86466         Redirect output to $tmp just once.
86467
86468 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86469
86470         * lib/addext.c (<errno.h>): Include.
86471         (errno): Declare if not defined.
86472         (addext): Work correctly when pathconf returns -1 and leaves
86473         errno alone because there is no limit.  Also, work even if
86474         pathconf returns a value greater than SIZE_MAX.
86475
86476 2001-08-12  Jim Meyering  <meyering@lucent.com>
86477
86478         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86479         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86480         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86481         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86482         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86483         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86484         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86485         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86486         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86487         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86488         utime.m4, utimes.m4, xstrtoumax.m4:
86489         Quote the first argument in each use of AC_DEFUN.
86490
86491 2001-08-12  Jim Meyering  <meyering@lucent.com>
86492
86493         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86494         Simply `return getcwd (NULL, 0);'.
86495         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86496         Use 1300 as initial value for length, not PATH_MAX.
86497
86498         * lib/pathmax.h: Clean up cpp syntax.
86499
86500 2001-08-12  Jim Meyering  <meyering@lucent.com>
86501
86502         * lib/gettimeofday.c: New file.
86503         * lib/gtod.h: New file.
86504         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86505
86506 2001-08-05  Jim Meyering  <meyering@lucent.com>
86507
86508         * m4/jm-macros.m4: Require autoconf-2.52.
86509
86510 2001-08-04  Jim Meyering  <meyering@lucent.com>
86511
86512         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86513         stmt, to get in sync with glibc.
86514
86515 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86516
86517         The following changes are from gettext 0.10.39 as maintained by
86518         Bruno Haible.
86519
86520         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86521         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86522         with inverted sense.  All uses changed.
86523
86524         * lib/mbswidth.c: Don't include <limits.h>.
86525         Include <stdlib.h> and <string.h> unconditionally.
86526         (iswcntrl, mbsinit, ISCNTRL): New macros.
86527         (mbsnwidth): Use K&R style function declarations.
86528         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86529         can optimize it when MB_CUR_MAX == 1.
86530         The width of control characters is zero, not 1.
86531
86532 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86533
86534         The following changes are from gettext 0.10.39 as maintained by
86535         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86536
86537         * m4/codeset.m4: Upgrade to serial AM1.
86538         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86539         all uses changed.  Quote first arg of AC_DEFUN.
86540         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86541
86542         * m4/iconv.m4: Upgrade to serial AM2.
86543         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86544         Add --with-libconv-prefix.
86545         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86546         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86547         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86548         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86549         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86550
86551         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86552         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86553         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86554         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86555         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86556         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86557         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86558         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86559         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86560
86561         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86562         string.h any more.
86563
86564         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86565         not the default value.
86566
86567         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86568         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86569         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86570         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86571         Also check for iswcntrl, used for wcwidth fallback.
86572         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86573         to Autoconf 2.13.
86574
86575 2001-08-03  Jim Meyering  <meyering@lucent.com>
86576
86577         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86578         as it was in the original.  Reported by Paul Eggert.
86579
86580 2001-07-16  Jim Meyering  <meyering@lucent.com>
86581
86582         * m4/gettimeofday.m4: New file.
86583         Prompted by a report from Bernhard Baehr.
86584
86585 2001-07-15  Jim Meyering  <meyering@lucent.com>
86586
86587         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86588         stuff. Now it's in ../Makefile.cfg.
86589
86590 2001-07-15  Jim Meyering  <meyering@lucent.com>
86591
86592         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86593         (BUILT_SOURCES): Add unlocked-io.h.
86594         (io_functions): Define.
86595         (unlocked-io.h): New rule.
86596         (DISTCLEANFILES): Add unlocked-io.h.
86597         (all-local): Depend on unlocked-io.h, to ensure it is created.
86598
86599         * lib/unlocked-io.hin: New file
86600
86601         * lib/regex.c: Update from glibc.
86602
86603 2001-07-05  Jim Meyering  <meyering@lucent.com>
86604
86605         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86606         recommendation.
86607         (libfetish_a_SOURCES): Put all .h files here instead.
86608         Remove a thus-exposed (better checks in automake) duplicate and
86609         two unnecessary .h files.
86610
86611 2001-07-04  Jim Meyering  <meyering@lucent.com>
86612
86613         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86614         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86615         distcheck failure.
86616
86617 2001-07-02  Jim Meyering  <meyering@lucent.com>
86618
86619         The following changes were prompted by suggestions from Bruno Haible.
86620
86621         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86622         is now generated.
86623         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86624         definition of EXTRA_DIST.
86625         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86626         ensure that the generated file is created/updated whenever the list
86627         of $(unlocked_functions) is changed.
86628         (jm-glibc-io.m4): New rule.
86629         (unlocked-io.h): New rule -- currently unused.
86630
86631 2001-06-24  Jim Meyering  <meyering@lucent.com>
86632
86633         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86634         unmatched right bracket, rather than kludging it with an extra,
86635         falsely-matching quote in a comment.  Patch by Akim Demaille.
86636
86637 2001-06-11  Jim Meyering  <meyering@lucent.com>
86638
86639         * lib/regex.c: Update from GNU libc.
86640
86641 2001-05-27  Jim Meyering  <meyering@lucent.com>
86642
86643         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86644         Check for ut_type in struct utmp.
86645
86646 2001-05-27  Jim Meyering  <meyering@lucent.com>
86647
86648         * lib/readutmp.h (UT_TYPE): Define.
86649
86650 2001-05-24  Jim Meyering  <meyering@lucent.com>
86651
86652         * lib/argmatch.c: Include "quote.h".
86653         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86654         quote function.  Reported by Göran Uddeborg.
86655
86656 2001-05-22  Jim Meyering  <meyering@lucent.com>
86657
86658         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86659         now that we use the package-supplied version unconditionally.
86660         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86661
86662 2001-05-21  Jim Meyering  <meyering@lucent.com>
86663
86664         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86665         shell syntax errors.
86666
86667 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86668
86669         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86670
86671 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86672
86673         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86674         Don't bother to check library strftime, since
86675         we'll be using our own my_strftime function anyway.
86676         Define my_strftime instead of strftime.
86677
86678 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86679
86680         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86681         which is not yet declared.
86682
86683 2001-05-15  Jim Meyering  <meyering@lucent.com>
86684
86685         * m4/regex.m4: Use proper quoting so brackets appear in the test
86686         program.
86687         Reported by, and with help from, Bruno Haible.
86688
86689 2001-05-13  Jim Meyering  <meyering@lucent.com>
86690
86691         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86692         undefined.
86693
86694 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86695
86696         dirname code cleanup.  base_name now behaves more compatibly
86697         with POSIX basename when given file names that have trailing
86698         slashes, and similarly for dir_name.  Add new primitives
86699         base_len and dir_len.  Put the directory-name-related decls
86700         into dirname.h.
86701
86702         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86703         * lib/backupfile.c (base_name): Likewise.
86704         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86705         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86706         * lib/makepath.c (strip_trailing_slashes): Likewise.
86707         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86708         ISSLASH): Likewise.
86709         * lib/rename.c (strip_trailing_slashes): Likewise.
86710         * lib/same.c (base_name): Likewise.
86711         * lib/stripslash.c (ISSLASH): Likewise.
86712
86713         * lib/addext.c: Include <dirname.h> after size_t is defined.
86714         * lib/backupfile.c: Likewise.
86715
86716         * lib/addext.c (addext): Use base_len to trim redundant
86717         trailing slashes instead of doing it ourselves.
86718         But do not trim the last slash if it is not redundant.
86719
86720         * lib/backupfile.c (find_backup_file_name,
86721         max_backup_version): Use base_len instead of rolling it ourselves.
86722         Handle the case of "" and (on DOS) "C:" correctly.
86723
86724         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86725         needed. Include <string.h>, <dirname.h>.
86726         (base_name): Allow file names ending in slashes, other than names
86727         that are all slashes.  In this case, return the basename followed
86728         by the slashes.  This is more general, and can be used in places
86729         where the original base_name purposely had an assertion failure.
86730         (base_len): New function.
86731
86732         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86733         Do not include <assert.h>; no longer needed.
86734         Include xalloc.h.
86735         (memrchr): Remove decl.
86736         (dir_name_r): Remove.
86737         (dir_len): Renamed from dirlen.  All callers changed.
86738         Rewrite in terms of base_name, for simplicity and consistency.
86739         (dir_name): Never return NULL.  All callers changed.
86740         Do not include <stdlib.h> in test program; no longer needed.
86741         return 0; is fine for test program.
86742
86743         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86744         New macros.
86745         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86746
86747         * lib/path-concat.c (path_concat): Use base_len to compute
86748         base length, not strlen; this means we cannot rely on memcpy
86749         to null-terminate.
86750
86751         * lib/same.c (STREQ): Remove.
86752         (same_name): Handle the case where the basename ends in trailing '/'.
86753
86754         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86755         a slash was stripped.  Do not strip the last slash after a
86756         file system prefix.
86757
86758 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86759
86760         * lib/Makefile.am (libfetish_a_SOURCES):
86761         Add strftime.c, since we now compile it on all hosts.
86762
86763         * lib/strftime.c (my_strftime):
86764         Define to nstrftime if emacs, but only if my_strftime is not defined.
86765         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86766         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86767         Add one more extra argument: a nanoseconds value.
86768         All uses changed.
86769         (ns): New macro.
86770         (my_strftime function): Add %N format.
86771         (emacs_strftimeu): Renamed from emacs_strftime,
86772         with extra ut argument.
86773
86774 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86775
86776         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86777
86778 2001-04-21  Jim Meyering  <meyering@lucent.com>
86779
86780         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86781         doesn't interfere.
86782
86783 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86784
86785         * m4/ftruncate.m4: Check for chsize.
86786         Link with ftruncate.o unconditionally if ftruncate is missing.
86787         This was required when cross-compiling to i586-mingw32msvc.
86788
86789 2001-04-08  Jim Meyering  <meyering@lucent.com>
86790
86791         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86792         recomputed; that's necessary when the offset spans a DST transition.
86793         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86794
86795 2001-04-02  Jim Meyering  <meyering@lucent.com>
86796
86797         * lib/regex.h, regex.c: Update from GNU libc.
86798
86799 2001-03-24  Jim Meyering  <meyering@lucent.com>
86800
86801         * m4/jm-macros.m4: Require autoconf-2.49d.
86802
86803 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86804
86805         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86806
86807 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86808
86809         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86810
86811 2001-03-17  Jim Meyering  <meyering@lucent.com>
86812
86813         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86814         now that the version in autoconf is equivalent.
86815         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86816
86817         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86818         Suggestion from Akim Demaille.
86819
86820         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86821         (jm_PREREQ_TEMPNAME): New function.
86822
86823 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86824
86825         * lib/tempname.c (uint64_t): Define to uintmax_t if
86826         not defined, and if UINT64_MAX is not defined.
86827         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86828         Reported by John David Anglin.
86829
86830 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86831
86832         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86833         resolve alias if codeset is empty.
86834         * lib/config.charset (BeOS): Use wildcard syntax.
86835
86836 2001-03-13  Jim Meyering  <meyering@lucent.com>
86837
86838         * lib/path-concat.c (path_concat)
86839         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86840         concatenating e.g., `C:' and `foo'.
86841         From Bruno Haible.
86842
86843 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86844
86845         * lib/localcharset.c (locale_charset): Don't use
86846         setlocale(LC_CTYPE,NULL). Don't return NULL.
86847         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86848
86849 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86850
86851         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86852         support for DOS/DJGPP.
86853
86854 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86855
86856         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86857         lacks mkstemp.  Compile our own tempname.c if we compile our own
86858         mkstemp.c, as mkstemp relies on tempname.
86859
86860 2001-03-01  Jim Meyering  <meyering@lucent.com>
86861
86862         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86863         AH_VERBATIM really does output its argument verbatim.
86864
86865 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86866
86867         * lib/Makefile.am (libfetish_a_SOURCES):
86868         Add dup-safer.c, fopen-safer.c.
86869         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86870
86871         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86872         * lib/unistd-safer.h: New files.
86873
86874 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86875
86876         The mkstemp replacement is taken from glibc 2.2.2, with some
86877         portability fixes for use outside glibc, as follows:
86878
86879         * lib/tempname.c (struct_stat64): New macro.
86880         (direxists, __gen_tempname): Use it.
86881         This avoids a portability problem with Solaris 8.
86882
86883         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86884         (<stddef.h>, <stdint.h>, <string.h>):
86885         Include only if STDC_HEADERS || _LIBC.
86886         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86887         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86888         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86889         (__set_errno): Define this macro if <errno.h> doesn't.
86890         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86891         Define these macros if <stdio.h> doesn't.
86892         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86893         Define these macros if <sys/stat.h>
86894         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86895         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86896         __xstat64): Define if not _LIBC.
86897         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86898         (__gen_tempname): Invoke gettimeofday only if
86899         HAVE_GETTIMEOFDAY || _LIBC;
86900         otherwise, fall back on plain "time".
86901         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86902
86903         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86904
86905         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86906
86907 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86908
86909         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86910
86911 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86912
86913         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86914         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86915         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86916         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86917
86918 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86919
86920         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86921         Remove workaround macros for hosts that have mbrtowc but not
86922         mbstate_t, as we now insist on proper declarations for both
86923         before using mbrtowc.
86924
86925 2001-02-17  Jim Meyering  <meyering@lucent.com>
86926
86927         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86928         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86929         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86930         UnixWare 7.1.1.
86931
86932         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86933         rather than AC_CACHE_VAL.
86934
86935 2001-02-17  Jim Meyering  <meyering@lucent.com>
86936
86937         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86938         around included file name.
86939
86940         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86941
86942         * lib/strftime.c: Update from GNU libc (the only changes were to
86943         comments).
86944
86945 2001-02-17  Jim Meyering  <meyering@lucent.com>
86946
86947         * lib/regex.c: Update from libc.
86948
86949 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86950
86951         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86952         clash.
86953
86954 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86955
86956         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86957         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86958         Reported by Mark Hounschell via Paul Eggert.
86959
86960 2001-02-07  Jim Meyering  <meyering@lucent.com>
86961
86962         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86963
86964 2001-02-05  Jim Meyering  <meyering@lucent.com>
86965
86966         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86967         it includes the patch required for `large file' support with at least
86968         HP-UX's 10.20 /bin/cc.
86969
86970 2001-02-03  Jim Meyering  <meyering@lucent.com>
86971
86972         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86973         AS_IF, now that it works once again (mysteriously).
86974         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86975
86976 2001-01-30  Jim Meyering  <meyering@lucent.com>
86977
86978         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86979         * m4/chown.m4: Rename conftestchown to conftest.chown.
86980         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86981         s/conftestdir2/conftest.d2/.
86982         * m4/utimes.m4: s/conftestdata/conftest.data/
86983         Inspired by Pavel Roskin's change in autoconf.
86984
86985 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86986
86987         * lib/config.charset: Update for FreeBSD 4.2.
86988
86989 2001-01-27  Jim Meyering  <meyering@lucent.com>
86990
86991         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86992         a use of AS_IF.
86993         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86994
86995 2001-01-26  Jim Meyering  <meyering@lucent.com>
86996
86997         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86998         quotearg.c includes it.
86999
87000 2001-01-26  Jim Meyering  <meyering@lucent.com>
87001
87002         * lib/quotearg.c: Include stddef.h.
87003         * lib/quote.c: Include stddef.h.
87004         Reported by Axel Kittenberger.
87005
87006         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
87007         line in double quotes so that it evokes a better diagnostic.
87008         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
87009         Reported by Axel Kittenberger.
87010
87011 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
87012
87013         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
87014         as if it was a `charset'.
87015
87016 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87017
87018         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
87019         has const.
87020
87021 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
87022
87023         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
87024         to avoid a warning.  Add back 'const' to inptr.
87025
87026 2001-01-20  Jim Meyering  <meyering@lucent.com>
87027
87028         Be sure that headers are checked before used in code compiled
87029         for the type checks.
87030         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
87031         In place of that, invoke jm_CHECK_ALL_TYPES.
87032         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
87033         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
87034         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
87035         The check for ssize_t was mistakenly run before the test for unistd.h.
87036
87037         The configure-time check for stdbool.h was missing.
87038         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
87039         (jm_PREREQ_HASH): New function.
87040
87041 2001-01-17  Jim Meyering  <meyering@lucent.com>
87042
87043         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
87044         for autoconf-2.49c.
87045         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
87046
87047 2001-01-16  Jim Meyering  <meyering@lucent.com>
87048
87049         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
87050         From Bruno Haible.
87051
87052 2001-01-14  Jim Meyering  <meyering@lucent.com>
87053
87054         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
87055         foo and bar.  Create conftestdir/ in the script, not in the C code.
87056         Remove directories in the script, not in the C code.
87057         Remove conftestdir{,2} before trying to create the directory.
87058         Make the entire configure script fail if the mkdir fails.
87059
87060 2001-01-14  Jim Meyering  <meyering@lucent.com>
87061
87062         * lib/rename.c: New file.  From Volker Borchert.
87063         Include stdlib.h, string.h or strings.h, and xalloc.h.
87064         Use strip_trailing_slashes rather than open-coding it.
87065
87066 2001-01-03  Paul Eggert  <eggert@twinsun.com>
87067
87068         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
87069
87070 2001-01-03  Jim Meyering  <meyering@lucent.com>
87071
87072         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
87073         of local `inptr' to avoid warning with some system declarations of
87074         iconv.
87075
87076 2001-01-02  Volker Borchert  <bt@teknon.de>
87077
87078         * m4/rename.m4: New file.
87079         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
87080
87081 2001-01-01  Jim Meyering  <meyering@lucent.com>
87082
87083         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
87084         even on systems with utmpx.h.  It's necessary for the declaration of
87085         utmp's ut_user member.  Reported by Andreas Jaeger.
87086
87087         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
87088         available. They are required for the declarations of getgrgid and
87089         getpwuid resp.
87090         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
87091         Reported by Andreas Jaeger.
87092
87093 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
87094
87095         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
87096         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
87097         so `make install' also works in VPATH builds.
87098
87099 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
87100
87101         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
87102         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
87103         can be used in subdirectories.
87104
87105 2000-12-29  Paul Eggert  <eggert@twinsun.com>
87106
87107         * lib/modechange.c: Do not assume that mode_t uses the
87108         traditional octal encoding.  E.g. "chmod 1 FOO" should set
87109         the other-execute bit of FOO even if S_IXOTH != 1.
87110
87111         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
87112         WOTH, XOTH, ALLM): New macros.
87113         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
87114          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
87115         Use them.
87116         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
87117         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
87118         (mode_compile):
87119         No need to use uintmax_t; unsigned long is long enough.
87120         Don't bother to get suffix since we don't use it.
87121
87122 2000-12-26  Jim Meyering  <meyering@lucent.com>
87123
87124         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
87125         better with autoheader.
87126
87127 2000-12-24  Jim Meyering  <meyering@lucent.com>
87128
87129         * lib/hash.c (is_prime): Return explicit boolean values.
87130         (hash_get_first): Return NULL to appease Irix5.6's 89.
87131         Reported by Nelson Beebe.
87132
87133 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
87134
87135         * lib/localcharset.c (locale_charset): Add support for Win32.
87136
87137 2000-12-18  Paul Eggert  <eggert@twinsun.com>
87138
87139         * lib/physmem.h, lib/physmem.c: New files.
87140
87141         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
87142         (noinst_HEADERS): Add physmem.h.
87143
87144         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
87145         't' for compatibility with Solaris 8 sort.
87146
87147 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
87148
87149         * lib/config.charset: Add support for BeOS.
87150
87151 2000-12-17  Jim Meyering  <meyering@lucent.com>
87152
87153         * m4/dos.m4 (jm_AC_DOS): New file and macro.
87154         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
87155
87156 2000-12-16  Jim Meyering  <meyering@lucent.com>
87157
87158         This bug had a serious impact on chown: `chown N:M FILE' (for integer
87159         N and M) would have treated it like `chown N:N FILE'.
87160
87161         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
87162
87163 2000-12-16  Jim Meyering  <meyering@lucent.com>
87164
87165         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
87166         SHELLS_FILE to a file name that's useful on djgpp systems.
87167         Include stdlib.h.
87168         (ADDITIONAL_DEFAULT_SHELLS): Define.
87169         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87170         Based mostly on a patch from Prashant TR.
87171
87172 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87173
87174         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87175         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87176         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87177
87178 2000-12-08  Andreas Schwab  <schwab@suse.de>
87179
87180         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87181         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87182
87183 2000-12-07  Jim Meyering  <meyering@lucent.com>
87184
87185         * lib/stripslash.c (ISSLASH): Define.
87186         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87187         `/'.
87188         From Prashant TR.
87189
87190         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87191         (dir_name_r): Declare this function as static.
87192         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87193         manifest itself on a name containing a mix of slashes and
87194         backslashes.
87195         Make this function work with names starting with a DOS-style
87196         drive letter and colon prefix.
87197         (dir_name): Append `.' if necessary.
87198         Based mostly on patches from Prashant TR and Eli Zaretskii.
87199
87200         * lib/dirname.h (dir_name_r): Remove prototype.
87201
87202 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87203
87204         * m4/off_t-format.m4: Remove this file.
87205         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87206
87207 2000-12-06  Jim Meyering  <meyering@lucent.com>
87208
87209         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87210         replacement strtoull, we may well need the replacement strtoul, too.
87211         Check for declarations of strtoul and strtoull.
87212         Check for strtol.  Mainly as a cue to cause automake to include
87213         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87214         Check for limits.h -- strtol.c needs it.
87215
87216 2000-12-05  Jim Meyering  <meyering@lucent.com>
87217
87218         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87219
87220 2000-12-04  Jim Meyering  <meyering@lucent.com>
87221
87222         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87223         Also include memory.h, stdlib.h, unistd.h if appropriate.
87224         Reported by Andreas Jaeger (conflicting declaration of malloc).
87225
87226 2000-12-02  Jim Meyering  <meyering@lucent.com>
87227
87228         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87229         * m4/jm-macros.m4 (jm_MACROS): require it.
87230
87231 2000-12-02  Jim Meyering  <meyering@lucent.com>
87232
87233         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87234
87235 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87236
87237         * lib/memrchr.c: Include <config.h> before any system include file.
87238
87239 2000-11-30  Jim Meyering  <meyering@lucent.com>
87240
87241         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87242
87243 2000-11-30  Jim Meyering  <meyering@lucent.com>
87244
87245         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87246
87247 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87248
87249         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87250
87251 2000-11-26  Jim Meyering  <meyering@lucent.com>
87252
87253         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87254
87255 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87256
87257         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87258         size of (size_t) -1; it's not portable.
87259
87260 2000-11-17  Jim Meyering  <meyering@lucent.com>
87261
87262         * lib/strstr.c: Update from GNU libc.
87263
87264 2000-11-17  Akim Demaille  <akim@epita.fr>
87265
87266         * lib/obstack.h: Formatting changes.
87267         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87268         prevent type checking.
87269         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87270         cast the value to (void *): assigning a `foo *' to a `void *'
87271         variable is valid.
87272         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87273
87274 2000-11-16  Jim Meyering  <meyering@lucent.com>
87275
87276         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87277
87278 2000-11-11  Jim Meyering  <meyering@lucent.com>
87279
87280         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87281
87282 2000-11-10  Jim Meyering  <meyering@lucent.com>
87283
87284         * lib/obstack.h: Update from GNU libc.
87285         * lib/obstack.c: Likewise.
87286
87287 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87288
87289         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87290
87291 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87292
87293         * lib/getusershell.c (setusershell): Use rewind rather than
87294         fseek/fseeko, to avoid configuration hassles with fseeko.
87295         Don't bother opening SHELLS_FILE if shellstream is NULL;
87296         it's not necessary.
87297
87298 2000-11-05  Jim Meyering  <meyering@lucent.com>
87299
87300         * lib/makepath.h (make_dir): Declare.
87301         * lib/makepath.c (make_dir): Remove `static' attribute.
87302         Tweak a comment.
87303
87304 2000-11-04  Jim Meyering  <meyering@lucent.com>
87305
87306         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87307
87308 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87309
87310         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87311         last one in a bucket, advance to the next bucket.
87312
87313 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87314
87315         * lib/fnmatch.c: Do not comment out all the code if we are using
87316         the GNU C library, because in some cases we are replacing buggy
87317         code in the GNU C library itself.
87318
87319 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87320
87321         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87322         (regex_compile): Catch bogus \(\1\).
87323
87324 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87325
87326         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87327         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87328         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87329
87330 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87331
87332         * lib/error.h, getline.h, modechange.h:
87333         Remove "2000" from Copyright line, as the file hasn't been
87334         changed this year other than in the copyright notice.
87335
87336         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87337         was changed this year.
87338
87339 2000-10-29  Jim Meyering  <meyering@lucent.com>
87340
87341         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87342         renaming.
87343         * m4/ls-mntd-fs.m4: Likewise
87344
87345 2000-10-29  Jim Meyering  <meyering@lucent.com>
87346
87347         * lib/xstat.in: Fix grammar in comment.
87348
87349 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87350
87351         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87352         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87353         doesn't define __restrict_arr.
87354
87355 2000-10-28  Jim Meyering  <meyering@lucent.com>
87356
87357         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87358         (jm_PREREQ_MEMCHR): New function.
87359
87360 2000-10-28  Jim Meyering  <meyering@lucent.com>
87361
87362         * lib/memchr.c: Update from libc.
87363         Adjust for portability:
87364         [HAVE_STDLIB_H]: Include stdlib.h.
87365         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87366         Undef __memchr, too.
87367         [!weak_alias]: Define __memchr to memchr.
87368
87369         * lib/regex.c: Update from libc.
87370         * lib/regex.h: Likewise.
87371         * lib/getopt1.c: Likewise.
87372         * lib/memcmp.c: Likewise.
87373
87374         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87375         Avoid using fseek, when possible -- it's broken by design.
87376         Patch by Ulrich Drepper.
87377
87378 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87379
87380         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87381         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87382         Giving in to popular pressure to shut up the compiler with casts.
87383
87384 2000-10-26  Jim Meyering  <meyering@lucent.com>
87385
87386         * lib/strftime.c: Update from libc.
87387
87388 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87389
87390         * regex.c: More `unsigned char' -> `re_char' changes.
87391         Also change several `int' into `re_wchar_t'.
87392         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87393         (PUSH_FAILURE_POINTER): Don't cast any more.
87394         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87395         We want GCC to complain, since this piece of code makes
87396         re_match non-reentrant, which *should* be fixed.
87397         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87398         (EXTEND_BUFFER): Use RETALLOC.
87399         (SET_LIST_BIT): Don't cast.
87400         (re_wchar_t): New type.
87401         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87402         that those two functions will always properly return.
87403         (IMMEDIATE_QUIT_CHECK): Cast to void.
87404         (analyse_first): Use recursion rather than an explicit stack.
87405         (re_compile_fastmap): Can't fail anymore.
87406         (re_search_2): Don't check re_compile_fastmap for failure.
87407         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87408         Now also sets the new value (passed in a new argument).
87409         (re_match_2_internal): Use it.
87410         Also, use a new var `reg' of type size_t when looping through regs
87411         rather than reuse the inappropriate `mcnt'.
87412
87413 2000-10-25  Jim Meyering  <meyering@lucent.com>
87414
87415         * lib/obstack.c: Update from libc.
87416
87417 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87418
87419         * regex.c (regex_compile): Change the way of handling a range from
87420         a char less than 256 to a char not less than 256.
87421
87422 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87423
87424         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87425         NT-Emacs only.
87426         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87427         so that re_search functions only quit when callers expect them to.
87428
87429 2000-10-23  Jim Meyering  <meyering@lucent.com>
87430
87431         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87432         wrong.  That set_locale call must not have any side effects.
87433         From Paul Eggert.
87434
87435 2000-10-22  Jim Meyering  <meyering@lucent.com>
87436
87437         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87438         [CYCLIC]: Remove now-unused definition.
87439
87440         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87441         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87442         Suggestion from Ulrich Drepper.
87443
87444 2000-10-21  Jim Meyering  <meyering@lucent.com>
87445
87446         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87447         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87448         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87449
87450 2000-10-21  Jim Meyering  <meyering@lucent.com>
87451
87452         * lib/dirname.c (memrchr): Declare if necessary.
87453         (dir_name): Remove the restriction that there be no
87454         trailing slashes.  Now, this code skips past them, effectively
87455         ignoring them.
87456         [TEST_DIRNAME] (main): New unit tests.
87457
87458         * lib/memrchr.c: New file from GNU libc.
87459         Undef __memrchr, too.
87460         [!weak_alias]: Define __memrchr to memrchr.
87461         Guard weak_alias use with `#ifdef weak_alias'.
87462
87463 2000-10-21  Jim Meyering  <meyering@lucent.com>
87464
87465         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87466         (dir_name): Use dir_name_r.
87467         * lib/dirname.h (dir_name_r): Declare it.
87468
87469 2000-10-17  Jim Meyering  <meyering@lucent.com>
87470
87471         * lib/quote.h (PARAMS): Define and use.
87472         Reported by Akim Demaille.
87473
87474         * lib/getopt.c: Update from libc.
87475
87476 2000-10-16  Jim Meyering  <meyering@lucent.com>
87477
87478         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87479         setlocale.
87480         From Jan Fedak.
87481
87482 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87483
87484         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87485
87486 2000-09-25  Jim Meyering  <meyering@lucent.com>
87487
87488         * lib/md5.h (rol): Define (from GnuPG).
87489
87490         * lib/sha.c: Give credit (GnuPG) where due.
87491         (M): Use rol rather than open-coding it.
87492         Add a FIXME comment.
87493
87494 2000-09-21  Jim Meyering  <meyering@lucent.com>
87495
87496         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87497         Reported by Michael Stone.
87498
87499 2000-09-20  Jim Meyering  <meyering@lucent.com>
87500
87501         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87502         (noinst_HEADERS): Add sha.h.
87503         Based on code from Scott G. Miller and from GnuPG.
87504
87505 2000-09-18  Jim Meyering  <meyering@lucent.com>
87506
87507         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87508         LIBS. Otherwise, everyone ends up linking with -lelf for some
87509         configurations.
87510         Reported by Mike Stone.
87511
87512 2000-09-15  Jim Meyering  <meyering@lucent.com>
87513
87514         * lib/regex.c: Update from libc.
87515
87516 2000-09-10  Jim Meyering  <meyering@lucent.com>
87517
87518         * lib/getopt.c (_getopt_internal): Update from glibc.
87519
87520 2000-09-09  Jim Meyering  <meyering@lucent.com>
87521
87522         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87523         think it should be used as a general replacement for isascii.
87524         * lib/fnmatch.c: Likewise.
87525         * lib/mbswidth.c: Likewise
87526         * lib/regex.c: Likewise.
87527
87528         Don't use atoi.
87529         * lib/userspec.c: Include sys/param.h and limits.h.
87530         Include xstrtol.h.
87531         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87532         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87533         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87534         UID, GID.  Check range.
87535
87536 2000-09-06  Jim Meyering  <meyering@lucent.com>
87537
87538         * lib/getopt.c (_getopt_internal): Update from glibc.
87539
87540 2000-08-30  Jim Meyering  <meyering@lucent.com>
87541
87542         * lib/strftime.c: Merge in changes from GNU libc.
87543
87544 2000-08-26  Jim Meyering  <meyering@lucent.com>
87545
87546         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87547         * m4/fpending.m4: New file.
87548
87549 2000-08-26  Jim Meyering  <meyering@lucent.com>
87550
87551         * lib/closeout.c: Include "__fpending.h".
87552         (close_stdout_status): Return right away if there's nothing to flush.
87553
87554         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87555         * lib/__fpending.c: New file.
87556         * lib/__fpending.h: New file.
87557
87558 2000-08-20  Jim Meyering  <meyering@lucent.com>
87559
87560         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87561         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87562         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87563
87564 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87565
87566         Improve fileutils installation on systems where running
87567         programs (like install) can't be unlinked.
87568         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87569         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87570
87571 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87572
87573         Standardize on "memory exhausted" instead of "Memory exhausted"
87574         or "virtual memory exhausted".
87575         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87576         "virtual memory exhausted".
87577         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87578         our own message.
87579         * lib/userspec.c (parse_user_spec): Likewise.
87580         * lib/bumpalloc.h: comment fix
87581         * lib/same.c, userspec.c: Include xalloc.h.
87582
87583         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87584         not char *const and pointing to a constant array.
87585         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87586         (xrealloc): Comment fix.
87587
87588         * lib/userspec.c (parse_user_spec):
87589         Don't translate a message until just before returning,
87590         to avoid unnecessary translation.
87591
87592 2000-08-07  Jim Meyering  <meyering@lucent.com>
87593
87594         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87595         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87596         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87597         getgroups.c, gethostname.c, getopt.h, group-member.c,
87598         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87599         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87600         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87601         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87602         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87603         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87604         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87605         yesno.c: Back out Copyright date changes for each file with no change
87606         this year.  This eases coordination with other programs using the same
87607         source code modules.  From Paul Eggert.
87608
87609 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87610
87611         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87612         not char, for compatibility with glibc 2.1.3 strftime.c.
87613
87614 2000-08-03  Greg McGary  <greg@mcgary.org>
87615
87616         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87617         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87618         (EXTEND_BUFFER): Use them.
87619
87620 2000-08-01  Jim Meyering  <meyering@lucent.com>
87621
87622         * lib/dirname.c (ISSLASH): Define.
87623         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87624         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87625         both `\' and `/' may be use as path separators.
87626         Based on a patch from Prashant TR.
87627
87628 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87629
87630         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87631         slot vector a constant, since it might get modified.
87632
87633 2000-07-31  Jim Meyering  <meyering@lucent.com>
87634
87635         * lib/xmalloc.c: Use `virtual memory exhausted', not
87636         `Memory exhausted'.
87637         * lib/obstack.c (print_and_abort): Likewise.
87638
87639 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87640
87641         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87642         buffer, so that the caller can always quote one small
87643         component of a "memory exhausted" message in slot 0.
87644         From a suggestion by Jim Meyering.
87645
87646 2000-07-30  Jim Meyering  <meyering@lucent.com>
87647
87648         * lib/makepath.c (make_path): Quote the other instance, too.
87649
87650         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87651         (STATIC_BUF_SIZE): Define.
87652         (quotearg_n_options): Use only statically allocated storage when
87653         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87654         than STATIC_BUF_SIZE.
87655
87656 2000-07-29  Jim Meyering  <meyering@lucent.com>
87657
87658         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87659         * lib/dirname.c (dir_name): Likewise.
87660
87661         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87662         `/'.
87663
87664         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87665         (dir_name): Assert that there are no trailing slashes.
87666
87667 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87668
87669         * lib/mbswidth.h (mbswidth): Add a flags argument.
87670         (mbswidth): New declaration.
87671         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87672         * lib/mbswidth.c (mbswidth): Add a flags argument.
87673         (mbsnwidth): New function.
87674
87675 2000-07-24  Jim Meyering  <meyering@lucent.com>
87676
87677         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87678
87679 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87680
87681         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87682
87683 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87684
87685         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87686         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87687         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87688         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87689         invoke multibyte primitives.
87690
87691 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87692
87693         * lib/quotearg.c:
87694         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87695         so that mbstate_t is always defined.
87696
87697         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87698         be 1 in at least one GCC installation, and this configuration
87699         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87700         performance on hosts that have mbrtowc but have only unibyte
87701         locales, but I assume these hosts are rare.
87702
87703 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87704
87705         * lib/mbswidth.c (_XOPEN_SOURCE):
87706         Don't define; this causes problems on Solaris 7.
87707         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87708
87709 2000-07-23  Jim Meyering  <meyering@lucent.com>
87710
87711         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87712         too: getgrgid, getpwuid, getuid.
87713
87714 2000-07-23  Jim Meyering  <meyering@lucent.com>
87715
87716         * lib/basename.c (base_name): Add an assertion.
87717
87718 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87719
87720         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87721         shadow its mbsinit function.
87722
87723 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87724
87725         * lib/mbswidth.h: New file.
87726         * lib/mbswidth.c: New file.
87727         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87728         (noinst_HEADERS): Add mbswidth.h.
87729
87730 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87731
87732         * lib/config.charset: Add support for FreeBSD. Improve support for
87733         HP-UX and IRIX 6.
87734
87735 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87736
87737         * m4/mbswidth.m4: New file.
87738         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87739
87740 2000-07-15  Jim Meyering  <meyering@lucent.com>
87741
87742         * lib/makepath.c: Include quote.h.
87743         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87744         corresponding argument in a `quote (...)' call.
87745         Give better diagnostics.
87746
87747         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87748         (noinst_HEADERS): Add quote.h.
87749
87750         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87751         from tar's src/misc.c.
87752         * lib/quote.h: New file.  Prototypes for same.
87753
87754 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87755
87756         From a suggestion by Bruno Haible.
87757         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87758         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87759         to decide whether to define the BeOS workaround macro;
87760         this adjusts to the change to AC_MBSTATE_T.
87761
87762 2000-07-14  Jim Meyering  <meyering@lucent.com>
87763
87764         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87765         jm_AC_TYPE_UINTMAX_T.
87766
87767 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87768
87769         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87770
87771         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87772         quotearg_buffer_restyled): Add support for
87773         clocale_quoting_style.  Undo previous change to
87774         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87775         and "{RIGHT QUOTATION MARK}" msgids.
87776
87777 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87778
87779         From a suggestion by Bruno Haible.
87780         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87781         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87782         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87783         and mbstate_t, to a single-part test that simply defines mbstate_t.
87784         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87785         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87786
87787 2000-07-10  Jim Meyering  <meyering@lucent.com>
87788
87789         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87790
87791         * m4/gnu-source.m4: Output to confdefs.h directly.
87792         Suggestion from Akim Demaille.
87793
87794 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87795
87796         The old behavior of quoting `like this' doesn't look good with
87797         newer, ISO-style fonts.  See:
87798         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87799
87800         Instead, quote "like this" by default.  Let the translator
87801         tailor the locale-specific quoting behavior by providing
87802         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87803
87804         * lib/quotearg.c (N_): New macro.
87805         (gettext_default): New function.
87806         (quotearg_buffer_restyled): Use
87807         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87808         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87809
87810 2000-07-09  Jim Meyering  <meyering@lucent.com>
87811
87812         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87813         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87814
87815         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87816         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87817
87818 2000-07-09  Jim Meyering  <meyering@lucent.com>
87819
87820         * lib/Most files: Update copyright dates to include 2000.
87821
87822 2000-07-08  Jim Meyering  <meyering@lucent.com>
87823
87824         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87825         if not defined.
87826         (xgethostname): Remove now-unnecessary #ifdef.
87827         Move declaration of `err' into loop where it's used.
87828
87829 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87830         and Bruno Haible  <haible@clisp.cons.org>
87831
87832         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87833         only if the test for an object-type mbstate_t fails.  This
87834         prevents us from mistakenly reporting that mbstate_t is a
87835         system object type after we "#define mbstate_t int" to work
87836         around its lack.
87837
87838 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87839         and Bruno Haible  <haible@clisp.cons.org>
87840
87841         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87842
87843 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87844
87845         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87846         to strerror_r.
87847         Include <ctype.h> for use of isalpha.
87848
87849 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87850
87851         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87852         by allocating a larger buffer. Test the gethostname return value for
87853         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87854         returns an error and ENAMETOOLONG isn't defined.
87855
87856 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87857
87858         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87859         dimension.
87860
87861 2000-07-04  Jim Meyering  <meyering@lucent.com>
87862
87863         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87864         of the deprecated AC_CHECKING.
87865
87866 2000-07-04  Jim Meyering  <meyering@lucent.com>
87867
87868         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87869         Reported by Bruno Haible.
87870
87871 2000-07-04  Jim Meyering  <meyering@lucent.com>
87872
87873         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87874         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87875         lacks mbrtowc.
87876
87877 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87878
87879         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87880         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87881
87882 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87883         and Bruno Haible  <haible@clisp.cons.org>
87884
87885         * lib/quotearg.c (mbrtowc):
87886         Assign to *pwc, and return 1 only if result is nonzero.
87887         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87888
87889 2000-07-03  Jim Meyering  <meyering@lucent.com>
87890
87891         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87892
87893 2000-07-03  Jim Meyering  <meyering@lucent.com>
87894
87895         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87896         This is necessary to get a definition of e.g., UTMP_FILE on
87897         HP-UX 10.20.
87898         From Bob Proulx.
87899
87900 2000-07-02  Jim Meyering  <meyering@lucent.com>
87901
87902         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87903
87904         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87905         AC_LIBOBJ(function_name).
87906         * m4/chown.m4: Likewise.
87907         * m4/fnmatch.m4: Likewise.
87908         * m4/ftruncate.m4: Likewise.
87909         * m4/getgroups.m4: Likewise.
87910         * m4/getline.m4: Likewise.
87911         * m4/group-member.m4: Likewise.
87912         * m4/jm-macros.m4: Likewise.
87913         * m4/lstat.m4: Likewise.
87914         * m4/malloc.m4: Likewise.
87915         * m4/memcmp.m4: Likewise.
87916         * m4/nanosleep.m4: Likewise.
87917         * m4/putenv.m4: Likewise.
87918         * m4/realloc.m4: Likewise.
87919         * m4/regex.m4: Likewise.
87920         * m4/stat.m4: Likewise.
87921         * m4/strftime.m4: Likewise.
87922
87923 2000-07-02  Jim Meyering  <meyering@lucent.com>
87924
87925         * lib/quotearg.c (mbstate_t): Don't define here.
87926
87927 2000-07-02  Jim Meyering  <meyering@lucent.com>
87928
87929         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87930
87931 2000-07-01  Jim Meyering  <meyering@lucent.com>
87932
87933         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87934
87935 2000-07-01  Jim Meyering  <meyering@lucent.com>
87936
87937         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87938         problem.
87939
87940 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87941
87942         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87943         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87944
87945 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87946
87947         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87948         per change in ../m4/ls-mntd-fs.m4.
87949         (read_filesystem_list): Ignore symbolic links.
87950
87951 2000-06-29  Jim Meyering  <meyering@lucent.com>
87952
87953         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87954         for declaration of strcmp.
87955
87956         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87957
87958         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87959         Avoid warning by casting result to `char *' to remove `const'.
87960
87961 2000-06-28  Jim Meyering  <meyering@lucent.com>
87962
87963         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87964         included by quotearg.c, for which we perform this test.  From
87965         Bruno Haible.
87966
87967 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87968
87969         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87970         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87971         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87972
87973 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87974
87975         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87976
87977 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87978
87979         savedir now sets errno on failure and invokes xmalloc to get memory.
87980         Fix a couple of other minor bugs while we're at it.
87981
87982         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87983         (NAMLEN): Remove macro.
87984         (malloc, realloc): Remove decls.
87985         (stpcpy): Likewise.
87986         ("xalloc.h"): Include.
87987         (NAME_SIZE_DEFAULT): New macro.
87988         (savedir): Use xmalloc / xrealloc to allocate memory.
87989         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87990         Skip "" directory entries.
87991         Use strlen to calculate directory entry length, since the old method
87992         is rarely used these days and isn't worth supporting.
87993         Don't use a pointer after freeing it.
87994         Check for integer overflow when calculating allocation size.
87995         Use memcpy to copy entries, instead of stpcpy.
87996         Set errno properly when returning NULL.
87997         Check for readdir error.
87998
87999 2000-06-26  Jim Meyering  <meyering@lucent.com>
88000
88001         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
88002
88003 2000-06-25  Jim Meyering  <meyering@lucent.com>
88004
88005         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
88006         Linux header bug when _XOPEN_SOURCE is defined to 500.
88007
88008 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88009
88010         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
88011         deficiency.
88012
88013 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
88014
88015         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
88016         Include xalloc.h.
88017         Don't include <stdlib.h>.  Don't declare malloc, realloc.
88018
88019 2000-06-24  Jim Meyering  <meyering@lucent.com>
88020
88021         * m4/strerror_r.m4: Revive this file -- to try out an experimental
88022         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
88023         for which strerror does return char*, but which lacks a conveniently
88024         accessible declaration of the function.  If the compile-test says
88025         strerror_r doesn't work, then resort to a `run'-test that works on
88026         BeOS and segfaults on DEC Unix.
88027
88028 2000-06-24  Jim Meyering  <meyering@lucent.com>
88029
88030         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
88031
88032 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88033
88034         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
88035         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
88036
88037 2000-06-23  Paul Eggert  <eggert@twinsun.com>
88038
88039         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
88040         (mbrtowc, mbstate_t): Define substitutes if
88041         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
88042         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
88043         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
88044
88045 2000-06-23  Jim Meyering  <meyering@lucent.com>
88046
88047         * m4/afs.m4: Add missing AC_MSG_RESULT.
88048         Reported by Bruno Haible.
88049
88050         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
88051         Suggestion from Bruno Haible.
88052
88053 2000-06-23  Jim Meyering  <meyering@lucent.com>
88054
88055         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
88056
88057 2000-06-21  Jim Meyering  <meyering@lucent.com>
88058
88059         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
88060
88061 2000-06-21  Jim Meyering  <meyering@lucent.com>
88062
88063         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
88064         (noinst_HEADERS): Add getstr.h.
88065
88066         * lib/getline.c (getstr): Move into a separate file.
88067         * lib/getstr.c (getstr): New file, extracted from getline.c, with
88068         the following changes: new parameter, delim2; both delim[12]
88069         parameters have type `int', not `char'.  The latter would lose
88070         with 8-bit delimiters.
88071         * lib/getstr.h: New file.
88072
88073 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88074
88075         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
88076         than 1024, return a memory chunk of least possible size, instead
88077         of size PATH_MAX + 2. In the loop, increment the size proportionally.
88078         Use free/xmalloc instead of xrealloc to avoid copying for very long
88079         paths.
88080
88081 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88082
88083         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
88084         the empty string.
88085
88086 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
88087
88088         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
88089         address, not strdup.  Include <stdlib.h> and don't declare free().
88090
88091 2000-06-19  Jim Meyering  <meyering@lucent.com>
88092
88093         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
88094
88095 2000-06-18  Jim Meyering  <meyering@lucent.com>
88096
88097         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
88098
88099         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
88100         `checking whether...' message to be consistent with that of the
88101         lstat test.
88102
88103 2000-06-18  Jim Meyering  <meyering@lucent.com>
88104
88105         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
88106         Besides, these days every porting target provides a mkdir function.
88107
88108         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
88109         needed. (this snippet comes from src/system.h).
88110
88111 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
88112
88113         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
88114
88115 2000-06-15  Paul Eggert  <eggert@twinsun.com>
88116
88117         * lib/human.c (adjust_value): New function.
88118         (human_readable_inexact): Apply rounding style even when
88119         printing approximate values.
88120
88121 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88122
88123         * lib/human.c (human_readable_inexact): Allow an input block
88124         size that is not a multiple of the output block size, and vice versa.
88125         Reported by Piergiorgio Sartor.
88126
88127 2000-06-14  Paul Eggert  <eggert@twinsun.com>
88128
88129         * lib/getdate.y (get_date): Apply relative times after time
88130         zone indicator, not before.  Reported by Todd A. Jacobs.
88131
88132 2000-06-13  Jim Meyering  <meyering@lucent.com>
88133
88134         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
88135
88136         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
88137
88138 2000-06-12  Paul Eggert  <eggert@twinsun.com>
88139
88140         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
88141
88142 2000-06-12  Jim Meyering  <meyering@lucent.com>
88143
88144         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
88145         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
88146         optional argument.
88147         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
88148         the optional argument, `lib'.
88149
88150 2000-06-08  Jim Meyering  <meyering@lucent.com>
88151
88152         * m4/largefile.m4: Remove file (now that it's part of autoconf).
88153
88154 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88155
88156         Rewrite largefile configuration so that we don't need to run
88157         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
88158         AC_CANONICAL_HOST in configure.in -- jmm]
88159
88160         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
88161         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
88162         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
88163         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
88164         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
88165         All uses changed.
88166         Instead of inspecting the output of getconf, try to compile the
88167         test program without and with the macro definition.
88168         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88169         for getconf.  Instead, check for the needed flags by compiling
88170         test programs.
88171
88172 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88173
88174         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88175
88176 2000-06-04  Jim Meyering  <meyering@lucent.com>
88177
88178         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88179         SunOS 4.1.4 for which gid_t is an unsigned type.
88180
88181 2000-06-03  Jim Meyering  <meyering@lucent.com>
88182
88183         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88184         now that autoconf requires that.
88185
88186         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88187         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88188         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88189
88190 2000-06-03  Jim Meyering  <meyering@lucent.com>
88191
88192         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88193
88194 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88195
88196         * m4/glibc21.m4: New file.
88197         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88198
88199 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88200
88201         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88202         newer, don't install charset.alias.
88203         * lib/config.charset: Change the Linux/glibc rules so they become empty
88204         on glibc-2.1 or newer.
88205
88206 2000-06-02  Jim Meyering  <meyering@lucent.com>
88207
88208         * lib/mountlist.c: Back out last change.  Instead, do this...
88209         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88210         me_dummy member using the same `ignore'-testing code.
88211         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88212         fs_type strings.
88213         From Mark D. Roth.
88214
88215 2000-05-29  Jim Meyering  <meyering@lucent.com>
88216
88217         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88218         mounts with the `ignore' attribute.  Based on a patch from
88219         Mark D. Roth.
88220
88221 2000-05-28  Jim Meyering  <meyering@lucent.com>
88222
88223         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88224         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88225         * m4/stat.m4: Likewise.
88226         * m4/lstat.m4: Likewise.
88227         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88228
88229         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88230         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88231
88232 2000-05-26  Jim Meyering  <meyering@lucent.com>
88233
88234         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88235
88236 2000-05-24  Jim Meyering  <meyering@lucent.com>
88237
88238         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88239         autoconf requires that.
88240         * m4/lib-check.m4: Likewise.
88241         * m4/jm-macros.m4: Likewise.
88242         * m4/strftime.m4: Likewise.
88243
88244         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88245         AC_CHECK_DECLS, now that autoconf requires that.
88246
88247 2000-05-22  Jim Meyering  <meyering@lucent.com>
88248
88249         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88250         * m4/lstat.m4: Likewise.
88251
88252 2000-05-22  Jim Meyering  <meyering@lucent.com>
88253
88254         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88255
88256 2000-05-20  Jim Meyering  <meyering@lucent.com>
88257
88258         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88259         (jm_PREREQ): Use it.
88260
88261 2000-05-18  Jim Meyering  <meyering@lucent.com>
88262
88263         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88264         back, too, since it may have been modified by allocate_entry.
88265         (hash_delete): Rewrite to use neither the assignment operator
88266         nor the comma operator in an if-expression.
88267
88268 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88269
88270         * lib/closeout.c:
88271         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88272         Remove; no longer needed.
88273         "quotearg.h": Add include.
88274         (file_name): Do not bother to explicitly initialize to NULL; it's less
88275         efficient on some hosts.
88276         (close_stdout_status): Remove test as to whether stdout was already
88277         closed; it breaks for the case "echo x | sort >&-".
88278         Quote file name colons.
88279         Do not assume that _("write error") lacks format strings.
88280
88281 2000-05-15  Jim Meyering  <meyering@lucent.com>
88282
88283         * lib/version-etc.c (version_etc_copyright): Update the copyright
88284         string used in all --version output.
88285
88286 2000-05-14  Jim Meyering  <meyering@lucent.com>
88287
88288         * lib/closeout.c (close_stdout_set_file_name): New function.
88289         (close_stdout_status): Use new file-scoped global.
88290         Return right away if fstat says the stdout file descriptor is invalid.
88291         * lib/closeout.h (close_stdout_set_file_name): Declare.
88292
88293 2000-05-10  Jim Meyering  <meyering@lucent.com>
88294
88295         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88296         (close_stdout_set_status): New function.
88297         * lib/closeout.h (close_stdout_set_status): Declare.
88298
88299 2000-05-09  Jim Meyering  <meyering@lucent.com>
88300
88301         * m4/gettext.m4: Rename this...
88302         * m4/libintl.m4: ...to this.
88303
88304 2000-05-08  Jim Meyering  <meyering@lucent.com>
88305
88306         * lib/long-options.c: Don't include closeout.h.
88307         (parse_long_options): Don't call close_stdout for --version.
88308
88309 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88310
88311         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88312         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88313         2.1.3 bug.  This avoids a clash when files like regex.c define
88314         _GNU_SOURCE.
88315
88316 2000-05-06  Jim Meyering  <meyering@lucent.com>
88317
88318         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88319         (AC_REPLACE_FUNCS): Add strnlen.
88320
88321         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88322         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88323
88324         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88325         AC_SEARCH_LIBS call for nanosleep.
88326         (LIB_NANOSLEEP): Set and AC_SUBST.
88327
88328 2000-05-06  Jim Meyering  <meyering@lucent.com>
88329
88330         * lib/strnlen.c: Undefine __strnlen and strnlen.
88331         [!weak_alias]: Define __strnlen to strnlen.
88332
88333         * lib/atexit.c: New file, from libiberty.
88334
88335 2000-05-06  Jim Meyering  <meyering@lucent.com>
88336
88337         * lib/closeout.c (close_stdout_status): Also check for errors on the
88338         stderr stream.
88339
88340 2000-05-05  Jim Meyering  <meyering@lucent.com>
88341
88342         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88343         AC_SEARCH_LIBS call for clock_gettime.
88344         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88345
88346         * m4/search-libs.m4: Update from autoconf.
88347
88348         su doesn't work on Solaris 2.6.
88349         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88350         <shadow.h>.  Reported by Dragos Harabor.
88351
88352 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88353
88354         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88355         memcpy instead of xmalloc, xrealloc, path_concat.
88356         (locale_charset): Treat empty environment variables as absent.
88357         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88358
88359 2000-05-04  Jim Meyering  <meyering@lucent.com>
88360
88361         * lib/getopt.c: Update from glibc.
88362         * lib/obstack.c: Likewise.
88363         * lib/obstack.h: Likewise.
88364         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88365         file
88366
88367         * lib/regex.h: Likewise.
88368         * lib/strndup.c: Likewise.
88369         * lib/strnlen.c: New file, from glibc.
88370
88371 2000-05-03  Jim Meyering  <meyering@lucent.com>
88372
88373         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88374
88375 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88376
88377         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88378         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88379         compile-time test, rather than inspecting host and OS, to
88380         decide whether to define _LARGEFILE_SOURCE.
88381
88382 2000-05-01  Jim Meyering  <meyering@lucent.com>
88383
88384         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88385
88386         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88387         Based on a patch from Bruno Haible.
88388
88389 2000-05-01  Jim Meyering  <meyering@lucent.com>
88390
88391         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88392
88393 2000-04-29  Jim Meyering  <meyering@lucent.com>
88394
88395         * lib/path-concat.c: Declare strdup only if it's not defined.
88396         * lib/canon-host.c: Likewise.
88397
88398 2000-04-28  Jim Meyering  <meyering@lucent.com>
88399
88400         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88401         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88402         is included first, then limits.h is included by locale.h by libintl.h.
88403         From John David Anglin.
88404
88405 2000-04-25  Jim Meyering  <meyering@lucent.com>
88406
88407         * lib/makepath.c (S_IRWXUGO): Define.
88408         (make_path): Always perform explicit chmod if MODE specifies any
88409         of the `special' permission bits.  Prompted by a bug report against
88410         install from Mate Wierdl and Joost van Baal.
88411
88412 2000-04-18  Jim Meyering  <meyering@lucent.com>
88413
88414         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88415         (jm_PREREQ): Use it.
88416
88417 2000-04-18  Jim Meyering  <meyering@lucent.com>
88418
88419         * lib/README: New file.
88420
88421         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88422         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88423
88424 2000-04-17  Jim Meyering  <meyering@lucent.com>
88425
88426         Get it right :-)
88427         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88428         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88429         Suggestion from Akim Demaille.
88430
88431 2000-04-17  Jim Meyering  <meyering@lucent.com>
88432
88433         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88434         the definition of it to rpl_strftime also defined-away the system's
88435         declaration.
88436
88437 2000-04-15  Jim Meyering  <meyering@lucent.com>
88438
88439         Use `C' to denote so-called `contiguous' files, the same way
88440         that tar does.
88441         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88442         (ftypelet): Use S_ISCTG.
88443         From Michael Deutschmann.
88444
88445 2000-04-14  Jim Meyering  <meyering@lucent.com>
88446
88447         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88448         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88449         clobbered.
88450
88451 2000-04-14  Jim Meyering  <meyering@lucent.com>
88452
88453         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88454
88455 2000-04-13  Jim Meyering  <meyering@lucent.com>
88456
88457         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88458         AH_VERBATIM to insert required #ifndef into config.h.in.
88459         Suggestion from Akim Demaille.
88460
88461 2000-04-12  Jim Meyering  <meyering@lucent.com>
88462
88463         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88464         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88465         Christian Krackowizer.
88466
88467         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88468         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88469         (AC_SYS_LARGEFILE): Require.
88470         (AM_C_PROTOTYPES): Require.
88471
88472 2000-04-08  Jim Meyering  <meyering@lucent.com>
88473
88474         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88475         names don't conflict.  Reported by Eli Zaretskii.
88476
88477 2000-04-07  Jim Meyering  <meyering@lucent.com>
88478
88479         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88480         sys/types.h, to work around system header problems on AIX 3.2.5.
88481         From Bruno Haible.
88482
88483 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88484
88485         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88486         bug.  Deal with the different error behavior of Irix iconv.
88487
88488 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88489
88490         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88491         IRIX if the installer said otherwise.
88492
88493 2000-04-05  Jim Meyering  <meyering@lucent.com>
88494
88495         Portability tweaks required for ultrix4.3.
88496         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88497         (jm_CHECK_DECLS): Add getutent to the list of functions.
88498         (_jm_DECL_HEADERS): Add utmpx.h.
88499         From John David Anglin.
88500
88501         * m4/strftime.m4: Back out the 2000-04-02 change.
88502         Instead of that change, simply undefine putenv in the test program.
88503
88504 2000-04-05  Jim Meyering  <meyering@lucent.com>
88505
88506         Portability tweaks required for ultrix4.3.
88507         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88508         getutent.
88509         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88510         * lib/canon-host.c: Declare strdup.
88511         * lib/path-concat.c: Likewise.
88512         From John David Anglin.
88513
88514 2000-04-04  Jim Meyering  <meyering@lucent.com>
88515
88516         Be more DOS 8.3-friendly.
88517         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88518         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88519         * lib/Makefile.am: Reflect renaming.
88520         Reported by Eli Zaretskii.
88521
88522         Use a temporary file name that won't clash with `charset.alias'
88523         in the DOS 8.3 name space.
88524         * lib/Makefile.am (charset_tmp): Define.
88525         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88526         (uninstall-local): Likewise.
88527         Reported by Eli Zaretskii.
88528
88529 2000-04-03  Jim Meyering  <meyering@lucent.com>
88530
88531         * m4/gettext.m4: Fix typo in comment.
88532
88533         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88534         textutils/configure.in).  Suggestion from Paul Eggert.
88535         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88536
88537 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88538
88539         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88540         variable in the shell rather than using putenv, which isn't
88541         portable.  This avoids the configure-time inter-test dependency
88542         on the potentially-renamed putenv function.
88543
88544 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88545
88546         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88547         before checking struct stat.st_blksize, so that
88548         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88549
88550 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88551
88552         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88553         since strftime.c uses HAVE_STRFTIME to decide whether to use
88554         the underlying strftime.
88555
88556 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88557
88558         * lib/time/strftime.c (my_strftime): Make sure we call the system
88559         strftime, not ourselves, when invoking the underlying strftime.
88560
88561 2000-03-24  Jim Meyering  <meyering@lucent.com>
88562
88563         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88564         (charset_alias): Define.
88565         (install-exec-local): Factor out common code.
88566         (uninstall-local): Split lines longer than 80.
88567         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88568         (SUFFIXES): Define.
88569         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88570         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88571
88572 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88573
88574         * lib/config.charset: Output a line containing "Packages using this
88575         file".
88576         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88577         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88578         ref-del.sed): New rules.
88579
88580 2000-03-17  Jim Meyering  <meyering@lucent.com>
88581
88582         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88583         Otherwise, include <strings.h>
88584
88585 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88586
88587         * lib/unicodeio.c (utf8_wctomb): New function.
88588         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88589         format instead of in UCS-4 with platform dependent endianness.
88590
88591 2000-03-10  Jim Meyering  <meyering@lucent.com>
88592
88593         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88594         From Marco Franzen.
88595
88596 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88597
88598         * lib/savedir.c (savedir): Work even if directory size is
88599         negative; this can happen with some screwy NFS configurations.
88600
88601 2000-03-06  Jim Meyering  <meyering@lucent.com>
88602
88603         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88604         if it's NULL (because we ran out of memory).  From Bruno Haible.
88605
88606 2000-03-05  Jim Meyering  <meyering@lucent.com>
88607
88608         * lib/localcharset.c ("path-concat.h"): Include.
88609         (get_charset_aliases): Use path_concat instead of ANSI string
88610         concatenation.
88611
88612         * lib/unicodeio.h (PARAMS): Define.
88613         Use it to guard prototype.
88614
88615 2000-03-04  Jim Meyering  <meyering@lucent.com>
88616
88617         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88618         for lib/localcharset.c.
88619
88620 2000-03-04  Jim Meyering  <meyering@lucent.com>
88621
88622         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88623         installing into it.
88624         (uninstall-local): Uncomment this rule so `make distcheck' works
88625         once again.
88626
88627         * lib/unicodeio.c (<errno.h>): Include it.
88628         (errno): Declare if not defined.
88629
88630         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88631
88632         * lib/config.charset: New version, incorporating remarks from a linux
88633         i18n mailing list.  From Bruno Haible.
88634
88635 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88636
88637         * m4/codeset.m4: New file.
88638         * m4/iconv.m4: New file.
88639         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88640
88641 2000-03-03  Jim Meyering  <meyering@lucent.com>
88642
88643         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88644
88645 2000-03-02  Jim Meyering  <meyering@lucent.com>
88646
88647         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88648         the messages come out on separate lines.
88649
88650         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88651         rather than jm_CHECK_DECLARATIONS.
88652         * m4/decl.m4: Remove now-unused file.
88653
88654         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88655         geteuid.
88656
88657 2000-03-02  Jim Meyering  <meyering@lucent.com>
88658
88659         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88660
88661 2000-03-01  Jim Meyering  <meyering@lucent.com>
88662
88663         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88664         * lib/unicodeio.c: Likewise.
88665
88666 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88667
88668         * lib/config.charset: New file.
88669         * lib/localcharset.c: New file.
88670         * lib/unicodeio.h, lib/unicodeio.c: New files.
88671         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88672         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88673         (noinst_HEADERS): Add unicodeio.h.
88674         (all-local, install-exec-local, charset.alias): New targets.
88675
88676 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88677
88678         * lib/quotearg.c (ALERT_CHAR): New macro.
88679         (quotearg_buffer_restyled): Use it.
88680
88681 2000-02-27  Jim Meyering  <meyering@lucent.com>
88682
88683         * m4/check-decl.m4: Add getenv to the list.
88684
88685 2000-02-27  Jim Meyering  <meyering@lucent.com>
88686
88687         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88688         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88689
88690         * lib/backupfile.c: Guard inclusion of stdlib.h with
88691         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88692         Declare malloc if needed.
88693
88694         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88695         `#ifndef HAVE_DECL..'
88696         now that autoconf always defines the HAVE_DECL_ symbols.
88697         * lib/human.c: Likewise.
88698         * lib/same.c: Likewise.
88699         * lib/strtoumax.c: Likewise.
88700
88701         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88702         declaration check was not run.
88703         * lib/hash.c: Likewise.
88704         * lib/human.c: Likewise.
88705         * lib/same.c: Likewise.
88706         * lib/strtoumax.c: Likewise.
88707
88708         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88709         `.', then first look up the entire `.'-containing string as a login
88710         name.
88711
88712 2000-02-23  Jim Meyering  <meyering@lucent.com>
88713
88714         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88715         in place of my hack.
88716
88717 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88718
88719         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88720         (textint): New typedef.
88721         (parser_control): Member year changed from int to textint.
88722         All uses changed.
88723         (YYSTYPE): Removed; replaced by %union with int and textint members.
88724         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88725         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88726         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88727         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88728         (date, number, to_year): Use width of number in digits, not its value,
88729         to determine whether it's a 2-digit year, or a 2-digit time.
88730         (yylex): Store number of digits of numeric tokens.
88731         Reported by John Kendall.
88732
88733         (parser_control): Changed from struct parser_control to typedef (for
88734         consistency).  All uses changed.
88735
88736         (tID): Removed; not used.
88737         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88738
88739 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88740
88741         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88742         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88743
88744 2000-02-12  Jim Meyering  <meyering@lucent.com>
88745
88746         * lib/userspec.c (ISDIGIT): Define it.
88747         (isdigit): Remove definition.
88748         (is_number): Use ISDIGIT, not isdigit.
88749         <libintl.h>: Include.
88750         (_ and N_): Define.
88751         (parse_user_spec): Mark translatable strings.
88752
88753 2000-02-10  Jim Meyering  <meyering@lucent.com>
88754
88755         With these changes, nanosleep.[ch] are finally enough like the other
88756         lib/* replacement files to compile on a few more losing systems.
88757
88758         * lib/nanosleep.h: Don't include config.h.
88759         Remove prototype from declaration of nanosleep.
88760         (PARAMS): Remove now-unneeded definition.
88761         * lib/nanosleep.c: #undef nanosleep.
88762         (rpl_nanosleep): Rename from nanosleep.
88763
88764 2000-02-10  Jim Meyering  <meyering@lucent.com>
88765
88766         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88767         gnu_nanosleep to rpl_nanosleep.
88768
88769 2000-02-09  Jim Meyering  <meyering@lucent.com>
88770
88771         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88772         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88773
88774 2000-02-08  Akim Demaille  <akim@epita.fr>
88775
88776         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88777         `[' and `]' and remove uses of `changequote'.
88778         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88779         (AC_SYS_LARGEFILE): Likewise.
88780         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88781         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88782         of changequote.
88783         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88784         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88785         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88786         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88787
88788 2000-02-05  Jim Meyering  <meyering@lucent.com>
88789
88790         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88791         Remove explicit use of AC_HEADER_TIME.  It is required by
88792         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88793         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88794         in autoconf whereby the expansion of the latter ended up preceding
88795         the expansion of its prerequisite, AC_HEADER_TIME.
88796         Reported by Volker Borchert.
88797
88798 2000-02-03  Jim Meyering  <meyering@lucent.com>
88799
88800         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88801
88802 2000-02-03  Jim Meyering  <meyering@lucent.com>
88803
88804         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88805         rather than with `#if HAVE_UTMPNAME'.
88806
88807 2000-02-02  Jim Meyering  <meyering@lucent.com>
88808
88809         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88810         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88811         Reported by Eli Zaretskii.
88812
88813 2000-02-01  Jim Meyering  <meyering@lucent.com>
88814
88815         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88816
88817 2000-01-31  Jim Meyering  <meyering@lucent.com>
88818
88819         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88820         functions.  Add the time.h and sys/time.h headers along with the
88821         AC_REQUIRE'ment of AC_HEADER_TIME.
88822
88823 2000-01-31  Jim Meyering  <meyering@lucent.com>
88824
88825         * lib/nanosleep.h (nanosleep): Guard declaration with
88826         `#if ! HAVE_DECL_NANOSLEEP'.
88827         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88828         the declaration in that vendor's sys/timers.h.
88829         Reported by Christian Krackowizer.
88830
88831         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88832         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88833         (ISPRINT): Likewise.
88834         Reported by Tom Tromey.
88835
88836 2000-01-30  Jim Meyering  <meyering@lucent.com>
88837
88838         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88839
88840         * m4/prereq.m4 (utmp_includes): Define.
88841         Check for ut_user and ut_name members in both struct utmpx
88842         and struct utmp.
88843
88844 2000-01-30  Jim Meyering  <meyering@lucent.com>
88845
88846         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88847         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88848         header files where only utmpx.ut_user is declared.
88849
88850         * lib/readutmp.h (UT_USER): Define.
88851
88852 2000-01-29  Jim Meyering  <meyering@lucent.com>
88853
88854         * m4/lib-check.m4: New file containing library-related checks from
88855         fileutils and sh-utils (textutils had none).
88856
88857 2000-01-28  Jim Meyering  <meyering@lucent.com>
88858
88859         * m4/perl.m4: Change format of warning message to look more like that
88860         from the missing script.  Suggestion from François Pinard.
88861
88862 2000-01-25  Jim Meyering  <meyering@lucent.com>
88863
88864         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88865         well as time.h in the compile check.
88866         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88867         Fix typo in cross-compiling case: s/yes/no/.
88868
88869 2000-01-23  Jim Meyering  <meyering@lucent.com>
88870
88871         * m4/jm-macros.m4: Move df-related tests here from
88872         fileutils/configure.in
88873
88874         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88875         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88876
88877         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88878         s/space/ac_fsusage_space/.
88879         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88880
88881         * m4/ftruncate.m4: New file (derived from part of
88882         fileutils/configure.in).
88883         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88884         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88885
88886         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88887         AC_SUBST these here, rather than just in sh-util/configure.in, so
88888         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88889         all the same.
88890         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88891         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88892         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88893         (AC_SUBST(POW_LIBM)): Likewise.
88894         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88895
88896 2000-01-23  Jim Meyering  <meyering@lucent.com>
88897
88898         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88899         obstack.c.
88900
88901 2000-01-22  Jim Meyering  <meyering@lucent.com>
88902
88903         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88904
88905         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88906
88907         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88908         configure.in
88909         (AC_CHECK_HEADERS): Likewise for sh-utils.
88910         (AC_CHECK_HEADERS): Likewise for textutils.
88911         Merge the three lists of headers.
88912
88913         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88914         from fileutils' configure.in.
88915
88916         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88917         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88918         check-decl.m4.
88919
88920         * m4/check-decl.m4: Use #if rather than #ifdef.
88921         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88922         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88923         (_jm_DECL_HEADERS): Define new function.
88924         (jm_CHECK_DECLARATIONS): Require it.
88925
88926 2000-01-22  Jim Meyering  <meyering@lucent.com>
88927
88928         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88929         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88930         Required for some AIX systems.  Reported by Christian Krackowizer.
88931         [TESTING] (main): New function.
88932
88933         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88934         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88935         letters.
88936
88937         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88938         iswprint.
88939
88940         * lib/strverscmp.c (ISDIGIT): Define.
88941         (strverscmp): Use ISDIGIT, not isdigit.
88942
88943 2000-01-19  Jim Meyering  <meyering@lucent.com>
88944
88945         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88946         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88947         defines `struct timespec' in <sys/time.h>
88948
88949         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88950         Thanks to Akim for explaining.
88951
88952 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88953
88954         * lib/nanosleep.c (nanosleep):
88955         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88956         POSIX.1 doesn't require SA_INTERRUPT and some systems
88957         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88958         it's been part of POSIX.1 since day 1 (in 1988).
88959
88960 2000-01-17  Jim Meyering  <meyering@lucent.com>
88961
88962         * lib/interlock: Remove unused file.  Reported by François Pinard.
88963
88964 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88965
88966         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88967         alert, backslash, formfeed, and vertical tab unnecessarily in
88968         shell quoting style.
88969
88970 2000-01-16  Jim Meyering  <meyering@lucent.com>
88971
88972         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88973         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88974         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88975         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88976
88977 2000-01-16  Jim Meyering  <meyering@lucent.com>
88978
88979         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88980         because the latter didn't work.
88981
88982 2000-01-15  Jim Meyering  <meyering@lucent.com>
88983
88984         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88985         (AC_REPLACE_FUNCS): Add memcpy and memset.
88986         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88987         Add strpbrk.
88988         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88989
88990 2000-01-12  Jim Meyering  <meyering@lucent.com>
88991
88992         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88993         (jm_PREREQ): Use it.
88994         (jm_PREREQ_READUTMP): New macro.
88995         (jm_PREREQ): Use it.
88996
88997 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88998
88999         Quote multibyte characters correctly.
89000         * m4/c-bs-a.m4: New file.
89001         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
89002         (jm_PREREQ): Use it.
89003
89004 2000-01-11  Paul Eggert  <eggert@twinsun.com>
89005
89006         * m4/uintmax_t.m4: Port to autoconf 2.13.
89007
89008 2000-01-08  Jim Meyering  <meyering@ascend.com>
89009
89010         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
89011         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
89012
89013 2000-01-04  Jim Meyering  <meyering@ascend.com>
89014
89015         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
89016         jm_STRUCT_DIRENT_D_TYPE.
89017         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
89018         jm_STRUCT_DIRENT_D_INO.
89019         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
89020         jm_STRUCT_UTIMBUF.
89021         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
89022         renamings.
89023         * m4/utime.m4: Likewise.
89024
89025         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
89026         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
89027
89028 2000-01-03  Paul Eggert  <eggert@twinsun.com>
89029
89030         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
89031         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
89032
89033 2000-01-02  Jim Meyering  <meyering@ascend.com>
89034
89035         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
89036         remember if this is necessary.
89037
89038 1999-12-26  Jim Meyering  <meyering@ascend.com>
89039
89040         * m4/jm-macros.m4: Use it here.
89041         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
89042
89043 1999-12-23  Jim Meyering  <meyering@ascend.com>
89044
89045         * m4/jm-macros.m4: Check for clock_gettime (moved from
89046         fileutils/configure.in)
89047         Check for gettimeofday.
89048
89049 1999-12-20  Jim Meyering  <meyering@ascend.com>
89050
89051         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
89052         autoconf-2.14a-1999-12-20.
89053
89054 1999-12-19  Jim Meyering  <meyering@ascend.com>
89055
89056         * m4/lstat-slash.m4: New file.
89057         * m4/jm-macros.m4: Use the new macro:
89058         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89059
89060 1999-12-07  Jim Meyering  <meyering@ascend.com>
89061
89062         * m4/perl.m4: Require that File::Compare be available, too.
89063         Too many systems seem to lack it.
89064
89065         * m4/strftime.m4: Add checks for most of the cpp macros tested in
89066         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
89067
89068 1999-11-18  Paul Eggert  <eggert@twinsun.com>
89069
89070         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
89071         problem with the QNX 4.25 shell, which doesn't propagate exit
89072         status of failed commands inside shell assignments.
89073
89074 1999-11-17  Jim Meyering  <meyering@ascend.com>
89075
89076         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
89077
89078 1999-11-07  Jim Meyering  <meyering@ascend.com>
89079
89080         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
89081
89082 1999-11-06  Jim Meyering  <meyering@ascend.com>
89083
89084         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
89085         * m4/jm-macros.m4 (jm_MACROS): Use it here.
89086
89087 1999-11-05  Jim Meyering  <meyering@ascend.com>
89088
89089         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
89090         configure.in of textutils, fileutils, and sh-utils into this one
89091         (shared between those packages) file.
89092         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
89093         AC_STRUCT_ST_BLKSIZE.
89094
89095 1999-11-03  Jim Meyering  <meyering@ascend.com>
89096
89097         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
89098         of AC_CHECK_TYPE checks includes unistd.h.
89099         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
89100         Suggestion from Akim Demaille.
89101
89102 1999-10-30  Jim Meyering  <meyering@ascend.com>
89103
89104         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
89105         m4-quoted string.
89106         * m4/ls-mntd-fs.m4: Likewise.
89107         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
89108         * m4/jm-winsz1.m4: Likewise.
89109
89110         * m4/const.m4: Remove file, since the fix made it into the experimental
89111         version of autoconf.
89112         * m4/mktime.m4: Likewise.
89113
89114         * m4/check-type.m4: Remove file, now that the latest version of
89115         AC_CHECK_TYPE takes a third arg to specify additional #includes.
89116
89117         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
89118         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
89119         AC_CHECK_TYPE.
89120
89121 1999-10-04  Jim Meyering  <meyering@ascend.com>
89122
89123         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
89124
89125 1999-09-22  Paul Eggert  <eggert@twinsun.com>
89126
89127         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
89128         2.95.1 bug with HP-UX 10.20.
89129
89130 1999-09-17  Jim Meyering  <meyering@ascend.com>
89131
89132         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
89133         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
89134         due to missing strdup (against sh-utils-2.0).
89135
89136 1999-08-29  Jim Meyering  <meyering@ascend.com>
89137
89138         * m4/jm-macros.m4: Require jm_BISON.
89139         * m4/bison.m4: New file.
89140
89141 1999-08-17  Paul Eggert  <eggert@twinsun.com>
89142
89143         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
89144         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
89145
89146 1999-08-05  Jim Meyering  <meyering@ascend.com>
89147
89148         * m4/getline.m4: Rename test file from conftestdata to conftest.data
89149         to avoid conflicts with `conftest' on 8+3 filesystems.
89150         Suggestion from Eli Zaretskii.
89151
89152 1999-08-04  Jim Meyering  <meyering@ascend.com>
89153
89154         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
89155         fileutils and sh-utils (textutils's getline test was inadequate).
89156         (AM_FUNC_GETLINE): Run this test.
89157         (AC_CHECK_FUNCS): Check for getdelim.
89158         Reported by Bob Proulx.
89159
89160 1999-08-02  Jim Meyering  <meyering@ascend.com>
89161
89162         * m4/jm-macros.m4: Add a comment.
89163
89164 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89165
89166         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
89167         <inttypes.h> defines strtoumax as a macro (and not as a
89168         function).
89169
89170 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89171
89172         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89173         that we can shift, multiply and divide unsigned long long
89174         values; Ultrix cc can't do it.
89175
89176 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89177
89178         * m4/mktime.m4: New file, which is a preview of what should appear
89179         in the next public autoconf release.
89180
89181 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89182
89183         * m4/lfs.m4: Remove this file.
89184         * m4/largefile.m4: New file.  It contains the old contents of
89185         lfs.m4, except that all names with prefix AC_LFS have been
89186         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89187         compatible with future autoconf versions.  Also, some minor m4
89188         quoting problems have been fixed.
89189
89190 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89191
89192         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89193         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89194         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89195         and simplify the shell code.
89196
89197 1999-08-01  Jim Meyering  <meyering@ascend.com>
89198
89199         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89200         m4.
89201
89202 1999-07-20  Jim Meyering  <meyering@ascend.com>
89203
89204         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89205
89206 1999-07-15  Jim Meyering  <meyering@ascend.com>
89207
89208         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89209
89210 1999-05-22  Jim Meyering  <meyering@ascend.com>
89211
89212         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89213
89214 1999-05-20  Jim Meyering  <meyering@ascend.com>
89215
89216         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89217         Add a colon after each `then' in case $4 is empty.
89218
89219 1999-05-16  Jim Meyering  <meyering@ascend.com>
89220
89221         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89222
89223 1999-05-10  Jim Meyering  <meyering@ascend.com>
89224
89225         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89226
89227         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89228         AC_FUNC_MKTIME.
89229
89230 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89231
89232         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89233
89234 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89235
89236         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89237         not CPPFLAGS, so that linking works correctly in IRIX.
89238
89239 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89240
89241         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89242
89243 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89244
89245         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89246         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89247         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89248         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89249         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89250
89251         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89252
89253 1999-04-20  Jim Meyering  <meyering@ascend.com>
89254
89255         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89256         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89257         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89258
89259 1999-04-18  Jim Meyering  <meyering@ascend.com>
89260
89261         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89262         * m4/jm-macros.m4: Use it.
89263
89264 1999-04-06  Jim Meyering  <meyering@ascend.com>
89265
89266         * m4/strftime.m4: Remove test for %f.
89267
89268 1999-03-29  Jim Meyering  <meyering@ascend.com>
89269
89270         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89271         superset of the AC_TYPE_* checks in the textutils, fileutils,
89272         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89273         AC_TYPE_PID_T.
89274
89275 1999-03-28  Jim Meyering  <meyering@ascend.com>
89276
89277         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89278         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89279         replaced e.g., in the *.sh files of the sh-utils.
89280
89281 1999-03-20  Jim Meyering  <meyering@ascend.com>
89282
89283         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89284         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89285         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89286
89287 1999-03-19  Jim Meyering  <meyering@ascend.com>
89288
89289         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89290
89291 1999-03-12  Jim Meyering  <meyering@ascend.com>
89292
89293         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89294
89295 1999-03-07  Jim Meyering  <meyering@ascend.com>
89296
89297         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89298         declared.
89299
89300 1999-02-17  Jim Meyering  <meyering@ascend.com>
89301
89302         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89303         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89304
89305 1999-02-07  Jim Meyering  <meyering@ascend.com>
89306
89307         * m4/group-member.m4: New file -- extracted from sh-utils'
89308         configure.in.
89309
89310         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89311         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89312
89313 1999-02-06  Jim Meyering  <meyering@ascend.com>
89314
89315         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89316         * m4/fnmatch.m4: Likewise.
89317         * m4/getgroups.m4: Likewise.
89318         * m4/lstat.m4: Likewise.
89319         * m4/malloc.m4: Likewise.
89320         * m4/putenv.m4: Likewise.
89321         * m4/realloc.m4: Likewise.
89322         * m4/regex.m4: Likewise.
89323         * m4/stat.m4: Likewise.
89324         * m4/strftime.m4: Likewise.
89325         Suggestion from Alain Magloire.
89326
89327         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89328         * m4/fnmatch.m4: Likewise.
89329         * m4/getgroups.m4: Likewise.
89330         * m4/getline.m4: Likewise.
89331         * m4/lstat.m4: Likewise.
89332         * m4/malloc.m4: Likewise.
89333         * m4/memcmp.m4: Likewise.
89334         * m4/putenv.m4: Likewise.
89335         * m4/realloc.m4: Likewise.
89336         * m4/regex.m4: Likewise.
89337         * m4/stat.m4: Likewise.
89338         * m4/strftime.m4: Likewise.
89339         Suggestion from Alain Magloire.
89340
89341         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89342         an argument.
89343
89344         * m4/regex.m4: Add a run-time Test for proper operation of
89345         re_compile_pattern.
89346
89347 1999-01-31  Jim Meyering  <meyering@ascend.com>
89348
89349         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89350
89351 1999-01-30  Jim Meyering  <meyering@ascend.com>
89352
89353         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89354
89355         * m4/jm-mktime.m4: Make this a wrapper around the official
89356         AM_FUNC_MKTIME rather than my private copy, now that the official one
89357         is up to date.
89358         * m4/mktime.m4: Remove file.
89359
89360         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89361         * m4/uptime.m4: Likewise.
89362         * m4/uintmax_t.m4: Likewise.
89363
89364 1999-01-28  Jim Meyering  <meyering@ascend.com>
89365
89366         * m4/jm-macros.m4: Use jm_AFS.
89367         * m4/afs.m4: New file (from fileutils' configure.in).
89368
89369         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89370         * m4/chown.m4: Likewise.
89371         * m4/d-ino.m4: Likewise.
89372         * m4/d-type.m4: Likewise.
89373         * m4/fnmatch.m4: Likewise.
89374         * m4/getgroups.m4: Likewise.
89375         * m4/gettext.m4: Likewise.
89376         * m4/jm-mktime.m4: Likewise.
89377         * m4/jm-winsz2.m4: Likewise.
89378         * m4/lcmessage.m4: Likewise.
89379         * m4/ls-mntd-fs.m4: Likewise.
89380         * m4/malloc.m4: Likewise.
89381         * m4/memcmp.m4: Likewise.
89382         * m4/putenv.m4: Likewise.
89383         * m4/realloc.m4: Likewise.
89384         * m4/st_mtim.m4: Likewise.
89385         * m4/strftime.m4: Likewise.
89386
89387 1999-01-16  Jim Meyering  <meyering@ascend.com>
89388
89389         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89390         (ARGMATCH_DIE_DECL): Define.
89391
89392 1999-01-12  Jim Meyering  <meyering@ascend.com>
89393
89394         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89395         Reported by Lars Hecking.
89396
89397 1999-01-10  Jim Meyering  <meyering@ascend.com>
89398
89399         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89400         gross kludge.
89401         * m4/inttypes_h.m4: Likewise.
89402         * m4/lstat.m4: Likewise.
89403         * m4/malloc.m4: Likewise.
89404         * m4/readdir.m4: Likewise.
89405         * m4/realloc.m4: Likewise.
89406         * m4/st_dm_mode.m4: Likewise.
89407         * m4/stat.m4: Likewise.
89408         * m4/utimbuf.m4: Likewise.
89409         * m4/utimes.m4: Likewise.
89410
89411         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89412         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89413         comments in config.h.in are meaningful.
89414
89415         * m4/jm-macros.m4: Require autoconf-2.13 here.
89416
89417         * m4/regex.m4: By default, don't use the included regex.c on systems
89418         with glibc 2.  Suggestion from Uli Drepper.
89419
89420 1999-01-02  Jim Meyering  <meyering@ascend.com>
89421
89422         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89423
89424 1998-12-18  Jim Meyering  <meyering@ascend.com>
89425
89426         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89427         Based on a suggestion from Lars Hecking.
89428
89429 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89430
89431         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89432
89433 1998-11-16  Jim Meyering  <meyering@ascend.com>
89434
89435         * m4/lfs.m4: Double-quote the `uname...` expression.
89436
89437 1998-11-14  Jim Meyering  <meyering@ascend.com>
89438
89439         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89440         * m4/stat.m4: Likewise.
89441
89442 1998-11-03  Jim Meyering  <meyering@ascend.com>
89443
89444         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89445         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89446
89447 1998-10-18  Jim Meyering  <meyering@ascend.com>
89448
89449         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89450
89451 1998-10-17  Jim Meyering  <meyering@ascend.com>
89452
89453         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89454         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89455         calls for those previously hard-coded headers.  Instead, take a new
89456         parameter.
89457         (jm_CHECK_DECLARATIONS): Reflect interface change.
89458         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89459         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89460
89461         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89462
89463 1998-10-14  Jim Meyering  <meyering@ascend.com>
89464
89465         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89466         instead of "TZ=America/Vancouver".  From Paul Eggert.
89467
89468 1998-10-11  Jim Meyering  <meyering@ascend.com>
89469
89470         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89471         This adds a test for a recently added compatibility fix for mktime.c.
89472         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89473
89474 1998-09-27  Jim Meyering  <meyering@ascend.com>
89475
89476         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89477
89478         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89479         ../configure.in, including a change from Gordon Matzigkeit to allow
89480         cross-compiling for the Hurd.
89481
89482         * m4/glibc.m4: New file/macro to test for the GNU C Library
89483         versions 1 and 2.  From Gordon Matzigkeit.
89484         Indent.
89485
89486 1998-09-21  Jim Meyering  <meyering@ascend.com>
89487
89488         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89489
89490 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89491
89492         Port nanosecond-resolution times to UnixWare 2.1.2 and
89493         pedantic Solaris 2.6.
89494
89495         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89496         AC_STRUCT_ST_MTIM.
89497         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89498         Generate name of ns member, instead of just 1 or undef.
89499         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89500
89501 1998-08-15  Jim Meyering  <meyering@ascend.com>
89502
89503         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89504         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89505         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89506         instead of jm_TYPE_SSIZE_T.
89507
89508 1998-08-12  Jim Meyering  <meyering@ascend.com>
89509
89510         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89511
89512 1998-08-02  Jim Meyering  <meyering@ascend.com>
89513
89514         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89515         in acconfig.h manually.
89516
89517 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89518
89519         * m4/st_mtim.m4: New file.
89520
89521 1998-07-28  Jim Meyering  <meyering@ascend.com>
89522
89523         * m4/utimes.m4: Undef stat.
89524
89525 1998-07-25  Jim Meyering  <meyering@ascend.com>
89526
89527         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89528         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89529
89530 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89531
89532         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89533         uid and gid actually remain unchanged.
89534
89535 1998-07-07  Jim Meyering  <meyering@ascend.com>
89536
89537         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89538
89539 1998-07-04  Jim Meyering  <meyering@ascend.com>
89540
89541         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89542         to prove that this macro can be used in packages without regex.c.
89543
89544 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89545
89546         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89547         is to be used.
89548
89549 1998-07-03  Jim Meyering  <meyering@ascend.com>
89550
89551         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89552
89553         * m4/gettext.m4: New file -- from gettext-0.10.35.
89554         * m4/lcmessage.m4: Likewise.
89555         * m4/progtest.m4: Likewise.
89556
89557         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89558         * m4/jm-macros.m4: Require the new macro.
89559
89560 1998-06-29  Jim Meyering  <meyering@ascend.com>
89561
89562         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89563         for the definition of NGROUPS (used in a system header included
89564         by sys/mount.h).
89565
89566 1998-06-28  Jim Meyering  <meyering@ascend.com>
89567
89568         * m4/ls-mntd-fs.m4: New file.
89569         * m4/fstypename.m4: New file.
89570
89571         * m4/jm-macros.m4: Require the new macro.
89572         * m4/jm-glibc-io.m4: New file.
89573
89574 1998-05-19  Jim Meyering  <meyering@ascend.com>
89575
89576         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89577         * m4/lchown.m4: New file.
89578
89579         * m4/Makefile.am.in: New file.
89580         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89581
89582 1998-05-14  Jim Meyering  <meyering@ascend.com>
89583
89584         * m4/Makefile.am (EXTRA_DIST): Add them.
89585         * m4/jm-macros.m4: New file.
89586         * m4/utimbuf.m4: New file.
89587
89588 1998-05-12  Jim Meyering  <meyering@ascend.com>
89589
89590         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89591
89592 1998-05-11  Jim Meyering  <meyering@ascend.com>
89593
89594         * m4/isc-posix.m4: New file.
89595
89596 1998-05-10  Jim Meyering  <meyering@ascend.com>
89597
89598         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89599
89600 1998-05-09  Jim Meyering  <meyering@ascend.com>
89601
89602         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89603         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89604         with automake.
89605
89606         * m4/ssize_t.m4: New file.
89607         * m4/mktime.m4: Remove file -- the new automake has this now.
89608
89609 1998-04-26  Jim Meyering  <meyering@ascend.com>
89610
89611         * m4/assert.m4: New file.
89612         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89613
89614 1998-04-05  Jim Meyering  <meyering@ascend.com>
89615
89616         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89617         (jm_PREREQ): Use it here.
89618
89619 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89620
89621         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89622         in acconfig.h.
89623
89624 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89625
89626         * m4/prereq.m4: New file.
89627         * m4/error.m4: New file.
89628         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89629
89630 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89631
89632         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89633         cache-check for the same variable -- that defeated the purpose of
89634         the test; the test program was never run.  This was a problem only
89635         on systems with losing getline functions -- HP-UX 10.20 is one.
89636         Reported by Bjorn Helgaas.
89637
89638 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89639
89640         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89641
89642 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89643
89644         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89645
89646         * m4/const.m4: New file.  Use an initializer in this declaration
89647         typedef int charset[2]; const charset x;
89648         Reported by Bob Glickstein.
89649
89650 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89651
89652         * m4/chown.m4: Fix reversed types on -1 args to chown.
89653         From Kaveh Ghazi.
89654
89655 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89656
89657         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89658         Add lseek and memchr.
89659
89660         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89661         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89662         have a 20-character limit on names.
89663
89664 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89665
89666         * m4/inttypes_h.m4: New file.
89667         * m4/uintmax_t.m4: New file.
89668         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89669
89670
89671         -----
89672
89673         Local Variables:
89674         coding: utf-8
89675         End:
89676
89677         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89678
89679         Copying and distribution of this file, with or without
89680         modification, are permitted provided the copyright notice
89681         and this notice are preserved.